传奇三卖马脚本 完整编写配置教程 含多场景适配

来源: 作者: 点击:
传奇三卖马脚本核心作用是实现NPC售卖马匹(含普通马、高级马),支持货币支付、等级限制、职业限制,适配主流引擎,无需复杂操作,按步骤编写配置即可正常使用,全程贴合服务端实操,新手可直接照搬套用。
一、卖马脚本核心前提(必看)
脚本编写前需确认3点,避免后续无法正常运行:1. 确认服务端引擎版本(主流为GOM、GEE、BLUE,不同引擎脚本语法略有差异,后续分引擎适配);2. 确认马匹物品ID(普通马、高级马对应的Idx,需在物品数据库StdItems.DB中查询,记录准确ID);3. 确认售卖所需货币类型(金币、元宝、声望等,按需设定,脚本中可灵活切换)。
物品数据库查询操作:打开服务端MirServer\Mud2\DB文件夹,用DBC2000或DB Browser for SQLite打开StdItems.DB,搜索“马”“战马”“高级马”等关键词,找到对应物品,记录其Idx(如普通马Idx=1001,高级马Idx=1002),确保ID无重复、无错误,这是脚本正常调用物品的核心。
二、通用卖马脚本编写(适配所有引擎,基础版)
通用版脚本无需修改引擎参数,直接编写NPC脚本即可,支持基础售卖功能,包含等级限制、货币支付、购买成功/失败提示,适合新手快速搭建。
1. 脚本存放路径:服务端MirServer\Mir200\Envir\QuestDiary\文件夹下,新建文本文档,命名为“卖马脚本.txt”(名称可自定义,无需后缀修改,保持txt格式),打开文档粘贴以下脚本,按实际情况修改括号内参数。
2. 完整通用脚本代码(可直接复制,修改参数即可):
(@main)
<COLOR=clFuchsia ╔━━━━━━━━━━━━━━━━━━━━━━━━━╗>
<COLOR=clAqua ║ 马匹售卖商 ║>
<COLOR=clFuchsia ╠━━━━━━━━━━━━━━━━━━━━━━━━━╣>
<COLOR=clWhite 点击购买普通战马(等级20级,售价10000金币)/@普通马>
<COLOR=clWhite 点击购买高级战马(等级35级,售价50000金币)/@高级马>
<COLOR=clWhite 查看购买条件/@查看条件>
<COLOR=clFuchsia ╚━━━━━━━━━━━━━━━━━━━━━━━━━╝>
(@查看条件)
#ACT
SENDMSG 5 【马匹购买条件】
SENDMSG 5 1. 普通战马:等级≥20级,消耗10000金币,无职业限制
SENDMSG 5 2. 高级战马:等级≥35级,消耗50000金币,无职业限制
SENDMSG 5 3. 背包需有空闲格子,否则购买失败
GOTO @main
(@普通马)
#IF
CHECKLEVELEX >= 20 //等级限制,可修改为其他等级
CHECKGAMEGOLD >= 10000 //金币数量限制,可修改金额
CHECKITEM 包袱 1 //检查背包是否有空闲格子
#ACT
GAMEGOLD - 10000 //扣除对应金币
GIVEITEM 1001 1 //给予普通马,1001替换为实际普通马Idx
SENDMSG 1 玩家:%s,成功购买普通战马,可在背包中查看使用! 254 2
SENDMSG 5 购买成功!普通战马可提升移动速度,助力冒险!
GOTO @main
#ELSEACT
SENDMSG 5 购买失败!请检查以下条件:
SENDMSG 5 1. 等级是否达到20级 2. 金币是否满足10000 3. 背包是否有空闲格子
GOTO @main
(@高级马)
#IF
CHECKLEVELEX >= 35 //等级限制,可修改为其他等级
CHECKGAMEGOLD >= 50000 //金币数量限制,可修改金额
CHECKITEM 包袱 1 //检查背包是否有空闲格子
#ACT
GAMEGOLD - 50000 //扣除对应金币
GIVEITEM 1002 1 //给予高级马,1002替换为实际高级马Idx
SENDMSG 1 玩家:%s,成功购买高级战马,属性更优! 255 241
SENDMSG 5 高级战马不仅提升移动速度,还附加少量防御属性!
GOTO @main
#ELSEACT
SENDMSG 5 购买失败!请检查以下条件:
SENDMSG 5 1. 等级是否达到35级 2. 金币是否满足50000 3. 背包是否有空闲格子
GOTO @main
3. 参数修改说明(重点):
(1)等级限制:将CHECKLEVELEX >= 20、CHECKLEVELEX >= 35中的20、35,修改为实际想要的等级限制,如15级、40级均可。
(2)货币金额:将CHECKGAMEGOLD >= 10000、CHECKGAMEGOLD >= 50000中的金额,修改为实际售卖价格,若想改为元宝支付,将CHECKGAMEGOLD替换为CHECKYB,同时将GAMEGOLD - 替换为YB - (如CHECKYB >= 5,YB - 5)。
(3)物品ID:将GIVEITEM 1001 1、GIVEITEM 1002 1中的1001、1002,替换为之前在物品数据库中查询到的普通马、高级马Idx,确保ID一致,否则无法给予物品。
(4)提示信息:SENDMSG后的文字可自定义,颜色参数(如254 2、255 241)无需修改,保持默认即可,若想调整颜色,可替换对应数字(0-255)。
三、分引擎适配脚本(解决引擎兼容问题)
不同引擎的脚本语法存在细微差异,通用版脚本若在部分引擎中无法运行,可使用对应引擎的适配版本,修改参数后直接使用,无需修改其他内容。
1. GOM引擎适配版(新增职业限制)
GOM引擎支持职业限制、声望支付,适合需要细分职业售卖的场景,脚本代码如下(仅修改差异部分,其余与通用版一致):
(@普通马)
#IF
CHECKLEVELEX >= 20
CHECKGAMEGOLD >= 10000
CHECKITEM 包袱 1
CHECKJOB 1 2 3 //允许所有职业购买,1战士、2法师、3道士,删除对应数字可限制职业
#ACT
GAMEGOLD - 10000
GIVEITEM 1001 1
SENDMSG 1 玩家:%s,成功购买普通战马! 254 2
GOTO @main
#ELSEACT
SENDMSG 5 购买失败!请检查等级、金币、背包或职业限制!
GOTO @main
补充:若想设置声望支付,将CHECKGAMEGOLD >= 10000替换为CHECKREPUTATION >= 10,GAMEGOLD - 10000替换为REPUTATION - 10,声望数值可自定义。
2. GEE引擎适配版(新增绑定马匹功能)
GEE引擎支持马匹绑定,避免玩家交易、丢弃,适合专属马匹售卖场景,脚本差异部分如下:
(@高级马)
#IF
CHECKLEVELEX >= 35
CHECKYB >= 5 //元宝支付,可替换为金币、声望
CHECKITEM 包袱 1
#ACT
YB - 5
GIVEITEM 1002 1
BINDITEM 1002 1 //绑定马匹,无法交易、丢弃,1002为高级马Idx
SENDMSG 1 玩家:%s,成功购买绑定高级战马! 255 241
GOTO @main
#ELSEACT
SENDMSG 5 购买失败!请检查等级、元宝或背包空间!
GOTO @main
3. BLUE引擎适配版(简化语法,提升稳定性)
BLUE引擎脚本语法更简洁,无需复杂参数,适合新手快速配置,完整脚本如下:
(@main)
马匹售卖商:普通马20级10000金币,高级马35级50000金币,点击购买!
普通马/@普通马 高级马/@高级马
(@普通马)
#IF
LV>=20 AND GOLD>=10000 AND 包袱>=1
#ACT
GOLD-10000
GIVE 1001 1
MSG 购买成功!普通战马已放入背包!
#ELSE
MSG 购买失败!条件不满足!
(@高级马)
#IF
LV>=35 AND GOLD>=50000 AND 包袱>=1
#ACT
GOLD-50000
GIVE 1002 1
MSG 购买成功!高级战马已放入背包!
#ELSE
MSG 购买失败!条件不满足!
四、NPC添加与脚本安装(关键步骤,缺一不可)
脚本编写完成后,需添加售卖NPC并关联脚本,否则玩家无法找到售卖商,无法触发购买功能,具体操作步骤如下,全程无复杂操作,新手可直接跟随:
第一步,添加NPC:打开服务端MirServer\Mir200\Envir\NPC.txt文件,在文件末尾添加以下内容(可自定义NPC名称、坐标、外观):
马匹售卖商 3 330 330 1 0 0 0 0 0 卖马脚本.txt 0 0 0 //核心参数说明
参数解读:3为地图ID(3代表比奇城,可修改为其他地图ID,如10为盟重城),330 330为NPC坐标(可修改为地图内任意空闲坐标),1为NPC外观ID(可自定义,如100为商人外观),卖马脚本.txt为之前编写的脚本文件名(需与脚本文件名称完全一致,包括后缀)。
第二步,关联脚本:将编写好的“卖马脚本.txt”,复制到MirServer\Mir200\Envir\QuestDiary\文件夹下,无需修改文件夹路径,确保文件名与NPC.txt中填写的一致,避免脚本无法关联。
第三步,重启服务端:关闭所有服务端相关程序(引擎、网关、数据库),重新启动服务端,启动顺序为:先启动数据库(如DBC2000),再启动引擎,最后启动网关,启动完成后,玩家前往对应地图坐标,即可找到马匹售卖商,触发购买功能。
补充:若想修改NPC名称,将“马匹售卖商”替换为自定义名称(如“战马商人”“马匹小贩”),坐标可在服务端地图编辑器中查询,确保坐标在地图内,避免NPC无法显示。
五、脚本功能扩展(按需添加,提升体验)
基础版脚本可满足核心售卖需求,若需提升玩家体验,可添加以下扩展功能,直接复制对应代码到脚本中,修改参数即可使用,无需修改原有脚本结构。
1. 新增马匹回收功能(玩家可出售多余马匹)
在脚本末尾添加以下代码,可实现马匹回收,回收价格可自定义:
(@回收马匹)
<COLOR=clWhite 回收普通战马(回收价5000金币)/@回收普通马>
<COLOR=clWhite 回收高级战马(回收价25000金币)/@回收高级马>
<COLOR=clWhite 返回主菜单/@main>
(@回收普通马)
#IF
CHECKITEM 1001 1 //检查玩家是否有普通马,1001为普通马Idx
#ACT
TAKEITEM 1001 1 //扣除玩家背包中的普通马
GAMEGOLD + 5000 //给予回收金币,可修改金额
SENDMSG 5 成功回收普通战马,获得5000金币!
GOTO @回收马匹
#ELSEACT
SENDMSG 5 回收失败!你没有普通战马!
GOTO @回收马匹
(@回收高级马)
#IF
CHECKITEM 1002 1 //检查玩家是否有高级马,1002为高级马Idx
#ACT
TAKEITEM 1002 1 //扣除玩家背包中的高级马
GAMEGOLD + 25000 //给予回收金币,可修改金额
SENDMSG 5 成功回收高级战马,获得25000金币!
GOTO @回收马匹
#ELSEACT
SENDMSG 5 回收失败!你没有高级战马!
GOTO @回收马匹
同时,在@main菜单中添加“马匹回收/@回收马匹”,让玩家可找到回收功能,修改后@main菜单如下:
(@main)
<COLOR=clFuchsia ╔━━━━━━━━━━━━━━━━━━━━━━━━━╗>
<COLOR=clAqua ║ 马匹售卖商 ║>
<COLOR=clFuchsia ╠━━━━━━━━━━━━━━━━━━━━━━━━━╣>
<COLOR=clWhite 点击购买普通战马(等级20级,售价10000金币)/@普通马>
<COLOR=clWhite 点击购买高级战马(等级35级,售价50000金币)/@高级马>
<COLOR=clWhite 查看购买条件/@查看条件>
<COLOR=clWhite 马匹回收/@回收马匹>
<COLOR=clFuchsia ╚━━━━━━━━━━━━━━━━━━━━━━━━━╝>
2. 新增购买冷却功能(避免重复购买)
若想限制玩家每日购买次数,可添加冷却功能,在@普通马、@高级马脚本中添加冷却参数,代码如下(以普通马为例):
(@普通马)
#IF
CHECKLEVELEX >= 20
CHECKGAMEGOLD >= 10000
CHECKITEM 包袱 1
CHECKTIMER 1 //检查冷却定时器,1为定时器ID
#ACT
GAMEGOLD - 10000
GIVEITEM 1001 1
SETTIMER 1 86400 //设置冷却时间,86400秒=24小时,可修改
SENDMSG 1 玩家:%s,成功购买普通战马,每日可购买1次! 254 2
GOTO @main
#ELSEACT
SENDMSG 5 购买失败!要么条件不满足,要么今日已购买过!
GOTO @main
六、常见问题排查(脚本无法运行、购买失败解决)
1. NPC无法显示:检查NPC.txt中添加的NPC参数,确保地图ID、坐标正确,脚本文件名与QuestDiary文件夹中的脚本名称完全一致(包括大小写、后缀);同时检查服务端是否重启,未重启无法加载新NPC。
2. 点击NPC无反应:确认脚本存放路径正确(必须在MirServer\Mir200\Envir\QuestDiary\文件夹下),脚本中@main标签未缺失,若缺失@main,NPC无法触发菜单。
3. 购买提示失败,条件均满足:检查马匹Idx是否正确,是否与物品数据库中的Idx一致;检查货币类型是否匹配(如脚本用元宝支付,玩家只有金币,会提示失败);检查背包是否真的有空闲格子,若背包满格,即使脚本检查,也会购买失败。
4. 引擎报错,脚本无法加载:检查脚本语法,不同引擎语法不可混用(如GEE的BINDITEM功能,在BLUE引擎中无法使用);删除脚本中多余的空格、特殊符号,避免语法错误;确保引擎版本与脚本适配,老旧引擎可能不支持部分参数。
5. 购买成功但未获得马匹:检查GIVEITEM后的物品ID是否正确,是否与物品数据库中的Idx一致;检查物品数据库中马匹物品是否配置完整(如Class、Shape等参数未留空),物品配置异常会导致无法给予玩家。
6. 回收功能无法使用:检查TAKEITEM后的物品ID是否正确,与GIVEITEM的ID保持一致;检查脚本中@回收马匹标签是否添加,是否在@main菜单中关联,未关联则无法触发回收功能。
七、脚本使用注意事项
1. 脚本编写时,所有符号需为英文符号(如逗号、括号、引号),中文符号会导致脚本报错,无法运行;脚本中#IF、#ACT、#ELSEACT等标签需大写,小写会导致语法错误。
2. 修改参数时,需对应修改所有关联部分(如修改普通马Idx,需同时修改GIVEITEM、CHECKITEM、TAKEITEM中的ID,避免部分参数正确、部分错误)。
3. 若服务端有第三方补丁,需确认补丁未覆盖NPC.txt、QuestDiary文件夹,避免脚本、NPC被覆盖,导致无法运行;添加补丁后,需重新检查脚本和NPC配置。
4. 测试脚本时,建议用测试账号登录,测试所有功能(购买、回收、冷却等),确认无问题后,再开放给玩家,避免出现功能异常影响玩家体验。
总结:传奇三卖马脚本核心是NPC关联脚本、物品ID正确、参数适配引擎,按通用版脚本编写,修改对应参数,完成NPC添加和脚本安装,即可正常使用。分引擎适配版可解决兼容问题,扩展功能可按需添加,常见问题按对应方法排查,新手也能快速搭建完成,无需专业技术,照搬教程即可实现马匹售卖功能。