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

Project1

 找回密码
 注册会员
搜索
楼主: 暗黑
打印 上一主题 下一主题

[已经过期] 怎么让二刀流只拿一个武器?

[复制链接]

Lv2.观梦者

梦石
0
星屑
371
在线时间
99 小时
注册时间
2012-7-1
帖子
42
11
 楼主| 发表于 2012-7-2 12:49:04 | 只看该作者
thomaskkkk 发表于 2012-7-1 21:22
雙持武器是區分 雙手持有的武器和角色能雙手各持武器,後者是合乎裝備盾
有些遊戲甚至是用盾攻擊

不知道能不能把武器加上“反双持”……让本来可以双持的角色变成不能双持……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
206 小时
注册时间
2010-8-15
帖子
98
12
发表于 2012-7-2 20:56:55 | 只看该作者
本帖最后由 thomaskkkk 于 2012-7-2 20:58 编辑
暗黑 发表于 2012-7-2 12:49
不知道能不能把武器加上“反双持”……让本来可以双持的角色变成不能双持…… ...


那麼那武器乾脆無法裝備吧,在角色的特性指明無法裝備「類型」。

而「類型」方面可稱呼「特殊武器」

然後,所有的職業的特性欄啟用「特殊武器」,

這樣就一了百了,特定角色無法使用。
世界不會因為多了一個朋友而變大,
更不會少了一個朋友而變少。
欲求別人改變是愚昧,讓自己精益求精才是真諦。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
371
在线时间
99 小时
注册时间
2012-7-1
帖子
42
13
 楼主| 发表于 2012-7-2 23:00:40 | 只看该作者
thomaskkkk 发表于 2012-7-2 20:56
那麼那武器乾脆無法裝備吧,在角色的特性指明無法裝備「類型」。

而「類型」方面可稱呼「特殊武器」

额,你误会了,我是想让一个角色既可以拿两把剑也可以只用一把长矛。(只能用一个长矛,而不是一手一个)
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
206 小时
注册时间
2010-8-15
帖子
98
14
发表于 2012-7-2 23:24:12 | 只看该作者
本帖最后由 thomaskkkk 于 2012-7-2 23:45 编辑
暗黑 发表于 2012-7-2 23:00
额,你误会了,我是想让一个角色既可以拿两把剑也可以只用一把长矛。(只能用一个长矛,而不是一手一个) ...


要用腳本改。



雙持武器TWO-HAND WEAPON

二刀流TWO-HAND WEAPONS

已測試兩把雙持武器無法二刀流,

單持TWO-HAND WEAPON仍然可以裝備ONE-HAND WEAPON。

即使是雙手盾,也沒辦法和雙手劍疊在一起。

似乎VX本來是無法讓雙持武器佔用副手位置。



要用腳本改。
世界不會因為多了一個朋友而變大,
更不會少了一個朋友而變少。
欲求別人改變是愚昧,讓自己精益求精才是真諦。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
54 小时
注册时间
2006-8-29
帖子
36
15
发表于 2012-7-3 01:15:33 | 只看该作者
嗯,怎么说,偶有一个好笨的想法,就是把你需要的角色设计成一种“自由战士”职业,拥有随便变更职业的技能,那么你想要用两把剑的时候换可以双持特性的职业,想拿一把矛的时候就换战士~~~~~
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
371
在线时间
99 小时
注册时间
2012-7-1
帖子
42
16
 楼主| 发表于 2012-7-3 07:17:12 | 只看该作者
thomaskkkk 发表于 2012-7-2 23:24
要用腳本改。

