Lua接口/服务端函数索引/怪物与掉落:修订间差异
来自天龙知识库
跳到导航跳到搜索
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例 |
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例 |
||
| 第3行: | 第3行: | ||
[[首页|首页]] · [[Lua接口/服务端函数索引|服务端接口]] · [[Lua接口/服务端调用约定|调用约定]] | [[首页|首页]] · [[Lua接口/服务端函数索引|服务端接口]] · [[Lua接口/服务端调用约定|调用约定]] | ||
<div class="lua-lead"> | <div class="lua-lead">怪物与掉落:59 个接口,59 个调用名称,其中 46 个在当前脚本中有调用。</div> | ||
{| class="wikitable" | {| class="wikitable" | ||
! scope="col" class="lua-w36" | 函数 / 别名 | ! scope="col" class="lua-w36" | 函数 / 别名 | ||
| 第24行: | 第24行: | ||
|- | |- | ||
| [[Lua接口/服务端/BroadMsgByChatPipe|BroadMsgByChatPipe]] | | [[Lua接口/服务端/BroadMsgByChatPipe|BroadMsgByChatPipe]] | ||
| <code>BroadMsgByChatPipe(sceneId, selfId, pMessage, chatType)</code><br />按聊天频道向玩家、场景或世界聊天链路发送脚本消息。<br /><span class="lua-muted">脚本中 | | <code>BroadMsgByChatPipe(sceneId, selfId, pMessage, chatType)</code><br />按聊天频道向玩家、场景或世界聊天链路发送脚本消息。<br /><span class="lua-muted">脚本中 262 处调用</span> | ||
|- | |- | ||
| [[Lua接口/服务端/CreatePetOnScene|CreatePetOnScene]] | | [[Lua接口/服务端/CreatePetOnScene|CreatePetOnScene]] | ||
| 第36行: | 第36行: | ||
|- | |- | ||
| [[Lua接口/服务端/GetCharacterType|GetCharacterType]] | | [[Lua接口/服务端/GetCharacterType|GetCharacterType]] | ||
| <code>GetCharacterType(sceneId, characterId)</code><br />返回指定角色单位的对象类型。<br /><span class="lua-muted">脚本中 | | <code>GetCharacterType(sceneId, characterId)</code><br />返回指定角色单位的对象类型。<br /><span class="lua-muted">脚本中 53 处调用</span> | ||
|- | |- | ||
| [[Lua接口/服务端/GetLastPatrolPoint|GetLastPatrolPoint]] | | [[Lua接口/服务端/GetLastPatrolPoint|GetLastPatrolPoint]] | ||
| 第60行: | 第60行: | ||
|- | |- | ||
| [[Lua接口/服务端/GetMonsterNamebyDataId|GetMonsterNamebyDataId]] | | [[Lua接口/服务端/GetMonsterNamebyDataId|GetMonsterNamebyDataId]] | ||
| <code>GetMonsterNamebyDataId(monsterDataId)</code><br />返回怪物模板名称,无效模板返回空字符串。<br /><span class="lua-muted">脚本中 | | <code>GetMonsterNamebyDataId(monsterDataId)</code><br />返回怪物模板名称,无效模板返回空字符串。<br /><span class="lua-muted">脚本中 33 处调用</span> | ||
|- | |- | ||
| [[Lua接口/服务端/GetMonsterRespawnPos|GetMonsterRespawnPos]] | | [[Lua接口/服务端/GetMonsterRespawnPos|GetMonsterRespawnPos]] | ||
| 第76行: | 第76行: | ||
| [[Lua接口/服务端/GetNpcCamp|GetNpcCamp]] | | [[Lua接口/服务端/GetNpcCamp|GetNpcCamp]] | ||
| <code>GetNpcCamp(sceneId, npcId)</code><br />返回怪物或 NPC 当前阵营编号。<br /><span class="lua-warn">脚本中未见调用</span> | | <code>GetNpcCamp(sceneId, npcId)</code><br />返回怪物或 NPC 当前阵营编号。<br /><span class="lua-warn">脚本中未见调用</span> | ||
|- | |||
| [[Lua接口/服务端/GetObjDir|GetObjDir]] | |||
| <code>GetObjDir(sceneId, selfId)</code><br />读取角色(对象)的朝向。<br /><span class="lua-muted">脚本中 1 处调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/GetPatrolId|GetPatrolId]] | | [[Lua接口/服务端/GetPatrolId|GetPatrolId]] | ||
| 第84行: | 第87行: | ||
|- | |- | ||
| [[Lua接口/服务端/GetPetName|GetPetName]] | | [[Lua接口/服务端/GetPetName|GetPetName]] | ||
| <code>GetPetName(petDataId)</code><br />返回宠物模板名称。<br /><span class="lua-muted">脚本中 | | <code>GetPetName(petDataId)</code><br />返回宠物模板名称。<br /><span class="lua-muted">脚本中 26 处调用</span> | ||
|- | |- | ||
| [[Lua接口/服务端/GetPetTakeLevel|GetPetTakeLevel]] | | [[Lua接口/服务端/GetPetTakeLevel|GetPetTakeLevel]] | ||
| <code>GetPetTakeLevel(petDataId)</code><br />返回宠物模板要求的携带等级。<br /><span class="lua-muted">脚本中 | | <code>GetPetTakeLevel(petDataId)</code><br />返回宠物模板要求的携带等级。<br /><span class="lua-muted">脚本中 20 处调用</span> | ||
|- | |- | ||
| [[Lua接口/服务端/GetSceneName|GetSceneName]] | | [[Lua接口/服务端/GetSceneName|GetSceneName]] | ||
| 第120行: | 第123行: | ||
|- | |- | ||
| [[Lua接口/服务端/MonsterTalk|MonsterTalk]] | | [[Lua接口/服务端/MonsterTalk|MonsterTalk]] | ||
| <code>MonsterTalk(sceneId, monsterId, sceneName, msg)</code><br />发送 NPC/怪物对白,消息格式与 npctalk 脚本协议一致。<br /><span class="lua-muted">脚本中 | | <code>MonsterTalk(sceneId, monsterId, sceneName, msg)</code><br />发送 NPC/怪物对白,消息格式与 npctalk 脚本协议一致。<br /><span class="lua-muted">脚本中 73 处调用</span> | ||
|- | |- | ||
| [[Lua接口/服务端/NpcToIdle|NpcToIdle]] | | [[Lua接口/服务端/NpcToIdle|NpcToIdle]] | ||
| 第147行: | 第150行: | ||
|- | |- | ||
| [[Lua接口/服务端/SetCharacterTitle|SetCharacterTitle]] | | [[Lua接口/服务端/SetCharacterTitle|SetCharacterTitle]] | ||
| <code>SetCharacterTitle(sceneId, selfId, title)</code><br />设置角色称号,固定返回 -1。<br /><span class="lua-muted">脚本中 | | <code>SetCharacterTitle(sceneId, selfId, title)</code><br />设置角色称号,固定返回 -1。<br /><span class="lua-muted">脚本中 69 处调用</span> | ||
|- | |- | ||
| [[Lua接口/服务端/SetConvoyNPC|SetConvoyNPC]] | | [[Lua接口/服务端/SetConvoyNPC|SetConvoyNPC]] | ||
2026年10月24日 (六) 12:29的最新版本
怪物与掉落:59 个接口,59 个调用名称,其中 46 个在当前脚本中有调用。
| 函数 / 别名 | 调用与用途 |
|---|---|
| AddGroupLeader | AddGroupLeader(sceneId, groupId, monsterId)将怪物设置为队形首领,固定占用 [0][1]。 脚本中 3 处调用 |
| AddGroupMember | AddGroupMember(sceneId, groupId, monsterId, i, j)将怪物加入指定的 6x3 队形位置。 脚本中 10 处调用 |
| AddNpcPatrolEndPointOperator | AddNpcPatrolEndPointOperator(sceneId, npcId, pFuncName, param0, param1, param2)为怪物巡逻终点追加脚本操作。 脚本中 8 处调用 |
| AddPrimaryEnemy | AddPrimaryEnemy(sceneId, selfId, enemyId)将指定对象加入怪物首要敌人列表。 脚本中 2 处调用 |
| AllocateMonsterGroup | AllocateMonsterGroup(sceneId)分配一个怪物编组并返回编组编号。 脚本中未见调用 |
| BroadMsgByChatPipe | BroadMsgByChatPipe(sceneId, selfId, pMessage, chatType)按聊天频道向玩家、场景或世界聊天链路发送脚本消息。 脚本中 262 处调用 |
| CreatePetOnScene | CreatePetOnScene(sceneId, nPetDataID, x, z)在指定场景坐标创建无主宠物,并记录宠物审计。 脚本中 32 处调用 |
| GetAIScriptID | GetAIScriptID(sceneId, selfId)返回怪物扩展 AI 脚本编号。 脚本中未见调用 |
| GetCharacterLevel | GetCharacterLevel(sceneId, characterId)返回指定角色单位的等级。 脚本中 5 处调用 |
| GetCharacterType | GetCharacterType(sceneId, characterId)返回指定角色单位的对象类型。 脚本中 53 处调用 |
| GetLastPatrolPoint | GetLastPatrolPoint(sceneId, patrolPathIndex)返回巡逻路径最后一个点的整数 X、Z 坐标。 脚本中 13 处调用 |
| GetMonsterCurEnemy | GetMonsterCurEnemy(sceneId, monsterId)返回怪物当前仇恨目标的对象编号。 脚本中 6 处调用 |
| GetMonsterFightWithNpcFlag | GetMonsterFightWithNpcFlag(sceneId, npcId)返回 NPC 对战标志。 脚本中未见调用 |
| GetMonsterHP | GetMonsterHP(sceneId, monsterIndex)按场景脚本缓存索引返回怪物当前生命值。 脚本中 1 处调用 |
| GetMonsterIdByName | GetMonsterIdByName(sceneId, name)按名称前缀返回场景中的首个怪物对象编号。 脚本中 1 处调用 |
| GetMonsterMaxHP | GetMonsterMaxHP(sceneId, monsterIndex)按场景脚本缓存索引返回怪物生命上限。 脚本中 1 处调用 |
| GetMonsterMaxLevelLimit | GetMonsterMaxLevelLimit()返回配置中的怪物默认最大等级。 脚本中未见调用 |
| GetMonsterNamebyDataId | GetMonsterNamebyDataId(monsterDataId)返回怪物模板名称,无效模板返回空字符串。 脚本中 33 处调用 |
| GetMonsterRespawnPos | GetMonsterRespawnPos(sceneId, selfId)返回怪物出生点 X、Z 坐标。 脚本中 1 处调用 |
| GetMonsterWorldX | GetMonsterWorldX(sceneId, monsterIndex)按场景脚本缓存索引返回怪物 X 坐标。 脚本中 1 处调用 |
| GetMonsterWorldZ | GetMonsterWorldZ(sceneId, monsterIndex)按场景脚本缓存索引返回怪物 Z 坐标。 脚本中 1 处调用 |
| GetNPCAIType | GetNPCAIType(sceneId, npcId)返回怪物或 NPC 的 AI 类型。 脚本中 2 处调用 |
| GetNpcCamp | GetNpcCamp(sceneId, npcId)返回怪物或 NPC 当前阵营编号。 脚本中未见调用 |
| GetObjDir | GetObjDir(sceneId, selfId)读取角色(对象)的朝向。 脚本中 1 处调用 |
| GetPatrolId | GetPatrolId(sceneId, selfId)返回怪物巡逻路径编号。 脚本中 1 处调用 |
| GetPetCreator | GetPetCreator(sceneId, petId)返回场景宠物对象的主人 ObjID。 脚本中 38 处调用 |
| GetPetName | GetPetName(petDataId)返回宠物模板名称。 脚本中 26 处调用 |
| GetPetTakeLevel | GetPetTakeLevel(petDataId)返回宠物模板要求的携带等级。 脚本中 20 处调用 |
| GetSceneName | GetSceneName(sceneId)返回场景名称,不存在时返回空字符串。 脚本中 11 处调用 |
| GetUnitCampID | GetUnitCampID(sceneId, selfId, unitId)返回同场景角色单位的脚本阵营或基础阵营。 脚本中 8 处调用 |
| GetUnitReputationID | GetUnitReputationID(sceneId, selfId, unitId)返回同场景角色单位的脚本声望或基础声望。 脚本中 4 处调用 |
| LuaFnCheckCharacterState | LuaFnCheckCharacterState(sceneId, objId, checkActiveState, checkAliveState)按需检查角色对象是否激活和存活。 脚本中未见调用 |
| LuaFnDisableMonsterDropBox | LuaFnDisableMonsterDropBox(sceneId, npcId)禁止指定怪物在死亡时生成掉落包。 脚本中 1 处调用 |
| LuaFnGetNpcIntParameter | LuaFnGetNpcIntParameter(sceneId, npcId, parameterIndex)读取怪物的脚本整数参数;怪物不存在时不返回 Lua 值。 脚本中未见调用 |
| LuaFnGetOccupantGUID | LuaFnGetOccupantGUID(sceneId, monsterId)返回怪物归属玩家 GUID;怪物不存在时返回 INVALID_GUID。 脚本中 1 处调用 |
| LuaFnNpcChat | LuaFnNpcChat(sceneId, monsterId, isSceneBroadcast, msg)发送 Packet 542 的 NPC 对话消息。 脚本中 27 处调用 |
| LuaFnSetMonsterExp | LuaFnSetMonsterExp(sceneId, npcId, exp)设置怪物的基础经验值,返回值固定为 -1。 脚本中 1 处调用 |
| LuaFnSetNpcIntParameter | LuaFnSetNpcIntParameter(sceneId, npcId, parameterIndex, value)写入怪物的脚本整数参数,不校验第四个参数。 脚本中未见调用 |
| MonsterTalk | MonsterTalk(sceneId, monsterId, sceneName, msg)发送 NPC/怪物对白,消息格式与 npctalk 脚本协议一致。 脚本中 73 处调用 |
| NpcToIdle | NpcToIdle(sceneId, selfId)令怪物或 NPC 立即切换为空闲状态。 脚本中 2 处调用 |
| PaoPao | PaoPao(sceneId, selfId, npcId)触发指定 NPC 的气泡对白。 脚本中未见调用 |
| PaoPaoEx | PaoPaoEx(sceneId, selfId, npcId, paoPaoId)按指定气泡编号触发 NPC 对白。 脚本中未见调用 |
| RefixPosOfGroupMember | RefixPosOfGroupMember(sceneId, groupId, leaderId)立即把全部队员校正到首领周围的队形位置。 脚本中 3 处调用 |
| ReleaseMonsterGroup | ReleaseMonsterGroup(sceneId, groupId)释放指定的怪物编组。 脚本中 3 处调用 |
| SetAIScriptID | SetAIScriptID(sceneId, selfId, aiScriptId)设置怪物 AI 脚本编号。 脚本中 7 处调用 |
| SetCharacterAttrRefix | SetCharacterAttrRefix(sceneId, selfId, attrType, refix)设置角色冰、火、玄、毒攻击修正值。 脚本中未见调用 |
| SetCharacterName | SetCharacterName(sceneId, selfId, name)设置角色名称,固定返回 -1。 脚本中 83 处调用 |
| SetCharacterTitle | SetCharacterTitle(sceneId, selfId, title)设置角色称号,固定返回 -1。 脚本中 69 处调用 |
| SetConvoyNPC | SetConvoyNPC(sceneId, selfId, flag)设置怪物的护送 NPC 标志。 脚本中 18 处调用 |
| SetIntervalDistOfGroupMember | SetIntervalDistOfGroupMember(sceneId, groupId, interval)设置队形相邻位置的距离。 脚本中 3 处调用 |
| SetMonsterFightWithNpcFlag | SetMonsterFightWithNpcFlag(sceneId, npcId, nFlag)设置 NPC 对战标志,并写入 Urgency 日志。 脚本中 123 处调用 |
| SetMonsterGroupID | SetMonsterGroupID(sceneId, selfId, groupId)设置怪物组编号。 脚本中 15 处调用 |
| SetMoveMode | SetMoveMode(sceneId, selfId, arg3)将角色移动模式设为疾跑,固定返回 -1。 脚本中未见调用 |
| SetNPCAIType | SetNPCAIType(sceneId, npcId, aiType)设置怪物或 NPC 的 AI 类型,返回 -1。 脚本中 53 处调用 |
| SetNpcCamp | SetNpcCamp(sceneId, npcId, campId)设置怪物或 NPC 的基础阵营。 脚本中 2 处调用 |
| SetObjDir | SetObjDir(sceneId, selfId, direction)设置角色单位朝向。 脚本中 2 处调用 |
| SetObjScriptId | SetObjScriptId(sceneId, selfId, scriptId)设置角色对象的基础脚本编号。 脚本中未见调用 |
| SetUnitCampID | SetUnitCampID(sceneId, selfId, unitId, campId)设置同场景角色单位的脚本阵营。 脚本中 67 处调用 |
| SetUnitReputationID | SetUnitReputationID(sceneId, selfId, unitId, reputationId)设置同场景角色单位的脚本声望。 脚本中 105 处调用 |