Project1

标题: 如何写判断角色在队伍中位置的脚本? [打印本页]

作者: 冰枫o鲍辰    时间: 2015-8-15 14:51
标题: 如何写判断角色在队伍中位置的脚本?
队伍成员每变动一次就判断一次
如果角色1在位置1 那么变量1就赋值为1
如果在位置4 就赋值为4
如果不在队伍中变量1就为0
其他角色同理
求大神解答 小弟感激不尽TAT
作者: 芯☆淡茹水    时间: 2015-8-15 17:30
用条件分歧->脚本 判断:
$game_actors[角色ID].index == ??
?? 可以写 0~3, 0 是第一位, 1 是第二位 ,,,以此类推。
作者: cinderelmini    时间: 2015-8-15 22:46
本帖最后由 cinderelmini 于 2015-8-15 22:59 编辑

突然有的思路,试着写了一下,似乎可行,脚本如下:


在编辑好队伍之后,用事件的【脚本】功能填入“队伍序列重置”
就能给队伍内的角色对应的变量赋予当前队伍位置数字了(默认4人队伍的情况,位置数字为1~4),

角色ID和对应的变量ID也可以在脚本里做扩展和更改。


如果是默认的事件编辑队伍而不是人物仓库之类的切换队伍成员的话,
可以用下面这版:

这样的话每次发生成员变动都会自己刷新这些变量了。
作者: 芯☆淡茹水    时间: 2015-8-16 08:00
cinderelmini 发表于 2015-8-15 22:46
突然有的思路,试着写了一下,似乎可行,脚本如下:
[fold][/fold]


还不如直接把位置代入指定变量更方便些。
  1. class Interpreter
  2.   def 角色位置代入变量(actor_id, var_id)
  3.     return unless $game_variables  
  4.     num = $game_actors[actor_id].nil? ? 0 :
  5.     ($game_actors[actor_id].index.nil? ? 0 : $game_actors[actor_id].index + 1)
  6.     $game_variables[var_id] = num
  7.   end
  8. end
复制代码
要判断之前,先取得角色位置代入变量,在 事件->脚本 里写:角色位置代入变量(actor_id, var_id)
代入的2个参数:actor_id   要取得位置的角色ID。
                       var_id      取得位置后代入的变量ID。
最后用这个变量来判断。
作者: 冰枫o鲍辰    时间: 2015-8-21 00:56
现在才有机会上论坛 感谢@cinderelmini  和@芯☆淡茹水 两位大神的回复 问题被完美的解决了╮(╯▽╰)╭
@myownroc 可以帮我把两位大神都设置成采纳吗 感激不尽!




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1