Project1

标题: 怎样用状态给武器附加临时的属性 [打印本页]

作者: woshinide951    时间: 2014-8-30 00:05
标题: 怎样用状态给武器附加临时的属性
就比如当角色 在某个状态下 普通攻击 附加火属性攻击  或者 对种族特效之类的
作者: 芯☆淡茹水    时间: 2014-8-30 08:55
这个,没有测试:
  1. # 给状态命名时:状态名,附加的属性ID     
  2. # 比如:蓄力,3          这个 蓄力 状态就会附加 3 号属性。<仅限普通攻击>
  3. #不附加属性就不写后面的属性ID
  4. module RPG
  5.   class State
  6.     def name
  7.       @name.split(/,/)[0] != nil ? @name.split(/,/)[0] : ""
  8.     end
  9.     def element_id
  10.       @name.split(/,/)[1] != nil ? @name.split(/,/)[1].to_i : 0
  11.     end
  12.   end
  13. end
  14. #=============================================================================

  15. class Game_Actor < Game_Battler
  16.   #--------------------------------------------------------------------------
  17.   # ● 获取普通攻击属性
  18.   #--------------------------------------------------------------------------
  19.   def element_set
  20.     state_elements = []
  21.     for state in self.states
  22.       state_elements.push(state.element_id) if state.element_id > 0
  23.     end
  24.     weapon = $data_weapons[@weapon_id]
  25.     weapon_elements = weapon != nil ? weapon.element_set : []
  26.     return state_elements | weapon_elements
  27.   end
  28. end
  29. #==============================================================================
复制代码

作者: woshinide951    时间: 2014-9-1 23:18
芯☆淡茹水 发表于 2014-8-30 08:55
这个,没有测试:

谢谢。。。。
作者: woshinide951    时间: 2014-9-1 23:46
芯☆淡茹水 发表于 2014-8-30 08:55
这个,没有测试:

这是怎么回事?

QQ截图20140901233732.png (4.2 KB, 下载次数: 6)

这是肿么回事= =

这是肿么回事= =

作者: RyanBern    时间: 2014-9-1 23:51
应该是这样
RUBY 代码复制
  1. # 给状态命名时:状态名,附加的属性ID     
  2. # 比如:蓄力,3          这个 蓄力 状态就会附加 3 号属性。<仅限普通攻击>
  3. #不附加属性就不写后面的属性ID
  4. module RPG
  5.   class State
  6.     def name
  7.       @name.split(/,/)[0] != nil ? @name.split(/,/)[0] : ""
  8.     end
  9.     def element_id
  10.       @name.split(/,/)[1] != nil ? @name.split(/,/)[1].to_i : 0
  11.     end
  12.   end
  13. end
  14. #=============================================================================
  15.  
  16. class Game_Actor < Game_Battler
  17.   #--------------------------------------------------------------------------
  18.   # ● 获取普通攻击属性
  19.   #--------------------------------------------------------------------------
  20.   def element_set
  21.     state_elements = []
  22.     self.states.each do |id|
  23.       state = $data_states[id]
  24.       state_elements.push(state.element_id) if state.element_id > 0
  25.     end
  26.     weapon = $data_weapons[@weapon_id]
  27.     weapon_elements = weapon != nil ? weapon.element_set : []
  28.     return state_elements | weapon_elements
  29.   end
  30. end
  31. #==============================================================================





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