Appearance
生物模块管理接口 Monster
具体函数名及描述如下:
| 序号 | 函数名 | 函数描述 |
|---|---|---|
| 1 | GetActorID(...) | 获取生物类型ID |
| 2 | GetActorName(...) | 获取生物类型名称 |
| 3 | ReplaceActor(...) | 替换生物 |
| 4 | GetMonsterDefName(...) | 获取生物名称 |
| 5 | GetMonsterDefLevelExp(...) | 获取击杀掉落经验 |
| 6 | SetMonsterDefLevelExp(...) | 设置击杀掉落经验 |
| 7 | ChangeAI(...) | 切换AI行为树 |
| 8 | CanSee(...) | 怪物是否可见目标 |
| 9 | GetDropItemInfo(...) | 获取生物的掉落物信息 |
| 10 | SetTameTarget(...) | 使生物被指定对象驯服 |
| 11 | RandomActorID(...) | 随机获取生物类型ID |
| 12 | GetTamedOwnerID(...) | 获取驯养主ID |
| 13 | GetFacade(...) | 获取生物外观 |
| 14 | GetTags(...) | 获取生物标签组 |
GetActorID
lua
local result = Monster:GetActorID(objId)GetActorName
lua
local actorName = objId and Monster:GetActorName(objId)ReplaceActor
- 参数及类型:
- 返回值及类型:
- ret:
number/ nil 替换后的生物objid
- ret:
- 该方法的其他说明: 将源生物替换为目标类型生物,并同步队伍/图文信息/变量引用(可选同步血量比例)
- 具体使用案例如下:
lua
local newObjId = objId and Monster:ReplaceActor(objId, 3812)GetMonsterDefName
- 参数及类型:
- 返回值及类型:
- name:
string/ nil 生物类型名字
- name:
- 该方法的其他说明: 获取生物名称
- 具体使用案例如下:
lua
local result = Monster:GetMonsterDefName(3400)GetMonsterDefLevelExp
- 参数及类型:
- 返回值及类型:
- exp:
number/ nil 掉落经验
- exp:
- 该方法的其他说明: 获取击杀生物的掉落经验
- 具体使用案例如下:
lua
local levelExp = Monster:GetMonsterDefLevelExp(3400)SetMonsterDefLevelExp
- 参数及类型:
- 返回值及类型:
- ret:bool是否成功
- 该方法的其他说明: 设置击杀生物的掉落经验
- 具体使用案例如下:
lua
local result = Monster:SetMonsterDefLevelExp(3400, 100)ChangeAI
lua
-- treeId行为树资源 ID。
local result = Monster:ChangeAI(objId, treeId)CanSee
- 参数及类型:
- 返回值及类型:
- result:bool是否可见
- 该方法的其他说明: 判断怪物是否能看见目标
- 具体使用案例如下:
lua
local isSuccess = objId and Monster:CanSee(objId, Player:GetHostUin())GetDropItemInfo
- 参数及类型:
- 返回值及类型:
- ret:
table/ nil 掉落物信息数组({itemId,num,odds})
- ret:
- 该方法的其他说明: 获取生物的掉落物信息列表(道具ID/数量/概率)
- 具体使用案例如下:
lua
local dropInfos = Monster:GetDropItemInfo(3400)
if dropInfos then
for i, v in ipairs(dropInfos) do
print("掉落物信息:道具ID,数量,概率", v[1], v[2], v[3])
end
endSetTameTarget
lua
-- 设置生物被房主驯服
local result = objId and Monster:SetTameTarget(objId, Player:GetHostUin())RandomActorID
- 参数及类型: 无
- 返回值及类型:
- ret:
number/ nil 随机生物类型ID
- ret:
- 该方法的其他说明: 从可触发类型的生物定义中随机取一个生物类型id
- 具体使用案例如下:
lua
local actorTypeId = Monster:RandomActorID()GetTamedOwnerID
lua
local ownerID = objId and Monster:GetTamedOwnerID(objId)GetFacade
- 参数及类型:
- 返回值及类型:
- model:
string/ nil 外观名
- model:
- 该方法的其他说明: 根据生物类型id或预制ID生成外观名(用于UI/选择器显示,如果是prefab资源会带有子部件信息,选择器选择不带子部件信息)
- 具体使用案例如下:
lua
-- 官方默认生物示例
local facade1 = Monster:GetFacade(3400)
if facade1 == nil then
print("facade1 is nil")
end
-- 自定义生物预制示例
local facade2 = Monster:GetFacade("r1_7495945378073298954_22931")
if facade2 == nil then
print("facade2 is nil")
endGetTags
- 参数及类型:
- 返回值及类型:
- ret:
table/ nil 标签组
- ret:
- 该方法的其他说明: 获取生物定义中的标签组
- 具体使用案例如下:
lua
local actorid = "r1_7569576687042842408_36547"
local tags = Monster:GetTags(actorid)
if tags then
print("生物定义中的标签:", tags)
end