传奇1.80火龙休闲活动中心NPC:传送答题骰王押镖夺宝脚本

来源: 作者: 点击:
1.80火龙版本通常保留祖玛、赤月、火龙洞窟等经典地图,休闲活动中心适合放在盟重土城或安全区附近,承担地图传送、休闲小游戏、活动报名、签到领奖等功能。下面脚本按通用结构编写,物品名称、地图编号、变量编号需按实际版本替换。

一、NPC部署配置

文件路径:
Mir200EnvirMerChant.txt

休闲活动中心 3 336 335 5 0 0

脚本文件路径:
Mir200EnvirMarket_Def休闲活动中心-3.txt

文件名中的地图号必须与MerChant.txt一致。坐标可按版本实际NPC位置调整。

二、主面板脚本

[@main]
SAY
\
\
休闲活动中心\
\
<地图传送/@MapTeleport>\
<火龙夺宝/@FireTreasure>\
<休闲答题/@QuizGame>\
<幸运骰王/@DiceGame>\
<押镖任务/@EscortTask>\
<每日签到/@DailySign>\
<活动说明/@ActHelp>\
\
[@exit]

三、地图传送脚本

[@MapTeleport]
SAY
请选择前往地图:\
\
<盟重土城/@GotoTucheng>\
<蜈蚣洞/@GotoWugong>\
<猪洞七层/@GotoPig7>\
<祖玛寺庙/@GotoZuma>\
<赤月峡谷/@GotoChiyue>\
<火龙洞窟/@GotoFire1>\
<火龙地带/@GotoFire2>\
<火龙巢穴/@GotoFire3>\
\
[@GotoTucheng]
IF
ACT
MAPMOVE 3 330 330
CLOSE

[@GotoWugong]
IF
CHECKLEVELEX > 20
ACT
MAPMOVE 10 100 100
CLOSE
ELSESAY
等级不足20级。\
[@exit]

[@GotoPig7]
IF
CHECKLEVELEX > 30
ACT
MAPMOVE 15 100 100
CLOSE
ELSESAY
等级不足30级。\
[@exit]

[@GotoZuma]
IF
CHECKLEVELEX > 40
ACT
MAPMOVE 20 100 100
CLOSE
ELSESAY
等级不足40级。\
[@exit]

[@GotoChiyue]
IF
CHECKLEVELEX > 50
ACT
MAPMOVE 25 100 100
CLOSE
ELSESAY
等级不足50级。\
[@exit]

[@GotoFire1]
IF
CHECKLEVELEX > 60
CHECKITEM 火龙凭证 1
ACT
TAKE 火龙凭证 1
MAPMOVE 30 100 100
CLOSE
ELSESAY
需要60级并携带火龙凭证。\
[@exit]

[@GotoFire2]
IF
CHECKLEVELEX > 65
ACT
MAPMOVE 31 100 100
CLOSE
ELSESAY
等级不足65级。\
[@exit]

[@GotoFire3]
IF
CHECKLEVELEX > 70
ACT
MAPMOVE 32 100 100
CLOSE
ELSESAY
等级不足70级。\
[@exit]

火龙洞窟传送可根据版本增加准入凭证或任务变量限制,避免低等级玩家误入。

四、火龙夺宝脚本

[@FireTreasure]
SAY
火龙夺宝每日开放三次:\
14:00 / 20:00 / 23:00\
\
当前状态:<@FireStatus>\
\
<报名夺宝/@FireJoin>\
<查看奖励/@FireReward>\
\
[@FireStatus]
IF
EQUAL [900] 1
ACT
SENDMSG 7 火龙夺宝正在进行中。
ELSESAY
火龙夺宝未开启。\
[@exit]

[@FireJoin]
IF
CHECKLEVELEX > 50
EQUAL [901] 0
ACT
SET [901] 1
SENDMSG 7 火龙夺宝报名成功,请等待活动开始。
CLOSE
ELSESAY
等级不足或已报名。\
[@exit]

[@FireReward]
SAY
火龙夺宝奖励:\
首杀玩家获得火龙之心×2。\
参与玩家获得火龙碎片×1。\
活动结束自动发放奖励。\
\
[@exit]

