脚本

技能脚本问题

四级技能设置(烈火剑法、魔法盾、灵魂火符)的完整脚本实现,以及宝宝叛变时间的配置方法。

技能相关的脚本问题主要集中在两方面:四级技能的升级实现,以及宝宝(下属)的叛变时间控制。

四级技能设置

BLUE 引擎支持将技能升级到四级(烈火剑法、魔法盾、灵魂火符)。以下脚本实现了 NPC 点击后,根据职业和技能学习状态将技能提升到 4 级。

完整脚本

将以下脚本放入 QFunction-0.txt 对应的 @StdModeFuncXX 段即可。共覆盖 6 个功能段:

  • [@STDMODEFUNC64] — 英雄四级烈火剑法
  • [@STDMODEFUNC65] — 人物四级烈火剑法
  • [@STDMODEFUNC66] — 英雄四级魔法盾
  • [@STDMODEFUNC67] — 人物四级魔法盾
  • [@STDMODEFUNC68] — 英雄四级灵魂火符
  • [@STDMODEFUNC69] — 人物四级灵魂火符
[@STDMODEFUNC64]
#IF
HAVEHERO
#ELSEACT
GIVE 英雄四级烈火 1
MESSAGEBOX 对不起,您没有英雄!
CLOSE
BREAK
#IF
CHECKHEROONLINE
#ELSEACT
GIVE 英雄四级烈火 1
MESSAGEBOX 对不起,您的英雄不在线!
CLOSE
BREAK
#IF
H.CHECKJOB Warrior
#ELSEACT
MESSAGEBOX 对不起,您的英雄不是战士,无法领悟四级烈火剑法!
GIVE 英雄四级烈火 1
CLOSE
BREAK
#IF
H.CHECKMAGICNAME 英雄烈火剑法
#ACT
#ELSEACT
MESSAGEBOX 对不起,您的英雄未学习烈火剑法,无法领悟四级烈火剑法!
GIVE 英雄四级烈火 1
CLOSE
BREAK
#IF
H.CHECKJOB Warrior
#ACT
H.SKILLLEVEL 英雄烈火剑法 = 4
SENDMSG 5 恭喜:您已经领悟了四级烈火剑法。
#ELSEACT
MESSAGEBOX 对不起,您的英雄不是战士,无法领悟四级烈火剑法!
GIVE 英雄四级烈火 1
CLOSE
BREAK

[@STDMODEFUNC65]
#IF
CHECKJOB Warrior
#ELSEACT
MESSAGEBOX 对不起,您不是战士,无法领悟四级烈火剑法!
GIVE 四级烈火剑法 1
CLOSE
BREAK
#IF
CHECKMAGICNAME 烈火剑法
#ACT
#ELSEACT
MESSAGEBOX 对不起,您未学习烈火剑法,无法领悟四级烈火剑法!
GIVE 四级烈火剑法 1
CLOSE
BREAK
#IF
CHECKJOB Warrior
#ACT
SKILLLEVEL 烈火剑法 = 4
SENDMSG 5 恭喜:您已经领悟了四级烈火剑法。
#ELSEACT
MESSAGEBOX 对不起,您不是战士,无法领悟四级烈火剑法!
GIVE 四级烈火剑法 1
CLOSE
BREAK

[@STDMODEFUNC66]
#IF
HAVEHERO
#ELSEACT
GIVE 英雄四级魔法盾 1
MESSAGEBOX 对不起,您没有英雄!
CLOSE
BREAK
#IF
CHECKHEROONLINE
#ELSEACT
GIVE 英雄四级魔法盾 1
MESSAGEBOX 对不起,您的英雄不在线!
CLOSE
BREAK
#IF
H.CHECKJOB WIZARD
#ELSEACT
MESSAGEBOX 对不起,您的英雄不是法师,无法领悟四级魔法盾!
GIVE 英雄四级魔法盾 1
CLOSE
BREAK
#IF
H.CHECKMAGICNAME 英雄魔法盾
#ACT
#ELSEACT
MESSAGEBOX 对不起,您的英雄未学习魔法盾,无法领悟四级魔法盾!
GIVE 英雄四级魔法盾 1
CLOSE
BREAK
#IF
H.CHECKJOB WIZARD
#ACT
H.SKILLLEVEL 英雄魔法盾 = 4
SENDMSG 5 恭喜:您已经领悟了四级魔法盾。
#ELSEACT
MESSAGEBOX 对不起,您的英雄不是法师,无法领悟四级魔法盾!
GIVE 英雄四级魔法盾 1
CLOSE
BREAK

