赞 | 1 |
VIP | 16 |
好人卡 | 23 |
积分 | 0 |
经验 | 49509 |
最后登录 | 2016-1-9 |
在线时间 | 2459 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 48
- 在线时间
- 2459 小时
- 注册时间
- 2011-12-18
- 帖子
- 1484
|
本帖最后由 a364774426 于 2013-3-14 23:17 编辑
这里有一个直接将指定角色特技选项去掉的办法。
第一步:用一下脚本替换掉“Window_ActorCommand”- class Window_ActorCommand < Window_Command
- #--------------------------------------------------------------------------
- # ● 初始化对像
- #--------------------------------------------------------------------------
- def initialize
- super(128, [], 1, 4)
- self.active = false
- end
- #--------------------------------------------------------------------------
- # ● 设置
- # actor : 角色
- #--------------------------------------------------------------------------
- def setup(actor)
- s1 = Vocab::attack
- s2 = Vocab::skill
- s3 = Vocab::guard
- s4 = Vocab::item
- if actor.class.skill_name_valid # 是否指定职业技能文字
- s2 = actor.class.skill_name # 替换「技能」命令文字
- end
- if actor.id == 1
- @commands = [s1,s3,s4]
- @item_max = 3
- else
- @commands = [s1, s2, s3, s4]
- @item_max = 4
- end
- refresh
- self.index = 0
- end
- end
复制代码 第二步,在Scene_Battle中找到- def update_actor_command_selection
复制代码 将其下的一段替换为:- if Input.trigger?(Input::B)
- Sound.play_cancel
- prior_actor
- elsif Input.trigger?(Input::C)
- case @actor_command_window.index
- when 0 # 攻击
- Sound.play_decision
- @active_battler.action.set_attack
- start_target_enemy_selection
- when 1 # 技能
- Sound.play_decision
- if @active_battler.id == 1
- @active_battler.action.set_guard
- next_actor
- else
- start_skill_selection
- end
- when 2 # 防御
- Sound.play_decision
- if @active_battler.id == 1
- start_item_selection
- else
- @active_battler.action.set_guard
- next_actor
- end
- when 3 # 物品
- Sound.play_decision
- start_item_selection
- end
- end
- end
复制代码 大功告成
注意其中的关键语句"if actor.id == 1"和"if @active_battler.id == 1"
其含义是,假如是一号角色,会怎么样怎么样,这里的1号角色的职业是战士
假如你有多个角色是战士职业,那么可以换另外一种写法:
“if [1,2,3].include?(actor.id)”或者"if [1,2,3].include?(@active_battler.id)" |
评分
-
查看全部评分
|