一、杀死有惊喜脚本写法(怪物击杀触发随机奖励)
核心逻辑:绑定怪物击杀事件,触发随机奖励机制,可设置概率性道具、元宝、经验等惊喜内容,适配主流引擎,无需额外插件,依托服务端基础脚本实现。
1. 核心文件定位与基础配置
核心文件路径:服务端\Mirserver\Mir200\Envir\QuestDiary(存放击杀触发脚本)、Envir\MonItems.txt(绑定怪物与脚本关联)。先确认目标怪物名称及对应ID,在MonItems.txt中找到对应条目,后续脚本将绑定该怪物。
2. 杀死有惊喜核心脚本编写(QuestDiary文件夹)
在QuestDiary文件夹新建“KillSurprise.txt”,编写击杀触发逻辑,支持固定奖励、随机奖励、概率惊喜三种模式,可按需选择组合。
模式一:固定惊喜奖励(击杀即送)
(@KillSurprise1)
#if
CheckMap 101 (限定101号地图触发,可选,删除则全地图生效)
#act
AddExp 10000 (固定发放1万经验)
Give 强效太阳水 2 (固定发放2瓶药水)
GiveGameGold 50 (固定发放50元宝)
SendMsg 6 击杀怪物获得惊喜奖励!经验+10000、元宝+50!
模式二:随机惊喜奖励(多选项随机抽取)
(@KillSurprise2)
#if
CheckMonster 0 稻草人 0 0 (限定击杀稻草人触发)
#act
RandomGive 金币 10000 赤月结晶 1 疗伤药 3 (随机发放一项奖励)
RandomSay 恭喜获得金币1万! 恭喜获得赤月结晶! 恭喜获得疗伤药3瓶! (同步随机提示)
模式三:概率惊喜奖励(高价值奖励低概率触发)
(@KillSurprise3)
#act
RandomAct (概率分配,数字为概率占比,总和100)
{
Prob 10 (10%概率)
Give 稀有装备 1 (高价值奖励)
SendMsg 6 恭喜!触发稀有惊喜,获得稀有装备!
}
{
Prob 30 (30%概率)
GiveGameGold 200 (中额元宝)
SendMsg 6 触发惊喜,获得元宝200!
}
{
Prob 60 (60%概率)
AddExp 20000 (基础经验)
SendMsg 6 触发惊喜,获得经验2万!
}
3. 脚本与怪物绑定(MonItems.txt文件)
打开Envir\MonItems.txt,找到目标怪物条目(如稻草人、祖玛教主),添加击杀触发脚本指令,格式如下:
KillScript=@KillSurprise1 (绑定固定奖励脚本,可替换为@KillSurprise2/@KillSurprise3)
若需多个怪物绑定不同惊喜,分别在对应怪物条目添加对应脚本命令即可。保存后输入GM命令“@reloadmon all”重载怪物配置,脚本生效。
4. 脚本测试与调整
进入游戏击杀绑定怪物,验证奖励是否正常发放、提示是否同步显示。若需调整触发范围,可添加CheckMap命令限定地图;若需调整概率,修改RandomAct中的Prob数值;若需新增奖励类型,补充Give、AddExp等命令即可。
二、传奇辅助脚本写法(基础实用型)
辅助脚本聚焦玩家日常玩法需求,核心实现自动吃药、自动拾取、技能自动释放等功能,以下为高频辅助脚本写法,均为服务端合法脚本,依托内置命令实现,不涉及第三方工具。
1. 自动吃药辅助脚本(血量/魔法值触发)
核心逻辑:实时检测玩家血量、魔法值,低于设定阈值自动使用对应药水,放入QuestDiary文件夹,命名为“AutoPotion.txt”。
(@AutoPotion)
#if
CheckHp < 30 (检测血量低于30%)
CheckItem 强效太阳水 1 (检测持有对应药水)
#act
UseItem 强效太阳水 (自动使用药水)
#elseif
CheckHp < 15 (血量低于15%,紧急补血)
CheckItem 疗伤药 1
#act
UseItem 疗伤药
#elseif
CheckMp < 20 (魔法值低于20%)
CheckItem 强效魔法药 1
#act
UseItem 强效魔法药
#timer 1 0 @AutoPotion (1秒循环检测,避免卡顿)
绑定生效:Hero引擎在QManage.txt添加“@Include AutoPotion.txt”,GOM/GEE引擎直接放入QuestDiary文件夹,输入“@reloadquest all”重载,玩家上线后自动触发。
2. 自动拾取辅助脚本(指定道具拾取)
核心逻辑:检测地面道具,自动拾取指定类型道具,过滤低价值物品,编写在“AutoPick.txt”中。
(@AutoPick)
#if
CheckGroundItem 赤月结晶 1 (检测地面有赤月结晶)
#act
PickItem 赤月结晶 (自动拾取)
#elseif
CheckGroundItem 元宝 1 (检测地面有元宝)
#act
PickItem 元宝
#elseif
CheckGroundItem 稀有矿石 1
#act
PickItem 稀有矿石
#timer 1 0 @AutoPick (1秒循环检测)
补充说明:可通过添加多个CheckGroundItem命令扩展拾取范围,删除对应命令即可过滤不需要的道具,避免背包冗余。
3. 自动释放技能辅助脚本(法师/道士专用)
核心逻辑:检测怪物存在时自动释放对应技能,适配群攻、单体技能,编写在“AutoSkill.txt”中,以法师为例:
(@AutoSkill)
#if
CheckMonsterRange 5 (检测5格内有怪物)
CheckSkill 冰咆哮 3 (检测已习得3级冰咆哮)
CheckMp > 50 (魔法值充足)
#act
UseSkill 冰咆哮 (自动释放群攻技能)
#elseif
CheckMonsterRange 3
CheckSkill 雷电术 3
CheckMp > 30
#act
UseSkill 雷电术 (单体技能补刀)
#timer 2 0 @AutoSkill (2秒循环,适配技能冷却)
道士适配调整:将技能替换为灵魂火符、群体治愈术,添加CheckFriend命令避免攻击队友,补充如下:
#elseif
CheckFriendRange 3 (检测3格内有队友)
CheckHpFriend < 50 (队友血量低于50%)
CheckSkill 群体治愈术 2
#act
UseSkill 群体治愈术 (自动加血)
三、脚本通用配置与注意事项
1. 脚本绑定与生效
(1)QuestDiary脚本:Hero引擎需在Envir\QManage.txt添加“@Include 脚本名称.txt”;GOM/GEE引擎无需手动绑定,放入文件夹即可自动加载。
(2)重载命令:所有脚本修改后,输入“@reloadquest all”重载Quest脚本,“@reloadmon all”重载怪物脚本,无需重启服务端。
2. 避坑要点
(1)命令适配:不同引擎命令略有差异,如GEE引擎自动使用技能用“CastSkill”,Hero引擎用“UseSkill”,需对照引擎手册调整。
(2)循环频率:定时器时间建议设为1-2秒,过短易导致服务端卡顿,过长影响辅助效果,按技能冷却、检测需求调整。
(3)变量冲突:辅助脚本变量命名需添加前缀(如auto_),避免与任务脚本、刷怪脚本变量冲突,导致逻辑异常。
(4)备份原则:编写前备份对应文件夹下的原文件,若脚本错误导致功能异常,可替换备份文件快速恢复。
3. 功能拓展技巧
(1)多辅助组合:将自动吃药、拾取、技能脚本合并,通过定时器统一触发,减少脚本冗余,提升运行流畅度。
(2)开关控制:添加变量开关,玩家可通过NPC对话开启/关闭辅助功能,示例:
(@openAuto)
#act
SetVar Human auto_flag 1
Say 辅助功能已开启!
timer 1 0 @AutoPotion
timer 1 0 @AutoPick
(@closeAuto)
#act
SetVar Human auto_flag 0
ClearTimer @AutoPotion
ClearTimer @AutoPick
Say 辅助功能已关闭!

