Project1

标题: 关于备注的小疑问 [打印本页]

作者: zshuser    时间: 2014-2-8 12:11
标题: 关于备注的小疑问
那个……如何在物品、武器和防具的备注里面设置一个脚本……然后,在游戏里面可以显示成文字??
……有点小晕……@ @
就是可以穿插到某些具体的注释位置后面,比如说添加了一个脚本,我想在这个脚本显示的数据中间添加一些文字……
怎么办?
作者: 余烬之中    时间: 2014-2-8 12:39
可以通过note来读取备注

然后#{}插入

比如 本来有文字:
  1. "作业好多"
复制代码
然后备注中写“写不完了”

大概这样
  1. "作业好多,#{$data_item[9].note}"
复制代码

作者: zshuser    时间: 2014-2-8 13:21
余烬之中 发表于 2014-2-8 12:39
可以通过note来读取备注

然后#{}插入

额……那个,我是想说相反的用法= =
就是在不同的物品备注里面写点东西,然后在游戏里面可以看得到……
简单说,就是我用了一个装备限制脚本,让不同的装备对级别、属性值都有要求限制;
然后这个脚本却显示不出来备注里面的东西,把脚本附上来吧……
麻烦看一下啦= =,谢谢~
  1. #============================================================================
  2. # 定义装备等级限制方法:在数据库装备备注里写上[LV n] ,LV后有空格,n为等级,
  3. # 同理,定义装备能力值限制方法:
  4. # 备注里写上[ATK n][DEF n][MAT n][MDF n][AGI n][LUK n]。
  5. #            攻击   防御   魔攻   魔防   敏捷   幸运
  6. # 若某项限制不写则没有装备限制。
  7. # 注意这里限制的能力值是人物原始的能力值,不考虑装备、状态的影响,
  8. # 但是考虑事件对能力值的影响。把这个定义放在颜色后面!
  9. #==============================================================================
  10. #==============================================================================
  11. # ■ RPG::BaseItem
  12. #==============================================================================
  13. class RPG::BaseItem
  14.   def param_limit(p_id)
  15.     return if p_id == 0 or p_id > 7
  16.     regexp_strings = ["", "LV", "ATK", "DEF", "MAT", "MDF", "AGI", "LUK"]
  17.     m = 0
  18.     regexp = /\[#{regexp_strings[p_id]} (\d+)\]/
  19.     self.note.split(/[\r\n]+/).each { |line|
  20.       m = $1.to_i if line =~ regexp
  21.     }
  22.     return m
  23.   end
  24.   #--------------------------------------------------------------------------
  25.   # ● 判断是否有要求
  26.   #--------------------------------------------------------------------------
  27.   def has_requirement?
  28.     for i in 1..7
  29.       return true if param_limit(i) > 0
  30.     end
  31.     return false
  32.   end
  33. end
  34. class Game_Actor < Game_Battler
  35.   #--------------------------------------------------------------------------
  36.   # ● 判断是否可以装备
  37.   #     item : 物品
  38.   #--------------------------------------------------------------------------
  39.   alias original_equippable? equippable?
  40.   def equippable?(item)
  41.     return unless item
  42.     return true unless item.has_requirement?
  43.     return false if self.level < item.param_limit(1) #等级限制
  44.     for i in 2..7
  45.       return false if actor_param(i) < item.param_limit(i)
  46.     end
  47.     return original_equippable?(item)
  48.   end
  49.   #--------------------------------------------------------------------------
  50.   # ● 计算角色能力值
  51.   #--------------------------------------------------------------------------
  52.   def actor_param(param_id)
  53.     t_p = param_base(param_id) + param_base(param_id)
  54.     return [t_p, param_max(param_id)].min
  55.   end
  56. end

  57. #==============================================================================
  58. # ■ Window_Item
  59. #------------------------------------------------------------------------------
  60. #  物品画面、战斗画面、显示浏览物品的窗口。
  61. #==============================================================================

  62. class Window_ItemList < Window_Selectable
  63.   #--------------------------------------------------------------------------
  64.   # ● 更新帮助文本(自动显示使用物品的等级能力限制)
  65.   #--------------------------------------------------------------------------
  66.   def update_help
  67.     if item.nil?
  68.       @help_window.set_text("无法装备")
  69.       return
  70.     end
  71.     newdes = item.description
  72.     if item.has_requirement?
  73.       newdes += "\n最低需求:" if(item.has_requirement?)
  74.       for i in 1..7
  75.         next if item.param_limit(i) == 0
  76.         limit_str = item.param_limit(i).to_s
  77.         newdes += i==1 ? Vocab.level_a : Vocab.param(i) + limit_str
  78.       end
  79.     end
  80.     @help_window.set_text(newdes)
  81.   end
  82. end
  83. class Window_EquipItem < Window_ItemList
  84.   alias original_include? include?
  85.   def include?(item)
  86.     o_equippable = original_include?(item)
  87.     if !o_equippable
  88.       return true if [email protected]?(item)
  89.     end
  90.     return o_equippable
  91.   end
  92.   #--------------------------------------------------------------------------
  93.   # ● 判断是否有效化
  94.   #--------------------------------------------------------------------------
  95.   def enable?(item)
  96.     return true unless item
  97.     return @actor.equippable?(item)
  98.   end
  99. end
复制代码

作者: 余烬之中    时间: 2014-2-8 13:35

没有问题
可能是你填写的有误
[ATK n]中间只有一个空格




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