Project1
标题:
如何设定事件接近主角一定范围就自动打开独立开关
[打印本页]
作者:
277297575
时间:
2010-7-17 23:34
标题:
如何设定事件接近主角一定范围就自动打开独立开关
def move_type_toward_player
# 求得与主角坐标的差
sx = @x - $game_player.x
sy = @y - $game_player.y
# 求得差的绝对值
abs_sx = sx > 0 ? sx : -sx
abs_sy = sy > 0 ? sy : -sy
# 如果纵横共计离开 20 个元件
if abs_sx + abs_sy >= 20
# 随机
$game_self_switches[[1,20,"A"]] = false
$game_self_switches[[1,21,"A"]] = false
$game_self_switches[[1,22,"A"]] = false
$game_self_switches[[1,23,"A"]] = false
move_random
return
end
$game_self_switches[[1,20,"A"]] = true
$game_self_switches[[1,21,"A"]] = true
$game_self_switches[[1,22,"A"]] = true
$game_self_switches[[1,23,"A"]] = true
move_toward_player
end
我这样设定不对,假设20号事件在范围内,23号不在,这个脚本也会打开23号的独立开关A,请问该怎么设定?
作者:
wang782367914
时间:
2010-7-18 00:21
呃···本人不怎么懂脚本,但我觉得,既然有纠结,那,脚本就应该设为并联的形式,而不是。。。那啥。。串联!
作者:
云心
时间:
2010-7-18 00:37
$game_self_switches[[
1
,20,"A"]] = true
的1是什么意思?
还有可能问题出在
sx =
@x
- $game_player.x
sy =
@y
- $game_player.y
那个你这个函数是放在哪的?
作者:
moy
时间:
2010-7-18 00:40
表示事件可以用并行+变量操作作出来.
但是脚本的话我就不知道了.
作者:
村纱水蜜
时间:
2010-7-18 00:55
不知道私理解的对不对,LZ这个好像是只要某个事件进入限定范围内就20-23号事件的独立开关A一起打开?是不是用事件编号来控制一下到底打开哪个事件的开关就好了?
作者:
277297575
时间:
2010-7-18 00:59
本帖最后由 277297575 于 2010-7-18 01:02 编辑
回复
云心
的帖子
1,是地图ID
@X和@Y都是默认脚本里面的
如果这个效果能实现,那么NPC发现主角了就可以以另一张行走图来接近..............离开范围了就恢复到原来的行走图。
作者:
wang782367914
时间:
2010-7-18 01:21
那样的话可以建立两个分支类的公共事件来处理呀。。。
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1