Creature
生物
对生物进行控制操作枚举列表
Creature.ATTR
- 描述: 生物属性值类型(数值类型)
| 成员名称 | 成员说明 |
|---|---|
| JumpZVelocity | 跳跃速度,默认值:1260 |
| GravityScale | 重力系数,默认值:1 |
Creature.STATE
- 描述: 状态种类
| 成员名称 | 成员说明 |
|---|---|
| IsAir | 悬空 |
| Grab | 抓举 |
| Rush | 冲刺 |
| AiStart | AI启用 |
| BeGrabbed | 被抓举 |
Creature.PATROL_TYPE
- 描述: 巡逻类型
| 成员名称 | 成员说明 |
|---|---|
| Single | 单次 |
| Continuous | 持续 |
| RoundTrip | 往返 |
函数列表
SpawnCreature
-
描述: 创建生物
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureType | number | 获取生物类型:请将目标生物放入场景中,然后点击生物-编辑-实例信息,获取类型ID |
| Pos | Engine.Vector | 位置 |
| Forward | Engine.Vector | 朝向方向向量 |
| Scale | number | 缩放 |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| creatureId | number | 生物实例ID |
local id = Creature:SpawnCreature(1114000000000000, Engine.Vector(0, 0, 0), Engine.Vector(0, 0, 0), 1)DestroyByTime
-
描述: 定时销毁生物
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| Seconds | number | 定时的秒数 |
Creature:DestroyByTime(228, 3)Destroy
-
描述: 销毁生物
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
Creature:Destroy(228)SpawnCreatureBySceneID
-
描述: 通过已有的生物模板创建生物
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| TemplateID | number | 已有的生物模板ID |
| Pos | Engine.Vector | 位置 |
| Forward | Engine.Vector | 朝向方向向量 |
local id = Creature:SpawnCreatureBySceneID(223, Engine.Vector(0, 0, 0), Engine.Vector(0, 0, 0))SetPosition
-
描述: 设置生物的位置
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| Pos | Engine.Vector | 位置 |
Creature:SetPosition(228, Engine.Vector(0, 0, 0))SetForward
-
描述: 设置生物的朝向方向
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| Forward | Engine.Vector | 朝向方向向量 |
Creature:SetForward(228, Engine.Vector(0, 0, 0))SetScale
-
描述: 设置生物的大小
-
范围: 服务端
-
警告: 在生物出生的第一帧内数据会根据放置物进行初始化,需要延后一帧执行才能生效
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| Scale | number | 放大缩小的倍数 |
Creature:SetScale(228, 2)SetCreatureVisible
-
描述: 设置生物可见性
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| Visible | boolean | 是否可见 |
Creature:SetCreatureVisible(228, false)SetCreatureCanGrab
-
描述: 设置生物是否可以抓举
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| Enable | boolean | 能否抓举 |
Creature:SetCreatureCanGrab(228, false)SetCreatureGravityInfluence
-
描述: 设置生物重力属性
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| Enable | boolean | 是否启用重力 |
Creature:SetCreatureGravityInfluence(228, false)AddImpulse
-
描述: 给生物添加力
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| Impulse | Engine.Vector | 力的大小和方向 |
Creature:AddImpulse(228, Engine.Vector(10000, 0, 0))SetCreatureTrackTargetMove
-
描述: 给生物添加追踪运动
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| TargetId | number | 目标ID |
| InitSpeed | number | 初始速度 |
| Acceleration | number | 加速度 |
| MaxVelocity | number | 最大速度 |
| DistanceKeep | number | 保持的距离 |
Creature:SetCreatureTrackTargetMove(228, Character:GetPlayerBySideAndIndex(0, 1), 160, 20, 200, 200)StopTracking
-
描述: 停止追踪
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
Creature:StopTracking(228)AddProp
-
描述: 给生物添加道具
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| PropId | number | 道具Id |
Creature:AddProp(228, 1106022000000000)RemoveProp
-
描述: 删除生物持有的道具
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
Creature:RemoveProp(228)SetCreatureShouldShowName
-
描述: 设置生物是否显示名称
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| Show | boolean | 是否显示名称 |
Creature:SetCreatureShouldShowName(228, true)SetCreatureName
-
描述: 修改生物名称
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| Name | string | 新的名字 |
Creature:SetCreatureName(228, "name")SetCreatureModel
-
描述: 将生物模型替换为其他游戏元素
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| ModelId | number | 模型ID(元件的类型ID) |
Creature:SetCreatureModel(228, 1101002001034000)SetCreatureWithCharacter
-
描述: 将生物模型替换为角色模型
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| PlayerId | number | 角色ID |
Creature:SetCreatureWithCharacter(228, playerId)RestoreCreatureModel
-
描述: 还原生物模型
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
Creature:RestoreCreatureModel(228)StartBehaviorTree
-
描述: 激活生物的AI模式
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
Creature:StartBehaviorTree(228)StopBehaviorTree
-
描述: 禁用生物的AI模式
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
Creature:StopBehaviorTree(228)Jump
-
描述: 让生物跳跃
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
Creature:Jump(228)Dive
-
描述: 让生物飞扑
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
Creature:Dive(228)SprintedMove
-
描述: 让生物冲刺
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
Creature:SprintedMove(228)Grab
-
描述: 让生物抓举
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
Creature:Grab(228)EndGrab
-
描述: 让生物放下
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
Creature:EndGrab(228)CreatureUseItemToPlayer
-
描述: 让生物对角色使用道具
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| TargetId | number | 目标角色的ID |
Creature:CreatureUseItemToPlayer(228, Character:GetPlayerBySideAndIndex(0, 1))CreatureUseItemToCreature
-
描述: 让生物对生物使用道具
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| TargetId | number | 目标生物ID |
Creature:CreatureUseItemToCreature(228, 246)CreatureUseItemToElement
-
描述: 让生物对元件使用道具
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| TargetId | number | 目标元件ID |
Creature:CreatureUseItemToElement(228, 248)SetTargetPointMove
-
描述: 让生物朝指定位置移动
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| Pos | Engine.Vector | 位置坐标 |
| Time | number | 时间,单位秒 |
Creature:SetTargetPointMove(228, Engine.Vector(0, 0, 0), 1)StopMove
-
描述: 让生物停止移动,持续X秒
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| Time | number | 持续时间,单位秒 |
Creature:StopMove(228, 0.1)SwitchBehaviorToPatrolPath
-
描述: 让目标生物按照预设的路径巡逻
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| PathName | string | 路径名称 |
| Patroltype | Creature.PATROL_TYPE | 巡逻类型 |
| Time | number | 巡逻的时间,单位秒,默认999 |
| ReturnBornPos | boolean | 巡逻结束后是否返回出生点,默认为false |
Creature:SwitchBehaviorToPatrolPath(228, "路径_01", Creature.PATROL_TYPE.Single, 5)SwitchCustomBehaviorToPatrolPath
-
描述: 让目标生物按照自定义的路径巡逻
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| PathPoints | Engine.Vector[] | 路径点数组 |
| Patroltype | Creature.PATROL_TYPE | 巡逻类型 |
| Time | number | 巡逻的时间,单位秒,默认999 |
| ReturnBornPos | boolean | 巡逻结束后是否返回出生点,默认为false |
local pathPoints = {Engine.Vector(950,-380,0), Engine.Vector(1250,380,0)}Creature:SwitchCustomBehaviorToPatrolPath(226, pathPoints, Creature.PATROL_TYPE.Single, 5, true)CreatureSwitchBehaviorToImitationCreature
-
描述: 让生物模仿指定生物的动作
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| TargetID | number | 目标生物ID |
| Time | number | 延迟时间,单位秒 |
Creature:CreatureSwitchBehaviorToImitationCreature(244, 228, 0.1)CreatureSwitchBehaviorToImitationPlayer
-
描述: 让生物模仿角色的动作
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| TargetID | number | 目标角色ID |
| Time | number | 延迟时间,单位秒 |
Creature:CreatureSwitchBehaviorToImitationPlayer(228, Character:GetPlayerBySideAndIndex(0, 1), 1)CreatureSwitchBehaviorToFollowCreature
-
描述: 让生物跟随指定生物
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| TargetID | number | 目标生物ID |
| Maxdistance | number | 最远距离 |
| Distance | number | 跟随距离 |
| Time | number | 跟随时间,单位秒 |
Creature:CreatureSwitchBehaviorToFollowCreature(244, 228, 1000, 200, 20)CreatureSwitchBehaviorToFollowPlayer
-
描述: 让生物跟随角色
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| TargetID | number | 目标角色ID |
| Maxdistance | number | 最远距离 |
| Distance | number | 跟随距离 |
| Time | number | 跟随时间,单位秒 |
Creature:CreatureSwitchBehaviorToFollowPlayer(228, Character:GetPlayerBySideAndIndex(0, 1), 1000, 200, 20)CheckCreatureProperty
-
描述: 判断生物是否处于某个状态
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| State | Creature.STATE | 状态名称 |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| inProperty | boolean | 是否处于某个状态 |
local inProperty = Creature:CheckCreatureProperty(228, Creature.STATE.BeGrabbed)IsCreatureSame
-
描述: 判断是否是同一个生物
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId1 | number | 生物1的ID |
| CreatureId2 | number | 生物2的ID |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| isSame | boolean | 是否相同 |
local IsSame = Creature:IsCreatureSame(228, 248)IsHoldingProp
-
描述: 判断生物是否持有指定道具
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| PropId | number | 道具Id |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| isHolding | boolean | 是否持有指定道具 |
local isHolding = Creature:IsHoldingProp(228, 1106022000000000)IsCreatureCanGrab
-
描述: 判断生物是否可抓举
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| canGrab | boolean | 是否可抓举 |
local canGrab = Creature:IsCreatureCanGrab(228)IsCreatureGravityInfluence
-
描述: 判断生物是否受重力影响
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| isInfluential | boolean | 是否受重力影响 |
local isInfluential = Creature:IsCreatureGravityInfluence(228)IsCreatureShouldShowName
-
描述: 判断生物是否显示名称
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| isShow | boolean | 是否显示名称 |
local isShow = Creature:IsCreatureShouldShowName(228)IsCreatureVisible
-
描述: 判断生物是否可见
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| isVisible | boolean | 是否可见 |
local isVisible = Creature:IsCreatureVisible(228)GetCreatureTypeID
-
描述: 返回生物类型
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| typeID | number | 生物类型,-1表示失败 |
local typeID = Creature:GetCreatureTypeID(228)GetPosition
-
描述: 返回生物位置
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| pos | Engine.Vector | 生物所在的位置 |
local pos = Creature:GetPosition(228)GetScale
-
描述: 返回生物的缩放倍数
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| scale | number | 缩放倍数 |
local scale = Creature:GetScale(228)GetForward
-
描述: 返回生物的朝向方向向量
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| forward | Engine.Vector | 朝向方向向量 |
local forward = Creature:GetForward(228)GetName
-
描述: 获取生物名称
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| name | string | 生物的名称,""表示失败 |
local name = Creature:GetName(228)GetCurrentProp
-
描述: 获取生物持有的道具ID
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| propId | number | 生物持有的道具ID,0表示失败 |
local propId = Creature:GetCurrentProp(228)GetCreatureInTrigger
-
描述: 获取触发盒中所有生物
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| TriggerID | number | 触发盒ID |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| idList | number[] | 触发盒中所有生物的ID数组 |
local idList = Creature:GetCreatureInTrigger(254)for _, v in pairs(idList) do Log:PrintLog("[] ", v)endGetCreatureInSphere
-
描述: 获取球形区域内所有生物
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| Center | Engine.Vector | 球形区域的球心 |
| Radius | number | 球形区域的半径 |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| idList | number[] | 球形区域内所有生物的ID列表 |
local idList = Creature:GetCreatureInSphere(Engine.Vector(0, 0, 0), 10000)GetCreatureInCuboid
-
描述: 获取长方体区域内所有生物
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| Center | Engine.Vector | 长方体区域的中心 |
| Length | number | 长方体区域的长度 |
| Width | number | 长方体区域的宽度 |
| Height | number | 长方体区域的高度 |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| idList | number[] | 长方体区域内所有生物ID列表 |
local idList = Creature:GetCreatureInCuboid(Engine.Vector(0, 0, 0), 10000, 10000, 10000)SetMaxHealth
-
描述: 设置生物最大血量
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| Value | number | 修正后的最大血量 |
Creature:SetMaxHealth(223, 100)SetCurHealth
-
描述: 设置生物当前血量
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| Value | number | 修正后的当前血量 |
Creature:SetCurHealth(223, 100)SetInvincible
-
描述: 设置生物无敌状态
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| IsInvincible | boolean | 是否无敌 |
Creature:SetInvincible(223, true)SetAlwaysCanRebirth
-
描述: 设置生物无限重生
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| AlwaysCanRebirth | boolean | 是否无限重生 |
Creature:SetAlwaysCanRebirth(223, true)SetResetBehaviorAfterRebirth
-
描述: 设置生物重生是否重置行为
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| IsResetBehaviorAfterRebirth | boolean | 是否重置行为 |
Creature:SetResetBehaviorAfterRebirth(223, true)SetInteractionable
-
描述: 设置生物互动开关
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| IsInteractionable | boolean | 是否开启互动开关 |
Creature:SetInteractionable(223, true)ChangeAttribute
-
描述: 设置生物的属性值。支持设置:跳跃速度或重力系数属性
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| Attribute | Creature.ATTR | 生物属性值类型 |
| Value | number | 生物属性值大小 |
Creature:ChangeAttribute(226, Creature.ATTR.GravityScale, 2)ChangeMoveSpeed
-
描述: 修改生物的移动速度
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| CreatureId | number | 生物ID |
| SpeedValue | number | 移动速度m/s,取值范围[2.3~24] |
Creature:ChangeMoveSpeed(226, 24)