设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1405|回复: 9
打印 上一主题 下一主题

[已经解决] 双持武器怎么指定部分武器不能双持?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
25 小时
注册时间
2014-9-4
帖子
9
跳转到指定楼层
1
发表于 2016-6-26 19:31:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
我设定了单手剑和手枪是可以双持的
装备到主手位会,副手还是可以装备巨剑
像巨剑和弓箭这类的双手武器怎么设定才能不会双持?
单手类武器怎么设置才不会影响双手武器?

Lv4.逐梦者 (版主)

漾夕☽星化残月☾

梦石
0
星屑
8596
在线时间
3857 小时
注册时间
2015-5-12
帖子
2077

剧作品鉴家

2
发表于 2016-6-26 21:48:07 | 只看该作者
本帖最后由 御曹司 于 2016-6-26 23:17 编辑

试试这个脚本。
在所有的弓箭、巨剑类武器上附加“禁止装备武器类型”把所有武器类型禁掉就可以了
  1. #==============================================================================
  2. #                   「スキル必要武器タイプ拡張」(ACE) ver2.1  by奈々
  3. #
  4. #   ◇使用規約
  5. #   使用される場合はスクリプト作成者として「奈々」を明記して下さい。
  6. #   このスクリプトを改変したり、改変したものを配布するなどは自由ですが
  7. #   その場合も元のスクリプトの作成者として名前は載せて下さい。
  8. #
  9. #------------------------------------------------------------------------------
  10. #
  11. #   スキルの必要武器タイプを拡張します。
  12. #   使い方は、スキルのメモ欄にタグを記入して下さい。
  13. #   
  14. # <要求武器タイプ n>:設定した武器タイプを「1つでも」装備していれば使用可能。
  15. #                     デフォルトの必要武器タイプはこれと同じ扱いになります。
  16. #
  17. # <要求防具タイプ n>:設定した防具タイプを「1つでも」装備していれば使用可能。
  18. #                     要求武器タイプを含めてどれか1つあればOKの判定です。
  19. #
  20. # <必須武器タイプ n>:設定した武器タイプを「全て」装備していれば使用可能。
  21. #
  22. # <必須防具タイプ n>:設定した防具タイプを「全て」装備していれば使用可能。
  23. #
  24. #
  25. # <禁止武器タイプ n>:設定した武器タイプを「装備していなければ」使用可能。
  26. #
  27. # <禁止防具タイプ n>:設定した防具タイプを「装備していなければ」使用可能。
  28. #
  29. #   タグは何個でも追加できます。またどのタイプも併用が可能です。
  30. #   併用する場合は
  31. #   禁止タイプの判定→必須タイプの判定→要求タイプの判定
  32. #   とタイプ毎にそれぞれ独立したチェックをして
  33. #   全て満たしていた場合のみ使用可能になります。
  34. #
  35. #==============================================================================
  36. #==============================================================================
  37. # ■ Game_Actor
  38. #------------------------------------------------------------------------------
  39. #  アクターを扱うクラスです。このクラスは Game_Actors クラス($game_actors)
  40. # の内部で使用され、Game_Party クラス($game_party)からも参照されます。
  41. #==============================================================================
  42. class Game_Actor < Game_Battler
  43.   #--------------------------------------------------------------------------
  44.   # ● スキルの必要武器を装備しているか(再定義)
  45.   #--------------------------------------------------------------------------
  46.   def skill_wtype_ok?(skill)
  47.     #要求武器タイプはデータベースの設定も反映
  48.     any_wtype_id = []
  49.     any_wtype_id.push skill.required_wtype_id1
  50.     any_wtype_id.push skill.required_wtype_id2
  51.     #無設定が0で入っているので、それを除外
  52.     any_wtype_id -= [0]
  53.     any_wtype_id += skill.required_any_wtype_id
  54.    
  55.     #他も参照しやすいように取り出す
  56.     any_atype_id = skill.required_any_atype_id
  57.     all_wtype_id = skill.required_all_wtype_id
  58.     all_atype_id = skill.required_all_atype_id
  59.     notany_wtype_id = skill.required_notany_wtype_id
  60.     notany_atype_id = skill.required_notany_atype_id
  61.    
  62.     #    武器タイプと防具タイプの複合判定
  63.    
  64.     #要求タイプの判定
  65.     any_etype_ok = false
  66.     any_etype_ok = true if any_wtype_id == [] && any_atype_id == []
  67.     any_etype_ok = true if any_wtype_equipped?(any_wtype_id) || any_atype_equipped?(any_atype_id)
  68.     #any判定を武器か防具のどちらかで満たせばtrue
  69.     #もしくは両方指定なしの場合もtrue
  70.     #それ以外がfalse
  71.    
  72.     #必須タイプの判定
  73.     all_etype_ok = true
  74.     all_etype_ok = false if !(all_wtype_equipped?(all_wtype_id) || all_wtype_id == [])
  75.     all_etype_ok = false if !(all_wtype_equipped?(all_wtype_id) || all_wtype_id == [])
  76.     #all判定か指定なしか、これを武器と防具の両方で満たすならtrue
  77.     #これを逆にしたfalseを洗い出すことで判定を簡単にしている
  78.    
  79.     #禁止タイプの判定
  80.     notany_etype_ok = true
  81.     notany_etype_ok = false if any_wtype_equipped?(notany_wtype_id) || any_atype_equipped?(notany_atype_id)
  82.     #any判定を武器か防具のどちらかで満たせばfalse
  83.     #そうでなければtrue

  84.     return false if !any_etype_ok
  85.     return false if !all_etype_ok
  86.     return false if !notany_etype_ok
  87.     return true
  88.   end
  89.   #--------------------------------------------------------------------------
  90.   # ● 特定のタイプの武器をどれか1つでも装備しているか(新規メソッド)
  91.   #--------------------------------------------------------------------------
  92.   def any_wtype_equipped?(any_wtype_id)
  93.     any_wtype_id.each {|wtype|
  94.       return true if weapons.any? {|weapon| weapon.wtype_id == wtype }
  95.     }
  96.     return false
  97.   end
  98.   #--------------------------------------------------------------------------
  99.   # ● 特定のタイプの防具をどれか1つでも装備しているか(新規メソッド)
  100.   #--------------------------------------------------------------------------
  101.   def any_atype_equipped?(any_atype_id)
  102.     any_atype_id.each {|atype|
  103.       return true if armors.any? {|armor| armor.atype_id == atype }
  104.     }
  105.     return false
  106.   end
  107.   #--------------------------------------------------------------------------
  108.   # ● 特定のタイプの武器を全て装備しているか(新規メソッド)
  109.   #--------------------------------------------------------------------------
  110.   def all_wtype_equipped?(all_wtype_id)
  111.     all_wtype_id.each {|wtype|
  112.       return false if not weapons.any? {|weapon| weapon.wtype_id == wtype }
  113.     }
  114.     return true
  115.   end
  116.   #--------------------------------------------------------------------------
  117.   # ● 特定のタイプの防具を全て装備しているか(新規メソッド)
  118.   #--------------------------------------------------------------------------
  119.   def all_atype_equipped?(all_atype_id)
  120.     all_atype_id.each {|atype|
  121.       return false if not armors.any? {|armor| armor.atype_id == atype }
  122.     }
  123.     return true
  124.   end
  125. end

  126. class RPG::Skill < RPG::UsableItem
  127.   #--------------------------------------------------------------------------
  128.   # ● 要求武器タイプの定義(追加定義)
  129.   #--------------------------------------------------------------------------  
  130.   def required_any_wtype_id
  131.     list = []
  132.     @note.scan(/<要求武器タイプ\s?(\d*)>/) {|s| list.push($1.to_i) if $1}
  133.     return list
  134.   end
  135.   #--------------------------------------------------------------------------
  136.   # ● 要求防具タイプの定義(追加定義)
  137.   #--------------------------------------------------------------------------  
  138.   def required_any_atype_id
  139.     list = []
  140.     @note.scan(/<要求防具タイプ\s?(\d*)>/) {|s| list.push($1.to_i) if $1}
  141.     return list
  142.   end
  143.   #--------------------------------------------------------------------------
  144.   # ● 必須武器タイプの定義(追加定義)
  145.   #--------------------------------------------------------------------------  
  146.   def required_all_wtype_id
  147.     list = []
  148.     @note.scan(/<必須武器タイプ\s?(\d*)>/) {|s| list.push($1.to_i) if $1}
  149.     return list
  150.   end
  151.   #--------------------------------------------------------------------------
  152.   # ● 必須防具タイプの定義(追加定義)
  153.   #--------------------------------------------------------------------------  
  154.   def required_all_atype_id
  155.     list = []
  156.     @note.scan(/<必須防具タイプ\s?(\d*)>/) {|s| list.push($1.to_i) if $1}
  157.     return list
  158.   end
  159.   #--------------------------------------------------------------------------
  160.   # ● 禁止武器タイプの定義(追加定義)
  161.   #--------------------------------------------------------------------------  
  162.   def required_notany_wtype_id
  163.     list = []
  164.     @note.scan(/<禁止武器タイプ\s?(\d*)>/) {|s| list.push($1.to_i) if $1}
  165.     return list
  166.   end
  167.   #--------------------------------------------------------------------------
  168.   # ● 禁止防具タイプの定義(追加定義)
  169.   #--------------------------------------------------------------------------  
  170.   def required_notany_atype_id
  171.     list = []
  172.     @note.scan(/<禁止防具タイプ\s?(\d*)>/) {|s| list.push($1.to_i) if $1}
  173.     return list
  174.   end
  175. end
