传奇里的“复活术”脚本,通常不是指道士技能本身,而是指玩家死亡后通过脚本实现原地复活、回城复活、元宝复活、复活次数复活或复活触发提示。完整脚本一般写在 QFunction-0.txt 中,通过死亡触发标签 [@PlayDie] 来执行。
不同引擎、不同版本支持的命令可能不完全一样,下面脚本以常见 GOM / GeeM2 类脚本结构作为参考。实际使用时,需要结合当前版本支持的命令进行微调。
一、死亡自动回城复活脚本
这个脚本的作用是:玩家死亡后,等待几秒自动复活,并传送回土城。
脚本位置:
MirServerMir200EnvirMapQuest_defQFunction-0.txt
脚本内容:
[@PlayDie]
IF
ACT
DELAYGOTO 5000 @复活回城
SAY
君子报仇,十年不晚。\
5秒后自动复活并返回土城。
[@复活回城]
IF
ACT
GMEXECUTE 复活 Self
MAPMOVE 3 333 333
BREAK
脚本说明:
[@PlayDie]:人物死亡触发标签。
DELAYGOTO 5000 @复活回城:延迟 5000 毫秒,也就是 5 秒后跳转到 @复活回城。
GMEXECUTE 复活 Self:对当前角色执行复活命令。
MAPMOVE 3 333 333:把角色传送到地图编号 3,坐标 333,333。
BREAK:结束当前脚本段。
如果你的土城地图编号不是 3,或者土城坐标不是 333,333,需要改成自己版本对应的地图编号和坐标。
二、死亡后元宝原地复活脚本
这个脚本的作用是:玩家死亡后,可以选择花元宝原地复活,也可以等待自动回城复活。
脚本内容:
[@PlayDie]
IF
ACT
DELAYGOTO 10000 @复活回城
SAY
君子报仇,十年不晚。\
如果您有5元宝,我可以让你马上原地复活。\
<使用5元宝原地复活/@原地复活>
[@原地复活]
IF
CHECKGAMEGOLD > 4
ACT
GAMEGOLD - 5
GMEXECUTE 复活 Self
SENDMSG 6 您已使用5元宝原地复活。
BREAK
ELSESAY
您的元宝不足,无法原地复活。
[@复活回城]
IF
ACT
GMEXECUTE 复活 Self
MAPMOVE 3 333 333
BREAK
脚本说明:
CHECKGAMEGOLD > 4:检测元宝是否大于 4,也就是至少 5 元宝。
GAMEGOLD - 5:扣除 5 元宝。
GMEXECUTE 复活 Self:复活当前角色。
<使用5元宝原地复活/@原地复活>:生成一个可点击选项,点击后跳转到 @原地复活。
#ELSESAY:元宝不足时显示提示。
这个脚本适合做死亡复活功能、元宝复活功能、VIP复活功能。
三、复活触发提示脚本
如果版本支持复活触发标签,可以在角色复活后执行提示、奖励、状态恢复等操作。
脚本内容:
[@Revival]
IF
ACT
SENDMSG 5 你已复活。
SENDMSG 6 当前剩余复活时间:<RevivalTime>
BREAK
如果有英雄系统,可以单独写英雄复活触发:
[@H.Revival]
IF
ACT
SENDMSG 5 你的英雄已复活。
BREAK
脚本说明:
[@Revival]:角色复活触发。
[@H.Revival]:英雄复活触发。
SENDMSG 5:通常用于角色自身提示。
SENDMSG 6:通常用于系统消息或屏幕提示。
<RevivalTime>:部分引擎支持读取复活剩余时间变量。
这个脚本适合做复活提示、复活奖励、复活冷却提示、复活状态恢复。
四、有限次数复活脚本
如果希望角色在一定时间内可以复活多次,可以使用有限复活命令。
脚本内容:
[@测试复活]
IF
ACT
Setreborn 10 300
SENDMSG 6 已设置复活10次,有效时间5分钟。
BREAK
脚本说明:
Setreborn 10 300:设置复活次数 10 次,有效时间 300 秒。
第一个参数是复活次数。
第二个参数是持续时间,单位通常是秒。
这个命令一般不受普通复活间隔限制,适合做活动复活、BOSS战复活、限时复活特权、会员复活功能。
如果版本支持复活次数变量,可以这样查看:
[@NpcRevival]
IF
ACT
SENDMSG 6 剩余复活次数:<NpcRebornCount>,已使用复活次数:<TriggerNpcRebornCount>
BREAK
五、死亡后判断被玩家还是怪物击杀
如果希望区分是被玩家杀死还是被怪物杀死,可以加入击杀来源判断。
脚本内容:
[@PlayDie]
IF
KILLBYHUM
SAY
玩家 <SKILLER> 在 %M 将你击杀。\
5秒后自动复活。
ACT
DELAYGOTO 5000 @复活回城
ELSESAY
怪物 <SMONKILLER> 在 %M 将你击杀。\
5秒后自动复活。
脚本说明:
KILLBYHUM:判断是否被玩家击杀。
<SKILLER>:显示击杀你的玩家名称。
<SMONKILLER>:显示击杀你的怪物名称。
%M:显示当前地图信息。
这个写法适合做 PK死亡提示、怪物死亡提示、死亡统计、死亡惩罚脚本。
六、复活属性动态开启脚本
如果版本支持特殊属性脚本,可以通过脚本给角色临时开启复活属性。
脚本内容:
[@开启复活属性]
IF
ACT
SDChangeSP 4 1 60
SENDMSG 6 复活属性已开启,持续60秒。
BREAK
脚本说明:
SDChangeSP 4 1 60:开启编号为 4 的特殊属性,也就是复活属性,持续 60 秒。
参数 4 通常代表复活属性。
参数 1 表示开启。
参数 60 表示持续时间,单位通常是秒。
如果版本使用的是 ChangeSP 命令,可以写成:
[@开启复活属性]
IF
ACT
ChangeSP 4 1 60
SENDMSG 6 复活属性已开启,持续60秒。
BREAK
如果需要设置复活成功率,可以这样写:
[@设置复活成功率]
IF
ACT
SDChangeSP 10 1 50
SENDMSG 6 复活成功率已设置为50%。
BREAK
脚本说明:
SDChangeSP 10 1 50:设置复活成功率为 50%。
这个功能通常要求角色本身具备复活属性,否则可能不会生效。
七、复活属性到期触发脚本
如果开启了限时复活属性,可以在属性到期后执行提示或关闭相关状态。
脚本内容:
[@SDChangeSPTimeOut4]
IF
ACT
SENDMSG 6 复活属性已失效。
BREAK
如果版本使用 ChangeSP,对应标签可能是:
[@ChangeSPTimeOut4]
IF
ACT
SENDMSG 6 复活属性已失效。
BREAK
脚本说明:
@SDChangeSPTimeOut4:编号 4 的特殊属性到期触发。
编号 4 通常对应复活属性。
不同引擎标签名称可能不同,需要以当前版本为准。
八、完整复活功能组合脚本
下面是一个比较完整的复活功能示例,包含死亡提示、元宝原地复活、自动回城复活。
[@PlayDie]
IF
ACT
DELAYGOTO 10000 @复活回城
SAY
你已经死亡。\
10秒后将自动复活并返回土城。\
如果你拥有5元宝,可以立即原地复活。\
<使用5元宝原地复活/@原地复活>
[@原地复活]
IF
CHECKGAMEGOLD > 4
ACT
GAMEGOLD - 5
GMEXECUTE 复活 Self
SENDMSG 6 您已使用5元宝原地复活。
BREAK
ELSESAY
您的元宝不足,无法原地复活。
[@复活回城]
IF
ACT
GMEXECUTE 复活 Self
MAPMOVE 3 333 333
SENDMSG 6 您已自动复活并返回土城。
BREAK
这个脚本的执行流程是:
玩家死亡触发 [@PlayDie]。
显示死亡提示和元宝原地复活选项。
如果玩家点击元宝复活,并且元宝足够,则扣除元宝并原地复活。
如果玩家没有点击,10秒后自动跳转到 @复活回城。
自动复活后传送到土城。
九、脚本使用注意事项
脚本文件位置
多数版本放在:
MirServerMir200EnvirMapQuest_defQFunction-0.txt
修改后需要重新加载
修改 QFunction-0.txt 后,通常需要在 M2Server 控制台重新加载脚本。
复活命令名称可能不同
有的版本使用 GMEXECUTE 复活 Self,有的版本可能使用其他复活命令。如果脚本不生效,需要查看当前引擎支持的命令。
地图编号和坐标要修改
MAPMOVE 3 333 333 中的 3 是地图编号,333 333 是坐标。不同版本土城地图编号可能不同。
元宝检测命令要匹配引擎
CHECKGAMEGOLD、GAMEGOLD 是常见写法,但不同引擎可能存在差异。
特殊属性命令不是所有版本都支持
SDChangeSP、ChangeSP、Setreborn 等命令需要当前引擎或插件支持,不能直接复制到所有版本中使用。
避免重复标签
[@PlayDie]、[@Revival]、[@H.Revival] 等标签在同一个脚本文件中一般不要重复写多个,否则可能出现只执行其中一个的情况。
传奇复活术完整脚本的核心是:通过 [@PlayDie] 触发死亡事件,再使用 GMEXECUTE 复活 Self 或版本对应复活命令执行复活,配合 DELAYGOTO 实现延迟复活,配合 MAPMOVE 实现回城复活,配合 GAMEGOLD 实现元宝复活,配合 Setreborn 或特殊属性命令实现限时复活功能。
传奇复活术完整脚本写法:死亡触发、元宝原地复活、自动回城复活与复活触发配置
来源:
作者:
点击:

