Project1

标题: 關於被動技能的幾個問題求教 [打印本页]

作者: fieu55    时间: 2015-3-28 22:53
标题: 關於被動技能的幾個問題求教
本帖最后由 fieu55 于 2015-3-28 23:03 编辑

本人剛開始學習ruby,在自己嘗試的過程中總遇到各種問題,想向各位高人請教一下一些問題
原本是打算自己慢慢學的,不過我現在高一因為高考改革學業很緊,有點沒精力學習,因為急用所以只能麻煩大家了

class Game_BattlerBase
  alias m5_20140721_refresh refresh
  def refresh
    m5_20140721_refresh   
    add_state(weak_state_id) if hp_rate < 0.1
  end
  def weak_state_id
    34  # 34
  end
end

這是自己在用的一個hp較低自動附加虛弱狀態的簡單腳本,想用這樣的腳本做出像“擁有X技能hp低於50%自動添加Y狀態”“裝備X類型武器自動添加Y狀態”這樣的被動技能腳本,但是自己嘗試修改的時候碰到過“unexpected $end,expecting keyword_end”以及 “stack level too deep”的問題,想知道要如何解決

上面那個腳本做到了滿足hp<10%時附加狀態的效果,那麼第二個條件(擁有某技能或裝備某武器)要怎麼追加?用什麼語句?如果想做到不滿足該條件時自動解除要如何設置?
麻煩各位能給我比較簡單的辦法,最,在此謝謝了

作者: taroxd    时间: 2015-3-29 07:06
unexpected $end,expecting keyword_end:语法错误
stack level too deep:堆栈过深。比如 def a; a; end 就会这样。

第二个条件用 && 或 ||,具体怎么得到条件见 Game_Actor 的方法
不满足条件自动解除可以 condition ? add_state(xxx) : remove_state(xxx) ,就像默认脚本中死亡的处理一样。

P.S. 学业很紧没精力学为什么能玩 RM?学个 Ruby 比玩 RM 需要的时间少很多呢。
作者: chd114    时间: 2015-3-29 13:30
if hp_rate < 0.1#如果HP比例低于10%
这里有个if难道你连if都不认识吗···加条件的判断,if XXX就是如果XXX就···
作者: fieu55    时间: 2015-3-29 14:11
taroxd 发表于 2015-3-29 07:06
unexpected $end,expecting keyword_end:语法错误
stack level too deep:堆栈过深。比如 def a; a; end  ...

其实是因为每天都要学很多东西,大脑有點机械疲劳没办法认真学o(╯□╰)o
作者: fieu55    时间: 2015-3-29 14:13
chd114 发表于 2015-3-29 13:30
if hp_rate < 0.1#如果HP比例低于10%
这里有个if难道你连if都不认识吗···加条件的判断,if XXX就是如果 ...

这个还是知道的,问题是我不知道怎么追加第二个条件才能避免堆栈过深,而且蛋疼的是当那种脚本用了两个之后也出现了堆栈过深




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