高7989 发表于 2025-3-10 08:11:14

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

在传奇私服游戏中,如何实现由当前人物触发其他人物执行脚本的功能呢,这个需要用到变量了,比如由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引擎!

帝尊大陆 发表于 2025-3-10 08:26:29

这个帖子不回对不起自己!

多情公益 发表于 2025-3-10 10:02:50

谢谢楼主!喜欢这里的东西,方便又好用!

独家迷失 发表于 2025-3-10 10:23:51

楼主发贴辛苦了,谢谢楼主分享!

青龙传说 发表于 2025-3-10 20:08:04

比较全的传奇教程分享网站,站长辛苦了。

炎黄沉默 发表于 2025-3-11 07:36:10

开传奇一条龙不求人,自己学习架设。

金币传奇 发表于 2025-3-11 09:57:02

这东西我收了!谢谢楼主!

进化录混沌 发表于 2025-3-11 16:11:07

传奇论坛里面相对来说比较好的一个!感谢站长分享的技术教程。

麻雀沉默 发表于 2025-3-11 23:39:29

这东西我收了!

风云铭文 发表于 2025-3-12 01:22:09

比较全的传奇教程分享网站,站长辛苦了。
页: [1] 2 3 4
查看完整版本: 如何设置当前人物触发其他人物执行脚本