Project1

标题: 寻找一种脚本,装备指定武器时若MP为0无法使用普通攻击或普通攻击无效果 [打印本页]

作者: xyzgwx    时间: 2011-9-9 21:50
标题: 寻找一种脚本,装备指定武器时若MP为0无法使用普通攻击或普通攻击无效果
本帖最后由 xyzgwx 于 2011-9-10 12:16 编辑

用来配合普通攻击消费MP的脚本把普通攻击当火炮用(因为各种原因无法用特技+变量制作火炮)dsu_plus_rewardpost_czw
作者: feizhaodan    时间: 2011-9-10 10:53
是不让选择普通攻击还是可以选择,但不会有效果。
作者: xyzgwx    时间: 2011-9-10 12:15
feizhaodan 发表于 2011-9-10 10:53
是不让选择普通攻击还是可以选择,但不会有效果。

这个无所谓 ,只要是类似的效果就好
作者: 亿万星辰    时间: 2011-9-10 12:25
乍一看应该是消耗弹药的武器
可以在 Scene_Battle 的 update_actor_command_selection 方法中按下C键后的判断中增加MP判断的控制。
作者: feizhaodan    时间: 2011-9-10 13:06
xyzgwx 发表于 2011-9-10 12:15
这个无所谓 ,只要是类似的效果就好
  1. #==============================================================================
  2. # ■ Scene_Battle
  3. #------------------------------------------------------------------------------
  4. #  处理战斗画面的类。
  5. #==============================================================================

  6. class Scene_Battle < Scene_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 更新角色命令选择
  9.   #--------------------------------------------------------------------------
  10.   def update_actor_command_selection
  11.     if @active_battler.mp == 0
  12.       @actor_command_window.draw_item(0, false)
  13.     end
  14.     if Input.trigger?(Input::B)
  15.       Sound.play_cancel
  16.       prior_actor
  17.     elsif Input.trigger?(Input::C)
  18.       case @actor_command_window.index
  19.       when 0  # 攻击
  20.         if @active_battler.mp == 0
  21.           Sound.play_buzzer
  22.           return
  23.         else
  24.           Sound.play_decision
  25.           @active_battler.action.set_attack
  26.           start_target_enemy_selection
  27.         end
  28.       when 1  # 技能
  29.         Sound.play_decision
  30.         start_skill_selection
  31.       when 2  # 防御
  32.         Sound.play_decision
  33.         @active_battler.action.set_guard
  34.         next_actor
  35.       when 3  # 物品
  36.         Sound.play_decision
  37.         start_item_selection
  38.       end
  39.     end
  40.   end
  41. end
复制代码

作者: xyzgwx    时间: 2011-9-10 13:50
feizhaodan 发表于 2011-9-10 13:06

进一步测试发现无法指定武器
作者: MSQ    时间: 2011-9-10 14:11
偶来乱入……一定要脚本吗?公共事件也行呀~~所以~~偶又来发扬公共事件了喵~~

公共事件——并行处理(记得要一开始打开开关)——变数的操作——代入主角的MP(用不同变量代入不同角色)——条件的分歧——变数(刚刚带入的)——等于——常数——0,在原条件的分歧里继续条件的分歧——主角——武器XX被装备——变数的操作(新变数)——代入主角的攻击力——参数值的增减——那个主角——攻击力——减少——新变数;

这样主角的攻击力变为1(脚本默认攻击下限为1,你可以改脚本使攻击力下限变为0),自然打不伤怪。
作者: feizhaodan    时间: 2011-9-10 14:43
xyzgwx 发表于 2011-9-10 13:50
进一步测试发现无法指定武器
  1. #==============================================================================
  2. # ■ Scene_Battle
  3. #------------------------------------------------------------------------------
  4. #  处理战斗画面的类。
  5. #==============================================================================

  6. class Scene_Battle < Scene_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 更新角色命令选择
  9.   #--------------------------------------------------------------------------
  10.   def update_actor_command_selection
  11.     if @active_battler.mp == 0 and [1, 2,3].include?(@active_battler.weapon_id)
  12.       @actor_command_window.draw_item(0, false)
  13.     else
  14.       @actor_command_window.draw_item(0, true)
  15.     end
  16.     if Input.trigger?(Input::B)
  17.       Sound.play_cancel
  18.       prior_actor
  19.     elsif Input.trigger?(Input::C)
  20.       case @actor_command_window.index
  21.       when 0  # 攻击
  22.         if @active_battler.mp == 0 and [1, 2,3].include?(@active_battler.weapon_id)
  23.           Sound.play_buzzer
  24.           return
  25.         else
  26.           Sound.play_decision
  27.           @active_battler.action.set_attack
  28.           start_target_enemy_selection
  29.         end
  30.       when 1  # 技能
  31.         Sound.play_decision
  32.         start_skill_selection
  33.       when 2  # 防御
  34.         Sound.play_decision
  35.         @active_battler.action.set_guard
  36.         next_actor
  37.       when 3  # 物品
  38.         Sound.play_decision
  39.         start_item_selection
  40.       end
  41.     end
  42.   end
  43. end
复制代码
在12行和23行的[]里填入你想生效的武器ID。用","(半角英文逗号)隔开。

两个[]里最好是一样的,不然可能显示和实际会出现不同
作者: MSQ    时间: 2011-9-10 14:47
feizhaodan 发表于 2011-9-10 14:43
在12行和23行的[]里填入你想生效的武器ID。用","(半角英文逗号)隔开。

两个[]里最好是一样的,不然可 ...

脚本大好,果然在VX提问区闲逛会找到很多连发布区都没有好东西,建议在发布区再贴下。表示感谢~~




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