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

传奇地图禁止携带宠物脚本设置方法

热度:
在传奇服务端中,限制特定地图内使用宠物(包括英雄、召唤兽、虎卫等)需通过地图进入事件检测角色状态,并强制收回或阻止进入。该功能依赖QFunction脚本系统,在玩家踏入地图瞬间触发判断逻辑。

一、确定目标地图编号
首先明确需限制的地图编号,例如“封魔谷”对应地图号201。该编号用于命名脚本文件及条件判断。

二、创建地图专属脚本文件
进入服务端目录Mir200EnvirQuestDiary,新建以地图编号命名的文本文件,如201.txt。所有限制逻辑必须写入此文件。

三、添加地图进入检测事件
在201.txt中编写角色进入时的处理流程:
[@MapEnter]
IF
CHECKHERO
ACT
SENDMSG0该地图禁止携带英雄,请先收回。
MAPMOVE001100100
BREAK

IF
CHECKPET
ACT
SENDMSG0该地图禁止携带宠物,请先收回。
MAPMOVE001100100

CHECKHERO检测是否拥有已召唤英雄,CHECKPET检测是否存在召唤类宠物(如虎卫、月灵)。任一条件成立即传送回城并中断后续操作。

四、支持自定义宠物类型检测
若需针对特定宠物(如“狐月”),可通过物品或技能判断。例如:
IF
HAVEBUFF1001
ACT
SENDMSG0禁止携带狐月进入。
MAPMOVE001100100

其中1001为狐月对应的Buff编号,需根据实际Skill.txt配置调整。

五、防止反复尝试进入
为避免玩家连续踏入,可设置冷却变量:
IF
EQUALA01
ACT
SENDMSG0冷却中,稍后再试。
MAPMOVE001100100
BREAK
ELSE
SETA01
TIMER5000@ResetCD

[@ResetCD]
ACT
SETA00

利用A0变量标记5秒内禁止再次进入。

六、全局脚本联动(可选)
若多个地图需统一限制,可在Human.txt中集中处理:
[@MapEnter_201]
[@MapEnter_202]
[@MapEnter_300]
CALL[QuestDiaryPetRestrict.txt]

将通用逻辑写入PetRestrict.txt,通过#CALL复用代码。

七、测试验证步骤
启动服务端,召唤英雄或宠物;
尝试进入地图201;
观察是否被自动传送并收到提示;
检查未携带宠物时能否正常进入。

若无效,确认:
脚本文件名与地图编号完全匹配;
CHECKHERO/CHECKPET指令被当前引擎支持;
文件保存为ANSI编码,无BOM头。

通过上述配置,可有效禁止玩家在指定传奇地图内携带任何类型宠物,适用于竞技场、特殊副本或平衡性场景。
[顶部]