赞 | 4 |
VIP | 0 |
好人卡 | 24 |
积分 | 0 |
经验 | 15951 |
最后登录 | 2016-1-17 |
在线时间 | 276 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 49
- 在线时间
- 276 小时
- 注册时间
- 2011-6-5
- 帖子
- 133
|
本帖最后由 救世小树 于 2013-6-6 22:28 编辑
偷技能啊。。很有意思的东西呢~
恩,经过我不是很仔细的测试初步可行,新鲜出炉~刚写的脚本,配合范例观看效果更佳,
范例利用状态避开了“对xxx没有效果”的提示,不过没有做出提示到底偷了什么技能的效果,
steal_skill.rar
(300.85 KB, 下载次数: 80)
注意事项:偷技能者要有所有的技能类型,不然有些技能偷学来找不到~
偷学者第一次偷技能就会多出一个技能,之后再偷将覆盖那个技能,
不再偷技能覆盖则技能在战斗结束之前存在,战斗结束后技能将被遗忘。
恩,水平有限只能做成这样了,希望有真·大神可以完善一下,比如自动附加上那个技能类型之类的。。
- 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
复制代码 |
评分
-
查看全部评分
|