囧……关键是怎么改,我来这就是求脚本的。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
86 小时
注册时间
2012-5-31
帖子
63
17
发表于 2012-7-6 07:45:15 | 只看该作者
用这个脚本,设置“二刀流”的被动技,并在该技能设置有“二刀流”的状态,就可以让角色有二刀流的状态
不过想消除二刀流的状态时,要让角色遗忘技能,才能确实消除二刀流的状态
  1. #==============================================================================
  2. # ■ UMSSSS
  3. # 来源:http://www002.upp.so-net.ne.jp/usagimask/vxace_material.htm
  4. # 制作者のメルアド:[email protected]
  5. #------------------------------------------------------------------------------
  6. # ▼ウサギマスクが制作したゲームシステムの基本设定を扱うモジュールです。
  7. #   ※ UMSSSS は UsagiMaskSystemScriptSynthesisSetting の略です(ぇ
  8. #------------------------------------------------------------------------------
  9. # 使用方法不难,就是添加一个技能类型叫做"被动技能"
  10. # 这可以在UseSimplePassiveName = "被动技能" 这边调整成你想要的字串
  11. # 然后添加一个状态,在状态增加你想要的功能(如最大生命+50%之类的)
  12. # 在技能那边新增技能,类型 被动技能,使用对象使用者,无法使用,
  13. # 然后附加状态100%(怕附加不上去的可以加到1000%)
  14. # 然后让角色学会就会有效果了
  15. # 只是这个的能力局限于状态能够得到的效果
  16. #
  17. # 测试结果,有两个装备技时,会彼此冲突,后来发现是该武器免疫装备技得状态(汗)
  18. #
  19. # 测试心得
  20. # 1.禁用技能的指令,对 被动技能无效, 被动技能依旧可以发动
  21. # 2.如果免疫 被动技能的状态,疑似会让该状态永久消失
  22. #==============================================================================
  23. class UMSSSS
  24.   
  25.   # 简易パッシブスキルとして使用するスキルタイプの名称
  26.   UseSimplePassiveName = "被动技能"
  27.   
  28. end
  29. #==============================================================================
  30. # ■ RPG::Skill
  31. #------------------------------------------------------------------------------
  32. #  スキルのデータクラス。
  33. #==============================================================================
  34. class RPG::Skill < RPG::UsableItem
  35.   def real_note
  36.     return @note.clone
  37.   end
  38.   def simple_passive?
  39.     s_name = $data_system.skill_types[@stype_id]
  40.     return s_name == UMSSSS::UseSimplePassiveName
  41.   end
  42. end
  43. #==============================================================================
  44. # ■ Game_BattlerBase
  45. #------------------------------------------------------------------------------
  46. #  バトラーを扱う基本のクラスです。主に能力値计算のメソッドを含んでいます。こ
  47. # のクラスは Game_Battler クラスのスーパークラスとして使用されます。
  48. #==============================================================================
  49. class Game_BattlerBase
  50.   alias ums_simple_passive_skill_state_resist_set state_resist_set
  51.   alias ums_simple_passive_skill_recover_all recover_all
  52.   #--------------------------------------------------------------------------
  53.   # ● 无効化するステートの配列を取得
  54.   #--------------------------------------------------------------------------
  55.   def state_resist_set
  56.     result = ums_simple_passive_skill_state_resist_set
  57.     if self.actor?
  58.       result += @passive_m_states unless @passive_m_states.nil?
  59.     end
  60.     return result
  61.   end
  62.   #--------------------------------------------------------------------------
  63.   # ● 全回复
  64.   #--------------------------------------------------------------------------
  65.   def recover_all
  66.     ums_simple_passive_skill_recover_all
  67.     check_simple_passive if self.actor?
  68.   end
  69.   #--------------------------------------------------------------------------
  70.   # ● 无効化する能力强化の配列を取得
  71.   #--------------------------------------------------------------------------
  72.   def buff_resist_set
  73.     return []
  74.   end
  75.   #--------------------------------------------------------------------------
  76.   # ● 无効化する能力弱体の配列を取得
  77.   #--------------------------------------------------------------------------
  78.   def debuff_resist_set
  79.     return []
  80.   end
  81. end
  82. #==============================================================================
  83. # ■ Game_Battler
  84. #------------------------------------------------------------------------------
  85. #  スプライトや行动に関するメソッドを追加したバトラーのクラスです。このクラス
  86. # は Game_Actor クラスと Game_Enemy クラスのスーパークラスとして使用されます。
  87. #==============================================================================
  88. class Game_Battler < Game_BattlerBase
  89.   alias ums_simple_passive_skill_remove_state remove_state
  90.   alias ums_simple_passive_skill_add_buff add_buff
  91.   alias ums_simple_passive_skill_add_debuff add_debuff
  92.   alias ums_simple_passive_skill_item_effect_add_buff item_effect_add_buff
  93.   alias ums_simple_passive_skill_item_effect_add_debuff item_effect_add_debuff
  94.   #--------------------------------------------------------------------------
  95.   # ● ステートの解除
  96.   #--------------------------------------------------------------------------
  97.   def remove_state(state_id)
  98.     if self.actor?
  99.       return if passive_plus_states.include?(state_id)
  100.     end
  101.     ums_simple_passive_skill_remove_state(state_id)
  102.   end
  103.   #--------------------------------------------------------------------------
  104.   # ● 能力强化
  105.   #--------------------------------------------------------------------------
  106.   def add_buff(param_id, turns)
  107.     if self.actor?
  108.       return if buff_resist_set.include?(param_id)
  109.     end
  110.     ums_simple_passive_skill_add_buff(param_id, turns)
  111.   end
  112.   #--------------------------------------------------------------------------
  113.   # ● 能力弱体
  114.   #--------------------------------------------------------------------------
  115.   def add_debuff(param_id, turns)
  116.     if self.actor?
  117.       return if debuff_resist_set.include?(param_id)
  118.     end
  119.     ums_simple_passive_skill_add_debuff(param_id, turns)
  120.   end
  121.   #--------------------------------------------------------------------------
  122.   # ● 使用効果[能力强化]
  123.   #--------------------------------------------------------------------------
  124.   def item_effect_add_buff(user, item, effect)
  125.     if self.actor?
  126.       return if buff_resist_set.include?(effect.data_id)
  127.     end
  128.     ums_simple_passive_skill_item_effect_add_buff(user, item, effect)
  129.   end
  130.   #--------------------------------------------------------------------------
  131.   # ● 使用効果[能力弱体]
  132.   #--------------------------------------------------------------------------
  133.   def item_effect_add_debuff(user, item, effect)
  134.     if self.actor?
  135.       return if debuff_resist_set.include?(effect.data_id)
  136.     end
  137.     ums_simple_passive_skill_item_effect_add_debuff(user, item, effect)
  138.   end
  139. end
  140. #==============================================================================
  141. # ■ Game_Actor
  142. #------------------------------------------------------------------------------
  143. #  アクターを扱うクラスです。このクラスは Game_Actors クラス($game_actors)
  144. # の内部で使用され、Game_Party クラス($game_party)からも参照されます。
  145. #==============================================================================
  146. class Game_Actor < Game_Battler
  147.   alias ums_simple_passive_skill_setup setup
  148.   alias ums_simple_passive_skill_learn_skill learn_skill
  149.   alias ums_simple_passive_skill_forget_skill forget_skill
  150.   #--------------------------------------------------------------------------
  151.   # ● セットアップ
  152.   #--------------------------------------------------------------------------
  153.   def setup(actor_id)
  154.     ums_simple_passive_skill_setup(actor_id)
  155.     check_simple_passive
  156.   end
  157.   #--------------------------------------------------------------------------
  158.   # ● スキルを覚える
  159.   #--------------------------------------------------------------------------
  160.   def learn_skill(skill_id)
  161.     ums_simple_passive_skill_learn_skill(skill_id)
  162.     skill = $data_skills[skill_id]
  163.     unless skill.nil?
  164.       check_simple_passive if skill.simple_passive?
  165.     end
  166.   end
  167.   #--------------------------------------------------------------------------
  168.   # ● スキルを忘れる
  169.   #--------------------------------------------------------------------------
  170.   def forget_skill(skill_id)
  171.     ums_simple_passive_skill_forget_skill(skill_id)
  172.     skill = $data_skills[skill_id]
  173.     unless skill.nil?
  174.       remove_simple_passive(skill) if skill.simple_passive?
  175.     end
  176.   end
  177.   #--------------------------------------------------------------------------
  178.   # ● 简易パッシブスキルの取得
  179.   #--------------------------------------------------------------------------
  180.   def simple_passive_skills
  181.     return skills.select {|v| v.simple_passive?}
  182.   end
  183.   #--------------------------------------------------------------------------
  184.   # ● 简易パッシブスキルのチェック
  185.   #--------------------------------------------------------------------------
  186.   def check_simple_passive
  187.     # 変数初期化
  188.     @passive_p_states = []
  189.     @passive_m_states = []
  190.     @passive_i_buff = []
  191.     @passive_i_debuff = []
  192.     # データ取得
  193.     p_states = []
  194.     m_states = []
  195.     i_buff = []
  196.     i_debuff = []
  197.     for skill in simple_passive_skills
  198.       for effect in skill.effects
  199.         p_states << effect.data_id if effect.code == 21
  200.         m_states << effect.data_id if effect.code == 22
  201.         i_buff << effect.data_id if effect.code == 33
  202.         i_debuff << effect.data_id if effect.code == 34
  203.       end
  204.     end
  205.     # データ整理
  206.     del_states = p_states & m_states
  207.     p_states -= del_states
  208.     m_states -= del_states
  209.     del_buff = i_buff & i_debuff
  210.     i_buff -= del_buff
  211.     i_debuff -= del_buff
  212.     # データ反映
  213.     @passive_p_states = p_states
  214.     @passive_m_states = m_states
  215.     @passive_i_buff = i_buff
  216.     @passive_i_debuff = i_debuff
  217.     @result.clear
  218.     for s in p_states
  219.       add_state(s)
  220.     end
  221.     for s in m_states
  222.       remove_state(s)
  223.     end
  224.     for b in i_buff
  225.       erase_buff(b) if buff?(b)
  226.     end
  227.     for d in i_debuff
  228.       erase_buff(d) if debuff?(d)
  229.     end
  230.   end
  231.   #--------------------------------------------------------------------------
  232.   # ● 简易パッシブスキルを无効化
  233.   #--------------------------------------------------------------------------
  234.   def remove_simple_passive(skill)
  235.     check_simple_passive
  236.     for effect in skill.effects
  237.       if effect.code == 21
  238.         remove_state(effect.data_id)
  239.       end
  240.     end
  241.   end
  242.   #--------------------------------------------------------------------------
  243.   # ● 简易パッシブスキルで常时付加するステート
  244.   #--------------------------------------------------------------------------
  245.   def passive_plus_states
  246.     return @passive_p_states
  247.   end
  248.   #--------------------------------------------------------------------------
  249.   # ● 无効化する能力强化の配列を取得
  250.   #--------------------------------------------------------------------------
  251.   def buff_resist_set
  252.     return @passive_i_buff
  253.   end
  254.   #--------------------------------------------------------------------------
  255.   # ● 无効化する能力弱体の配列を取得
  256.   #--------------------------------------------------------------------------
  257.   def debuff_resist_set
  258.     return @passive_i_debuff
  259.   end
  260. end
  261. #==============================================================================
  262. # ■ Window_Command
  263. #------------------------------------------------------------------------------
  264. #  一般的なコマンド选択を行うウィンドウです。
  265. #==============================================================================
  266. class Window_Command < Window_Selectable
  267.   alias ums_simple_passive_skill_add_command add_command
  268.   #--------------------------------------------------------------------------
  269.   # ● コマンドの追加
  270.   #     name    : コマンド名
  271.   #     symbol  : 対応するシンボル
  272.   #     enabled : 有効状态フラグ
  273.   #     ext     : 任意の拡张データ
  274.   #--------------------------------------------------------------------------
  275.   def add_command(name, symbol, enabled = true, ext = nil)
  276.     if self.is_a?(Window_ActorCommand)
  277.       return if name == UMSSSS::UseSimplePassiveName
  278.     end
  279.     ums_simple_passive_skill_add_command(name, symbol, enabled, ext)
  280.   end
  281. end
  282. #==============================================================================
  283. # ■ Window_Selectable
  284. #------------------------------------------------------------------------------
  285. #  カーソルの移动やスクロールの机能を持つウィンドウクラスです。
  286. #==============================================================================
  287. class Window_Selectable < Window_Base
  288.   alias ums_simple_passive_skill_process_ok process_ok
  289.   #--------------------------------------------------------------------------
  290.   # ● 决定ボタンが押されたときの処理
  291.   #--------------------------------------------------------------------------
  292.   def process_ok
  293.     if self.is_a?(Window_SkillList)
  294.       if item.is_a?(RPG::Skill)
  295.         return if item.simple_passive?
  296.       end
  297.     end
  298.     ums_simple_passive_skill_process_ok
  299.   end
  300. end
  301. #==============================================================================
  302. # ■ Window_SkillList
  303. #------------------------------------------------------------------------------
  304. #  スキル画面で、使用できるスキルの一覧を表示するウィンドウです。
  305. #==============================================================================
  306. class Window_SkillList < Window_Selectable
  307.   alias ums_simple_passive_skill_enable? enable?
  308.   #--------------------------------------------------------------------------
  309.   # ● スキルを许可状态で表示するかどうか
  310.   #--------------------------------------------------------------------------
  311.   def enable?(item)
  312.     if item.is_a?(RPG::Skill)
  313.       return true if item.simple_passive?
  314.     end
  315.     return ums_simple_passive_skill_enable?(item)
  316.   end
  317. end
