Project1

标题: 关于Sideview战斗系统的问题 [打印本页]

作者: 负零    时间: 2015-9-8 09:33
标题: 关于Sideview战斗系统的问题
本帖最后由 负零 于 2015-9-8 09:34 编辑

技能派生设置好了
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.                 # ● 技能派生 中断动作,派生引发新的技能 #####################################
  3.                 #--------------------------------------------------------------------------
  4.                 # 习得...没有学会派生的技能时是否执行。
  5.                 # 代价条件...不足以支付派生技能的代价时是否执行。
  6.                 # 技能ID...派生技能的ID
  7.                 # 动作名               判别    习得  代价条件 技能ID
  8.                 "多段攻撃に派生"   => ["der",  true,  true,   130],
  9.                 "黑·魔·导_伤害"    => ["der",  true,  true,   506],
  10.                 "魔法爆破_伤害"    => ["der",  true,  true,   47],

条件分歧也设置好了
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.                 # ● 条件分歧 (技能)
  3.                 #--------------------------------------------------------------------------
  4.                 # 对象...检查条件的对象 [0=自身] [1=目标] [2=敌方全体] [3=己方全体] [4=双方全体] [5=第二目标]
  5.                 # 技能ID...使用几号技能作为条件。
  6.                 # 条件...[0=可以使用] [1=不能使用]
  7.                 # 人数...满足以上条件所需人数。条件的对象为多人时,0 表示所有人。
  8.                 # 分歧...满足条件时的分歧处理。不满足的情况则按照相反方式处理。
  9.                 #       [0=执行下一动作] [1=取消下一动作] [2=全动作结束]
  10.                 #
  11.                 # 动作名                   判别  对象 技能ID  条件  人数  分歧
  12.                 "強撃使用可限定"       => ["n_4",  0,   80,    0,    1,   0],
  13.                 "黑·魔·导?"           => ["n_4",  0,   506,   0,    1,   0],
  14.                 "魔法爆破?"            =>["n_4",  0,   47,    0,    1,   0],


全动作处这么执行
RUBY 代码复制
  1. "黑·魔·导_判定"     => ["黑·魔·导?","100%几率","黑·魔·导_伤害"],#"黑·魔·导_展示"
  2. "魔法爆破_判定"     => ["魔法爆破?","100%几率","魔法爆破_伤害"],
  3.  
  4. "测试"            => ["魔法爆破_判定","黑·魔·导_判定"],

问题来了,他只执行黑·魔·导_判定或魔法爆破_判定,哪个在前就执行哪个。我希望他遍历一遍散列表里的内容,应该怎么做?
相关脚本
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.                                                 # ● スキル派生
  3.                                                 #--------------------------------------------------------------------------
  4.                                                 def self.derived_skill(battler)
  5.                                                         battler.force_action(battler.sv.derivation_skill_id, -2)
  6.                                                         BattleManager.unshift_action_battlers(battler)
  7.                                                 end

RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.                         # ● スキル派生
  3.                         #--------------------------------------------------------------------------
  4.                         def derivating_skill
  5.                                 # 未修得スキルは派生不可なら
  6.                                 return if !@action_data[1] && !@battler.skills.include?($data_skills[@action_data[3]])
  7.                                 # コスト不足は派生不可なら
  8.                                 return if !@action_data[2] && !@battler.skill_cost_payable?($data_skills[@action_data[3]])
  9.                                 # 派生
  10.                                 @derivation_skill_id = @action_data[3]
  11.                                 # 以降のアクションをキャンセル(此处已屏蔽,但没效果)
  12.                                 #@full_action = []
  13.                         end

作者: cjlzbb    时间: 2015-9-10 01:42
直接用事件。你在SIDEVIEW里设这些设多了很烦的。
作者: neverstop    时间: 2015-9-11 19:44
建议把两个条件用脚本写在一起。




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