当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

传奇地图禁止带宠物脚本触发方法皇宫场景宠物清除实现

热度:

传奇中“进入指定地图自动清除宠物”的脚本,核心是通过地图触发事件搭配宠物检测命令实现,皇宫场景的脚本编写可直接套用该逻辑,主流GEE、GOM引擎均适用,以下为详细实现步骤。

脚本优先在QFunction-0.txt中编写,若需绑定特定地图进入动作,也可在Envir\MapQuestDef\地图编号.txt中配置。以皇宫地图(假设编号为1001)为例,核心脚本需包含“地图判断-宠物检测-清除宠物-提示”四个环节,完整代码如下:

//进入皇宫清除宠物脚本
functionCheckPetOnEnterPalace()
{
varTargetMap=1001;//皇宫地图编号
varPlayerMap=GetMapId();//获取玩家当前地图
varPetCount=GetPetCount();//获取玩家宠物数量

//判断是否进入皇宫且携带宠物
if(PlayerMap==TargetMap&&PetCount>0)
{
KillPet();//清除所有宠物
SendMsg(6"皇宫内禁止携带宠物,已自动清除你的召唤兽");//发送提示
}
}

脚本中关键命令需注意:GetMapId()用于获取玩家实时所在地图编号,需提前确认皇宫的准确地图ID(可通过服务端“地图编辑器”查询);GetPetCount()返回玩家当前携带宠物数量,包含召唤兽、宝宝等各类宠物;KillPet()为引擎自带命令,执行后清除玩家所有可召唤类宠物。

脚本触发方式分两种:若需玩家进入皇宫瞬间触发,可在NPC脚本中添加触发命令,比如皇宫入口NPC对话脚本内加入“@CallCheckPetOnEnterPalace()”,玩家点击NPC进入时即执行检测;若无需NPC触发,可在地图触发脚本中配置“OnEnter”事件,将脚本绑定到皇宫地图的进入动作上。

适配其他禁止带宠物的地图时,只需修改脚本中TargetMap的数值,替换为目标地图编号即可。若需保留部分特殊宠物(如特定称号宠物),可在PetCount判断后添加宠物类型筛选,通过GetPetType()命令指定需清除的宠物类型,精准控制清除范围。

编写完成后保存文件,重启传奇服务端使脚本生效。测试时需携带宠物进入皇宫,确认宠物被清除且收到提示信息,若未触发可检查地图编号是否正确、脚本是否存在语法错误,或在服务端日志中查询具体问题。

[顶部]