复制代码

点评

T T感谢……感谢……感谢……  发表于 2012-7-6 16:02
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
371
在线时间
99 小时
注册时间
2012-7-1
帖子
42
18
 楼主| 发表于 2012-7-6 16:38:13 | 只看该作者
笔名:玥阳 发表于 2012-7-6 07:45
用这个脚本,设置“二刀流”的被动技,并在该技能设置有“二刀流”的状态,就可以让角色有二刀流的状态
不 ...

话说,解除状态和遗忘技能都不能消除二刀流状态。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
86 小时
注册时间
2012-5-31
帖子
63
19
发表于 2012-7-7 10:47:10 | 只看该作者
嘛……
我让原本不会二刀流的角色学会“二刀流”的被动技,
再遗忘“二刀流”的被动技,就会变成平常得武器+盾。

如果真得不行,或许是脚本冲突?

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
371
在线时间
99 小时
注册时间
2012-7-1
帖子
42
20
 楼主| 发表于 2012-7-7 16:51:57 | 只看该作者
笔名:玥阳 发表于 2012-7-7 10:47
嘛……
我让原本不会二刀流的角色学会“二刀流”的被动技,
再遗忘“二刀流”的被动技,就会变成平常得武器 ...

在新工程一样不行,你成功了?怎么弄的?……我是在技能里设置反二刀流,利用公共事件遗忘技能……然后再加到武器上,不过不管用。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-20 12:41

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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