火龙夺宝通常由机器人脚本在固定时间开启,活动开始后设置全局变量[900],玩家进入活动地图参与。击杀火龙教主后通过QFunction-0.txt检测发放奖励。

五、休闲答题脚本

[@QuizGame]
SAY
休闲答题每次消耗金币1000。\
答对获得经验和元宝。\
每日最多答题10次。\
\
当前答题次数:<@QuizCount>\
\
<开始答题/@QuizStart>\
\
[@QuizCount]
IF
ACT
SENDMSG 7 今日已答题<STR(N902)>次。

[@QuizStart]
IF
CHECKGOLD > 999
SMALL N902 10
ACT
TAKE 金币 1000
INC N902 1
MOV S900 火龙之心
MOV D900 1
GOTO @QuizQ1
ELSESAY
金币不足或今日答题次数已满。\
[@exit]

[@QuizQ1]
SAY
火龙教主刷新在火龙洞窟第几层?\
\
<第一层/@QuizA1>\
<第二层/@QuizA2>\
<第三层/@QuizA3>\
\
[@QuizA1]
ACT
GOTO @QuizWrong

[@QuizA2]
ACT
GOTO @QuizWrong

[@QuizA3]
IF
ACT
GOTO @QuizRight

[@QuizRight]
IF
ACT
GIVE 经验 50000
GIVE 元宝 2
SENDMSG 7 回答正确,获得经验5万、元宝2。
CLOSE

[@QuizWrong]
IF
ACT
SENDMSG 7 回答错误,请明日再来。
CLOSE

题目和答案可按版本内容扩展,也可改为随机读取题库文件。

六、幸运骰王脚本

[@DiceGame]
SAY
骰王游戏每次消耗元宝5。\
点数越大奖励越高。\
每日最多参与20次。\
\
当前参与次数:<@DiceCount>\
\
<开始摇骰/@DiceStart>\
\
[@DiceCount]
IF
ACT
SENDMSG 7 今日已参与<STR(N903)>次。

[@DiceStart]
IF
CHECKGAMEGOLD > 4
SMALL N903 20
ACT
TAKE GAMEGOLD 5
INC N903 1
RANDOMVAR D901 1 6
GOTO @DiceResult
ELSESAY
元宝不足或今日次数已满。\
[@exit]

[@DiceResult]
IF
LARGE D901 5
ACT
GIVE 元宝 20
GIVE 火龙碎片 1
SENDMSG 7 恭喜摇出<STR(D901)>点,获得元宝20、火龙碎片1。
CLOSE
BREAK

IF
EQUAL D901 5
ACT
GIVE 元宝 10
SENDMSG 7 摇出5点,获得元宝10。
CLOSE
BREAK

IF
EQUAL D901 4
ACT
GIVE 元宝 5
SENDMSG 7 摇出4点,获得元宝5。
CLOSE
BREAK

IF
ACT
SENDMSG 7 摇出<STR(D901)>点,未获得额外奖励。
CLOSE

RANDOMVAR部分命令需确认当前引擎是否支持,若不支持可改用RANDOM命令生成随机数。

七、押镖任务脚本

[@EscortTask]
SAY
每日押镖可获得经验和金币。\
每日可押镖3次。\
押镖途中可能被其他玩家拦截。\
\
当前押镖次数:<@EscortCount>\
\
<领取镖车/@GetEscort>\
<交付镖车/@DeliverEscort>\
\
[@EscortCount]
IF
ACT
SENDMSG 7 今日已押镖<STR(N904)>次。

[@GetEscort]
IF
SMALL N904 3
EQUAL [905] 0
ACT
SET [905] 1
INC N904 1
GIVE 镖车 1
SENDMSG 7 已领取镖车,请前往盟重安全区交付。
CLOSE
ELSESAY
今日押镖次数已满或已领取镖车。\
[@exit]

[@DeliverEscort]
IF
CHECKITEM 镖车 1
EQUAL [905] 1
ACT
TAKE 镖车 1
RESET [905] 0
GIVE 金币 200000
GIVE 经验 100000
SENDMSG 7 押镖成功,获得金币20万、经验10万。
CLOSE
ELSESAY
未携带镖车或未完成押镖。\
[@exit]

押镖拦截可通过QFunction-0.txt检测携带镖车的玩家被攻击后扣除镖车并重置变量。

