Project1

标题: 复制技能 [打印本页]

作者: 506859867    时间: 2013-6-4 20:24
标题: 复制技能
就是做一个可以复制别人技能的技能,对敌人使用以后就能复制敌人最后一次使用的技能
作者: chd114    时间: 2013-6-6 18:43
DOTA大魔导师拉比克的技能窃取
作者: 救世小树    时间: 2013-6-6 22:26
本帖最后由 救世小树 于 2013-6-6 22:28 编辑

偷技能啊。。很有意思的东西呢~
恩,经过我不是很仔细的测试初步可行,新鲜出炉~刚写的脚本,配合范例观看效果更佳,
范例利用状态避开了“对xxx没有效果”的提示,不过没有做出提示到底偷了什么技能的效果,
steal_skill.rar (300.85 KB, 下载次数: 80)
注意事项:偷技能者要有所有的技能类型,不然有些技能偷学来找不到~
偷学者第一次偷技能就会多出一个技能,之后再偷将覆盖那个技能,
不再偷技能覆盖则技能在战斗结束之前存在,战斗结束后技能将被遗忘。
恩,水平有限只能做成这样了,希望有真·大神可以完善一下,比如自动附加上那个技能类型之类的。。

  1. class Game_Battler < Game_BattlerBase
  2.   
  3.   Steal_Skill_Skill_id = 130 #偷技能的技能的skill_id
  4.   
  5.   attr_accessor :steal_skill_id
  6.   attr_accessor :recent_skill_id
  7.   
  8.   alias initialize_tre initialize
  9.   def initialize
  10.     @steal_skill_id = 0
  11.     @recent_skill_id = 0
  12.     initialize_tre
  13.   end
  14.   
  15.   alias item_apply_tre item_apply
  16.   def item_apply(user, item)
  17.     item_apply_tre(user, item)
  18.     if item.is_a?(RPG::Skill)
  19.       case item.id
  20.       when Steal_Skill_Skill_id
  21.         return if user.skills.include?(self.recent_skill_id)
  22.         user.steal_skill(self.recent_skill_id)
  23.       when 1,2,  76,77,78#可以在这里添加无法被偷的技能
  24.         return
  25.       else
  26.         user.recent_skill_id = item.id
  27.       end
  28.     end
  29.   end
  30.   
  31.   def steal_skill(skill_id)
  32.     if self.is_a?(Game_Actor) and skill_id != 0 and skill_id != 1 and skill_id != 2
  33.       self.forget_skill(self.steal_skill_id)
  34.       self.steal_skill_id = skill_id
  35.       self.learn_skill(skill_id)
  36.     end
  37.   end
  38.   
  39.   alias steal_skill_on_battle_end on_battle_end
  40.   def on_battle_end
  41.     steal_skill_on_battle_end
  42.     if self.is_a?(Game_Actor) and [0,1,2].include?(self.steal_skill_id)
  43.       self.forget_skill(self.steal_skill_id)
  44.     end
  45.   end
  46.   
  47. end
复制代码

作者: 506859867    时间: 2013-6-6 23:33
救世小树 发表于 2013-6-6 22:26
偷技能啊。。很有意思的东西呢~
恩,经过我不是很仔细的测试初步可行,新鲜出炉~刚写的脚本,配合范例观看 ...

没有,依旧是大神




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