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)
2013-6-6 22:25 上传
点击文件名下载附件
注意事项
:偷技能者要有
所有的技能类型
,不然有些技能偷学来找不到~
偷学者第一次偷技能就会多出一个技能,之后再偷将
覆盖
那个技能,
不再偷技能覆盖则技能在
战斗结束之前
存在,战斗结束后技能将被遗忘。
恩,水平有限只能做成这样了,希望有真·大神可以完善一下,比如自动附加上那个技能类型之类的。。
class Game_Battler < Game_BattlerBase
Steal_Skill_Skill_id = 130 #偷技能的技能的skill_id
attr_accessor :steal_skill_id
attr_accessor :recent_skill_id
alias initialize_tre initialize
def initialize
@steal_skill_id = 0
@recent_skill_id = 0
initialize_tre
end
alias item_apply_tre item_apply
def item_apply(user, item)
item_apply_tre(user, item)
if item.is_a?(RPG::Skill)
case item.id
when Steal_Skill_Skill_id
return if user.skills.include?(self.recent_skill_id)
user.steal_skill(self.recent_skill_id)
when 1,2, 76,77,78#可以在这里添加无法被偷的技能
return
else
user.recent_skill_id = item.id
end
end
end
def steal_skill(skill_id)
if self.is_a?(Game_Actor) and skill_id != 0 and skill_id != 1 and skill_id != 2
self.forget_skill(self.steal_skill_id)
self.steal_skill_id = skill_id
self.learn_skill(skill_id)
end
end
alias steal_skill_on_battle_end on_battle_end
def on_battle_end
steal_skill_on_battle_end
if self.is_a?(Game_Actor) and [0,1,2].include?(self.steal_skill_id)
self.forget_skill(self.steal_skill_id)
end
end
end
复制代码
作者:
506859867
时间:
2013-6-6 23:33
救世小树 发表于 2013-6-6 22:26
偷技能啊。。很有意思的东西呢~
恩,经过我不是很仔细的测试初步可行,新鲜出炉~刚写的脚本,配合范例观看 ...
没有,依旧是大神
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1