八、每日签到脚本

[@DailySign]
SAY
每日签到可获得金币、经验和材料。\
连续签到奖励递增。\
\
<今日签到/@DoSign>\
<查看奖励/@SignReward>\
\
[@DoSign]
IF
CHECKDATEVAR 906 0
ACT
SETDATEVAR 906 1
INC N907 1
GIVE 金币 100000
GIVE 经验 50000
GIVE 火龙碎片 1
SENDMSG 7 签到成功,获得金币10万、经验5万、火龙碎片1。
CLOSE
ELSESAY
今日已签到。\
[@exit]

[@SignReward]
SAY
连续签到奖励:\
1天:金币10万、经验5万、火龙碎片1\
3天:金币30万、经验15万、火龙碎片3\
7天:金币100万、经验50万、火龙之心1\
\
[@exit]

CHECKDATEVAR、SETDATEVAR用于按自然日重置。若版本不支持日期变量,可改用机器人脚本每日清零N907和[906]。

九、活动说明脚本

[@ActHelp]
SAY
休闲活动中心说明:\
\
地图传送按等级限制进入。\
火龙夺宝每日三次,报名后等待开启。\
休闲答题每日最多10次。\
幸运骰王每日最多20次。\
押镖任务每日最多3次。\
每日签到按连续天数递增奖励。\
所有奖励物品名称以版本数据库为准。\
\
[@exit]

十、QFunction-0.txt配合脚本

文件路径:
Mir200EnvirMapQuest_defQFunction-0.txt

[@KillMonster]
IF
EQUAL [900] 1
CHECKMONMAP 32
ISMASTER
ACT
SENDMSG 20 恭喜<USERNAME>在火龙夺宝中击杀火龙教主!
GIVE 火龙之心 2
RESET [900] 0
RESET [901] 0

[@PlayLevelUp]
IF
EQUAL [905] 1
ACT
SENDMSG 7 押镖途中死亡,镖车丢失。
TAKE 镖车 1
RESET [905] 0

火龙夺宝击杀检测需按实际怪物名称和地图编号调整。若版本支持HUMCOUNT、CHECKMONMAP等命令,可配合使用。

十一、机器人脚本配合

文件路径:
Mir200EnvirRobot_defRobotManage.txt

0 14:00 @FireStart
0 20:00 @FireStart
0 23:00 @FireStart

文件路径:
Mir200EnvirRobot_defRobot.txt

[@FireStart]
IF
ACT
SET [900] 1
SENDMSG 20 火龙夺宝已开启,请前往火龙巢穴参与。
INC [908] 1

[@FireEnd]
IF
ACT
RESET [900] 0
RESET [901] 0
SENDMSG 20 火龙夺宝已结束。

机器人脚本需确认引擎是否支持定时触发,部分版本使用RunQuest或独立机器人配置。

十二、部署步骤

在MerChant.txt中添加休闲活动中心NPC坐标。
在Market_Def下创建休闲活动中心-3.txt脚本文件。
确认Stditem.db中存在火龙凭证、火龙碎片、火龙之心、镖车等物品。
确认地图编号与版本实际地图一致。
在QFunction-0.txt中添加击杀检测和押镖死亡检测。
在RobotManage.txt和Robot.txt中添加火龙夺宝定时脚本。
重载NPC和脚本后进入游戏测试传送、答题、骰王、押镖、签到、夺宝等功能。

十三、注意事项

物品名称必须与Stditem.db一致,否则CHECKITEM、TAKE、GIVE无法生效。

地图编号需替换为版本实际编号,火龙洞窟、火龙地带、火龙巢穴的编号各版本可能不同。

变量N902、N903、N904、N907和[900]、[901]、[905]、[906]、[908]需提前查询冲突,避免与其他系统共用。

CHECKDATEVAR、SETDATEVAR、RANDOMVAR等命令在不同引擎中可能名称不同,使用前需确认当前版本支持情况。

火龙夺宝的开启、结束、奖励发放建议由机器人脚本统一控制,避免手动触发导致状态不一致。

押镖任务若需要拦截玩法,需在QFunction-0.txt中检测攻击携带镖车玩家的行为,并扣除镖车和重置变量。