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

Project1

 找回密码
 注册会员
搜索

怎样用状态给武器附加临时的属性

查看数: 2133 | 评论数: 4 | 收藏 2
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2014-8-30 00:05

正文摘要:

就比如当角色 在某个状态下 普通攻击 附加火属性攻击  或者 对种族特效之类的

回复

RyanBern 发表于 2014-9-1 23:51:00
应该是这样
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. #==============================================================================
woshinide951 发表于 2014-9-1 23:18:16
芯☆淡茹水 发表于 2014-8-30 08:55
这个,没有测试:

谢谢。。。。

点评

解决了,非常感谢!  发表于 2014-9-2 22:16
所以,这个问题是解决了?  发表于 2014-9-2 16:25
芯☆淡茹水 发表于 2014-8-30 08:55:47
这个,没有测试:
  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. #==============================================================================
复制代码

点评

↓所以说没测试嘛,把状态ID当状态在用。  发表于 2014-9-2 16:58
我还用芯☆淡如水 特技多体对象选择 脚本,感觉好巧  发表于 2014-9-2 14:54
粗心了哦,state和state_id弄混了。另外我比较好奇LZ的那句“话说我还在用你”是什么意思。  发表于 2014-9-2 00:00

评分

参与人数 2星屑 +270 收起 理由
RyanBern + 250 认可答案
woshinide951 + 20 虽然没有成功,但是很感谢!话说我还在用你.

查看全部评分

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

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

GMT+8, 2024-11-27 22:48

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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