复制代码

点评

感谢大大这么热心回答TAT  发表于 2016-6-26 23:59
呃、的确、我再看看其它方法  发表于 2016-6-26 23:43
还是不行,禁止装备还是那样,是不是要在备注上扩展?不过我是脚本小白,最多也就是看懂了日文在说什么...  发表于 2016-6-26 23:39
禁止装备里面只有(武器、盾牌、防具)等几个选项,没有武器类型啊,如果禁止武器的话,就直接装备不了了  发表于 2016-6-26 22:56

评分

参与人数 1梦石 +1 收起 理由
丿梁丶小柒 + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
120
在线时间
486 小时
注册时间
2007-5-27
帖子
807
3
发表于 2016-6-28 07:37:59 | 只看该作者
本帖最后由 紫苍焰 于 2016-6-28 07:40 编辑

双持武器这种装备风格,不加在职业身上,而是加给所有可以双持的武器就好了吧……
与职业和角色无关,只要装备可双持的武器就能双持。武器类型里直接把可以双持的和不能双持的武器分开……
比如有双持武器风格的在武器类型里都标记为副手,然后可以双持的职业允许装备的武器类型里有副手这个类型……
装备了副手之后才可以双持武器……
这样的思路……
你试试看……

点评

盾牌位置做成副手是否可行?  发表于 2016-12-1 13:41
武器类型自己做啦……副手-剑,副手-斧,副手-锤这种感觉的……  发表于 2016-8-28 15:42
双持我就是在武器上添加的,而且武器类型里没有副手的选项,所以主手戴上双持特性的武器后,副手就可以戴上其他的双手武器...  发表于 2016-6-28 19:03

评分

参与人数 1星屑 +110 收起 理由
丿梁丶小柒 + 110 我很赞同

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-16 15:02

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表