Project1
标题:
请问如何制作SP为0的时候不能进入技能的选项?
[打印本页]
作者:
帅气的袋鼠
时间:
2009-10-11 04:23
标题:
请问如何制作SP为0的时候不能进入技能的选项?
就是当一个角色的SP=0的时候,战斗的选项(攻击、特技、防御、物品)的“特技”一项会变黑并且不可以被选择。
请教大大们如何制作这样的效果?需要改很多脚本吗?
谢谢。
作者:
Eienshinken
时间:
2009-10-11 06:02
研究了一下.还不算难
#==============================================================================
# ■ Window_Command
#------------------------------------------------------------------------------
# 一般的命令选择行窗口。
#==============================================================================
class Window_Command < Window_Selectable
def normal_item(index)
draw_item(index, normal_color)
end
end
class Scene_Battle
#--------------------------------------------------------------------------
# ● 转到输入下一个角色的命令
#--------------------------------------------------------------------------
def phase3_next_actor
# 循环
begin
# 角色的明灭效果 OFF
if @active_battler != nil
@active_battler.blink = false
end
# 最后的角色的情况
if @actor_index == $game_party.actors.size-1
# 开始主回合
start_phase4
return
end
# 推进角色索引
@actor_index += 1
@active_battler = $game_party.actors[@actor_index]
if @active_battler.sp == 0
@actor_command_window.disable_item(1)
else
@actor_command_window.normal_item(1)
end
@active_battler.blink = true
# 如果角色是在无法接受指令的状态就再试
end until @active_battler.inputable?
# 设置角色的命令窗口
phase3_setup_command_window
end
#--------------------------------------------------------------------------
# ● 刷新画面 (角色命令回合 : 基本命令)
#--------------------------------------------------------------------------
def update_phase3_basic_command
# 按下 B 键的情况下
if Input.trigger?(Input::B)
# 演奏取消 SE
$game_system.se_play($data_system.cancel_se)
# 转向前一个角色的指令输入
phase3_prior_actor
return
end
# 按下 C 键的情况下
if Input.trigger?(Input::C)
# 角色指令窗口光标位置分之
case @actor_command_window.index
when 0 # 攻击
# 演奏确定 SE
$game_system.se_play($data_system.decision_se)
# 设置行动
@active_battler.current_action.kind = 0
@active_battler.current_action.basic = 0
# 开始选择敌人
start_enemy_select
when 1 # 特技
if @active_battler.sp == 0
$game_system.se_play($data_system.buzzer_se)
return
else
# 演奏确定 SE
$game_system.se_play($data_system.decision_se)
# 设置行动
@active_battler.current_action.kind = 1
# 开始选择特技
start_skill_select
end
when 2 # 防御
# 演奏确定 SE
$game_system.se_play($data_system.decision_se)
# 设置行动
@active_battler.current_action.kind = 0
@active_battler.current_action.basic = 1
# 转向下一位角色的指令输入
phase3_next_actor
when 3 # 物品
# 演奏确定 SE
$game_system.se_play($data_system.decision_se)
# 设置行动
@active_battler.current_action.kind = 2
# 开始选择物品
start_item_select
end
return
end
end
end
复制代码
作者:
well
时间:
2009-10-11 06:10
参考 scene_title “继续”选项的判定部分。注释很详细。
要改的应该不多。默认disable_item是变灰。
作者:
帅气的袋鼠
时间:
2009-10-11 13:20
2#
Eienshinken
谢谢大大的帮忙,已经可以了。
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1