#--------------------------------------------------------------------------
# ● 框架更新(我方回合 阶段 1: 队员选择)
#--------------------------------------------------------------------------
def update_phase1_step1
#/*
# 唔,找不到取消選擇的那一刻,于是放在這裡……
# 作用是重新啟動 CP 量的加算
unlock
#*/
# 光标位置的战斗者(活动)取得
get_cursor_battler
# 如果光标位置战斗者在
if @battler != nil
# 设置帮助窗口 队员 或 敌人
set_battler_info
# 是战斗者的情况
if $game_system.tactics_actors.keys.include?(@battler.id)
# 如果 C 按钮被按下(Enter、Space键)
if Input.trigger?(Input::C) and !$game_player.moving?
# 是未行动的情况
actor = $game_system.tactics_actors[@battler.id]
#/*
# 判斷玩家角色是否滿CP
# 如果是就凍結 CP 量加算,進入選擇模式
# 否則就返回
# 這裡應該有一個音效播放的……
#*/
if actor.cp >= 65535
lock
else
return
end
if [email protected] and !actor.restriction != 4
# 演奏决定 SE
$game_system.se_play($data_system.decision_se)
# 固定光标
$game_player.not_update = true
# 转移向阶段 2
$game_system.tactics_step = 2
# 作成指令窗
make_command_window
else
# 演奏蜂鸣 SE
$game_system.se_play($data_system.buzzer_se)
end
end
# 如果 L 按钮被按下(Q键)
if Input.trigger?(Input::L)
# 演奏光标 SE
$game_system.se_play($data_system.cursor_se)
# 前面的队员
back_actor
end
# 如果 R 按钮被按下(W键)
if Input.trigger?(Input::R)
# 演奏光标 SE
$game_system.se_play($data_system.cursor_se)
# 下面的队员
next_actor
end
# 是敌人的情况
else
# 如果 L 按钮被按下(Q键)
if Input.trigger?(Input::L)
# 演奏光标 SE
$game_system.se_play($data_system.cursor_se)
# 最后的队员
actor = $game_map.events[$game_system.tactics_actors.keys[$game_system.tactics_actors.keys.size - 1]]
$game_player.moveto(actor.x, actor.y)
end
# 如果 R 按钮被按下(W键)
if Input.trigger?(Input::R)
# 演奏光标 SE
$game_system.se_play($data_system.cursor_se)
# 最前的队员
actor = $game_map.events[$game_system.tactics_actors.keys[0]]
$game_player.moveto(actor.x, actor.y)
end
end
# 光标位置战斗者不在的情况,隐藏帮助窗口
else
@help_window.visible = false
# 如果 L 按钮被按下(Q键)
if Input.trigger?(Input::L)
# 演奏光标 SE
$game_system.se_play($data_system.cursor_se)
# 最后的队员
actor = $game_map.events[$game_system.tactics_actors.keys[$game_system.tactics_actors.keys.size - 1]]
$game_player.moveto(actor.x, actor.y)
end
# 如果 R 按钮被按下(W键)
if Input.trigger?(Input::R)
# 演奏光标 SE
$game_system.se_play($data_system.cursor_se)
# 最前的队员
actor = $game_map.events[$game_system.tactics_actors.keys[0]]
$game_player.moveto(actor.x, actor.y)
end
end
# 如果 B 按钮被按下(Esc键)
if Input.trigger?(Input::B) and !$game_player.moving?
# 演奏决定 SE
$game_system.se_play($data_system.decision_se)
# 转移向阶段 0
$game_system.tactics_step = 0
# 作成指令窗
make_command_window
# 固定光标
$game_player.not_update = true
end
else
lock
end
end
回复 DeathKing 的帖子
if @battler.nil?
return 0
else
if @battler.acted
begin #這是玩家角色
if $game_system.tactics_actors[@battler.id].cp >= 65535
$game_system.tactics_actors[@battler.id].cp -= 20000
end
rescue #這是敵人
if @attacker.cp >= 65535
@attacker.cp -= 20000
end
end
unlock
return 1
else
return 0
end
end
end
在使用技能后的那个地方加上了这个,而原来减算的部分也调了数值。
可是发现了一个新的问题,也不算是新问题。也就是@battler.acted 这句判断是否已行动的句子导致了当一次行动后假如在敌人满CP之前已经满CP的话,人物还是已行动的状态,结果就是再次-20000CP。 上面这片搞定了~~~~ 发现还有一大堆问题