在传奇服务器中,有时需要添加复活脚本来让玩家在死亡后能够原地复活。以下是一个复活脚本的示例:
#IF
#ACT
QUERYVALUE 2 2 10 @复活 是否花费1000元宝原地复活? QF
[@复活]
#if
ISONMAP 0150
#act
SENDMSG 7 皇宫不允许复活,请马上回安全区。。。。。
break
#if
#act
GAMEGOLD – 1000
GMEXECUTE 复活 $USERNAME
break
GMEXECUTE 复活 <$USERNAME>
Copy
这个脚本的作用是:当玩家使用复活道具或技能时,检查玩家是否在皇宫地图(0150),如果在,则提示不能在此地复活,如果不在,则扣除1000元宝并在当前地图复活。
但是,这个脚本似乎有一些问题,下面是一些可能的问题和改进建议:
检查玩家是否在皇宫地图(0150)的代码写在了复活代码之前,应该写在复活代码之后,避免玩家在皇宫地图时已经扣除了元宝但没有复活的情况。
使用了两次GMEXECUTE复活的代码,可以合并为一行。
使用了QF判断是否使用复活道具或技能,但是没有检查玩家是否已经死亡。可以使用QUERYVALUE 2 2 10 @死亡 来判断玩家是否已经死亡。
使用了@复活作为标签名,可以使用更具描述性的名称,如@复活判断。
使用了$USERNAME代替Self,可以使用Self来代替,避免输入错误。
综上所述,可以修改后的脚本如下:
#IF
#ACT
QUERYVALUE 2 2 10 @死亡 是否已经死亡? QF
[@死亡]
#if
ISONMAP 0150
#act
SENDMSG 7 皇宫不允许复活,请马上回安全区。。。。。
break
#if
#act
GAMEGOLD – 1000
GMEXECUTE 复活 Self
break
Copy
这个修改后的脚本的作用是:当玩家使用复活道具或技能时,检查玩家是否已经死亡,如果已经死亡,则检查玩家是否在皇宫地图(0150),如果在,则提示不能在此地复活,如果不在,则扣除1000元宝并在当前地图复活。