Project1

标题: 如何在游戏中改变技能的说明文字 [打印本页]

作者: cjlzbb    时间: 2014-9-26 14:50
标题: 如何在游戏中改变技能的说明文字
我做了一些装备,装备上以后可以增强技能效果,
例如 “燃烧法杖” 将使 “火球术”所攻击到的目标被附加“燃烧”DOT之类的
效果我做出来了,就是装备道具以后获得一个隐藏的BUFF,然后使用技能时再检查有没有这个BUFF。
现在的问题是,主角在装备这把法杖之后,
怎样才能让火球术的说明底下多出来一条特殊颜色的文字
燃烧法杖:命中后附加燃烧效果
而其他也会火球术但是没装备这把法杖的角色的技能说明依然不变
作者: taroxd    时间: 2014-9-26 15:55
兼容性和可扩展性极差。

RUBY 代码复制
  1. # 增加文字的条件
  2. CONDITION_20140926 = lambda do |actor, item|
  3.   # 如果没有装备 10 号武器则不满足条件
  4.   return false unless actor.weapons.include? $data_weapons[10]
  5.   # 如果 item 不是 11 号技能则不满足条件
  6.   return false if !item.kind_of?(RPG::Skill) || item.id != 11
  7.   # 否则满足条件
  8.   return true
  9. end
  10.  
  11. # 要添加的文字。\n为换行,\\C[n]为“显示文字”中的控制符
  12. ADD_TEXT_20140926 = "\n\\C[5]燃烧法杖:命中后附加燃烧效果"
  13.  
  14. class Window_Help < Window_Base
  15.   alias set_item_without_actor
  16.   def set_item(item, actor = nil)
  17.     return set_item_without_actor(item) if !actor ||
  18.       !CONDITION_20140926.(actor, item)
  19.     set_text(item ? item.description + ADD_TEXT_20140926 : '')
  20.   end
  21. end
  22.  
  23. class Window_SkillList
  24.   def update_help
  25.     @help_window.set_item(item, actor)
  26.   end
  27. end





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