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 actorid = Monster:GetActorID(objid)GetActorName
lua
local actorName = Monster:GetActorName(objId)ReplaceActor
- 参数及类型:
- 返回值及类型:
- ret:
number/ nil 替换后的生物objid
- ret:
- 该方法的其他说明: 将源生物替换为目标类型生物,并同步队伍/图文信息/变量引用(可选同步血量比例)
- 具体使用案例如下:
lua
local newObjId = Monster:ReplaceActor(objId, 3812)GetMonsterDefName
- 参数及类型:
- 返回值及类型:
- name:
string/ nil 生物类型名字
- name:
- 该方法的其他说明: 获取生物名称
- 具体使用案例如下:
lua
local name = Monster:GetMonsterDefName(actorid)GetMonsterDefLevelExp
- 参数及类型:
- 返回值及类型:
- exp:
number/ nil 掉落经验
- exp:
- 该方法的其他说明: 获取击杀生物的掉落经验
- 具体使用案例如下:
lua
local levelExp = Monster:GetMonsterDefLevelExp(3400)SetMonsterDefLevelExp
- 参数及类型:
- 返回值及类型:
- ret:bool是否成功
- 该方法的其他说明: 设置击杀生物的掉落经验
- 具体使用案例如下:
lua
local result = Monster:SetMonsterDefLevelExp(3400, 100)ChangeAI
lua
local ret = Monster:ChangeAI(objid, treeid)CanSee
- 参数及类型:
- 返回值及类型:
- result:bool是否可见
- 该方法的其他说明: 判断怪物是否能看见目标
- 具体使用案例如下:
lua
local isSuccess = 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
--设置生物A被房主驯服
local result = Monster:SetTameTarget(objIdA, Player:GetHostUin())RandomActorID
- 参数及类型: 无
- 返回值及类型:
- ret:
number/ nil 随机生物类型ID
- ret:
- 该方法的其他说明: 从可触发类型的生物定义中随机取一个生物类型id
- 具体使用案例如下:
lua
local actorTypeId = Monster:RandomActorID()GetTamedOwnerID
lua
local ownerID = Monster:GetTamedOwnerID(objId)GetFacade
- 参数及类型:
- 返回值及类型:
- model:
string/ nil 外观名
- model:
- 该方法的其他说明: 根据生物类型id或预制ID生成外观名(用于UI/选择器显示,如果是prefab资源会带有子部件信息,选择器选择不带子部件信息)
- 具体使用案例如下:
lua
local model = Monster:GetFacade(monsterid)GetTags
- 参数及类型:
- 返回值及类型:
- ret:
table/ nil 标签组
- ret:
- 该方法的其他说明: 获取生物定义中的标签组
- 具体使用案例如下:
lua
local ret = Monster:GetTags(actorid)