Project1

标题: rmxp如何实现双手武器? [打印本页]

作者: uoyllik    时间: 2012-9-7 14:25
标题: rmxp如何实现双手武器?
首先因为用了rmxp的脚本,所以不能换vx或va。
请问rmxp上,如何实现占用双手的武器?即装备此武器时,不能装备盾。
而且要在同一个职业上,实现可以用单手武器+盾牌,和双手武器(不能装备盾)。
谢谢
作者: uoyllik    时间: 2012-9-7 17:08
明特·布兰马修 发表于 2012-9-7 16:38
好像搜索一下就有结果了吧
参考一下:http://rpg.blue/article-40164.html
再一个:http://bbs.66rpg. ...

怎么实现?
作者: 明特·布兰马修    时间: 2012-9-7 17:09
uoyllik 发表于 2012-9-7 17:08
怎么实现?

那里有使用方法哦呵呵
作者: uoyllik    时间: 2012-9-7 18:31
明特·布兰马修 发表于 2012-9-7 17:09
那里有使用方法哦呵呵

双手武器,不是双持武器。
你的答案没解决我的问题,还可能造成别人不回答了。
作者: liminglun    时间: 2012-9-9 12:48
果然造成别人不回答了。。
作者: kangxi0109    时间: 2012-9-9 15:48
事实上双手武器的设置只要修改脚本Scene_Equip的部分就可以了,这个设置在“十装备”中是作为一个附属功能用的(就是说前面十装备的脚本里包含了这个功能)...
单独的设置方法如下,都是在Scene_Equip里面:
1.设定分类,在脚本的最前面加一个双手武器的ID数组:
  1. #------------------------------------------------------------------------------添加↓
  2. #双手武器编号设置(这里以8、9、15号武器为例)
  3. $both_hands_weapon = [8,9,15]
  4. #-----------------------------------------------------------------------------添加↑-#==============================================================================
  5. # ■ Scene_Equip
  6. #------------------------------------------------------------------------------
  7. #  处理装备画面的类。
  8. #==============================================================================
复制代码
2.设置变更装备,当已经装备双手武器的场合,不能配盾:
  1.   #--------------------------------------------------------------------------
  2.   # ● 刷新画面 (右侧窗口被激活的情况下)
  3.   #--------------------------------------------------------------------------
  4.   def update_right
  5.     # 按下 B 键的情况下
  6.     if Input.trigger?(Input::B)
  7.       # 演奏取消 SE
  8.       $game_system.se_play($data_system.cancel_se)
  9.       # 切换到菜单画面
  10.       $scene = Scene_Menu.new(2)
  11.       return
  12.     end
  13.     # 按下 C 键的情况下
  14.     if Input.trigger?(Input::C)
  15.       # 固定装备的情况下
  16.       if @actor.equip_fix?(@right_window.index)
  17.         # 演奏冻结 SE
  18.         $game_system.se_play($data_system.buzzer_se)
  19.         return
  20.       end#------------------------添加↓
  21.       if @right_window.index == 1 && $both_hands_weapon.include?(@actor.hand1_id)
  22.         # 演奏冻结 SE
  23.         $game_system.se_play($data_system.buzzer_se)
  24.         return
  25.       end#------------------------添加↑
复制代码
3.设置变更装备,在配盾的情况下装备双手武器时,自动把盾牌卸下:
  1.   #--------------------------------------------------------------------------
  2.   # ● 刷新画面 (物品窗口被激活的情况下)
  3.   #--------------------------------------------------------------------------
  4.   def update_item
  5.     # 按下 B 键的情况下
  6.     if Input.trigger?(Input::B)
  7.       # 演奏取消 SE
  8.       $game_system.se_play($data_system.cancel_se)
  9.       # 激活右侧窗口
  10.       @right_window.active = true
  11.       @item_window.active = false
  12.       @item_window.index = -1
  13.       return
  14.     end
  15.     # 按下 C 键的情况下
  16.     if Input.trigger?(Input::C)
  17.       # 演奏装备 SE
  18.       $game_system.se_play($data_system.equip_se)
  19.       # 获取物品窗口现在选择的装备数据
  20.       item = @item_window.item
  21. #--------------------------修改↓
  22.       # 变更装备
  23.       @actor.equip(@right_window.index, item == nil ? 0 : item.id)
  24.       if $both_hands_weapon.include?(item.id) && @right_window.index == 0
  25.         @actor.equip(1,0)
  26.       end
  27. #-------------------------修改↑
  28.       # 激活右侧窗口
复制代码
如果没有用到其他装备脚本的情况下,大体就是样修改。




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