Project1

标题: 技能升级脚本改进,同组技能高级自动替换低级 [打印本页]

作者: 圣都枪神    时间: 2021-3-3 06:55
标题: 技能升级脚本改进,同组技能高级自动替换低级
原帖: https://rpg.blue/thread-397283-1-1.html

这贴的功能大部分已能满足我的需求,但我的一个需求和那个楼主不同,我需要【替换的技能名与原技能名不同】,必须让玩家知道自己获得了新技能。
例如,这一系列技能,火球术→大火球术→超级火球术→凤凰冲击→地爆天星,获得新技能后自动替换掉旧的;
目前我的思路是:在技能名上再增加一个标识,用以检测同一组技能,例如:
火球术{001}[1]
大火球术{001}[2]
超级火球术{001}[3]
凤凰冲击{001}[4]
地爆天星{001}[5]

脚本检测到{001}的就表示“火球系技能”,这一系里获得新的就删除旧的


求大神帮忙,或者已有现成的脚本可指路,谢过先
作者: soulsaga    时间: 2021-3-3 15:50
本帖最后由 soulsaga 于 2021-3-3 19:41 编辑

RUBY 代码复制
  1. 替换技能组={
  2. "大火球术"=>"火球术",
  3. "超级火球术"=>"大火球术",
  4. "凤凰冲击"=>"超级火球术",
  5. "地爆天星"=>"凤凰冲击"
  6. }
  7. Game_Actor = Class.new(Game_Actor) do
  8.     superclass.constants.each{|c|const_set(c, superclass.const_get(c))}
  9.     def learn_skill(id)
  10.       s = @skills.clone
  11.       super(id)
  12.       if @skills != s
  13.         s1 = $data_skills[id].name
  14.         if 替换技能组[s1]
  15.         for skill in @skills
  16.         forget_skill(skill.id) if 替换技能组[s1] == skill.name
  17.       end
  18.     end
  19.   end
  20. end
  21. end


萌新随便写写..未测试..可能不太行?




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