| 赞 | 46 |
| VIP | |
| 好人卡 | |
| 积分 | 97 |
| 经验 | |
| 最后登录 | 2026-6-17 |
| 在线时间 | 2775 小时 |
梦石0
星屑9716
在线时间2775 小时
注册时间2008-9-5
回帖3458
   
|
发表于 2015-8-15 22:46:32
|
显示全部楼层
本帖最后由 cinderelmini 于 2015-8-15 22:59 编辑
突然有的思路,试着写了一下,似乎可行,脚本如下:
点击展开/收起- module SOME
- Actor_to_val = {
- 1 => 101,
- 2 => 102,
- 3 => 103,
- 4 => 104,
- 5 => 105,
- 6 => 106,
- 7 => 117,
- 8 => 128,
- # 依次类推,格式为:
- # 角色ID => 对应的变量ID ,←最后面记得加上个半角逗号
- }
- end
- class Interpreter
- def 队伍序列重置
- return if !$game_party.actors || $game_party.actors.size < 1
- SOME::Actor_to_val.each_value{|id| $game_variables[id] = 0}
- for i in 0...$game_party.actors.size
- actor = $game_party.actors[i]
- $game_variables[SOME::Actor_to_val[actor.id]] = i + 1
- end
- end
- end
复制代码
在编辑好队伍之后,用事件的【脚本】功能填入“队伍序列重置”
就能给队伍内的角色对应的变量赋予当前队伍位置数字了(默认4人队伍的情况,位置数字为1~4),
角色ID和对应的变量ID也可以在脚本里做扩展和更改。
如果是默认的事件编辑队伍而不是人物仓库之类的切换队伍成员的话,
可以用下面这版:
点击展开/收起- module SOME
- Actor_to_val = {
- 1 => 101,
- 2 => 102,
- 3 => 103,
- 4 => 104,
- 5 => 105,
- 6 => 106,
- 7 => 117,
- 8 => 128,
- # 依次类推,格式为:
- # 角色ID => 对应的变量ID ,←最后面记得加上个半角逗号
- }
- end
- class Game_Player < Game_Character
- alias the_20150815_refresh refresh
- def refresh
- the_20150815_refresh
- 队伍序列重置
- end
-
- def 队伍序列重置
- return if !$game_party.actors || $game_party.actors.size < 1
- SOME::Actor_to_val.each_value{|id| $game_variables[id] = 0}
- for i in 0...$game_party.actors.size
- actor = $game_party.actors[i]
- $game_variables[SOME::Actor_to_val[actor.id]] = i + 1
- end
- end
- end
复制代码
这样的话每次发生成员变动都会自己刷新这些变量了。 |
评分
-
查看全部评分
|