逍遥MIR 发表于 2024-6-12 01:56:50

如何设置当前人物触发其他人物执行脚本

在传奇私服游戏中,如何实现由当前人物触发其他人物执行脚本的功能呢,这个需要用到变量了,比如由A玩家点击执行脚本查看B玩家的等
级大于多少级之类的脚本.英雄执行脚本的方法,在现有脚本命令前面加Hero.即可,例如:Hero.Give 超级金创药,英雄目前可以支持大部分常
用的脚本命令,例如Give,Take,ChangeExp等.个别命令对英雄进行了限制,其他人物执行脚本的方法,首先要把执行脚本的人物名字放入对应的
S变量中,具体查看下面例子.

(@@InPutString @@InPutInteger )
[@main]
输入人物名字:
<输入人物名字:/@@InPutString0>
<给英雄东西/@OK_Ok>
<关闭/@exit>
[@InPutString0]
#IF
SO.CheckLevelEx > 55
#ACT
S0.Give 超级金创药 5
S0.SendMsg 5 你的朋友送给你几捆药.
#ELSEACT
S0.SendMsg 5 你的级别太低了.
[@OK_OK]
#IF
HERO.CheckOnline
#ACT
Hero.Give 麻痹戒指 1
HERO.CHANGELEVEL + 10
#ELSESAY
英雄不在线.
[@main]
#IF
S0.CHECKONLINE
#ACT
SENDMSG 6 <$STR(S0)>在线
#IF
S0.CHECKLEVELEX > 50
#ACT
SENDMSG 6 <$STR(S0)>大于50级
#IF
S0.CHECKMAPNAME SELF 3
#ACT
SENDMSG 6 <$STR(S0)>在地图3
#IF
S0.HERO.CHECKONLINE
#ACT
SENDMSG 6 <$STR(S0)>的英雄在线
#ELSEACT
SENDMSG 6 <$STR(S0)>的英雄不在线

#IF
S0.CHECKONLINE
#ACT
S0.CHANGEPKPOINT + 100
S0.SENDMSG 6 你的PK值增加100
SENDMSG 6 <$STR(S0)>的PK值增加100

#IF
S0.CHECKONLINE
#ACT
S0.ADDNAMELIST ..QuestDiary人物.txt
SENDMSG 6 <$STR(S0)>的名字写入到人物.txt

英雄多倍经验设置:
[@HeroExp]
#IF
#ACT
Hero.KillMonExpRate 200 3600
#SAY
你的英雄获得了1个小时的双倍经验时间.

添加好了之后记得重读NPC,此脚本只针对hero引擎,其他引擎不支持,要添加的时候先看下版本是否属于hero引擎!
页: [1]
查看完整版本: 如何设置当前人物触发其他人物执行脚本