本帖最后由 小小猪猪 于 2020-1-17 04:08 编辑
改好了 建议楼主跟着我下面写的一起改 这样你也清楚改了哪些地方
另外这个cp系统的原作者在范例的教程里也写了他写的地方有几个有问题 所以...
让敌人先手行动:(其实就是敌人AI里,数据库里的通常行动操作不会在0回合发生)
1 不改脚本方法: 在数据库里,为这些可能会先手的敌人设置一个<回合0>的行动,先手时就会自动使用
2 改脚本的方法:
找到Game_Enemy,把268行的(b > 0 and (n < 1 or n < a or n % b != a % b))
(b > 0 and (n < 1 or n < a or n % b != a % b))
改为 (b > 0 and (n < 0 or n < a or n % b != a % b))
(b > 0 and (n < 0 or n < a or n % b != a % b))
在行动后才消耗CP: 原作者在教程里就是这么写的,他的本意就是希望大家自己研究...
把这个CP系统的Scene_Battle3里的25-28行注释掉,如下,这样行动前不会再消耗CP
if @actor_index == @input_action_battlers.size-1 # for battler in @input_action_battlers # battler.cp -= @now_maxspeed # end # @cp_window.refresh(@now_maxspeed) start_phase4 return end
if @actor_index == @input_action_battlers.size-1
# for battler in @input_action_battlers
# battler.cp -= @now_maxspeed
# end
# @cp_window.refresh(@now_maxspeed)
start_phase4
return
end
找到Scene_Battle4的402行的 update_phase4_step6 改成下面的:
def update_phase4_step6 # 清除强制行动对像的战斗者 $game_temp.forcing_battler = nil # 公共事件 ID 有效的情况下 if @common_event_id > 0 # 设置事件 common_event = $data_common_events[@common_event_id] $game_system.battle_interpreter.setup(common_event.list, 0) end @active_battler.cp -= @now_maxspeed #这两行就会在行动后,公共事件也执行完了才消耗CP @cp_window.refresh(@now_maxspeed) # 移至步骤 1 @phase4_step = 1 end
def update_phase4_step6
# 清除强制行动对像的战斗者
$game_temp.forcing_battler = nil
# 公共事件 ID 有效的情况下
if @common_event_id > 0
# 设置事件
common_event = $data_common_events[@common_event_id]
$game_system.battle_interpreter.setup(common_event.list, 0)
end
@active_battler.cp -= @now_maxspeed #这两行就会在行动后,公共事件也执行完了才消耗CP
@cp_window.refresh(@now_maxspeed)
# 移至步骤 1
@phase4_step = 1
end
另外如果才刚开坑的话,个人小小建议改用桜雅在土写的CP战斗系统 (见图书馆https://rpg.blue/forum.php?mod=viewthread&tid=379188&page=1#pid2603195),(然后再在论坛搜索AX追加,可以做出和这个系统一样的CP条显示功能) 出现问题的可能性要少一些...
|