解决传奇GEE服务器NPC重载后消失问题:修复CreateNPC命令与脚本整合

来源: 作者: 点击:

在运行传奇GEE服务器时,有时会遇到使用CreateNPC命令创建的NPC在服务器重启后消失的问题。这通常是由于脚本配置、坐标处理或文件路径设置不正确导致的。本文将详细介绍如何修复这个问题,以及如何扩展CreateNPC命令以实现更灵活的NPC创建。

问题概述
当你使用CreateNPC命令创建NPC,如:

CreateNPCNPC名字地图ID坐标X坐标Y外观ID脚本文件脚本类型标记
Copy
并在服务器重启后,原本通过脚本创建的NPC不再显示,这可能是由于脚本文件路径问题或者脚本的依赖性没有正确处理。

解决方案
修复CreateNPC命令参数:

确保坐标参数(-1表示随机)在服务器重启后仍能正确应用。如果使用随机坐标,需要在脚本中处理并保存NPC的初始位置。
扩展CreateNPC命令:

修改CreateNPC命令,使其接受一个参数来决定脚本文件是否需要包含地图名称。例如:
CreateNPCNPC名字地图ID坐标X坐标Y外观ID脚本文件[地图名称标记]
Copy
如果地图名称标记为0,脚本文件名应为“NPC名字-地图ID.txt”;如果为1,脚本文件名仅需“NPC名字.txt”。

脚本文件管理:

将所有NPC相关的脚本文件(如“测试-3.txt”)放置在Market_Def目录下,确保脚本文件结构清晰,便于管理。
脚本文件内容:

使用脚本文件如#IF和#ACT来设置NPC的创建行为,确保在服务器启动时能正确执行创建操作。
保存脚本状态:

如果脚本需要处理服务器重启后的状态,考虑在脚本中添加保存和恢复NPC状态的逻辑。
示例脚本
#IF
#ACT
ifIsServer()then
ifFileExists("NPC名字-3.txt")then
CreateNPC"测试NPC"3-1-18"NPC名字-3"0
else
CreateNPC"测试NPC"33303308"NPC名字-3"0
end
end
#SAY
Copy
这个脚本在服务器启动时检查脚本文件是否存在,根据存在与否动态设置坐标。这样,即使服务器重启,NPC也能根据脚本恢复。 

修复CreateNPC命令创建的NPC重新加载后所有创建的NPC消失的问题修正上版扩展CreateNPC参数后固定坐标无效问题扩展CreateNPC命令(详见文档)通过脚本命令建立一个NPC服务器重启后消失.

格式:CreateNPCNPC名字地图坐标X(-1时随机坐标)坐标Y(-1时随机坐标)外观脚本文件脚本文件是否要加上地图名称(例如.设置为0时脚本文件必须带“-3”如:“传送员-3.txt”设置为1时脚本文件不需要带“-3”如:“传送员.txt”这样的好处就是,你可以在任意地图地图创建NPC,只要一个脚本“传送员.txt”而不需要“传送员-0.txt、传送员-3.txt”等等好多NPC脚本)
注意:脚本文件必须在Market_Def目录中.

例如:首先在Market_Def中建立一个叫测试-3.txt的脚本文件.
#IF
#ACT
CreateNPC测试33303308测试-30
#SAY
通过脚本建立了一个NPC.

#IF
#ACT
CreateNPC测试NPC3-1-18测试NPC1
#SAY
通过脚本建立了一个NPC随机坐标

[顶部]