[@STDMODEFUNC67]
#IF
CHECKJOB WIZARD
#ELSEACT
MESSAGEBOX 对不起,您不是法师,无法领悟四级魔法盾!
GIVE 四级魔法盾 1
CLOSE
BREAK
#IF
CHECKMAGICNAME 魔法盾
#ACT
#ELSEACT
MESSAGEBOX 对不起,您未学习魔法盾,无法领悟四级魔法盾!
GIVE 四级魔法盾 1
CLOSE
BREAK
#IF
CHECKJOB WIZARD
#ACT
SKILLLEVEL 魔法盾 = 4
SENDMSG 5 恭喜:您已经领悟了四级魔法盾。
#ELSEACT
MESSAGEBOX 对不起,您不是法师,无法领悟四级魔法盾!
GIVE 四级魔法盾 1
CLOSE
BREAK

[@STDMODEFUNC68]
#IF
HAVEHERO
#ELSEACT
GIVE 英雄四级火符 1
MESSAGEBOX 对不起,您没有英雄!
CLOSE
BREAK
#IF
CHECKHEROONLINE
#ELSEACT
GIVE 英雄四级火符 1
MESSAGEBOX 对不起,您的英雄不在线!
CLOSE
BREAK
#IF
H.CHECKJOB Taoist
#ELSEACT
MESSAGEBOX 对不起,您的英雄不是道士,无法领悟四级灵魂火符!
GIVE 英雄四级火符 1
CLOSE
BREAK
#IF
H.CHECKMAGICNAME 英雄灵魂火符
#ACT
#ELSEACT
MESSAGEBOX 对不起,您的英雄未学习灵魂火符,无法领悟四级灵魂火符!
GIVE 英雄四级火符 1
CLOSE
BREAK
#IF
H.CHECKJOB Taoist
#ACT
H.SKILLLEVEL 英雄灵魂火符 = 4
SENDMSG 5 恭喜:您已经领悟了四级灵魂火符。
#ELSEACT
MESSAGEBOX 对不起,您的英雄不是道士,无法领悟四级灵魂火符!
GIVE 英雄四级火符 1
CLOSE
BREAK

[@STDMODEFUNC69]
#IF
CHECKJOB Taoist
#ELSEACT
MESSAGEBOX 对不起,您不是道士,无法领悟四级灵魂火符!
GIVE 四级灵魂火符 1
CLOSE
BREAK
#IF
CHECKMAGICNAME 灵魂火符
#ACT
#ELSEACT
MESSAGEBOX 对不起,您未学习灵魂火符,无法领悟四级灵魂火符!
GIVE 四级灵魂火符 1
CLOSE
BREAK
#IF
CHECKJOB Taoist
#ACT
SKILLLEVEL 灵魂火符 = 4
SENDMSG 5 恭喜:您已经领悟了四级灵魂火符。
#ELSEACT
MESSAGEBOX 对不起,您不是道士,无法领悟四级灵魂火符!
GIVE 四级灵魂火符 1
CLOSE
BREAK

逻辑说明

每段脚本的核心逻辑相同:

  1. 人物技能:检查职业匹配 → 检查是否已学习对应技能 → 提升到 4 级
  2. 英雄技能:额外检查英雄是否存在、是否在线

不满足条件的玩家会收到明确的提示信息,并返还技能书物品。

宝宝叛变时间

宝宝(下属)的叛变时间由 !Setup.txt 中的 MasterRoyaltyRate 参数控制。

配置文件路径:D:\Mirserver\Mir200\!Setup.txt

参数说明:

MasterRoyaltyRate=10
  • 默认值为 10,相当于约 2 小时左右
  • 数字表示倍率:10 = 10/10 = 1 倍,12 = 12/10 = 1.2 倍
  • 数字越大,叛变时间越长
  • 不受 49 天限制
修改完毕后需要重启引擎才能生效。

相关阅读