UNPKG

rock-mod

Version:

Rock-Mod is a powerful framework designed for creating and managing mods for Grand Theft Auto (GTA) games.

111 lines (110 loc) 5.87 kB
import { BaseObjectType } from "../../../../shared/entities"; import { type IBaseObject } from "../../common/baseObject/IBaseObject"; import { type IPlayer } from "../../common/player/IPlayer"; import { type IVehicle } from "../../common/vehicle/IVehicle"; import { type IVector3D } from "../../../../shared/common/utils"; export interface ICCMPPlayerOptions { /** Network id of the player (same as remoteId — CCMP exposes only one id). */ readonly id: number; /** Human-readable name from the handshake. May be empty if not yet known. */ readonly name: string; /** `true` if this Player represents the local user, `false` for remotes. */ readonly isLocal: boolean; } /** * CCMP implementation of the Rock-Mod player facade. * * Identity and synced meta are tracked by id. Runtime entity operations are * delegated to `ccmp.players.getById(id)`, whose `handle` is live for the * local player and for streamed remote players. Missing remote handles degrade * to safe defaults/no-ops, matching RageMP-style best-effort client behavior. */ export declare class CCMPPlayer implements IPlayer { /** Глобальный set для one-time warnings, чтобы не флудить лог. */ private static readonly _warnedMethods; private readonly _id; private _name; private readonly _isLocal; private _isExists; constructor(options: ICCMPPlayerOptions); /** Помечает игрока как удалённого — вызывается из `CCMPPlayersManager`. */ markRemoved(): void; /** Обновляет name (полезно если name приехал позже первого создания). */ setNameInternal(name: string): void; get id(): number; get remoteId(): number; get type(): BaseObjectType; get isExists(): boolean; get handle(): number; destroy(): void; get position(): IVector3D; get dimension(): number; setPosition(value: IVector3D): void; setDimension(_value: number): void; setCoords(xPos: number, yPos: number, zPos: number, xAxis: boolean, yAxis: boolean, zAxis: boolean, clearArea: boolean): void; get model(): number; get heading(): number; setHeading(heading: number): void; setModel(value: string): void; get rotation(): IVector3D; setRotation(value: IVector3D): void; get forwardVector(): IVector3D; freezePosition(freeze: boolean): void; setCollision(collision: boolean, keepPhysics: boolean): void; setInvincible(invincible: boolean): void; setVisible(visible: boolean): void; setAlpha(alpha: number): void; get alpha(): number; resetAlpha(): void; getOffsetFromInWorldCoords(offsetX: number, offsetY: number, offsetZ: number): IVector3D; getBoneIndexByName(boneName: string): number; getWorldPositionOfBone(boneIndex: number): IVector3D; getVariable(name: string): unknown | null; getSyncedMeta(key: string): unknown | undefined; hasSyncedMeta(key: string): boolean; getSyncedMetaKeys(): readonly string[]; attachToEntity(target: IBaseObject, boneIndex: number, offset: IVector3D, rotation: IVector3D, p9: boolean, useSoftPinning: boolean, collision: boolean, isPed: boolean, vertexIndex: number, fixedRot: boolean): void; detach(useDetachVelocity: boolean, collision: boolean): void; getSpeed(): number; isPlayingAnim(dictionary: string, name: string, taskFlag: number): boolean; get name(): string; get health(): number; get armour(): number; get isDead(): boolean; get vehicle(): IVehicle | null; get isVoice3DEnabled(): boolean; get voiceVolume(): number; get isVoiceActive(): boolean; setVoice3D(_enable: boolean): void; setVoiceVolume(_volume: number): void; get isReloading(): boolean; get weapon(): number; getAmmoInClip(_weapon: number): number; getWeaponAmmo(_weapon: number): number; getBoneIndex(boneId: number): number; setDecoration(collection: string, overlay: string): void; removeDecoration(collection: string, overlay: string): void; clearDecorations(): void; setHeadBlendData(shapeFirstId: number, shapeSecondId: number, shapeThirdId: number, skinFirstId: number, skinSecondId: number, skinThirdId: number, shapeMix: number, skinMix: number, thirdMix: number, isParent: boolean): void; setFaceFeature(index: number, value: number): void; setHeadOverlay(overlayId: number, index: number, opacity: number, _firstColor: number, _secondColor: number): void; setHeadOverlayColor(overlayId: number, colorTypeId: number, firstColor: number, secondColor: number): void; setEyeColor(eyeColor: number): void; setHairColor(colorId: number, highlightColorId: number): void; setComponentVariation(componentId: number, drawableId: number, textureId: number, paletteId: number): void; setPropertyVariation(componentId: number, drawableId: number, textureId: number, attach: boolean): void; clearProp(componentId: number): void; get isLocalPlayer(): boolean; taskSwapWeapon(): void; taskEnterVehicle(vehicleHandle: number, timeout: number, seat: number, speed: number, flag: number, _p6: number): void; clearTasks(): void; clearTasksImmediately(): void; taskPlayAnim(dictionary: string, name: string, blendInSpeed: number, blendOutSpeed: number, duration: number, flag: number, playbackRate: number, lockX: boolean, lockY: boolean, lockZ: boolean): void; stopAnim(dictionary: string, name: string, blendOutSpeed: number): void; setMovementClipset(_clipset: string, _speed: number): void; resetMovementClipset(_blendDuration: number): void; getBoneCoords(boneId: number, offsetX: number, offsetY: number, offsetZ: number): IVector3D; setNoCollision(otherHandle: number, thisFrameOnly: boolean): void; private _getNativePlayer; private _warnOnce; }