Project1

标题: 请问如何读取备注里的公式 [打印本页]

作者: jianyulei    时间: 2017-7-31 11:24
标题: 请问如何读取备注里的公式
那些可以得出数字的公式,请问如何在备注里读取。例如我要读取一个技能的备注,设使用技能的人攻击力20,技能备注的是 <备注 user.atk*2> ,那如何让这个技能的备注在实际运用时被判定为<备注 40> 呢?
作者: 魔法丶小肉包    时间: 2017-7-31 12:55
RUBY 代码复制
  1. class Game_Battler < Game_BattlerBase
  2.   def a(user,item)
  3.     r = /<备注\s*(\w+)(\W*)(\w+)(\W*)(\d*)>/
  4.     if item.is_a?(RPG::Skill) and r =~ item.note
  5.       s = $1.to_s+$2.to_s+$3.to_s+$4.to_s+$5.to_s
  6.       num = s.scan(/(\w+)(\W*)(\w+)(\W*)(\d*)/)
  7.       if num[0][0] == "user"
  8.         case num[0][2]
  9.         when "atk"
  10.           z = user.atk * num[0][4].to_i
  11.         end
  12.       end
  13.     else
  14.       0
  15.     end
  16.     p z if z
  17.   end
  18.   def item_apply(user, item)
  19.     @result.clear
  20.     @result.used = item_test(user, item)
  21.     @result.missed = (@result.used && rand >= item_hit(user, item))
  22.     @result.evaded = (!@result.missed && rand < item_eva(user, item))
  23.     if @result.hit?
  24.       unless item.damage.none?
  25.         @result.critical = (rand < item_cri(user, item))
  26.         make_damage_value(user, item)
  27.         execute_damage(user)
  28.       end
  29.       item.effects.each {|effect| item_effect_apply(user, item, effect) }
  30.       item_user_effect(user, item)
  31.       a(user,item)
  32.     end
  33.   end
  34. end

作者: jianyulei    时间: 2017-7-31 14:24
本帖最后由 jianyulei 于 2017-7-31 19:32 编辑
魔法丶小肉包 发表于 2017-7-31 12:55
class Game_Battler < Game_BattlerBase
  def a(user,item)
    r = //


感觉还是不行,每种运算都必须要写完整的一套,这个公式等于是如果备注<备注 1> 那么则计算攻击*2,想要另一个算法都得再追加一个<备注 2>的判断,我看别人的脚本里面都可以直接写任何公式来进行计算啊

脚本.zip

13.02 KB, 下载次数: 69






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