角色实体 Entity Char
角色骨骼、任务状态、武器与生命周期
sa · 扩展 CLEO+ · 需 CLEO + CLEO+
角色 / 玩家相关。入口见 entity。写法见 Lua / Redux。
骨骼 / 透明度
取角色骨骼矩阵地址。用在 if 里;失败没有有效地址。
0D0B GET_CHAR_BONE_MATRIX
in: self, pedBone
out: matrix设角色模型透明度 0–255。
0D10 SET_CHAR_MODEL_ALPHA
in: self, alpha取骨骼节点地址。用在 if 里。
0D30 GET_CHAR_BONE
in: self, pedBone
out: address骨骼偏移向量指针。
0D31 GET_BONE_OFFSET_VECTOR
in: pedBone
out: offsetVector骨骼四元数指针(配合 GET_CHAR_BONE)。
0D32 GET_BONE_QUAT
in: bone
out: quat生命 / 控制 / 扩展变量
取角色最大生命。
0D39 GET_CHAR_MAX_HEALTH
in: self
out: maxHealth角色是否脚本控制。用在 if 里。
0E0A IS_CHAR_SCRIPT_CONTROLLED
in: self标记角色为脚本控制,避免被清理。
0E0B MARK_CHAR_AS_NEEDED
in: self给角色挂扩展变量槽。identifier 可用 "AUTO"(按脚本指针唯一)。用在 if 里。
0E14 INIT_EXTENDED_CHAR_VARS
in: self, identifier, totalVars写角色扩展变量;需先 0E14。用在 if 里。
0E15 SET_EXTENDED_CHAR_VAR
in: self, identifier, varNumber, value读角色扩展变量;未初始化则失败。用在 if 里。
0E16 GET_EXTENDED_CHAR_VAR
in: self, identifier, varNumber
out: value贴地 / 坐标 / 任务
修正角色贴地/亮度,可选淡入。
0E24 FIX_CHAR_GROUND_BRIGHTNESS_AND_FADE_IN
in: self, fixGround, fixBrightness, fadeIn直接写角色坐标,不做常规传送那套异常处理。
0E32 SET_CHAR_COORDINATES_SIMPLE
in: self, x, y, z角色是否在执行指定 taskId。用在 if 里。
0E42 IS_CHAR_DOING_TASK_ID
in: self, taskId按 taskId 取任务结构地址。用在 if 里。
0E43 GET_CHAR_TASK_POINTER_BY_ID
in: self, taskId
out: address取角色当前击杀目标句柄。用在 if 里。
0E44 GET_CHAR_KILL_TARGET_CHAR
in: self
out: killTarget行为状态
是否在用枪。用在 if 里。
0E46 IS_CHAR_USING_GUN
in: self是否在肉搏。用在 if 里。
0E47 IS_CHAR_FIGHTING
in: self是否倒地。用在 if 里。
0E48 IS_CHAR_FALLEN_ON_GROUND
in: self是否在上车过程中。用在 if 里。
0E49 IS_CHAR_ENTERING_ANY_CAR
in: self是否在下车过程中。用在 if 里。
0E4A IS_CHAR_EXITING_ANY_CAR
in: self是否在播脚本动画;includeAnims 控制范围。用在 if 里。
0E4B IS_CHAR_PLAYING_ANY_SCRIPT_ANIMATION
in: self, includeAnims是否在做重要任务;includeAnims 是否算动画。用在 if 里。
0E4C IS_CHAR_DOING_ANY_IMPORTANT_TASK
in: self, includeAnims生命 / 武器 / 碰撞
取生命百分比(浮点)。
0E5C GET_CHAR_HEALTH_PERCENT
in: self
out: healthPercent取角色当前武器的 WeaponInfo。用在 if 里。
0E83 GET_CURRENT_CHAR_WEAPONINFO
in: self
out: handle取当前武器状态。
0E8B GET_CHAR_WEAPON_STATE
in: self
out: weaponState取当前弹匣余弹。
0E8C GET_CHAR_WEAPON_CLIP
in: self
out: weaponClip取角色碰撞表面类型。
0E8E GET_CHAR_COLLISION_SURFACE
in: self
out: surfaceType取角色碰撞处光照。
0E8F GET_CHAR_COLLISION_LIGHTING
in: self
out: lighting空中 / 任务清理 / 二号玩家
是否真在空中(含降落伞/喷气背包)。用在 if 里。
0E92 IS_CHAR_REALLY_IN_AIR
in: self清主任务。
0E96 CLEAR_CHAR_PRIMARY_TASKS
in: self清次任务。
0E97 CLEAR_CHAR_SECONDARY_TASKS
in: self把角色设为二号玩家控制;可选镜头与分车。
0EA0 SET_CHAR_SECOND_PLAYER
in: self, enableCamera, separateCars着火 / 警察 / 逮捕
是否着火。用在 if 里。
0EA4 IS_CHAR_ON_FIRE
in: self取角色附近最近警察。用在 if 里。
0EA5 GET_CLOSEST_COP_NEAR_CHAR
in: self, radius, alive, inCar, onFoot, seenInFront
out: closestCop把 pedState 设为被逮捕。
0EAA SET_CHAR_ARRESTED
in: self取 pedState。
0EAB GET_CHAR_PEDSTATE
in: self
out: pedState抗性 / 武器可见 / 统计
取角色伤害抗性:子弹/火/爆/撞/近战。
0EAC GET_CHAR_PROOFS
in: self
out: bullet, fire, explosion, collision, melee武器可见标志是否打开。用在 if 里。
0EAF IS_CHAR_WEAPON_VISIBLE_SET
in: self取 pedStat id(data/pedstats.dat)。
0EB1 GET_CHAR_STAT_ID
in: self
out: pedStat上一帧伤害:来源角色、武器、部位、强度。用在 if 里。
0EB5 GET_CHAR_DAMAGE_LAST_FRAME
in: self
out: entity, weaponType, bodyPart, intensity生命周期 / 移动
取角色 randomSeed。
0EC8 GET_CHAR_RANDOM_SEED
in: self
out: randomSeed取角色移动状态。
0ECB GET_CHAR_MOVE_STATE
in: self
out: moveState在 msFromNow 毫秒内不删角色。
0ECC DONT_DELETE_CHAR_UNTIL_TIME
in: self, msFromNow角色死亡已过多久(ms)。
0ECE GET_TIME_CHAR_IS_DEAD
in: self
out: timeIsDead是否忽略受击动画。
0ED9 SET_CHAR_IGNORE_DAMAGE_ANIMS
in: self, statefear / 任务 / special 挂件
取角色 fear(pedstats)。
0EFA GET_CHAR_FEAR
in: self
out: fear取最简活动任务 taskId 与任务地址。用在 if 里。
0EFF GET_CHAR_SIMPLEST_ACTIVE_TASK
in: self
out: taskId, address用 specialModel 挂到角色骨骼(相对 0E2E)。
0F02 CREATE_RENDER_OBJECT_TO_CHAR_BONE_FROM_SPECIAL
in: self, specialModel, pedBone, x, y, z, rx, ry, rz
out: renderobject