Project1

标题: 属性回复药问题 [打印本页]

作者: 邪月长啸    时间: 2015-7-11 19:16
标题: 属性回复药问题
本人的游戏里有些特殊的恢复药剂
如:火晶,对火系魔兽使用时回复1000点HP,对冰系魔兽使用的话会减少2000HP,其他系无效。
    水精,对水系,冰系,草系魔兽使用时回复1000点HP,对火系魔兽使用会减少2000HP


求指点,如何做出这样的效果药水~不胜感激
作者: 芯☆淡茹水    时间: 2015-7-11 20:36
本帖最后由 芯☆淡茹水 于 2015-7-11 20:46 编辑

这个没有测试哈
  1. #==============================================================================
  2. #需要特殊回复的物品ID写进下面的设置数组。
  3. #是对对象回复的属性,就把对象的属性设置成“B”;
  4. #是对对象减血的属性,就把对象的属性设置成“D”。
  5. #==============================================================================
  6. class Game_Battler
  7. #特殊回复药品ID。
  8. SPECIAL_ITEMS = [1, 2]
  9.   #--------------------------------------------------------------------------
  10.   alias old_item_effect_xr item_effect
  11.   def item_effect(item)  
  12.     return special_item_effect(item) if SPECIAL_ITEMS.include?(item.id)
  13.     old_item_effect_xr(item)
  14.   end
  15.   #--------------------------------------------------------------------------
  16.   def special_item_effect(item)
  17.     effective = false
  18.     mod = [0,0,1000,0,-2000,0,0]
  19.     element = self.is_a?(Game_Actor) ? $data_classes[self.class_id].element_ranks :
  20.     $data_enemies[self.id].element_ranks
  21.     for i in element
  22.       if mod[i] != 0
  23.         self.damage = -mod[i]
  24.         self.hp += mod[i]
  25.         effective = true
  26.       end
  27.     end
  28.     return effective
  29.   end
  30. end
  31. #==============================================================================
复制代码
总觉得哪儿不对的样子
作者: 邪月长啸    时间: 2015-7-11 22:26
芯☆淡茹水 发表于 2015-7-11 20:36
这个没有测试哈总觉得哪儿不对的样子



出错~
作者: 芯☆淡茹水    时间: 2015-7-12 17:13
这儿有个范例
Project2.rar (187.62 KB, 下载次数: 67)
作者: 邪月长啸    时间: 2015-7-12 19:13
芯☆淡茹水 发表于 2015-7-12 17:13
这儿有个范例

嗯,谢谢芯大
再问下,如果我再多设置些属性,是不是也是B和D这样?
如果想该数值,是在      mod = [0,0,-2000,0,1000,0,0]   这改?能否告知这句脚本所代表的意思?
因为XP有ABCDEF攻6个有效度,你的脚本有7个,有点懵了,球指点
作者: 冷峻逸    时间: 2015-7-12 21:05
提示: 作者被禁止或删除 内容自动屏蔽




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