Project1

标题: 请教一个自动状态的问题 [打印本页]

作者: wwwcctvty    时间: 2013-6-29 21:06
标题: 请教一个自动状态的问题
比如:一件衣服带有一个“加攻”的自动状态,进入战斗后可以自动附加,可是该状态会一直持续到战斗结束。
我想请教下可不可以像其它状态一样,持续一定回合就自动解除


作者: wwwcctvty    时间: 2013-6-30 08:58
求指教、、、、、、、、
作者: wingzeroplus    时间: 2013-6-30 09:53
自动状态干啥都不会解除的
直接修改Scene_Battle 2第22行下面添加战斗前调用公共事件,来附加此状态吧
作者: wwwcctvty    时间: 2013-6-30 12:19
wingzeroplus 发表于 2013-6-30 09:53
自动状态干啥都不会解除的
直接修改Scene_Battle 2第22行下面添加战斗前调用公共事件,来附加此状态吧 ...

{:2_263:} 只能用公共事件吗?哎、、、、
作者: 亿万星辰    时间: 2013-6-30 13:15
不想动脚本就直接在每个队伍页里添加公共事件来附加状态吧。
作者: wwwcctvty    时间: 2013-6-30 18:13
亿万星辰 发表于 2013-6-30 13:15
不想动脚本就直接在每个队伍页里添加公共事件来附加状态吧。

动脚本 的话应该从哪下手呢?请大大指点
作者: wwwcctvty    时间: 2013-7-1 18:27
求指教、、、、、
作者: q86332682    时间: 2013-7-1 20:19
Game_Battle3看看add_state,remove_state,自动状态视为强制附加,那么解除的时候只能通过强制解除来解除自动状态,不会通过任何条件解除。
作者: q86332682    时间: 2013-7-1 20:20
q86332682 发表于 2013-7-1 20:19
Game_Battle3看看add_state,remove_state,自动状态视为强制附加,那么解除的时候只能通过强制解除来解除自 ...

记错了,Game_Battler2
作者: wwwcctvty    时间: 2013-7-1 20:48
q86332682 发表于 2013-7-1 20:20
记错了,Game_Battler2

{:2_263:} 改了那里不行、、
作者: 芯☆淡茹水    时间: 2013-7-2 15:01
在 Game_Battler2 里不好改。

个人想法:

在 Scene_Battle 4 的 开始主回合 (def start_phase4),里面有个:
  1. # 回合数计数
  2.     $game_temp.battle_turn += 1
复制代码
在其下面增加判断,移除状态
  1. if $game_temp.battle_turn >= 3  #持续 3 回合,可改。
  2.   for actor in $game_party.actors
  3.     if $data_armors[actor.armor1_id].auto_state_id != 0
  4.       state_id = $data_armors[actor.armor1_id].auto_state_id
  5.       actor.remove_state(state_id, true) if actor.state?(state_id)
  6.     end
  7.     if $data_armors[actor.armor2_id].auto_state_id != 0
  8.       state_id = $data_armors[actor.armor2_id].auto_state_id
  9.       actor.remove_state(state_id, true) if actor.state?(state_id)
  10.     end
  11.     if $data_armors[actor.armor3_id].auto_state_id != 0
  12.       state_id = $data_armors[actor.armor3_id].auto_state_id
  13.       actor.remove_state(state_id, true) if actor.state?(state_id)
  14.     end
  15.     if $data_armors[actor.armor4_id].auto_state_id != 0
  16.       state_id = $data_armors[actor.armor4_id].auto_state_id
  17.       actor.remove_state(state_id, true) if actor.state?(state_id)
  18.     end
  19.   end
  20. end
复制代码





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