Lua接口/服务端函数索引/动作与技能:修订间差异
来自天龙知识库
跳到导航跳到搜索
整理当前服务端 Lua 接口:注册名称、参数、返回值与调用说明 |
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例 |
||
| (未显示另一用户的1个中间版本) | |||
| 第1行: | 第1行: | ||
__NOTOC__ | __NOTOC__ | ||
<div class="lua-reference | <div class="lua-reference"> | ||
[[首页|首页]] · [[Lua接口/服务端函数索引|服务端接口]] · [[Lua接口/服务端调用约定|调用约定]] | [[首页|首页]] · [[Lua接口/服务端函数索引|服务端接口]] · [[Lua接口/服务端调用约定|调用约定]] | ||
<div | <div class="lua-lead">动作与技能:36 个接口,37 个调用名称,其中 22 个在当前脚本中有调用。</div> | ||
{| class="wikitable | {| class="wikitable" | ||
! scope="col" | ! scope="col" class="lua-w36" | 函数 / 别名 | ||
! scope="col | ! scope="col" | 调用与用途 | ||
|- | |- | ||
| [[Lua接口/服务端/CreateSpecialObjByDataIndex|CreateSpecialObjByDataIndex]]<br /><small>[[Lua接口/服务端/LuaFnCreateSpecialObjByDataIndex|LuaFnCreateSpecialObjByDataIndex]]</small> | |||
| <code>CreateSpecialObjByDataIndex(sceneId, selfId, nDataIndex, fPosX, fPosZ, nDelayTime)</code><br />在指定位置创建特殊对象,并注册延迟激活事件。<br /><span class="lua-muted">脚本中 102 处调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/IsWaiGuaUser|IsWaiGuaUser]] | |||
| <code>IsWaiGuaUser(sceneId, selfId)</code><br />返回外挂防御状态;非人物对象返回 0。<br /><span class="lua-muted">脚本中 1 处调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnCancelMoveSpeedBuff|LuaFnCancelMoveSpeedBuff]] | |||
| <code>LuaFnCancelMoveSpeedBuff(sceneId, selfId)</code><br />取消人物身上的移动速度修正效果。<br /><span class="lua-muted">脚本中 1 处调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnCancelSpecificImpact|LuaFnCancelSpecificImpact]] | |||
| <code>LuaFnCancelSpecificImpact(sceneId, nSelfID, nImpactDataIndex)</code><br />移除角色身上指定编号的状态效果。<br /><span class="lua-muted">脚本中 254 处调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnCanUnitUseSkill|LuaFnCanUnitUseSkill]] | |||
| <code>LuaFnCanUnitUseSkill(sceneId, selfId, nSkillID)</code><br />判断指定角色当前是否满足技能、冷却和 AI 状态三项使用条件。<br /><span class="lua-warn">脚本中未见调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnDepletingUsedItem|LuaFnDepletingUsedItem]] | |||
| <code>LuaFnDepletingUsedItem(sceneId, nSelfID)</code><br />消耗本次物品使用流程中记录的道具。<br /><span class="lua-muted">脚本中 1061 处调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnDispelAllHostileImpacts|LuaFnDispelAllHostileImpacts]] | |||
| <code>LuaFnDispelAllHostileImpacts(sceneId, selfId)</code><br />清除指定角色单位身上的全部敌对效果。<br /><span class="lua-muted">脚本中 9 处调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnDoAction|LuaFnDoAction]] | |||
| <code>LuaFnDoAction(sceneId, selfId, nActionID, TargetID)</code><br />对目标做动作<br /><span class="lua-warn">脚本中未见调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnGetBagIndexOfUsedItem|LuaFnGetBagIndexOfUsedItem]] | |||
| <code>LuaFnGetBagIndexOfUsedItem(sceneId, selfId)</code><br />读取当前物品使用流程记录的消耗物品背包格子。<br /><span class="lua-muted">脚本中 114 处调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnGetHighSectionOfTargetPetGuid|LuaFnGetHighSectionOfTargetPetGuid]] | |||
| <code>LuaFnGetHighSectionOfTargetPetGuid(sceneId, nSelfID)</code><br />读取当前操作目标珍兽 GUID 的高段数值。<br /><span class="lua-muted">脚本中 24 处调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnGetItemIndexOfUsedItem|LuaFnGetItemIndexOfUsedItem]] | |||
| <code>LuaFnGetItemIndexOfUsedItem(sceneId, selfId)</code><br />返回当前脚本消耗物品的物品表索引。<br /><span class="lua-muted">脚本中 49 处调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnGetLowSectionOfTargetPetGuid|LuaFnGetLowSectionOfTargetPetGuid]] | |||
| <code>LuaFnGetLowSectionOfTargetPetGuid(sceneId, nSelfID)</code><br />读取当前操作目标珍兽 GUID 的低段数值。<br /><span class="lua-muted">脚本中 24 处调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnGetPositionOfTargetObj|LuaFnGetPositionOfTargetObj]] | |||
| <code>LuaFnGetPositionOfTargetObj(sceneId, selfId)</code><br />返回当前目标对象的 X、Z 坐标。<br /><span class="lua-warn">脚本中未见调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnGetScriptDynamicParamByIndex|LuaFnGetScriptDynamicParamByIndex]] | |||
| <code>LuaFnGetScriptDynamicParamByIndex(sceneId, nSelfID, nIndex)</code><br />按索引读取角色当前脚本动态参数。<br /><span class="lua-warn">脚本中未见调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnGetTargetBagSlot|LuaFnGetTargetBagSlot]] | |||
| <code>LuaFnGetTargetBagSlot(sceneId, nSelfID)</code><br />读取当前物品使用流程记录的目标背包格子。<br /><span class="lua-warn">脚本中未见调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnGetTargetObjID|LuaFnGetTargetObjID]] | |||
| <code>LuaFnGetTargetObjID(sceneId, nSelfID)</code><br />读取当前技能或物品使用流程记录的目标对象 ID。<br /><span class="lua-muted">脚本中 322 处调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnGetTargetPosition|LuaFnGetTargetPosition]] | |||
| <code>LuaFnGetTargetPosition(sceneId, selfId)</code><br />返回当前技能或脚本目标位置的 X、Z 坐标。<br /><span class="lua-warn">脚本中未见调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnGetTargetPosition_X|LuaFnGetTargetPosition_X]] | |||
| <code>LuaFnGetTargetPosition_X(sceneId, nSelfID)</code><br />读取当前技能或物品使用流程记录的目标 X 坐标。<br /><span class="lua-warn">脚本中未见调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnGetTargetPosition_Z|LuaFnGetTargetPosition_Z]] | |||
| <code>LuaFnGetTargetPosition_Z(sceneId, nSelfID)</code><br />读取当前技能或物品使用流程记录的目标 Z 坐标。<br /><span class="lua-warn">脚本中未见调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnHaveImpactInSpecificCollection|LuaFnHaveImpactInSpecificCollection]] | |||
| <code>LuaFnHaveImpactInSpecificCollection(sceneId, selfId, collectionId)</code><br />判断角色是否拥有指定效果集合中的任一效果。<br /><span class="lua-muted">脚本中 1 处调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnHaveImpactOfSpecificDataIndex|LuaFnHaveImpactOfSpecificDataIndex]] | |||
| <code>LuaFnHaveImpactOfSpecificDataIndex(sceneId, selfId, dataIndex)</code><br />判断角色是否拥有指定数据索引的效果。<br /><span class="lua-muted">脚本中 225 处调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnIsCanDoScriptLogic|LuaFnIsCanDoScriptLogic]] | |||
| <code>LuaFnIsCanDoScriptLogic(sceneId, selfId)</code><br />判断角色当前是否可以继续执行脚本逻辑;换场景期间返回 0。<br /><span class="lua-muted">脚本中 310 处调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnIsModelOrMount|LuaFnIsModelOrMount]] | |||
| <code>LuaFnIsModelOrMount(sceneId, selfId)</code><br />判断人物当前是否具有模型替换或坐骑模型修正。<br /><span class="lua-muted">脚本中 2 处调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnIsScriptDynamicParamIndexLegal|LuaFnIsScriptDynamicParamIndexLegal]] | |||
| <code>LuaFnIsScriptDynamicParamIndexLegal(sceneId, nSelfID, nIndex)</code><br />检查脚本动态参数索引是否有效。<br /><span class="lua-warn">脚本中未见调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnSendImpactAroundPosition|LuaFnSendImpactAroundPosition]] | |||
| <code>LuaFnSendImpactAroundPosition(sceneId, selfId, x, z, radius, standFlag, levelRequire, effectCount, impact, delayTime)</code><br />在指定位置按脚本规则筛选角色并施加 Impact。<br /><span class="lua-warn">脚本中未见调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnSendSpecificImpactBySkillToUnit|LuaFnSendSpecificImpactBySkillToUnit]] | |||
| <code>LuaFnSendSpecificImpactBySkillToUnit(sceneId, selfId, senderId, targetId, impactDataIndex, delayTime)</code><br />按战斗结算规则向目标施加指定效果。<br /><span class="lua-muted">脚本中 4 处调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnSendSpecificImpactToUnit|LuaFnSendSpecificImpactToUnit]] | |||
| <code>LuaFnSendSpecificImpactToUnit(sceneId, nSelfID, nSenderID, nTargetID, nImpactDataIndex, nDelayTime)</code><br />向指定目标施加指定编号的状态效果。<br /><span class="lua-muted">脚本中 1672 处调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnSetScriptDynamicParamByIndex|LuaFnSetScriptDynamicParamByIndex]] | |||
| <code>LuaFnSetScriptDynamicParamByIndex(sceneId, nSelfID, nIndex, nValue)</code><br />按索引设置角色当前脚本动态参数。<br /><span class="lua-warn">脚本中未见调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnUnitDoEmoteAction|LuaFnUnitDoEmoteAction]] | |||
| <code>LuaFnUnitDoEmoteAction(sceneId, nSelfID, nSkillID, arg4)</code><br />使指定角色执行表情动作。<br /><span class="lua-warn">脚本中未见调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnUnitIsEnemy|LuaFnUnitIsEnemy]] | |||
| <code>LuaFnUnitIsEnemy(sceneId, selfId, targetId)</code><br />判断两个角色单位是否为敌对关系。<br /><span class="lua-muted">脚本中 1 处调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnUnitIsFriend|LuaFnUnitIsFriend]] | |||
| <code>LuaFnUnitIsFriend(sceneId, selfId, targetId)</code><br />判断两个角色单位是否为友方关系。<br /><span class="lua-muted">脚本中 129 处调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnUnitIsPartner|LuaFnUnitIsPartner]] | |||
| <code>LuaFnUnitIsPartner(sceneId, selfId, targetId)</code><br />判断两个角色单位是否为协作关系。<br /><span class="lua-warn">脚本中未见调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnUnitUseSkill|LuaFnUnitUseSkill]] | |||
| <code>LuaFnUnitUseSkill(sceneId, nSelfID, nSkillID, nTargetID, fPos_X, fPos_Z, fDir, bPassSkillCheck)</code><br />使指定角色按目标对象、位置和朝向使用技能。<br /><span class="lua-muted">脚本中 63 处调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnVerifyUsedItem|LuaFnVerifyUsedItem]] | |||
| <code>LuaFnVerifyUsedItem(sceneId, nSelfID)</code><br />校验玩家本次物品使用流程中记录的道具。<br /><span class="lua-muted">脚本中 1235 处调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/MonsterDoAction|MonsterDoAction]] | |||
| <code>MonsterDoAction(sceneId, selfId, actionId, targetId)</code><br />让指定角色单位对目标执行动作。<br /><span class="lua-muted">脚本中 11 处调用</span> | |||
|- | |- | ||
| [[Lua接口/服务端/SetWaiGuaData|SetWaiGuaData]] | |||
| <code>SetWaiGuaData(sceneId, selfId, nValue)</code><br />将外挂防御计数写入角色设置槽 65,并标记设置存档为脏。<br /><span class="lua-warn">脚本中未见调用</span> | |||
|} | |} | ||
</div> | </div> | ||
2026年9月19日 (六) 16:59的最新版本
动作与技能:36 个接口,37 个调用名称,其中 22 个在当前脚本中有调用。
| 函数 / 别名 | 调用与用途 |
|---|---|
| CreateSpecialObjByDataIndex LuaFnCreateSpecialObjByDataIndex |
CreateSpecialObjByDataIndex(sceneId, selfId, nDataIndex, fPosX, fPosZ, nDelayTime)在指定位置创建特殊对象,并注册延迟激活事件。 脚本中 102 处调用 |
| IsWaiGuaUser | IsWaiGuaUser(sceneId, selfId)返回外挂防御状态;非人物对象返回 0。 脚本中 1 处调用 |
| LuaFnCancelMoveSpeedBuff | LuaFnCancelMoveSpeedBuff(sceneId, selfId)取消人物身上的移动速度修正效果。 脚本中 1 处调用 |
| LuaFnCancelSpecificImpact | LuaFnCancelSpecificImpact(sceneId, nSelfID, nImpactDataIndex)移除角色身上指定编号的状态效果。 脚本中 254 处调用 |
| LuaFnCanUnitUseSkill | LuaFnCanUnitUseSkill(sceneId, selfId, nSkillID)判断指定角色当前是否满足技能、冷却和 AI 状态三项使用条件。 脚本中未见调用 |
| LuaFnDepletingUsedItem | LuaFnDepletingUsedItem(sceneId, nSelfID)消耗本次物品使用流程中记录的道具。 脚本中 1061 处调用 |
| LuaFnDispelAllHostileImpacts | LuaFnDispelAllHostileImpacts(sceneId, selfId)清除指定角色单位身上的全部敌对效果。 脚本中 9 处调用 |
| LuaFnDoAction | LuaFnDoAction(sceneId, selfId, nActionID, TargetID)对目标做动作 脚本中未见调用 |
| LuaFnGetBagIndexOfUsedItem | LuaFnGetBagIndexOfUsedItem(sceneId, selfId)读取当前物品使用流程记录的消耗物品背包格子。 脚本中 114 处调用 |
| LuaFnGetHighSectionOfTargetPetGuid | LuaFnGetHighSectionOfTargetPetGuid(sceneId, nSelfID)读取当前操作目标珍兽 GUID 的高段数值。 脚本中 24 处调用 |
| LuaFnGetItemIndexOfUsedItem | LuaFnGetItemIndexOfUsedItem(sceneId, selfId)返回当前脚本消耗物品的物品表索引。 脚本中 49 处调用 |
| LuaFnGetLowSectionOfTargetPetGuid | LuaFnGetLowSectionOfTargetPetGuid(sceneId, nSelfID)读取当前操作目标珍兽 GUID 的低段数值。 脚本中 24 处调用 |
| LuaFnGetPositionOfTargetObj | LuaFnGetPositionOfTargetObj(sceneId, selfId)返回当前目标对象的 X、Z 坐标。 脚本中未见调用 |
| LuaFnGetScriptDynamicParamByIndex | LuaFnGetScriptDynamicParamByIndex(sceneId, nSelfID, nIndex)按索引读取角色当前脚本动态参数。 脚本中未见调用 |
| LuaFnGetTargetBagSlot | LuaFnGetTargetBagSlot(sceneId, nSelfID)读取当前物品使用流程记录的目标背包格子。 脚本中未见调用 |
| LuaFnGetTargetObjID | LuaFnGetTargetObjID(sceneId, nSelfID)读取当前技能或物品使用流程记录的目标对象 ID。 脚本中 322 处调用 |
| LuaFnGetTargetPosition | LuaFnGetTargetPosition(sceneId, selfId)返回当前技能或脚本目标位置的 X、Z 坐标。 脚本中未见调用 |
| LuaFnGetTargetPosition_X | LuaFnGetTargetPosition_X(sceneId, nSelfID)读取当前技能或物品使用流程记录的目标 X 坐标。 脚本中未见调用 |
| LuaFnGetTargetPosition_Z | LuaFnGetTargetPosition_Z(sceneId, nSelfID)读取当前技能或物品使用流程记录的目标 Z 坐标。 脚本中未见调用 |
| LuaFnHaveImpactInSpecificCollection | LuaFnHaveImpactInSpecificCollection(sceneId, selfId, collectionId)判断角色是否拥有指定效果集合中的任一效果。 脚本中 1 处调用 |
| LuaFnHaveImpactOfSpecificDataIndex | LuaFnHaveImpactOfSpecificDataIndex(sceneId, selfId, dataIndex)判断角色是否拥有指定数据索引的效果。 脚本中 225 处调用 |
| LuaFnIsCanDoScriptLogic | LuaFnIsCanDoScriptLogic(sceneId, selfId)判断角色当前是否可以继续执行脚本逻辑;换场景期间返回 0。 脚本中 310 处调用 |
| LuaFnIsModelOrMount | LuaFnIsModelOrMount(sceneId, selfId)判断人物当前是否具有模型替换或坐骑模型修正。 脚本中 2 处调用 |
| LuaFnIsScriptDynamicParamIndexLegal | LuaFnIsScriptDynamicParamIndexLegal(sceneId, nSelfID, nIndex)检查脚本动态参数索引是否有效。 脚本中未见调用 |
| LuaFnSendImpactAroundPosition | LuaFnSendImpactAroundPosition(sceneId, selfId, x, z, radius, standFlag, levelRequire, effectCount, impact, delayTime)在指定位置按脚本规则筛选角色并施加 Impact。 脚本中未见调用 |
| LuaFnSendSpecificImpactBySkillToUnit | LuaFnSendSpecificImpactBySkillToUnit(sceneId, selfId, senderId, targetId, impactDataIndex, delayTime)按战斗结算规则向目标施加指定效果。 脚本中 4 处调用 |
| LuaFnSendSpecificImpactToUnit | LuaFnSendSpecificImpactToUnit(sceneId, nSelfID, nSenderID, nTargetID, nImpactDataIndex, nDelayTime)向指定目标施加指定编号的状态效果。 脚本中 1672 处调用 |
| LuaFnSetScriptDynamicParamByIndex | LuaFnSetScriptDynamicParamByIndex(sceneId, nSelfID, nIndex, nValue)按索引设置角色当前脚本动态参数。 脚本中未见调用 |
| LuaFnUnitDoEmoteAction | LuaFnUnitDoEmoteAction(sceneId, nSelfID, nSkillID, arg4)使指定角色执行表情动作。 脚本中未见调用 |
| LuaFnUnitIsEnemy | LuaFnUnitIsEnemy(sceneId, selfId, targetId)判断两个角色单位是否为敌对关系。 脚本中 1 处调用 |
| LuaFnUnitIsFriend | LuaFnUnitIsFriend(sceneId, selfId, targetId)判断两个角色单位是否为友方关系。 脚本中 129 处调用 |
| LuaFnUnitIsPartner | LuaFnUnitIsPartner(sceneId, selfId, targetId)判断两个角色单位是否为协作关系。 脚本中未见调用 |
| LuaFnUnitUseSkill | LuaFnUnitUseSkill(sceneId, nSelfID, nSkillID, nTargetID, fPos_X, fPos_Z, fDir, bPassSkillCheck)使指定角色按目标对象、位置和朝向使用技能。 脚本中 63 处调用 |
| LuaFnVerifyUsedItem | LuaFnVerifyUsedItem(sceneId, nSelfID)校验玩家本次物品使用流程中记录的道具。 脚本中 1235 处调用 |
| MonsterDoAction | MonsterDoAction(sceneId, selfId, actionId, targetId)让指定角色单位对目标执行动作。 脚本中 11 处调用 |
| SetWaiGuaData | SetWaiGuaData(sceneId, selfId, nValue)将外挂防御计数写入角色设置槽 65,并标记设置存档为脏。 脚本中未见调用 |