diff --git a/ReallifeGamemode.Client/node_modules/@types/ragemp-c/index.d.ts b/ReallifeGamemode.Client/node_modules/@types/ragemp-c/index.d.ts
new file mode 100644
index 00000000..ddef2c97
--- /dev/null
+++ b/ReallifeGamemode.Client/node_modules/@types/ragemp-c/index.d.ts
@@ -0,0 +1,3558 @@
+///
+///
+///
+///
+///
+
+// -------------------------------------------------------------------------
+// Custom types
+// -------------------------------------------------------------------------
+
+type Handle = number; // TODO: Temp type. Replace to the Entity, when methods are updated
+type Hash = number; // TODO: Temp type. Replace to HashOrString, when methods are updated
+type HashOrString = Hash;
+type RGB = [ number, number, number ];
+type RGBA = [ number, number, number, number ];
+type Array3d = [ number, number, number ];
+type Array2d = [ number, number ];
+
+// -------------------------------------------------------------------------
+// Main MP interfaces
+// -------------------------------------------------------------------------
+
+interface Mp {
+ blips: BlipMpPool;
+ browsers: BrowserMpPool;
+ cameras: CameraMpPool;
+ checkpoints: CheckpointMpPool;
+ colshapes: ColshapeMpPool;
+ console: ConsoleMp;
+ discord: DiscordMp;
+ dummies: DummyEntityMpPool;
+ events: EventMpPool;
+ game: GameMp;
+ gui: GuiMp;
+ keys: KeysMp;
+ labels: TextLabelMpPool;
+ markers: MarkerMpPool;
+ nametags: NametagsMp;
+ objects: ObjectMpPool;
+ peds: PedMpPool;
+ pickups: PickupMpPool;
+ players: PlayerMpPool;
+ raycasting: RaycastingMp;
+ storage: StorageMp;
+ system: SystemMp;
+ user: UserMp;
+ Vector3: Vector3Mp;
+ vehicles: VehicleMpPool;
+ voiceChat: VoiceChatMp;
+}
+
+interface GameMp {
+ app: GameAppMp;
+ audio: GameAudioMp;
+ brain: GameBrainMp;
+ cam: GameCamMp;
+ controls: GameControlsMp;
+ cutscene: GameCutsceneMp;
+ datafile: GameDatafileMp;
+ decisionevent: GameDecisioneventMp;
+ decorator: GameDecoratorMp;
+ dlc1: GameDlc1Mp;
+ dlc2: GameDlc2Mp;
+ entity: GameEntityMp;
+ fire: GameFireMp;
+ gameplay: GameGameplayMp;
+ graphics: GameGraphicsMp;
+ gxt: GameGxtMp;
+ interior: GameInteriorMp;
+ itemset: GameItemsetMp;
+ mobile: GameMobileMp;
+ object: GameObjectMp;
+ pathfind: GamePathfindMp;
+ ped: GamePedMp;
+ player: GamePlayerMp;
+ rope: GameRopeMp;
+ script: GameScriptMp;
+ stats: GameStatsMp;
+ streaming: GameStreamingMp;
+ system: GameSystemMp;
+ time: GameTimeMp;
+ ui: GameUiMp;
+ unk: GameUnkMp;
+ recorder: GameRecorderMp;
+ vehicle: GameVehicleMp;
+ water: GameWaterMp;
+ weapon: GameWeaponMp;
+ worldprobe: GameWorldprobeMp;
+ zone: GameZoneMp;
+
+ invoke(hash: string, ...args: any[]): any;
+ invokeFloat(hash: string, ...args: any[]): any;
+ invokeString(hash: string, ...args: any[]): any;
+ invokeVector3(hash: string, ...args: any[]): any;
+ joaat(text: string): Hash;
+ joaat(textArray: string[]): Hash[];
+ wait(ms: number): void;
+ waitAsync(ms: number): Promise;
+}
+
+interface GuiMp {
+ chat: GuiChatMp;
+ cursor: GuiCursorMp;
+
+ execute(code: string): void;
+ takeScreenshot(name: string, type: RageEnums.ScreenshotType | number, quality: number, compressionQuality: number): void;
+}
+
+// -------------------------------------------------------------------------
+// Entity MP types
+// -------------------------------------------------------------------------
+
+interface BlipMp {
+ dimension: number;
+ handle: number;
+ id: number;
+ remoteId: number;
+ type: string;
+
+ addTextComponentSubstringName(): void;
+ destroy(): void;
+ doesExist(): boolean;
+ endTextCommandSetName(): void;
+ getAlpha(): number;
+ getColour(): number;
+ getCoords(): Vector3Mp;
+ getFirstInfoId(): BlipMp;
+ getHudColour(): number;
+ getInfoIdDisplay(): number;
+ getInfoIdEntityIndex(): Handle;
+ getInfoIdPickupIndex(): PickupMp;
+ getInfoIdType(): number;
+ getNextInfoId(): BlipMp;
+ getSprite(): number;
+ getVariable(value: string): any;
+ hasVariable(value: string): boolean;
+ hideNumberOn(): void;
+ isFlashing(): boolean;
+ isMissionCreator(): boolean;
+ isOnMinimap(): boolean;
+ isShortRange(): boolean;
+ pulse(): void;
+ setAlpha(alpha: number): void;
+ setAsFriendly(toggle: boolean): void;
+ setAsMissionCreator(toggle: boolean): void;
+ setAsShortRange(toggle: boolean): void;
+ setBright(toggle: boolean): void;
+ setCategory(index: number): void;
+ setColour(color: number): void;
+ setCoords(position: Vector3Mp): void;
+ setDisplay(displayId: number): void;
+ setFade(opacity: number, duration: number): void;
+ setFlashes(toggle: boolean): void;
+ setFlashesAlternate(toggle: boolean): void;
+ setFlashInterval(p1: any): void;
+ setFlashTimer(duration: number): void;
+ setHighDetail(toggle: boolean): void;
+ setNameFromTextFile(gxtEntry: string): void;
+ setNameToPlayerName(player: PlayerMp): void;
+ setPosition(posX: number, posY: number, posZ: number): void;
+ setPriority(priority: number): void;
+ setRotation(rotation: number): void;
+ setRoute(enabled: boolean): void;
+ setRouteColour(colour: number): void;
+ setScale(scale: number): void;
+ setSecondaryColour(r: number, g: number, b: number): void;
+ setShowCone(toggle: boolean): void;
+ setShowHeadingIndicator(toggle: boolean): void;
+ setSprite(spriteId: number): void;
+ showNumberOn(number: number): void;
+}
+
+interface EntityMp {
+ alpha: number;
+ dimension: number;
+ model: number;
+ position: Vector3Mp;
+ readonly handle: any;
+ readonly id: number;
+ readonly remoteId: number;
+ readonly type: string;
+
+ applyForceTo(forceType: number, x: number, y: number, z: number, xRot: number, yRot: number, zRot: number,
+ boneIndex: number, isRel: number, p9: boolean, highForce: boolean, p11: boolean, p12: boolean): void;
+ applyForceToCenterOfMass(forceType: number, x: number, y: number, z: number, p4: boolean, isRel: boolean,
+ highForce: boolean, p7: boolean): void;
+ attachTo(entity: Handle, boneIndex: number, xPos: number, yPos: number, zPos: number, xRot: number, yRot: number,
+ zRot: number, p8: boolean, useSoftPinning: boolean, collision: boolean, isPed: boolean, vertexIndex: number,
+ fixedRot: boolean): void;
+ attachToPhysically(entity: Handle, boneIndex1: number, boneIndex2: number, xPos1: number, yPos1: number,
+ zPos1: number, xPos2: number, yPos2: number, zPos2: number, xRot: number, yRot: number, zRot: number,
+ breakForce: number, fixedRot: boolean, p14: boolean, collision: boolean, p16: boolean, p17: number): void;
+ clearLastDamage(): void;
+ destroy(): void;
+ detach(p0: boolean, collision: boolean): void;
+ dist(position: Vector3Mp): number;
+ distSquared(position: Vector3Mp): number;
+ doesBelongToThisScript(p0: boolean): boolean;
+ doesExist(): boolean;
+ doesHaveDrawable(): boolean;
+ doesHavePhysics(): boolean;
+ forceAiAndAnimationUpdate(): void;
+ forceStreamingUpdate(): void;
+ freezePosition(toggle: boolean): void;
+ getAlpha(): number;
+ getAnimCurrentTime(animDict: string, animName: string): number;
+ getAnimTotalTime(animDict: string, animName: string): number;
+ getAttachedTo(): Handle;
+ getBoneIndexByName(boneName: string): number;
+ getCollisionNormalOfLastHitFor(): Vector3Mp;
+ getCoords(alive: boolean): Vector3Mp;
+ getForwardVector(): Vector3Mp;
+ getForwardX(): number;
+ getForwardY(): number;
+ getHeading(): number;
+ getHealth(): number;
+ getHeight(x: number, y: number, z: number, atTop: boolean, inWorldCoords: boolean): number;
+ getHeightAboveGround(): number;
+ getLastMaterialHitBy(): Hash;
+ getLodDist(): number;
+ getMatrix(rightVector: Vector3Mp, forwardVector: Vector3Mp, upVector: Vector3Mp, position: Vector3Mp): {
+ rightVector: Vector3Mp;
+ forwardVector: Vector3Mp;
+ upVector: Vector3Mp;
+ position: Vector3Mp;
+ };
+ getMaxHealth(): number;
+ getModel(): Hash;
+ getNearestPlayerTo(): Handle;
+ getNearestPlayerToOnTeam(team: number): Handle;
+ getObjectIndexFromIndex(): Handle;
+ getOffsetFromGivenWorldCoords(posX: number, posY: number, posZ: number): Vector3Mp;
+ getOffsetFromInWorldCoords(offsetX: number, offsetY: number, offsetZ: number): Vector3Mp;
+ getPedIndexFromIndex(): Handle;
+ getPhysicsHeading(): number;
+ getPitch(): number;
+ getPopulationType(): number;
+ getQuaternion(x: number, y: number, z: number, w: number): {
+ x: number;
+ y: number;
+ z: number;
+ w: number;
+ };
+ getRoll(): number;
+ getRotation(rotationOrder: number): Vector3Mp;
+ getRotationVelocity(): Vector3Mp;
+ getScript(script: Handle): Handle;
+ getSpeed(): number;
+ getSpeedVector(relative: boolean): Vector3Mp;
+ getSubmergedLevel(): number;
+ getType(): number;
+ getUprightValue(): number;
+ getVariable(value: string): any;
+ getVehicleIndexFromIndex(): Handle;
+ getVelocity(): Vector3Mp;
+ getWorldPositionOfBone(boneIndex: number): Vector3Mp;
+ hasAnimEventFired(actionHash: Hash): boolean;
+ hasAnimFinished(animDict: string, animName: string, p2: number): boolean;
+ hasBeenDamagedBy(entity: Handle, p1: boolean): boolean;
+ hasBeenDamagedByAnyObject(): boolean;
+ hasBeenDamagedByAnyPed(): boolean;
+ hasBeenDamagedByAnyVehicle(): boolean;
+ hasClearLosTo(entity: Handle, traceType: number): boolean;
+ hasClearLosToInFront(entity: Handle): boolean;
+ hasCollidedWithAnything(): boolean;
+ hasCollisionLoadedAround(): boolean;
+ isAMission(): boolean;
+ isAnObject(): boolean;
+ isAPed(): boolean;
+ isAt(entity: Handle, xSize: number, ySize: number, zSize: number, p4: boolean, p5: boolean, p6: number): boolean;
+ isAtCoord(xPos: number, yPos: number, zPos: number, xSize: number, ySize: number, zSize: number, p6: boolean,
+ p7: boolean, p8: number): boolean;
+ isAttached(): boolean;
+ isAttachedTo(to: Handle): boolean;
+ isAttachedToAnyObject(): boolean;
+ isAttachedToAnyPed(): boolean;
+ isAttachedToAnyVehicle(): boolean;
+ isAVehicle(): boolean;
+ isCollisonDisabled(): boolean;
+ isDead(): boolean;
+ isInAir(): boolean;
+ isInAngledArea(originX: number, originY: number, originZ: number, edgeX: number, edgeY: number, edgeZ: number,
+ angle: number, p7: boolean, p8: boolean, p9: any): boolean;
+ isInArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, p6: boolean, p7: boolean, p8: any): boolean;
+ isInWater(): boolean;
+ isInZone(zone: string): boolean;
+ isOccluded(): boolean;
+ isOnScreen(): boolean;
+ isPlayingAnim(animDict: string, animName: string, p2: number): boolean;
+ isStatic(): boolean;
+ isTouching(targetEntity: Handle): boolean;
+ isTouchingModel(modelHash: Hash): boolean;
+ isUpright(angle: number): boolean;
+ isUpsidedown(): boolean;
+ isVisible(): boolean;
+ isVisibleToScript(): boolean;
+ isWaitingForWorldCollision(): boolean;
+ playAnim(animName: string, propName: string, p2: number, p3: boolean, p4: boolean, p5: boolean, delta: number,
+ bitset: any): boolean;
+ playSynchronizedAnim(syncedScene: number, animation: string, propName: string, p3: number, p4: number, p5: any,
+ p6: number): boolean;
+ processAttachments(): void;
+ resetAlpha(): void;
+ setAlpha(alphaLevel: number/*skin: boolean*/): void; // TODO: Check this
+ setAlwaysPrerender(toggle: boolean): void;
+ setAnimCurrentTime(animDict: string, animName: string, time: number): void;
+ setAnimSpeed(animDict: string, animName: string, speedMultiplier: number): void;
+ setAsMission(p0: boolean, byThisScript: boolean): void;
+ setCanBeDamaged(toggle: boolean): void;
+ setCanBeDamagedByRelationshipGroup(p0: boolean, p1: any): void;
+ setCanBeTargetedWithoutLos(toggle: boolean): void;
+ setCollision(toggle: boolean, keepPhysics: boolean): void;
+ setCoords(xPos: number, yPos: number, zPos: number, xAxis: boolean, yAxis: boolean, zAxis: boolean, clearArea: boolean): void;
+ setCoords2(xPos: number, yPos: number, zPos: number, xAxis: number, yAxis: number, zAxis: number, clearArea: boolean): void;
+ setCoordsNoOffset(xPos: number, yPos: number, zPos: number, xAxis: boolean, yAxis: boolean, zAxis: boolean): void;
+ setDynamic(toggle: boolean): void;
+ setHasGravity(toggle: boolean): void;
+ setHeading(heading: number): void;
+ setHealth(health: number): void;
+ setInvincible(toggle: boolean): void;
+ setIsTargetPriority(p0: boolean, p1: number): void;
+ setLights(toggle: boolean): void;
+ setLoadCollisionFlag(toggle: boolean): void;
+ setLodDist(value: number): void;
+ setMaxHealth(value: number): void;
+ setMaxSpeed(speed: number): void;
+ setMotionBlur(toggle: boolean): void;
+ setNoCollision(entity: Handle, collision: boolean): void;
+ setOnlyDamagedByPlayer(toggle: boolean): void;
+ setOnlyDamagedByRelationshipGroup(p0: boolean, p1: any): void;
+ setProofs(bulletProof: boolean, fireProof: boolean, explosionProof: boolean, collisionProof: boolean,
+ meleeProof: boolean, p5: boolean, p6: boolean,drownProof: boolean): void;
+ setQuaternion(x: number, y: number, z: number, w: number): void;
+ setRecordsCollisions(toggle: boolean): void;
+ setRenderScorched(toggle: boolean): void;
+ setRotation(pitch: number, roll: number, yaw: number, rotationOrder: number, p4: boolean): void;
+ setTrafficlightOverride(state: number): void;
+ setVariable(key: string, value: any): any;
+ setVelocity(x: number, y: number, z: number): void;
+ setVisible(toggle: boolean, p1: boolean): void;
+ stopAnim(animation: string, animGroup: string, p2: number): void;
+ stopSynchronizedAnim(p0: number, p1: boolean): boolean;
+}
+
+interface CheckpointMp extends EntityMp {
+ // TODO
+}
+
+interface ColshapeMp extends EntityMp {
+ triggered: boolean;
+}
+
+interface DummyEntityMp {
+ // TODO (temporary solution):
+ // Since this is a very abstract concept, it is not at all a familiar essence, but it has most of its properties.
+ // The easiest option is, of course, to inherit the EntityMpPool interface, but this will add
+ // non-existent methods and parameters associated with the dimension and position.
+ // It is proposed in the future to introduce a more abstract concept than an entity, which will have only an ID, a type and several basic
+ // methods such as deletion, enumeration and transformation into an array. The same goes for the entity pool.
+
+ readonly dummyType: number;
+ readonly id: number;
+ readonly remoteId: number;
+ readonly type: string;
+
+ getVariable(value: string): any;
+}
+
+interface MarkerMp extends EntityMp {
+ // TODO
+}
+
+interface ObjectMp extends EntityMp {
+ hidden: boolean;
+ isWeak: boolean;
+ notifyStreaming: boolean;
+ streamingRange: number;
+ rotation: Vector3Mp;
+
+ hasBeenBroken(): boolean;
+ isVisible(): boolean;
+ markForDeletion(): void;
+ placeOnGroundProperly(): boolean;
+ setActivatePhysicsAsSoonAsItIsUnfrozen(toggle: boolean): void;
+ setPhysicsParams(weight: number, p1: number, p2: number, p3: number, p4: number, gravity: number, p6: number,
+ p7: number, p8: number, p9: number, buoyancy: number): void;
+ setTargettable(targettable: boolean): void;
+ slide(toX: number, toY: number, toZ: number, speedX: number, speedY: number, speedZ: number, collision: boolean): boolean;
+}
+
+interface PedBaseMp extends EntityMp {
+ applyBlood(boneIndex: number, xRot: number, yRot: number, zRot: number, woundType: string): void;
+ applyBloodByZone(p1: any, p2: number, p3: number, p4: any): void;
+ applyBloodDamageByZone(p1: any, p2: number, p3: number, p4: any): void;
+ applyBloodSpecific(p1: any, p2: number, p3: number, p4: number, p5: number, p6: any, p7: number, p8: any): void;
+ applyDamageDecal(p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: boolean,
+ p9: string): void;
+ applyDamagePack(damagePack: string, damage: number, mult: number): void;
+ applyDamageTo(damageAmount: number, p2: boolean): void;
+ canInCombatSeeTarget(target: Handle): boolean;
+ canKnockOffVehicle(): boolean;
+ canRagdoll(): boolean;
+ clearAllProps(): void;
+ clearAlternateMovementAnim(stance: number, p2: number): void;
+ clearBloodDamage(): void;
+ clearBloodDamageByZone(p1: number): void;
+ clearDamageDecalByZone(p1: number, p2: string): void;
+ clearDecorations(): void;
+ clearDriveByClipsetOverride(): void;
+ clearDrivebyTaskUnderneathDrivingTask(): void;
+ clearFacialDecorations(): void;
+ clearFacialIdleAnimOverride(): void;
+ clearLastDamageBone(): void;
+ clearProp(propId: number): void;
+ clearTasks(): void;
+ clearTasksImmediately(): void;
+ clearWetness(): void;
+ clone(heading: number, networkHandle: boolean, pedHandle: boolean): Handle;
+ cloneToTarget(ped2: Handle): void;
+ controlMountedWeapon(): boolean;
+ forceMotionState(motionStateHash: Hash, p2: boolean, p3: boolean, p4: boolean): boolean;
+ forceToOpenParachute(): void;
+ getAccuracy(): number;
+ getAlertness(): number;
+ getAmmoInClip(weapon: Hash): number;
+ getArmour(): number;
+ getBoneCoords(boneId: number, offsetX: number, offsetY: number, offsetZ: number): Vector3Mp;
+ getBoneIndex(boneId: number): number;
+ getCauseOfDeath(): Hash;
+ getCombatFloat(ped: Handle, p1: number): number
+ getCombatMovement(): number;
+ getCombatRange(): number;
+ getConfigFlag(flagId: number, p2: boolean): boolean;
+ getDeadPickupCoords(p1: number, p2: number): Vector3Mp;
+ getDecorationsState(): number;
+ getDefensiveAreaPosition(p1: boolean): Vector3Mp;
+ getDesiredMoveBlendRatio(): number;
+ getDrawableVariation(componentId: number): number;
+ getEnveffScale(): number;
+ getExtractedDisplacement(worldSpace: boolean): Vector3Mp;
+ getFloodInvincibility(p1: boolean): void;
+ getGroupIndex(): number;
+ getHeadBlendData(headBlendData: {
+ shapeFirst: number;
+ shapeSecond: number;
+ shapeThird: number;
+ skinFirst: number;
+ skinSecond: number;
+ skinThird: number;
+ shapeMix: number;
+ skinMix: number;
+ thirdMix: number;
+ }): void;
+ getHeadOverlayValue(overlayID: number): number;
+ getIsTaskActive(taskNumber: number): boolean;
+ getJackTarget(): Handle;
+ getLastDamageBone(outBone: number): number;
+ getMaxHealth(): number;
+ getMeleeTargetFor(): Handle;
+ getMoney(): number;
+ getMount(): Handle;
+ getNavmeshRouteDistanceRemaining(p1: any, p2: any): any;
+ getNearbyPeds(sizeAndPeds: number, ignore: number): number;
+ getNearbyVehicles(sizeAndVehs: number): number;
+ getNumberOfDrawableVariations(componentId: number): number;
+ getNumberOfPropDrawableVariations(propId: number): number;
+ getNumberOfPropTextureVariations(propId: number, drawableId: number): number;
+ getNumberOfTextureVariations(componentId: number, drawableId: number): number;
+ getPaletteVariation(componentId: number): number;
+ getParachuteLandingType(): number;
+ getParachuteState(): number;
+ getParachuteTintIndex(tintIndex: number): number;
+ getPhoneGestureAnimCurrentTime(): number;
+ getPhoneGestureAnimTotalTime(): number;
+ getPlayerIsFollowing(): Handle;
+ getPropIndex(componentId: number): number;
+ getPropTextureIndex(componentId: number): number;
+ getRagdollBoneIndex(bone: number): number;
+ getRelationshipBetweens(ped2: Handle): void;
+ getRelationshipGroupDefaultHash(): Hash;
+ getRelationshipGroupHash(): Hash;
+ getResetFlag(flagId: number): boolean;
+ getScriptTaskStatus(taskHash: Hash): number;
+ getSeatIsTryingToEnter(): number;
+ getSequenceProgress(): number;
+ getsJacker(): Handle;
+ getSourceOfDeath(): Handle;
+ getTextureVariation(componentId: number): number;
+ getTimeOfDeath(): number;
+ getType(): number;
+ getVehicleIsIn(getLastVehicle: boolean): Handle;
+ getVehicleIsTryingToEnter(): Handle;
+ getVehicleIsUsing(): Handle;
+ giveHelmet(cannotRemove: boolean, helmetFlag: number, textureIndex: number): void;
+ giveNmMessage(): void;
+ giveWeapon(weapon: RageEnums.Hashes.Weapon | Hash, ammo: number, equipNow: boolean): void;
+ hasHeadBlendFinished(): boolean;
+ isActiveInScenario(): boolean;
+ isAimingFromCover(): boolean;
+ isBeingArrested(atArresting: boolean): boolean;
+ isBeingJacked(): boolean;
+ isBeingStealthKilled(): boolean;
+ isBeingStunned(p1: number): boolean;
+ isComponentVariationValid(componentId: number, drawableId: number, textureId: number): boolean;
+ isConversationDead(): boolean;
+ isCuffed(): boolean;
+ isDead(): boolean;
+ isDeadOrDying(p1: boolean): boolean;
+ isDiving(): boolean;
+ isDoingDriveby(): boolean;
+ isDrivebyTaskUnderneathDrivingTask(): boolean;
+ isDucking(): boolean;
+ isEvasiveDiving(evadingEntity: Handle): boolean;
+ isFacingPed(otherPed: Handle, angle: number): boolean;
+ isFalling(): boolean;
+ isFatallyInjured(): boolean;
+ isFleeing(): boolean;
+ isGettingIntoAVehicle(): boolean;
+ isGettingUp(): boolean;
+ isGoingIntoCover(): boolean;
+ isGroupMember(groupId: number): boolean;
+ isHangingOnToVehicle(): boolean;
+ isHeadtracking(entity: Handle): boolean;
+ isHeadtrackingPed(ped2: Handle): boolean;
+ isHuman(): boolean;
+ isHurt(): boolean;
+ isInAnyBoat(): boolean;
+ isInAnyHeli(): boolean;
+ isInAnyPlane(): boolean;
+ isInAnyPoliceVehicle(): boolean;
+ isInAnySub(): boolean;
+ isInAnyTaxi(): boolean;
+ isInAnyTrain(): boolean;
+ isInAnyVehicle(atGetIn: boolean): boolean;
+ isInCombat(target: Handle): boolean;
+ isInCoverFacingLeft(): boolean;
+ isInFlyingVehicle(): boolean;
+ isInGroup(): boolean;
+ isInjured(): boolean;
+ isInMeleeCombat(): boolean;
+ isInModel(modelHash: Hash): boolean;
+ isInParachuteFreeFall(): boolean;
+ isInVehicle(vehicle: Handle, atGetIn: boolean): boolean;
+ isInWrithe(): boolean;
+ isJacking(): boolean;
+ isJumpingOutOfVehicle(): boolean;
+ isMale(): boolean;
+ isModel(modelHash: Hash): boolean;
+ isMountedWeaponTaskUnderneathDrivingTask(): boolean;
+ isMoveBlendRatioRunning(): boolean;
+ isMoveBlendRatioSprinting(): boolean;
+ isMoveBlendRatioStill(): boolean;
+ isMoveBlendRatioWalking(): boolean;
+ isOnAnyBike(): boolean;
+ isOnFoot(): boolean;
+ isOnMount(): boolean;
+ isOnSpecificVehicle(vehicle: Handle): boolean;
+ isOnVehicle(): boolean;
+ isPerformingStealthKill(): boolean;
+ isPlantingBomb(): boolean;
+ isPlayingPhoneGestureAnim(): boolean;
+ isProne(): boolean;
+ isPropValid(componentId: number, drawableId: number, TextureId: number): boolean;
+ isRagdoll(): boolean;
+ isReloading(): boolean;
+ isRunning(): boolean;
+ isRunningArrestTask(): boolean;
+ isRunningMobilePhoneTask():boolean;
+ isRunningRagdollTask(): boolean;
+ isScriptedScenarioUsingConditionalAnim(animDict: string, anim: string): boolean;
+ isShooting(): boolean;
+ isShootingInArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, p7: boolean, p8: boolean): boolean;
+ isSittingInAnyVehicle(): boolean;
+ isSittingInVehicle(vehicle: Handle): boolean;
+ isSprinting(): boolean;
+ isStill(): boolean;
+ isStopped(): boolean;
+ isStrafing(): boolean;
+ isSwimming(): boolean;
+ isSwimmingUnderWater(): boolean;
+ isTracked(): boolean;
+ isTrackedVisible(): boolean;
+ isTryingToEnterALockedVehicle(): boolean;
+ isUsingActionMode(): boolean;
+ isUsingAnyScenario(): boolean;
+ isUsingScenario(scenario: string): boolean;
+ isVaulting(): boolean;
+ isWalking(): boolean;
+ isWearingHelmet(): boolean;
+ knockOffProp(p1: boolean, p2: boolean, p3: boolean, p4: boolean): void;
+ knockOffVehicle(): void;
+ playAnimOnRunningScenario(animDict: string, animName: string): void;
+ playFacialAnim(animName: string, animDict: string): void;
+ registerHatedTargetsAround(radius: number): void;
+ registerheadshot(): number;
+ registerTarget(target: Handle): void;
+ removeDefensiveArea(toggle: boolean): void;
+ removeFromGroup(): void;
+ removeHelmet(p2: boolean): void;
+ removePreferredCoverSet(): void;
+ removeWeapon(weapon: RageEnums.Hashes.Weapon | Hash): void;
+ removeAllWeapons(): void;
+ resetInVehicleContext(): void;
+ resetLastVehicle(): void;
+ resetMovementClipset(p1: number): void;
+ resetRagdollTimer(): void;
+ resetStrafeClipset(): void;
+ resetVisibleDamage(): void;
+ resetWeaponMovementClipset(): void;
+ resurrect(): void;
+ reviveInjured(): void;
+ setAccuracy(accuracy: number): void;
+ setAlertness(value:number): void;
+ setAllowedToDuck(toggle: boolean): void;
+ setAllowVehiclesOverride(toggle: boolean): void;
+ setAlternateMovementAnim(stance: number, animDictionary: string, animationName: string, p4: number, p5: boolean): void;
+ setAmmoInClip(weapon: RageEnums.Hashes.Weapon | Hash, ammo: number): void;
+ setAngledDefensiveArea(p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number,
+ p8: boolean, p9: boolean): void;
+ setArmour(amount: number): void;
+ setAsCop(toggle: boolean): void;
+ setAsEnemy(toggle: boolean): void;
+ setAsGroupLeader(groupId: number): void;
+ setAsGroupMember(groupId: number): void;
+ setBlendFromParents(p1: any, p2: any, p3: number, p4: number): void;
+ setBlockingOfNonTemporaryEvents(toggle: boolean): void;
+ setBoundsOrientation(p1: number, p2: number, p3: number, p4: number, p5: number): void;
+ setCanArmIk(toggle: boolean): void;
+ setCanAttackFriendly(toggle: boolean, p2: boolean): void;
+ setCanBeDraggedOut(toggle: boolean): void;
+ setCanBeKnockedOffVehicle(state: number): void;
+ setCanBeShotInVehicle(toggle: boolean): void;
+ setCanBeTargetedWhenInjured(toggle: boolean): void;
+ setCanBeTargetedWithoutLos(toggle: boolean): void;
+ setCanBeTargetted(toggle: boolean): void;
+ setCanBeTargettedByPlayer(player: Handle, toggle: boolean): void;
+ setCanBeTargettedByTeam(team: number, toggle: boolean): void;
+ setCanCowerInCover(toggle: boolean): void;
+ setCanEvasiveDive(toggle: boolean): void;
+ setCanHeadIk(toggle: boolean): void;
+ setCanLegIk(toggle: boolean): void;
+ setCanPeekInCover(toggle: boolean): void;
+ setCanPlayAmbientAnims(toggle: boolean): void;
+ setCanPlayAmbientBaseAnims(toggle: boolean): void;
+ setCanPlayGestureAnims(toggle: boolean): void;
+ setCanPlayVisemeAnims(p1: boolean, p2: boolean): void;
+ setCanRagdoll(toggle: boolean): void;
+ setCanRagdollFromPlayerImpact(toggle: boolean): void;
+ setCanSmashGlass(p1: boolean, p2: boolean): void;
+ setCanSwitchWeapon(toggle: boolean): void;
+ setCanTeleportToGroupLeader(groupHandle: number, toggle: boolean): void;
+ setCanTorsoIk(toggle: boolean): void;
+ setCanUseAutoConversationLookat(toggle: boolean): void;
+ setCapsule(value: number): void;
+ setCombatAbility(p1: number): void;
+ setCombatAttributes(attributeIndex: number, enabled: boolean): void;
+ setCombatFloat(combatType: number, p2: number): void;
+ setCombatMovement(combatMovement: number): void;
+ setCombatRange(p1: number): void;
+ setComponentVariation(componentId: number, drawableId: number, textureId: number, paletteId: number): void;
+ setConfigFlag(flagId: number, value: boolean): void;
+ setCoordsKeepVehicle(posX: number, posY: number, posZ: number): void;
+ setCoordsNoGang(posX: number, posY: number, posZ: number): void;
+ setCowerHash(p1: string): void;
+ setDecoration(collection: Hash, overlay: Hash): void;
+ setDefaultComponentVariation(): void;
+ setDefensiveAreaAttachedToPed(attachPed: Handle, p2: number, p3: number, p4: number, p5: number, p6: number,
+ p7: number, p8: number, p9: boolean, p10: boolean): void;
+ setDefensiveAreaDirection(p1: number, p2: number, p3: number, p4: boolean): void;
+ setDefensiveSphereAttachedToPed(p1: any, p2: number, p3: number, p4: number, p5: number, p6: boolean): void;
+ setDesiredHeading(heading: number): void;
+ setDesiredMoveBlendRatio(p1: number): void;
+ setDiesInSinkingVehicle(toggle: boolean): void;
+ setDiesInstantlyInWater(toggle: boolean): void;
+ setDiesInVehicle(toggle: boolean): void;
+ setDiesInWater(toggle: boolean): void;
+ setDiesWhenInjured(toggle: boolean): void;
+ setDriveByClipsetOverride(clipset: string): void;
+ setDriverAbility(ability: number): void;
+ setDriverAggressiveness(aggressiveness: number): void;
+ setDriveTaskCruiseSpeed(cruiseSpeed: number): void;
+ setDriveTaskDrivingStyle(drivingStyle: number): void;
+ setDucking(toggle: boolean): void;
+ setEnableBoundAnkles(toggle: boolean): void;
+ setEnableEnveffScale(toggle: boolean): void;
+ setEnableHandcuffs(toggle: boolean): void;
+ setEnableScuba(toggle: boolean): void;
+ setEnableWeaponBlocking(toggle: boolean): void;
+ setEnveffScale(value: number): void;
+ setExclusivePhoneRelationships(): Handle;
+ setEyeColor(index: number): void;
+ setFaceFeature(index: number, scale: number): void;
+ setFacialDecoration(collection: Hash, overlay: Hash): void;
+ setFacialIdleAnimOverride(animName: string, animDict: string): void;
+ setFiringPattern(patternHash: Hash): void;
+ setFleeAttributes(attributes: number, p2: boolean): void;
+ setGeneratesDeadBodyEvents(toggle: boolean): void;
+ setGestureGroup(p1: any): void;
+ setGetOutUpsideDownVehicle(toggle: boolean): void;
+ setGravity(toggle: boolean): void;
+ setGroupMemberPassengerIndex(index: number): void;
+ setHairColor(colorID: number, highlightColorID: number): void;
+ setHeadBlendData(shapeFirstID: number, shapeSecondID: number, shapeThirdID: number, skinFirstID: number,
+ skinSecondID: number, skinThirdID: number, shapeMix: number, skinMix: number, thirdMix: number, isParent: boolean): void;
+ setHeadOverlay(overlayID: number, index: number, opacity: number, firstColor: number, secondColor: number): void;
+ setHeadOverlayColor(overlayID: number, colorType: number, colorID: number, secondColorID: number): void;
+ setHearingRange(value: number): void;
+ setHelmet(canWearHelmet: boolean): void;
+ setHelmetFlag(helmetFlag: number): void;
+ setHelmetPropIndex(propIndex: number): void;
+ setHelmetTextureIndex(textureIndex: number): void;
+ setHighFallTask(p1: any, p2: any, p3: any): void;
+ setIdRange(value: number): void;
+ setIkTarget(p1: number, targetPed: Handle, boneLookAt: number, x: number, y: number, z: number, p7: any,
+ duration: number, duration1: number): void;
+ setIntoVehicle(vehicle: Handle, seatIndex: number): void;
+ setInVehicleContext(context: Hash): void;
+ setKeepTask(toggle: boolean): void;
+ setLegIkMode(mode: number): void;
+ setLodMultiplier(multiplier: number): void;
+ setMaxHealth(value: number): void;
+ setMaxMoveBlendRatio(value: number): void;
+ setMaxTimeInWater(value: number): void;
+ setMaxTimeUnderwater(value: number): void;
+ setMinGroundTimeForStungun(ms: number): void;
+ setMinMoveBlendRatio(value: number): void;
+ setModelIsSuppressed(toggle: boolean): void;
+ setMoney(amount: number): void;
+ setMotionBlur(toggle: boolean): void;
+ setMountedWeaponTarget(targetEntity: Handle, p2: any, x: number, y: number, z: number): void;
+ setMoveAnimsBlendOut(): void;
+ setMovementClipset(clipSet: string, p2: number): void;
+ setMoveRateOverride(value: number): void;
+ setNameDebug(name: string): void;
+ setNeverLeavesGroup(toggle: boolean): void;
+ setParachuteTaskTarget(x: number, y: number, z: number): void;
+ setParachuteTaskThrust(thrust: number): void;
+ setParachuteTintIndex(tintIndex: number): void;
+ setPathAvoidFire(avoidFire: boolean): void;
+ setPathCanDropFromHeight(Toggle: boolean): void;
+ setPathCanUseClimbovers(Toggle: boolean): void;
+ setPathCanUseLadders(Toggle: boolean): void;
+ setPathPreferToAvoidWater(avoidWater: boolean): void;
+ setPathsWidthPlant(mayEnterWater: boolean): void;
+ setPinnedDown(pinned: boolean, i: number): void;
+ setPlaysHeadOnHornAnimWhenDiesInVehicle(toggle: boolean): void;
+ setPreferredCoverSet(itemSet: any): void;
+ setPrimaryLookat(lookAt: Handle): void;
+ setPropIndex(componentId: number, drawableId: number, TextureId: number, attach: boolean): void;
+ setRagdollFlag(flag: number): void;
+ setRagdollForceFall(): void;
+ setRagdollOnCollision(toggle: boolean): void;
+ setRandomComponentVariation(p1: boolean): void;
+ setRandomProps(): void;
+ setRelationshipGroupDefaultHash(hash: Hash): void;
+ setRelationshipGroupHash(hash: Hash): void;
+ setResetFlag(flagId: number, doReset: boolean): void;
+ setResetFlagPreferRearSeats(flags: number): void;
+ setResetRagdollFlag(flag: number): void;
+ setScriptedAnimSeatOffset(p1: number): void;
+ setSeeingRange(value: number): void;
+ setShootRate(shootRate: number): void;
+ setShootsAtCoord(x: number, y: number, z: number, toggle: boolean): void;
+ setSphereDefensiveArea(x: number, y: number, z: number, radius: number, p5: boolean, p6: boolean): void;
+ setStayInVehicleWhenJacked(toggle: boolean): void;
+ setStealthMovement(p1: boolean, action: string): void;
+ setSteersAroundObjects(toggle: boolean): void;
+ setSteersAroundPeds(toggle: boolean): void;
+ setSteersAroundVehicles(toggle: boolean): void;
+ setStrafeClipset(clipSet: string): void;
+ setSuffersCriticalHits(toggle: boolean): void;
+ setSweat(sweat: number): void;
+ setTargetLossResponse(responseType: number): void;
+ setTaskVehicleChaseBehaviorFlag(flag: number, set: boolean): void;
+ setTaskVehicleChaseIdealPursuitDistance(distance: number): void;
+ setToInformRespectedFriends(radius: number, maxFriends: number): void;
+ setToLoadCover(toggle: boolean): void;
+ setToRagdoll(time1: number, time2: number, ragdollType: number, p4: boolean, p5: boolean, p6: boolean): boolean;
+ setUsingActionMode(p1: boolean, p2: any, action: string): void;
+ setVisualFieldCenterAngle(angle: number): void;
+ setVisualFieldMaxAngle(value: number): void;
+ setVisualFieldMaxElevationAngle(angle: number): void;
+ setVisualFieldMinAngle(value: number): void;
+ setVisualFieldMinElevationAngle(angle: number): void;
+ setVisualFieldPeripheralRange(range: number): void;
+ setWeaponMovementClipset(clipSet: string): void;
+ setWetnessEnabledThisFrame(): void;
+ setWetnessHeight(height: number): void;
+ stopAnimPlayback(p1: any, p2: boolean): void;
+ stopAnimTask(animDictionary: string, animationName: string, p3: number): void;
+ stopWeaponFiringWhenDropped(): void;
+ taskAchieveHeading(heading: number, timeout: number): void;
+ taskAimGunAt(entity: Handle, duration: number, p3: boolean): void;
+ taskAimGunAtCoord(x: number, y: number, z: number, time: number, p5: boolean, p6: boolean): void;
+ taskAimGunScripted(scriptTask: Hash, p2: boolean, p3: boolean): void;
+ taskArrest(target: Handle): void;
+ taskBoatMission(boat: Handle, p2: any, p3: any, x: number, y: number, z: number, p7: any, maxSpeed: number,
+ p9: any, p10: number, p11: any): void;
+ taskChatTo(target: Handle, p2: any, p3: number, p4: number, p5: number, p6: number, p7: number): void;
+ taskClearLookAt(): void;
+ taskClimb(unused: boolean): void;
+ taskClimbLadder(p1: number): void;
+ taskCombat(targetPed: Handle, p2: number, p3: number): void;
+ taskCombatHatedTargetsAround(radius: number, p2: number): void;
+ taskCombatHatedTargetsInArea(x: number, y: number, z: number, radius: number, p5: any): void;
+ taskCower(duration: number): void;
+ taskDriveBy(targetPed: Handle, p2: any, targetX: number, targetY: number, targetZ: number, p6: number, p7: any,
+ p8: boolean, firingPattern: Hash): void;
+ taskEnterVehicle(vehicle: Handle, timeout: number, seat: number, speed: number, p5: number, p6: any): void;
+ taskFollowNavMeshToCoord(x: number, y: number, z: number, speed: number, timeout: number, stoppingRange: number,
+ persistFollowing: boolean, unk: number): void;
+ taskFollowNavMeshToCoordAdvanced(x: number, y: number, z: number, speed: number, timeout: number, unkFloat: number,
+ unkInt: number, unkX: number, unkY: number, unkZ: number, unk2: number): void;
+ taskFollowPointRoute(speed: number, unknown: number): void;
+ taskFollowToOffsetOf(entity: Handle, offsetX: number, offsetY: number, offsetZ: number, movementSpeed: number,
+ timeout: number, stoppingRange: number, persistFollowing: boolean): void;
+ taskForceMotionState(state: Hash, p2: boolean): void;
+ taskGetOffBoat(boat: Handle): void;
+ taskGoStraightToCoord(x: number, y: number, z: number, speed: number, timeout: number, targetHeading: number,
+ distanceToSlide: number): void;
+ taskGotoAiming(target: Handle, distanceToStopAt: number, StartAimingDist: number): void;
+ taskGoToCoordAndAimAtHatedEntitiesNearCoord(gotoX: number, gotoY: number, gotoZ: number, aimNearX: number,
+ aimNearY: number, aimNearZ: number, speed: number, shoot: boolean, unknown1: number, unknown2: number,
+ unkTrue: boolean, unknown3: number, heading: boolean, firingPattern: Hash): void;
+ taskGoToCoordAnyMeans(x: number, y: number, z: number, speed: number, p5: any, p6: boolean, walkingStyle: number,
+ p8: number): void;
+ taskGoToCoordAnyMeansExtraParams(x: number, y: number, z: number, speed: number, p5: any, p6: boolean,
+ walkingStyle: number, p8: number, p9: any, p10: any, p11: any): void;
+ taskGoToCoordAnyMeansExtraParamsWithCruiseSpeed(x: number, y: number, z: number, speed: number, p5: any,
+ p6: boolean, walkingStyle: number, p8: number, p9: any, p10: any, p11: any, p12: any): void;
+ taskGoToCoordWhileAimingAtCoord(x: number, y: number, z: number, aimAtX: number, aimAtY: number, aimAtZ: number,
+ moveSpeed: number, p8: boolean, p9: number, p10: number, p11: boolean, flags: any, p13: boolean,
+ firingPattern: Hash): void;
+ taskGuardCurrentPosition(p1: number, p2: number, p3: number): void;
+ taskGuardSphereDefensiveArea(p1: number, p2: number, p3: number, p4: number, p5: number, p6: any, p7: number,
+ p8: number, p9: number, p10: number): void;
+ taskHandsUp(duration: number, facingPed: Handle, p3: number, p4: boolean): void;
+ taskHeliChase(entityToFollow: Handle, x: number, y: number, z: number): void;
+ taskHeliMission(vehicle: Handle, p2: any, pedToFollow: Handle, posX: number, posY: number, posZ: number,
+ mode: number, speed: number, radius: number, angle: number, p11: number, height: number, p13: number, p14: number): void;
+ taskJump(unused: boolean): void;
+ taskLeaveAnyVehicle(p1: number, p2: number): void;
+ taskLeaveVehicle(vehicle: Handle, flags: number): void;
+ taskLookAt(lookAt: Handle, duration: number, unknown1: number, unknown2: number): void;
+ taskMoveNetwork(task: string, multiplier: number, p3: boolean, animDict: string, flags: number): void;
+ taskMoveNetworkAdvanced(p1: string, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number,
+ p8: any, p9: number, p10: boolean, animDict: string, flags: number): void;
+ taskOpenVehicleDoor(vehicle: Handle, timeOut: number, doorIndex: number, speed: number): void;
+ taskParachute(p1: boolean): void;
+ taskParachuteToTarget(x: number, y: number, z: number): void;
+ taskPatrol(p1: string, p2: any, p3: boolean, p4: boolean): void;
+ taskPause(ms: number): void;
+ taskPerformSequence(taskSequence: Handle): void;
+ taskPlaneChase(entityToFollow: Handle, x: number, y: number, z: number): void;
+ taskPlaneLand(plane: Handle, runwayStartX: number, runwayStartY: number, runwayStartZ: number, runwayEndX: number,
+ runwayEndY: number, runwayEndZ: number): void;
+ taskPlaneMission(plane: Handle, targetVehicle: Handle, targetPed: Handle, destinationX: number, destinationY: number,
+ destinationZ: number, p7: number, physicsSpeed: number, p9: number, p10: number, maxAltitude: number, minAltitude: number): void;
+ taskPlantBomb(x: number, y: number, z: number, heading: number): void;
+ taskPlayAnim(animDictionary: string, animationName: string, speed: number, speedMultiplier: number, duration: number,
+ flag: number, playbackRate: number, lockX: boolean, lockY: boolean, lockZ: boolean): void;
+ taskPlayAnimAdvanced(animDict: string, animName: string, posX: number, posY: number, posZ: number, rotX: number,
+ rotY: number, rotZ: number, speed: number, speedMultiplier: number, duration: number, flag: any,
+ animTime: number, p14: any, p15: any): void;
+ taskPlayPhoneGestureAnimation(p1: any, p2: any, p3: any, p4: number, p5: number, p6: boolean, p7: boolean): void;
+ taskPutDirectlyIntoCover(x: number, y: number, z: number, timeout: any, p5: boolean, p6: number, p7: boolean,
+ p8: boolean, p9:object, p10: boolean): void;
+ taskPutDirectlyIntoMelee(meleeTarget: Handle, p2: number, p3: number, p4: number, p5: boolean): void;
+ taskRappelFromHeli(p1: number): void;
+ taskReactAndFlee(fleeTarget: Handle): void;
+ taskReloadWeapon(doReload: boolean): void;
+ taskScriptedAnimation(p1: any, p2: any, p3: any, p4: number, p5: number): void;
+ taskSeekCoverFrom(target: Handle, duration: number, p3: boolean): void;
+ taskSeekCoverToCoords(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, p7: any, p8: boolean): void;
+ taskSetBlockingOfNonTemporaryEvents(toggle: boolean): void;
+ taskSetDecisionMaker(p1: Hash): void;
+ taskShockingEventReact(eventHandle: number): void;
+ taskShootAtCoord(x: number, y: number, z: number, duration: number, firingPattern: Hash): void;
+ taskShuffleToNextVehicleSeat(vehicle: Handle): void;
+ taskSkyDive(): void;
+ taskSlideToCoord(x: number, y: number, z: number, heading: number, p5: number): void;
+ taskSlideToCoordHdgRate(x: number, y: number, z: number, heading: number, p5: number, p6: number): void;
+ taskSmartFlee(fleeTarget: Handle, distance: number, fleeTime: any, p4: boolean, p5: boolean): void;
+ taskSmartFleeCoord(x: number, y: number, z: number, distance: number, time: number, p6: boolean, p7: boolean): void;
+ taskStandGuard(x: number, y: number, z: number, heading: number, scenarioName: string): void;
+ taskStandStill(time: number): void;
+ taskStartScenarioAtPosition(scenarioName: string, x: number, y: number, z: number, heading: number, p6: any,
+ p7: boolean, p8: boolean): void;
+ taskStartScenarioInPlace(scenarioName: string, unkDelay: number, playEnterAnim: boolean): void;
+ taskStayInCover(): void;
+ taskStealthKill(target: Handle, killType: Hash, p3: number, p4: boolean): void;
+ taskStopPhoneGestureAnimation(): void;
+ taskSwapWeapon(p1: boolean): void;
+ taskSweepAim(anim: string, p2: string, p3: string, p4: string, p5: number, vehicle: Handle, p7: number, p8: number): void;
+ taskSynchronizedScene(scene: number, animDictionary: string, animationName: string, speed: number,
+ speedMultiplier: number, duration: number, flag: number, playbackRate: number, p9: any): void;
+ taskTurnToFace(entity: Handle, duration: number): void;
+ taskTurnToFaceCoord(x: number, y: number, z: number, duration: number): void;
+ taskUseMobilePhone(p1: number): void;
+ taskUseMobilePhoneTimed(duration: number): void;
+ taskUseNearestScenarioToCoordWarp(x: number, y: number, z: number, radius: number, p5: any): void;
+ taskVehicleAimAt(target: Handle): void;
+ taskVehicleChase(targetEnt: Handle): void;
+ taskVehicleDriveToCoord(vehicle: Handle, x: number, y: number, z: number, speed: number, p6: any,
+ vehicleModel: Hash, drivingMode: number, stopRange: number, p10: number): void;
+ taskVehicleDriveToCoordLongrange(vehicle: Handle, x: number, y: number, z: number, speed: number, driveMode: number,
+ stopRange: number): void;
+ taskVehicleDriveWander(vehicle: Handle, speed: number, drivingStyle: number): void;
+ taskVehicleEscort(vehicle: Handle, targetVehicle: Handle, mode: number, speed: number, drivingStyle: number,
+ minDistance: number, p7: number, noRoadsDistance: number): void;
+ taskVehicleFollow(vehicle: Handle, targetEntity: Handle, drivingStyle: number, speed: number, minDistance: number): void;
+ taskVehicleFollowWaypointRecording(vehicle: Handle, WPRecording: string, p3: number, p4: number, p5: number,
+ p6: number, p7: number, p8: boolean, p9: number): void;
+ taskVehicleGotoNavmesh(vehicle: Handle, x: number, y: number, z: number, speed: number, behaviorFlag: number,
+ stoppingRange: number): void;
+ taskVehicleHeliProtect(vehicle: Handle, entityToFollow: Handle, targetSpeed: number, p4: number, radius: number,
+ altitude: number, p7: number): void;
+ taskVehicleMissionCoorsTarget(vehicle: Handle, x: number, y: number, z: number, p5: number, p6: number, p7: number,
+ p8: number, p9: number, p10: boolean): void;
+ taskVehicleMissionTarget(vehicle: Handle, pedTarget: Handle, mode: number, maxSpeed: number, drivingStyle: number,
+ minDistance: number, p7: number, p8: boolean): void;
+ taskVehiclePark(vehicle: Handle, x: number, y: number, z: number, heading: number, mode: number, radius: number,
+ keepEngineOn: boolean): void;
+ taskVehicleTempAction(vehicle: Handle, action: number, time: number): void;
+ taskWanderInArea(x: number, y: number, z: number, radius: number, minimalLength: number, timeBetweenWalks: number): void;
+ taskWanderStandard(p1: number, p2: number): void;
+ taskWarpIntoVehicle(vehicle: Handle, seat: number): void;
+ taskWrithe(target: Handle, time: number, p3: number): void;
+ uncuff(): void;
+ unregisterheadshot(): void;
+ updateHeadBlendData(shapeMix: number, skinMix: number, thirdMix: number): void;
+ updateTaskAimGunScriptedTarget(p1: Handle, p2: number, p3: number, p4: number, p5: boolean): void;
+ updateTaskHandsUpDuration(duration: number): void;
+ wasKilledByStealth(): boolean;
+ wasKilledByTakedown(): boolean;
+ wasSkeletonUpdated(): boolean;
+}
+
+interface PedMp extends PedBaseMp {
+ spawnPosition: Vector3Mp;
+}
+
+interface PickupMp extends EntityMp {
+
+}
+
+interface PlayerMp extends PedBaseMp {
+ armour: number;
+ eyeColour: number;
+ hairColour: number;
+ hairHighlightColour: number;
+ heading: number;
+ health: number;
+ name: string;
+ p2pEnabled: boolean;
+ p2pConnected: boolean;
+ voiceAutoVolume: boolean;
+ voiceVolume: number;
+ voice3d: any; // TODO
+ weapon: Hash;
+ readonly action: string;
+ readonly aimTarget: boolean;
+ readonly ip: string;
+ readonly isAiming: boolean;
+ readonly isClimbing: boolean;
+ readonly isEnteringVehicle: boolean;
+ readonly isInCover: boolean;
+ readonly isJumping: boolean;
+ readonly isLeavingVehicle: boolean;
+ readonly isTypingInTextChat: boolean;
+ readonly isVoiceActive: boolean;
+ readonly ping: number;
+ readonly vehicle: VehicleMp;
+
+ addVehicleSubtaskAttack(ped2: Handle): void;
+ addVehicleSubtaskAttackCoord(x: number, y: number, z: number): void;
+ call(eventName: string, ...args: any[]): void;
+ canPedHear(ped: Handle): boolean;
+ changePed(ped: Handle, b2: boolean, b3: boolean): void;
+ clearHasDamagedAtLeastOneNonAnimalPed(): void;
+ clearHasDamagedAtLeastOnePed(): void;
+ clearParachuteModelOverride(): void;
+ clearParachutePackModelOverride(): void;
+ clearParachuteVariationOverride(): void;
+ clearSecondaryTask(): void;
+ clearWantedLevel(): void;
+ explodeHead(weaponHash: Hash): void;
+ getCurrentStealthNoise(): number;
+ getGroup(): number;
+ getHasReserveParachute(): boolean;
+ getInvincible(): boolean;
+ getMaxArmour(): number;
+ getName(): string;
+ getParachutePackTintIndex(tintIndex: number): number;
+ getParachuteSmokeTrailColor(r: number, g: number, b: number): {
+ r: number;
+ g: number;
+ b: number;
+ };
+ getPed(): Handle;
+ getPedScriptIndex(): Handle;
+ getReserveParachuteTintIndex(tintIndex: number): number;
+ getRgbColour(r: number, g: number, b: number): {
+ r: number;
+ g: number;
+ b: number;
+ };
+ getSprintStaminaRemaining(): number;
+ getSprintTimeRemaining(): number;
+ getTeam(): number;
+ getUnderwaterTimeRemaining(): number;
+ getVoiceAttribute(attribute: any): any; // TODO
+ getWantedCentrePosition(): Vector3Mp;
+ getWantedLevel(): number;
+ giveRagdollControl(toggle: boolean): void;
+ hasBeenSpottedInStolenVehicle(): boolean;
+ hasDamagedAtLeastOneNonAnimalPed(): boolean;
+ hasDamagedAtLeastOnePed(): boolean;
+ hasLeftTheWorld(): boolean;
+ hasTeleportFinished(): boolean;
+ hasUseScenarioTask(): boolean;
+ hideBloodDamageByZone(p1: any, p2: boolean): void;
+ isControlOn(): boolean;
+ isFreeAiming(): boolean;
+ isFreeForAmbientTask(): boolean;
+ isPlaying(): boolean;
+ isPressingHorn(): boolean;
+ isReadyForCutscene(): boolean;
+ isRidingTrain(): boolean;
+ isScriptControlOn(): boolean;
+ isTargettingAnything(): boolean;
+ isWantedLevelGreater(wantedLevel: number): boolean;
+ resetArrestState(): void;
+ resetInputGait(): void;
+ resetStamina(): void;
+ setCanBeHassledByGangs(toggle: boolean): void;
+ setCanDoDriveBy(toggle: boolean): void;
+ setCanLeaveParachuteSmokeTrail(enabled: boolean): void;
+ setCanUseCover(toggle: boolean): void;
+ setClothPinFrames(toggle: boolean): void;
+ setControl(toggle: boolean, possiblyFlags: number): void;
+ setEveryoneIgnore(toggle: boolean): void;
+ setForcedAim(toggle: boolean): void;
+ setForcedZoom(toggle: boolean): void;
+ setForceSkipAimIntro(toggle: boolean): void;
+ setHasReserveParachute(): void;
+ setLockon(toggle: boolean): void;
+ setLockonRangeOverride(range: number): void;
+ setMaxArmour(value: number): void;
+ setMayNotEnterAnyVehicle(): void;
+ setMayOnlyEnterThisVehicle(vehicle: Handle): void;
+ setMeleeWeaponDamageModifier(modifier: number): void;
+ setModel(model: Hash): void;
+ setNoiseMultiplier(multiplier: number): void;
+ setParachuteModelOverride(model: Hash): void;
+ setParachutePackModelOverride(model: Hash): void;
+ setParachutePackTintIndex(tintIndex: number): void;
+ setParachuteSmokeTrailColor(r: number, g: number, b: number): void;
+ setParachuteVariationOverride(p1: number, p2: any, p3: any, p4: boolean): void;
+ setPoliceIgnore(toggle: boolean): void;
+ setReserveParachuteTintIndex(tintIndex: number): void;
+ setSimulateAiming(toggle: boolean): void;
+ setSneakingNoiseMultiplier(multiplier: number): void;
+ setSprint(toggle: boolean): void;
+ setStealthPerceptionModifier(value: number): void;
+ setTeam(team: number): void;
+ setVehicleDamageModifier(damageAmount: number): void;
+ setVehicleDefenseModifier(modifier: number): void;
+ setVoiceAttribute(attribute: any, value: any): void; // TODO
+ setWantedCentrePosition(x: number, y: number, z: number): void;
+ setWantedLevel(wantedLevel: number, disableNoMission: boolean): void;
+ setWantedLevelNoDrop(wantedLevel: number, p2: boolean): void;
+ setWantedLevelNow(p1: boolean): void;
+ setWeaponDamageModifier(damageAmount: number): void;
+ setWeaponDefenseModifier(modifier: number): void;
+ taskGotoOffset(p1: any, p2: any, x: number, y: number, z: number, duration: number): void;
+ taskGoToWhileAimingAtEntity(entityToWalkTo: Handle, entityToAimAt: Handle, speed: number, shootatEntity: boolean,
+ p5: number, p6: number, p7: boolean, p8: boolean, firingPattern: Hash): void;
+ taskVehicleShootAt(target: Handle, p2: number): void;
+ updateTaskSweepAim(entity: Handle): void;
+}
+
+interface TextLabelMp extends EntityMp {
+ color: RGB;
+ drawDistance: number;
+ los: boolean;
+ text: string;
+}
+
+interface VehicleMp extends EntityMp {
+ gear: number;
+ rpm: number;
+ steeringAngle: number;
+
+ addUpsidedownCheck(): void;
+ areAllWindowsIntact(): boolean;
+ attachToCargobob(cargobob: Handle, p1: number, x: number, y: number, z: number): void;
+ attachToTowTruck(vehicle: Handle, rear: boolean, hookOffsetX: number, hookOffsetY: number, hookOffsetZ: number): void;
+ attachToTrailer(trailer: Handle, radius: number): void;
+ canShuffleSeat(p0: any): boolean;
+ cargobobMagnetGrab(toggle: boolean): void;
+ clearCustomPrimaryColour(): void;
+ clearCustomSecondaryColour(): void;
+ closeBombBayDoors(): void;
+ detachFromAnyCargobob(): boolean;
+ detachFromAnyTowTruck(): boolean;
+ detachFromCargobob(cargobob: Handle): void;
+ detachFromTowTruck(vehicle: Handle): void;
+ detachFromTrailer(): void;
+ detachWindscreen(): void;
+ disableImpactExplosionActivation(toggle: boolean): void;
+ disablePlaneAileron(p0: boolean, p1: boolean): void;
+ doesExtraExist(extraId: number): boolean;
+ doesHaveRoof(): boolean;
+ doesHaveStuckVehicleCheck(): boolean;
+ doesHaveWeapon(): boolean;
+ ejectJb700Roof(x: number, y: number, z: number): void;
+ enableCargobobHook(state: number): void;
+ explode(isAudible: boolean, isInvisble: boolean): void;
+ explodeInCutscene(p0: boolean): void;
+ fixWindow(index: number): void;
+ getAcceleration(): number;
+ getAttachedToCargobob(): Handle;
+ getAttachedToTowTruck(): Handle;
+ getBoatAnchor(): boolean;
+ getBodyHealth(): number;
+ getBodyHealth2(): number;
+ getCargobobHookPosition(): Vector3Mp;
+ getCauseOfDestruction(): Hash;
+ getClass(): number;
+ getColor(r: number, g: number, b: number): {
+ r: number;
+ g: number;
+ b: number;
+ };
+ getColourCombination(): number;
+ getColours(colorPrimary: number, colorSecondary: number): {
+ colorPrimary: number;
+ colorSecondary: number;
+ };
+ getConvertibleRoofState(): number;
+ getCustomPrimaryColour(r: number, g: number, b: number): {
+ r: number;
+ g: number;
+ b: number;
+ };
+ getCustomSecondaryColour(r: number, g: number, b: number): {
+ r: number;
+ g: number;
+ b: number;
+ };
+ getDeformationAtPos(offsetX: number, offsetY: number, offsetZ: number): Vector3Mp;
+ getDirtLevel(): number;
+ getDoorAngleRatio(door: number): number;
+ getDoorLockStatus(): number;
+ getDoorsLockedForPlayer(player: Handle): boolean;
+ getEngineHealth(): number;
+ getExtraColours(pearlescentColor: number, wheelColor: number): {
+ pearlescentColor: number;
+ wheelColor: number;
+ };
+ getHandling(typeName: string): number | string;
+ getDefaultHandling(typeName: string): number | string;
+ getHeliEngineHealth(): number;
+ getHeliMainRotorHealth(): number;
+ getHeliTailRotorHealth(): number;
+ getIsEngineRunning(): number;
+ getIsLeftHeadlightDamaged(): boolean;
+ getIsPrimaryColourCustom(): boolean;
+ getIsRightHeadlightDamaged(): boolean;
+ getIsSecondaryColourCustom(): boolean;
+ getLandingGearState(): number;
+ getLastPedInSeat(seatIndex: number): Handle;
+ getLayoutHash(): Hash;
+ getLightsState(lightsOn: boolean, highbeamsOn: boolean): {
+ lightsOn: boolean;
+ highbeamsOn: boolean;
+ };
+ getLivery(): number;
+ getLiveryCount(): number;
+ getLiveryName(liveryIndex: number): string;
+ getMaxBreaking(): number;
+ getMaxNumberOfPassengers(): number;
+ getMaxTraction(): number;
+ getMod(modType: number): number;
+ getModColor1(paintType: number, color: number, p2: number): {
+ paintType: number;
+ color: number;
+ p2: number;
+ };
+ getModColor1TextLabel(p0: boolean): string;
+ getModColor2(paintType: number, color: number): {
+ paintType: number;
+ color: number;
+ p2: number;
+ };
+ getModColor2TextLabel(): string;
+ getModKit(): number;
+ getModKitType(): number;
+ getModModifierValue(modType: number, modIndex: number): any; // TODO
+ getModSlotName(modType: number): string;
+ getModTextLabel(modType: number, modValue: number): string;
+ getModVariation(modType: number): boolean;
+ getNeonLightsColour(r: number, g: number, b: number): {
+ r: number;
+ g: number;
+ b: number;
+ };
+ getNumberOfColours(): number;
+ getNumberOfPassengers(): number;
+ getNumberPlateText(): string;
+ getNumberPlateTextIndex(): number;
+ getNumModKits(): number;
+ getNumMods(modType: number): number;
+ getOwner(entity: Handle): boolean;
+ getPaintFade(): number;
+ getPedInSeat(index: number): Handle;
+ getPedUsingDoor(doorIndex: number): Handle;
+ getPetrolTankHealth(): number;
+ getPlateType(): number;
+ getSuspensionHeight(): number;
+ getTrailer(vehicle: Handle): Handle;
+ getTrainCarriage(cariage: number): Handle;
+ getTyresCanBurst(): boolean;
+ getTyreSmokeColor(r: number, g: number, b: number): {
+ r: number;
+ g: number;
+ b: number
+ };
+ getVehicleTrailer(vehicle: Handle): Handle;
+ getWheelType(): number;
+ getWindowTint(): number;
+ isAConvertible(p0: boolean): boolean;
+ isAlarmActivated(): boolean;
+ isAnySeatEmpty(): boolean;
+ isAttachedToCargobob(vehicleAttached: Handle): boolean;
+ isAttachedToTowTruck(vehicle: Handle): boolean;
+ isAttachedToTrailer(): boolean;
+ isBig(): boolean;
+ isBumperBrokenOff(front: boolean): boolean;
+ isCargobobHookActive(): boolean;
+ isCargobobMagnetActive(): boolean;
+ isDamaged(): boolean;
+ isDoorDamaged(doorId: number): boolean;
+ isDriveable(p0: boolean): boolean;
+ isExtraTurnedOn(extraId: number): boolean;
+ isHeliPartBroken(p0: boolean, p1: boolean, p2: boolean): boolean;
+ isHighDetail(): boolean;
+ isInBurnout(): boolean;
+ isModel(model: Hash): boolean;
+ isNeonLightEnabled(index: number): boolean;
+ isOnAllWheels(): boolean;
+ isSearchlightOn(): boolean;
+ isSeatFree(seatIndex: number): boolean;
+ isSirenOn(): boolean;
+ isSirenSoundOn(): boolean;
+ isStolen(): boolean;
+ isStopped(): boolean;
+ isStoppedAtTrafficLights(): boolean;
+ isStuckOnRoof(): boolean;
+ isStuckTimerUp(p0: number, p1: number): boolean;
+ isTaxiLightOn(): boolean;
+ isToggleModOn(modType: number): boolean;
+ isTyreBurst(wheelId: number, completely: boolean): boolean;
+ isVisible(): boolean;
+ isWindowIntact(windowIndex: number): boolean;
+ jitter(p0: boolean, yaw: number, pitch: number, roll: number): void;
+ lowerConvertibleRoof(instantlyLower: boolean): void;
+ movable(): boolean;
+ openBombBayDoors(): void;
+ raiseConvertibleRoof(instantlyRaise: boolean): void;
+ releasePreloadMods(): void;
+ removeHighDetailModel(): void;
+ removeMod(modType: number): void;
+ removeUpsidedownCheck(): void;
+ removeWindow(windowIndex: number): void;
+ requestHighDetailModel(): void;
+ resetStuckTimer(reset: boolean): void;
+ resetWheels(toggle: boolean): void;
+ retractCargobobHook(): void;
+ rollDownWindow(windowIndex: number): void;
+ rollDownWindows(): void;
+ rollUpWindow(windowIndex: number): void;
+ setAlarm(state: boolean): void;
+ setAllowNoPassengersLockon(toggle: boolean): void;
+ setAllsSpawns(p0: boolean, p1: boolean, p2: boolean): void;
+ setAutomaticallyAttaches(p0: any, p1: any): void;
+ setBikeLeanAngle(x: number, y: number): void;
+ setBoatAnchor(toggle: boolean): void;
+ setBodyHealth(value: number): void;
+ setBrakeLights(toggle: boolean): void;
+ setBurnout(toggle: boolean): void;
+ setCanBeTargetted(state: boolean): void;
+ setCanBeUsedByFleeingPeds(toggle: boolean): void;
+ setCanBeVisiblyDamaged(state: boolean): void;
+ setCanBreak(toggle: boolean): void;
+ setCanRespray(state: boolean): void;
+ setCeilingHeight(p0: number): void;
+ setColourCombination(numCombos: number): void;
+ setColours(colorPrimary: number, colorSecondary: number): void;
+ setConvertibleRoof(p0: boolean): void;
+ setCreatesMoneyPickupsWhenExploded(toggle: boolean): void;
+ setCustomPrimaryColour(r: number, g: number, b: number): void;
+ setCustomSecondaryColour(r: number, g: number, b: number): void;
+ setDamage(xOffset: number, yOffset: number, zOffset: number, damage: number, radius: number, p5: boolean): void;
+ setDeformationFixed(): void;
+ setDirtLevel(dirtLevel: number): void;
+ setDisablePetrolTankDamage(toggle: boolean): void;
+ setDisablePetrolTankFires(toggle: boolean): void;
+ setDoorBreakable(doorIndex: number, isBreakable: boolean): void;
+ setDoorBroken(doorIndex: number, createDoorObject: boolean): void;
+ setDoorControl(doorIndex: number, speed: number, angle: number): void;
+ setDoorLatched(doorIndex: number, p1: boolean, p2: boolean, p3: boolean): void;
+ setDoorOpen(doorIndex: number, loose: boolean, openInstantly: boolean): void;
+ setDoorShut(doorIndex: number, closeInstantly: boolean): void;
+ setDoorsLocked(doorLockStatus: number): void;
+ setDoorsLockedForAllPlayers(toggle: boolean): void;
+ setDoorsLockedForPlayer(player: Handle, toggle: boolean): void;
+ setDoorsLockedForTeam(team: number, toggle: boolean): void;
+ setDoorsShut(closeInstantly: boolean): void;
+ setEngineCanDegrade(toggle: boolean): void;
+ setEngineHealth(health: number): void;
+ setEngineOn(value: boolean, instantly: boolean, otherwise: boolean): void;
+ setEnginePowerMultiplier(value: number): void;
+ setEngineTorqueMultiplier(value: number): void;
+ setExclusiveDriver(ped: Handle, p1: number): void;
+ setExplodesOnHighExplosionDamage(toggle: boolean): void;
+ setExtra(extraId: number, toggle: number): void;
+ setExtraColours(pearlescentColor: number, wheelColor: number): void;
+ setFixed(): void;
+ setForwardSpeed(speed: number): void;
+ setFrictionOverride(friction: number): void;
+ setFullbeam(toggle: boolean): void;
+ setGravity(toggle: boolean): void;
+ setHalt(distance: number, killEngine: number, unknown: boolean): void;
+ setHandbrake(toggle: boolean): void;
+ setHandling(typeName: string, value: number | string): void;
+ setHasBeenOwnedByPlayer(owned: boolean): void;
+ setHasStrongAxles(toggle: boolean): void;
+ setHeliBladesFullSpeed(): void;
+ setHeliBladeSpeed(speed: number): void;
+ setHelicopterRollPitchYawMult(multiplier: number): void;
+ setIndicatorLights(turnSignal: number, toggle: boolean): void;
+ setInteriorLight(toggle: boolean): void;
+ setIsConsideredByPlayer(toggle: boolean): void;
+ setIsStolen(isStolen: boolean): void;
+ setIsWanted(state: boolean): void;
+ setJetEngineOn(toggle: boolean): void;
+ setLandingGear(state: number): void;
+ setLightMultiplier(multiplier: number): void;
+ setLights(state: number | boolean): void;
+ setLivery(livery: number): void;
+ setLodMultiplier(multiplier: number): void;
+ setMissionTrainCoords(x: number, y: number, z: number): void;
+ setMod(modType: number, modIndex: number): void;
+ setModColor1(paintType: number, color: number, p2: number): void;
+ setModColor2(paintType: number, color: number): void;
+ setModKit(modKit: number): void;
+ setNameDebug(name: string): void;
+ setNeedsToBeHotwired(toggle: boolean): void;
+ setNeonLightEnabled(index: number, toggle: boolean): void;
+ setNeonLightsColour(r: number, g: number, b: number): void;
+ setNumberPlateText(plateText: string): void;
+ setNumberPlateTextIndex(plateIndex: number): void;
+ setOnGroundProperly(): boolean;
+ setOutOfControl(killDriver: boolean, explodeOnImpact: boolean): void;
+ setPaintFade(fade: number): void;
+ setPedEnabledBikeRingtone(p0: any): boolean;
+ setPedTargettableDestory(vehicleComponent: number, destroyType: number): void;
+ setPetrolTankHealth(fix: number): void;
+ setPlaneMinHeightAboveGround(height: number): void;
+ setPlaybackToUseAi(flag: number): void;
+ setPlayersLast(): void;
+ setProvidesCover(toggle: boolean): void;
+ setReduceGrip(toggle: boolean): void;
+ setRenderTrainAsDerailed(toggle: boolean): void;
+ setRudderBroken(p0: boolean): void;
+ setSearchlight(toggle: boolean, canBeUsedByAI: boolean): void;
+ setSilent(toggle: boolean): void;
+ setSiren(toggle: boolean): void;
+ setSteerBias(value: number): void;
+ setStrong(toggle: boolean): void;
+ setTaxiLights(state: boolean): void;
+ setTimedExplosion(ped: Handle, toggle: boolean): void;
+ setTowTruckCraneHeight(height: number): void;
+ setTrainCruiseSpeed(speed: number): void;
+ setTrainSpeed(speed: number): void;
+ setTyreBurst(tyreIndex: number, onRim: boolean, p2: number): void;
+ setTyreFixed(tyreIndex: number): void;
+ setTyresCanBurst(toggle: boolean): void;
+ setTyreSmokeColor(r: number, g: number, b: number): void;
+ setUndriveable(toggle: boolean): void;
+ setWheelsCanBreak(enabled: boolean): void;
+ setWheelsCanBreakOffWhenBlowUp(toggle: boolean): void;
+ setWheelType(wheelType: number): void;
+ setWindowTint(tint: number): void;
+ smashWindow(index: number): void;
+ startAlarm(): void;
+ startHorn(duration: number, model: Hash, forever: boolean): void;
+ steerUnlockBias(toggle: boolean): void;
+ toggleMod(modType: number, toggle: boolean): void;
+ trackVisibility(): void;
+ wasCounterActivated(p0: any): boolean;
+}
+
+// -------------------------------------------------------------------------
+// Simple MP types
+// -------------------------------------------------------------------------
+
+interface BrowserMp {
+ active: boolean;
+ url: string;
+
+ destroy(): void;
+ execute(code: string): void;
+ markAsChat(): void;
+ reload(ignoreCache: boolean): void;
+ call(eventName: string, ...args: any[]): void;
+ callProc(procName: string, ...args: any[]): Promise;
+ executeCached(code: string): void;
+}
+
+interface CameraMp {
+ handle: Handle;
+
+ animatedShake(p0: string, p1: string, p2: string, p3: number): void;
+ attachTo(entity: Handle, boneIndex: number, xPos: number, yPos: number, zPos: number, xRot: number, yRot: number,
+ zRot: number, p8: boolean, useSoftPinning: boolean, collision: boolean, isPed: boolean, vertexIndex: number,
+ fixedRot: boolean): void;
+ attachTo(entity: Handle, xOffset: number, yOffset: number, zOffset: number, isRelative: boolean): void;
+ attachToPedBone(ped: Handle, boneIndex: number, x: number, y: number, z: number, heading: boolean): void;
+ destroy(destroy?: boolean): void;
+ detach(): void;
+ doesExist(): boolean;
+ getAnimCurrentPhase(): number;
+ getCoord(): Vector3Mp;
+ getDirection(): Vector3Mp;
+ getFarClip(): number;
+ getFarDof(): number;
+ getFov(): number;
+ getNearClip(): number;
+ getRot(p0: number): Vector3Mp;
+ getSplinePhase(): number;
+ isActive(): boolean;
+ isInterpolating(): boolean;
+ isPlayingAnim(animName: string, animDictionary: string): boolean;
+ isRendering(): boolean;
+ isShaking(): boolean;
+ playAnim(animName: string, animDictionary: string, x: number, y: number, z: number, xRot: number, yRot: number,
+ zRot: number, p8: boolean, p9: number): void;
+ playAnim(animName: string, propName: string, p2: number, p3: boolean, p4: boolean, p5: boolean, delta: number,
+ bitset: any): boolean;
+ pointAt(entity: EntityMp, offsetX: number, offsetY: number, offsetZ: number, p4: boolean): void;
+ pointAtCoord(x: number, y: number, z: number): void;
+ pointAtPedBone(ped: Handle, boneIndex: number, x: number, y: number, z: number, heading: boolean): void;
+ setActive(active: boolean): void;
+ setActiveWithInterp(camFrom: Handle, duration: number, easeLocation: number, easeRotation: number): void;
+ setAffectsAiming(toggle: boolean): void;
+ setAnimCurrentPhase(phase: number): void;
+ setCoord(posX: number, posY: number, posZ: number): void;
+ setDebugName(name: string): void;
+ setDofFnumberOfLens(p1: number): void;
+ setDofFocusDistanceBias(p0: number): void;
+ setDofMaxNearInFocusDistance(p0: number): void;
+ setDofMaxNearInFocuxDistanceBlendLevel(p0: number): void;
+ setDofPlanes(p0: number, p1: number, p2: number, p3: number): void;
+ setDofStrength(dofStrength: number): void;
+ setFarClip(farClip: number): void;
+ setFarDof(farDof: number): void;
+ setFov(fieldOfView: number): void;
+ setInheritRollVehicle(p1: boolean): void;
+ setMotionBlurStrength(strength: number): void;
+ setNearClip(nearClip: number): void;
+ setNearDof(nearDof: number): void;
+ setParams(x: number, y: number, z: number, xRot: number, yRot: number, zRot: number, fov: number, duration: number,
+ p8: number, p9: number, p10: number): void;
+ setRot(rotX: number, rotY: number, rotZ: number, p3: number): void;
+ setShakeAmplitude(amplitude: number): void;
+ setUseShallowDofMode(toggle: boolean): void;
+ shake(type: string, amplitude: number): void;
+ stopPointing(): void;
+ stopShaking(p0: boolean): void;
+}
+
+interface ConsoleMp {
+ logInfo(message: string, save?: boolean, saveAsync?: boolean): void;
+ logWarning(message: string, save?: boolean, saveAsync?: boolean): void;
+ logError(message: string, save?: boolean, saveAsync?: boolean): void;
+ logFatal(message: string, save?: boolean, saveAsync?: boolean): void;
+ clear(): void;
+ reset(): void;
+ verbosity: RageEnums.ConsoleVerbosity | string;
+}
+
+interface DiscordMp {
+ update(status: string, state: string): void;
+}
+
+interface KeysMp {
+ bind(keyCode: number, keyHold: boolean, handler: Function): void;
+ isUp(keyCode: number): boolean;
+ isDown(keyCode: number): boolean;
+ unbind(keyCode: number, keyHold: boolean, handler?: Function): void;
+}
+
+interface NametagsMp {
+ enabled: boolean;
+
+ set(style: {
+ font: number;
+ outline: boolean;
+ offset: number;
+ veh_offset: number;
+ color: RGBA;
+ size: number;
+
+ hbar?: {
+ size: [number, number];
+ color: RGBA;
+ bg_color: RGBA;
+ }
+ }): void;
+}
+
+interface RaycastingMp {
+ testPointToPoint(startPos: Vector3Mp, endPos: Vector3Mp, ignoreEntity?: Handle, flags?: number): RaycastResult; // TODO: ignoreEntity
+ testCapsule(startPos: Vector3Mp, endPos: Vector3Mp, radius: number, ignoreEntity?: Handle, flags?: number[]): RaycastResult; // TODO: ignoreEntity
+}
+
+interface StorageMp {
+ data: { [key: string]: any };
+
+ flush(): void;
+}
+
+interface SystemMp {
+ isFullscreen: boolean;
+ isFocused: boolean;
+ notify(args: {
+ title: string,
+ text: string,
+ attribute: string,
+ duration: number,
+ silent: boolean
+ }): void;
+}
+
+interface UserMp {
+ preferences: UserPreferencesMp;
+}
+
+interface UserPreferencesMp {
+ lowQualityAssets: boolean;
+ language: string;
+}
+
+interface VoiceChatMp {
+ minVad: number;
+ muted: boolean;
+ readonly isAllowed: boolean;
+ readonly lastVad: number;
+
+ getPreprocessingParam(param: number): any; // TODO
+ setPreprocessingParam(param: number, value: any): void; // TODO
+ cleanupAndReload(p0: boolean, p1: boolean, p2: boolean): void;
+}
+
+// -------------------------------------------------------------------------
+// Game MP types
+// -------------------------------------------------------------------------
+
+interface GameAppMp {
+ appDeleteAppData(appName: string): boolean;
+ appGetFloat(property: string): number;
+ appGetString(property: string): string;
+ appGetInt(property: string): number;
+ appHasSyncedData(property: string): boolean;
+ appSetApp(appName: string): void;
+ appSetBlock(blockName: string): void;
+ appSetFloat(property: string, value: number): void;
+ appSetInt(property: string, value: number): void;
+ appSetString(property: string, value: string): void;
+}
+
+interface GameAudioMp {
+ addLineToConversation(p0: any, p1: any, p2: any, p3: any, p4: any, p5: boolean, p6: boolean,
+ p7: boolean, p8: boolean, p9: any, p10: boolean, p11: boolean, p12: boolean): void;
+ addPedToConversation(p0: any, p1: any, p2: string): void;
+ cancelMusicEvent(eventName: string): boolean;
+ clearAmbientZoneListState(p0: any, p1: boolean): void;
+ clearAmbientZoneState(p0: any, p1: boolean): void;
+ findRadioStationIndex(station: number): number;
+ freezeRadioStation(radioStation: string): void;
+ getNetworkIdFromSoundId(soundId: number): number;
+ getNumberOfPassengerVoiceVariations(p0: any): number;
+ getPlayerHeadsetSoundAlternate(p0: string, p1: number): void;
+ getRadioStationName(radioStation: number): string;
+ getSoundIdFromNetworkId(netId: number): number;
+ getSynchronizedAudioEventPositionThisFrame(p0: string, p1: Handle): void;
+ getVehicleDefaultHorn(vehicle: Handle): Hash;
+ hasSoundFinished(soundId: number): boolean;
+ hintAmbientAudioBank(p0: any, p1: any): void;
+ hintScriptAudioBank(p0: any, p1: any): void;
+ interruptConversation(p0: any, p1: any, p2: any): void;
+ isAlarmPlayer(alarmName: string): boolean;
+ isAmbientSpeechPlaying(p0: Handle): boolean;
+ isAmbientZoneEnabled(ambientZone: string): boolean;
+ isAudioSceneActive(scene: string): boolean;
+ isScriptedSpeechPlaying(p0: any): boolean;
+ loadStream(streamName: string, soundSet: string): boolean;
+ loadStreamWithStartOffset(streamName: string, startOffset: number, soundSet: string): boolean;
+ overrideTrevorRage(p0: any): void;
+ overrideUnderwaterStream(p0: any, p1: boolean): void;
+ pauseScriptedConversation(p0: boolean): void;
+ playAmbientSpeechAtCoords(p0: string, p1: string, p2: number, p3: number, p4: number, p5: string): void;
+ playAmbientSpeechWithVoice(p0: Handle, speechName: string, voiceName: string, speechParam: string,
+ p4: boolean): void;
+ playEndCreditsMusic(play: boolean): void;
+ playMissionCompleteAudio(audioName: string): void;
+ playPain(painId: number, p1: number, p2: number): void;
+ playPedRingtone(ringtoneName: string, ped: Handle, p2: boolean): void;
+ playPoliceReport(name: string, p1: number): void;
+ playSound(soundId: number, audioName: string, audioRef: string, p3: boolean, p4: any, p5: boolean): void;
+ playSoundFromCoord(soundId: number, audioName: string, x: number, y: number, z: number, audioRef: string, p6: boolean,
+ p7: any, p8: boolean): void;
+ playSoundFromEntity(soundId: number, audioName: string, entity: Handle, audioRef: string, p4: boolean, p5: any): void;
+ playSoundFrontend(soundId: number, audioName: string, audioRef: string, p3: boolean): void;
+ playStreamFromObject(object: Handle): void;
+ playSynchronizedAudioEvent(p0: any): boolean;
+ preloadScriptConversation(p0: boolean, p1: boolean, p2: boolean, p3: boolean): void;
+ preloadScriptPhoneConversation(p0: boolean, p1: boolean): void;
+ prepareAlarm(alarmName: string): boolean;
+ prepareMusicEvent(eventName: string): boolean;
+ prepareSynchronizedAudioEvent(p0: string, p1: any): void;
+ prepareSynchronizedAudioEventForScene(p0: any, p1: any): boolean;
+ registerScriptWithAudio(p0: any): void;
+ releasedNamedScriptAudioBank(audioBank: string): void;
+ releaseSoundId(soundId: number): void;
+ requestAmbientAudioBank(p0: string, p1: boolean): boolean;
+ requestMissionAudioBank(p0: string, p1: boolean): boolean;
+ requestScriptAudioBank(p0: string, p1: boolean): boolean;
+ resetPedAudioFlags(p0: any): void;
+ setAggressiveHorns(toggle: boolean): void;
+ setAmbientZoneListState(p0: any, p1: boolean, p2: boolean): void;
+ setAmbientZoneListStatePersistent(ambientZone: string, p1: boolean, p2: boolean): void;
+ setAmbientZoneState(p0: any, p1: boolean, p2: boolean): void;
+ setAmbientZoneStatePersistent(ambientZone: string, p1: boolean, p2: boolean): void;
+ setAnimalMood(p0: any, p1: any): void;
+ setAudioFlag(flagName: string, toggle: boolean): void;
+ setAudioSceneVariable(p0: any, p1: any, p2: number): void;
+ setCutsceneAudioOverride(p0: string): void;
+ setEmitterRadioStation(emitterName: string, radioStation: string): void;
+ setFrontendRadioActive(active: boolean): void;
+ setGpsActive(active: boolean): void;
+ setInitialPlayerStation(radioStation: string): void;
+ setMicrophonePosition(p0: boolean, x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, x3: number,
+ y3: number, z3: number): void;
+ setMobilePhoneRadioState(state: boolean): void;
+ setMobileRadioEnabledDuringGameplay(toggle: boolean): void;
+ setPlayerAngry(playerPed: Handle, disabled: boolean): void;
+ setRadioAutoUnfreeze(p0: boolean): void;
+ setRadioToStationIndex(radioStation: number): void;
+ setRadioToStationName(stationName: string): void;
+ setRadioTrack(radioStation: string, radioTrack: string): void;
+ setStaticEmitterEnabled(emitterName: string, toggle: boolean): void;
+ setUserRadioControlEnabled(p0: boolean): void;
+ setVariableOnSound(soundId: number, p1: any, p2: number): void;
+ setVariableOnStream(p0: string, p1: number): void;
+ specialFrontendEqual(x: number, y: number, z: number): void;
+ startAlarm(alarmName: string, p2: boolean): void;
+ startAudioScene(sceneName: string): boolean;
+ startScriptConversation(p0: boolean, p1: boolean, p2: boolean, p3: boolean): void;
+ startScriptPhoneConversation(p0: boolean, p1: boolean): void;
+ stopAlarm(alarmName: string, toggle: boolean): void;
+ stopAllAlarms(stop: boolean): void;
+ stopAudioScene(scene: string): void;
+ stopCurrentPlayerAmbientSpeech(p0: Handle): void;
+ stopScriptedConversation(p0: boolean): void;
+ stopSound(soundId: number): void;
+ stopSynchronizedAudioEvent(p0: any): boolean;
+ triggerMusicEvent(eventName: string): boolean;
+ unfreezeRadioStation(radioStation: string): void;
+ unlockMissionNewsStory(newsStory: number): void;
+}
+
+interface GameBrainMp {
+ addScriptToRandom(name: string, model: Hash, p2: number, p3: number): void;
+ disableScriptBrainSet(brainSet: number): void;
+ enableScriptBrainSet(brainSet: number): void;
+ isObjectWithinBrainActivationRange(object: Handle): boolean;
+ registerObjectScriptBrain(stringName: string, p1: Hash, p2: number, p3: number, p4: number, p5: number): void;
+ registerWorldPointScriptBrain(p0: any, p1: number, p2: any): void;
+}
+
+interface GameCamMp {
+ addCamSplineNode(camera: number, x: number, y: number, z: number, xRot: number, yRot: number, zRot: number,
+ length: number, p8: number, p9: number): void;
+ animateGameplayCamZoom(p0: number, distance: number): void;
+ clampGameplayCamPitch(minimum: number, maximum: number): void;
+ clampGameplayCamYaw(minimum: number, maximum: number): void;
+ createCam(camName: string, p1: boolean): Handle;
+ createCamera(camHash: number, p1: boolean): Handle;
+ createCameraWithParams(camHash: number, posX: number, posY: number, posZ: number, rotX: number, rotY: number,
+ rotZ: number, fov: number, p8: boolean, p9: any): Handle;
+ createCamWithParams(camName: string, posX: number, posY: number, posZ: number, rotX: number, rotY: number,
+ rotZ: number, fov: number, p8: boolean, p9: any): Handle;
+ createCinematicShot(p0: any, p1: number, p2: any, entity: Handle): void;
+ destroyAllCams(destroy: boolean): void;
+ doScreenFadeIn(duration: number): void;
+ doScreenFadeOut(duration: number): void;
+ getCamSplineNodeIndex(cam: number): boolean;
+ getCamSplineNodePhase(p0: any): number;
+ getGameplayCamRelativeHeading(): number;
+ getGameplayCamRot(p0: number): Vector3Mp;
+ getGameplayCamRot(p0: number): Vector3Mp;
+ getIsMultiplayerBrief(p0: boolean): void;
+ isCamSplinePaused(p0: any): boolean;
+ isCinematicShotActive(p0: any): boolean;
+ isSphereVisible(x: number, y: number, z: number, radius: number): boolean;
+ overrideCamSplineMotionBlur(p0: any, p1: any, p2: number, p3: number): void;
+ overrideCamSplineVelocity(cam: number, p1: number, p2: number, p3: number): void;
+ playSynchronizedCamAnim(p0: any, p1: any, animName: string, animDictionary: string): boolean;
+ renderScriptCams(render: boolean, ease: boolean, easeTime: number, p3: boolean, p4: boolean): void;
+ setCamEffect(p0: number): void;
+ setCamSplineDuration(cam: number, timeDuration: number): void;
+ setCamSplinePhase(cam: number, p1: number): void;
+ setCinematicButtonActive(p0: boolean): void;
+ setCinematicCamShakeAmplitude(p0: number): void;
+ setCinematicModeActive(p0: boolean): void;
+ setFollowPedCamCutsceneChat(p0: string, p1: number): void;
+ setFollowPedCamViewMode(viewMode: number): void;
+ setFollowVehicleCamViewMode(viewMode: number): void;
+ setFollowVehicleCamZoomLevel(zoomLevel: number): void;
+ setGameplayCamRawPitch(pitch: number): void;
+ setGameplayCamRawYaw(yaw: number): void;
+ setGameplayCamRelativeHeading(heading: number): void;
+ setGameplayCamRelativePitch(x: number, p1: number): void;
+ setGameplayCamShakeAmplitude(amplitude: number): void;
+ setGameplayCoordHint(p0: number, p1: number, p2: number, p3: any, p4: any, p5: any, p6: any): void;
+ setGameplayEntityHint(p0: any, p1: number, p2: number, p3: number, p4: boolean, p5: any, p6: any, p7: any,
+ p8: any): void;
+ setGameplayHintFov(fov: number): void;
+ setGameplayObjectHint(p0: any, p1: number, p2: number, p3: number, p4: boolean, p5: any, p6: any,
+ p7: any): void;
+ setGameplayPedHint(p0: Handle, x1: number, y1: number, z1: number, p4: boolean, p5: any, p6: any, p7: any): void;
+ setGameplayVehicleHint(p0: any, p1: number, p2: number, p3: number, p4: boolean, p5: any, p6: any,
+ p7: any): void;
+ setTimeIdleDrop(p0: boolean, p1: boolean): void;
+ setWidescreenBorders(p0: boolean, p1: number): void;
+ shakeCinematicCam(p0: string, p1: number): void;
+ shakeGameplayCam(shakeName: string, intensity: number): void;
+ stopCinematicCamShaking(p0: boolean): void;
+ stopCinematicShot(p0: any): void;
+ stopGameplayCamShaking(p0: boolean): void;
+ stopGameplayHint(p0: boolean): void;
+}
+
+interface GameControlsMp {
+ useDefaultVehicleEntering: boolean;
+
+ disableAllControlActions(inputGroup: number): void;
+ disableControlAction(inputGroup: number, control: number, disable: boolean): void;
+ enableAllControlActions(inputGroup: number): void;
+ enableControlAction(inputGroup: number, control: number, enable: boolean): void;
+ getControlActionName(inputGroup: number, control: number, p2: boolean): string;
+ getControlNormal(inputGroup: number, control: number): number;
+ getControlValue(inputGroup: number, control: number): number;
+ getDisabledControlNormal(inputGroup: number, control: number): number;
+ isControlEnabled(inputGroup: number, control: number): boolean;
+ isControlJustPressed(inputGroup: number, control: number): boolean;
+ isControlJustReleased(inputGroup: number, control: number): boolean;
+ isControlPressed(inputGroup: number, control: number): boolean;
+ isControlReleased(inputGroup: number, control: number): boolean;
+ isDisabledControlJustPressed(inputGroup: number, control: number): boolean;
+ isDisabledControlJustReleased(inputGroup: number, control: number): boolean;
+ isDisabledControlPressed(inputGroup: number, control: number): boolean;
+ isInputDisabled(inputGroup: number): boolean;
+ isInputJustDisabled(inputGroup: number): boolean;
+ setControlNormal(inputGroup: number, control: number, amount: number): boolean;
+ setInputExclusive(inputGroup: number, control: number): void;
+ setPadShake(p0: number, duration: number, frequency: number): void;
+ setPlayerpadShakesWhenControllerDisabled(toggle: boolean): void;
+ stopPadShake(p0: any): void;
+}
+
+interface GameCutsceneMp {
+ setCutscenePedPropVariation(cutsceneEntName: string, p1: number, p2: number, p3: number, modelHash: Hash): void;
+ getEntityIndexOfCutsceneEntity(cutsceneEntName: string, modelHash: Hash): EntityMp;
+ startCutscene(p0: number): void;
+ startCutsceneAtCoords(x: number, y: number, z: number, p3: number): void;
+ hasThisCutsceneLoaded(cutsceneName: string): boolean;
+ doesCutsceneEntityExist(cutsceneEntName: string, modelHash: Hash): boolean;
+ canSetExitStateForRegisteredEntity(cutsceneEntName: string, modelHash: Hash): boolean;
+ canSetEnterForRegisteredEntity(cutsceneEntName: string, modelHash: Hash): boolean;
+ requestCutscene(cutsceneName: string, p1: number): void;
+ setCutsceneFadeValues(p0: boolean, p1: boolean, p2: boolean, p3: boolean): void;
+ setCutsceneTriggerArea(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void;
+ canSetExitStateForCamera(p0: boolean): boolean;
+ setCutsceneOrigin(p0: any, p1: any, p2: any, p3: any, p4: any): void;
+ setCutscenePedComponentVariation(cutsceneEntName: string, p1: number, p2: number, p3: number, modelHash: number): void;
+ getEntityIndexOfRegisteredEntity(cutsceneEntName: string, modelHash: Hash): EntityMp;
+ requestCutscene2(cutsceneName: string, p1: number, p2: number): void;
+ stopCutscene(p0: boolean): void;
+ registerEntityForCutscene(cutscenePed: Handle, cutsceneEntName: string, p2: number, modelHash: number, p4: number): void;
+}
+
+interface GameDatafileMp {
+ arrayValueAddBoolean(arrayData: any, value: boolean): void;
+ arrayValueAddFloat(arrayData: any, value: number): void;
+ arrayValueAddInteger(arrayData: any, value: number): void;
+ arrayValueAddObject(arrayData: any): void;
+ arrayValueAddString(arrayData: any, value: string): void;
+ arrayValueAddVector3(arrayData: any, valueX: number, valueY: number, valueZ: number): void;
+ arrayValueGetBoolean(arrayData: any, arrayIndex: number): boolean;
+ arrayValueGetFloat(arrayData: any, arrayIndex: number): number;
+ arrayValueGetInteger(arrayData: any, arrayIndex: number): number;
+ arrayValueGetObject(arrayData: any, arrayIndex: number): any;
+ arrayValueGetSize(arrayData: any): number;
+ arrayValueGetString(arrayData: any, arrayIndex: number): string;
+ arrayValueGetType(arrayData: any, arrayIndex: number): number;
+ arrayValueGetVector3(arrayData: any, arraayIndex: number): Vector3Mp;
+ loadUgcFile(filename: string): boolean;
+ objectValueAddArray(objectData: any, key: string): void;
+ objectValueAddBoolean(arrayData: any, key: string, value: boolean): void;
+ objectValueAddFloat(objectData: any, key: string, value: number): void;
+ objectValueAddInteger(objectData: any, key: string, value: number): void;
+ objectValueAddObject(objectData: any, key: string): void;
+ objectValueAddString(objectData: any, key: string, value: string): void;
+ objectValueAddVector3(objectData: any, key: string, valueX: number, valueY: number, valueZ: number): void;
+ objectValueGetArray(objectData: any, key: string): any;
+ objectValueGetBoolean(objectData: any, key: string): boolean;
+ objectValueGetFloat(objectData: any, key: string): number;
+ objectValueGetInteger(objectData: any, key: string): number;
+ objectValueGetObject(objectData: any, key: string): void;
+ objectValueGetString(objectData: any, key: string): string;
+ objectValueGetType(objectData: any, key: string): number;
+ objectValueGetVector3(objectData: any, key: string): Vector3Mp;
+
+}
+
+interface GameDecisioneventMp {
+ addShockingEventAtPosition(type: number, x: number, y: number, z: number, duration: number): GameScriptMp;
+ addShockingEventForEntity(type: number, entity: Handle, duration: number): GameScriptMp;
+ blockDecisionMakerEvent(name: Hash, type: number): void;
+ clearDecisionMakerEventResponse(name: Hash, type: number): void;
+ isShockingEventInSphere(type: number, x: number, y: number, z: number, radius: number): boolean;
+ removeAllShockingEvents(p0: boolean): void;
+ removeShockingEvent(event: GameScriptMp): boolean;
+ suppressShockingEvent(type: number): void;
+ unblockDecisionMakerEvent(name: Hash, type: number): void;
+}
+
+interface GameDecoratorMp {
+ decorIsRegisteredAsType(propertyName: string, type: number): boolean;
+ decorRegister(propertyName: string, type: number): void;
+}
+
+interface GameDlc1Mp {
+ getDlcVehicleData(dlcVehicleIndex: number, outData: any): boolean;
+ getDlcVehicleFlags(p0: number): number;
+ getDlcVehicleModel(dlcVehicleIndex: number): Hash;
+ getDlcWeaponComponentData(p0: any, p1: any,
+ componentDataPtr: {
+ attachBone: number;
+ padding1: number;
+ bActiveByDefault: number;
+ padding2: number;
+ unk: number;
+ padding3: number;
+ componentHash: number;
+ padding4: number;
+ unk2: number;
+ padding5: number;
+ componentCost: number;
+ padding6: number;
+ nameLabel: string;
+ descLabel: string;
+ }
+ ): boolean;
+ getDlcWeaponData(dlcWeaponIndex: number,
+ outData: {
+ emptyCheck: number;
+ padding1: number;
+ weaponHash: number;
+ padding2: number;
+ unk: number;
+ padding3: number;
+ weaponCost: number;
+ padding4: number;
+ ammoCost: number;
+ padding5: number;
+ ammoType: number;
+ padding6: number;
+ defaultClipSize: number;
+ padding7: number;
+ nameLabel: string;
+ descLabel: string;
+ desc2Label: string;
+ upperCaseNameLabel: string;
+ }
+ ): boolean;
+ getForcedComponent(componentHash: Hash, componentId: number, p2: any, p3: any, p4: any): void;
+ getNumDlcWeaponComponents(dlcWeaponIndex: number): number;
+ getNumForcedComponents(componentHash: Hash): number;
+ getNumPropsFromOutfit(p0: number, p1: number, p2: number, p3: boolean, p4: number, componentId: number): number;
+ getPropFromOutfit(outfit: any, slot: number, item: any): boolean;
+ getShopPedComponent(p0: any, p1: any): void;
+ getShopPedOutfit(p0: any, p1: any): void;
+ getShopPedQueryComponent(componentId: number, outComponent: number): number;
+ getShopPedQueryOutput(p0: any,
+ outfit: {
+ mask: number;
+ torso: number;
+ pants: number;
+ parachute: number;
+ shoes: number;
+ misc1: number;
+ tops1: number;
+ armour: number;
+ crew: number;
+ tops2: number;
+ hat: number;
+ glasses: number;
+ earpiece: number;
+ maskTexture: number;
+ torsoTexture: number;
+ pantsTexture: number;
+ parachuteTexture: number;
+ shoesTexture: number;
+ misc1Texture: number;
+ tops1Texture: number;
+ armourTexture: number;
+ crewTexture: number;
+ tops2Texture: number;
+ hatTexture: number;
+ glassesTexture: number;
+ earpiceTexture: number;
+ }
+ ): void;
+ getShopPedQueryProp(p0: any, p1: any): void;
+ getVariantComponent(componentHash: Hash, componentId: number, p2: any, p3: any, p4: any): void;
+ initShopPedComponent(outComponent: number): number;
+ initShopPedProp(outProp: number): number;
+ isDlcDataEmpty(dlcData: number): boolean;
+}
+
+interface GameDlc2Mp {
+ isDlcPresent(dlcHash: Hash): boolean;
+ nullify(variable: any, unused: any): boolean;
+}
+
+interface GameEntityMp {
+ createForcedObject(x: number, y: number, z: number, p3: any, modelHash: Hash, p5: boolean): void;
+ createModelHide(x: number, y: number, z: number, radius: number, model: Hash, p5: boolean): void;
+ createModelHideExcludingScriptObjects(x: number, y: number, z: number, radius: number, model: Hash,
+ p5: boolean): void;
+ createModelSwap(x: number, y: number, z: number, radius: number, originalModel: Hash,
+ newModel: Hash, p6: boolean): void;
+ findAnimEventPhase(animDictionary: string, animName: string, p2: string, p3: any, p4: any): boolean;
+ getEntityAnimDuration(animDict: string, animName: string): number;
+ isAnEntity(handle: Handle): boolean;
+ playSynchronizedMapEntityAnim(p0: number, p1: number, p2: number, p3: number, p4: any, p5: any, p6: any,
+ p7: any, p8: number, p9: number, p10: any, p11: number): boolean;
+ removeForcedObject(p0: any, p1: any, p2: any, p3: any, p4: any): void;
+ removeModelHide(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any): void;
+ removeModelSwap(x: number, y: number, z: number, radius: number, originModel: Hash,
+ newModel: Hash, p6: boolean): void;
+ setObjectAsNoLongerNeeded(object: Handle): void;
+ stopSynchronizedMapEntityAnim(p0: number, p1: number, p2: number, p3: number, p4: any, p5: number): boolean;
+ wouldEntityBeOccluded(hash: Hash, x: number, y: number, z: number, p4: boolean): boolean;
+}
+
+interface GameFireMp {
+ addSpecfxExplosion(x: number, y: number, z: number, explosionType: number, explosionFx: Hash,
+ damageScale: number, isAudible: boolean, isInvisible: boolean, cameraShake: number): void;
+ getClosestFirePos(outPosition: Vector3Mp, x: number, y: number, z: number): Vector3Mp;
+ getNumberOfFiresInRange(x: number, y: number, z: number, radius: number): number;
+ getPedInsideExplosionArea(explosionType: number, x1: number, y1: number, z1: number, x2: number, y2: number,
+ z2: number, radius: number): EntityMp;
+ isExplosionInAngledArea(explosionType: number, x1: number, y1: number, z1: number, x2: number, y2: number, z2: number,
+ angle: number): boolean;
+ isExplosionInArea(explosionType: number, x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): boolean;
+ isExplosionInSphere(explosionType: number, x: number, y: number, z: number, radius: number): boolean;
+ removeScriptFire(fireHandle: Handle): void;
+ startScriptFire(x: number, y: number, z: number, maxChildren: number, isGasFire: boolean): number;
+ stopFireInRange(x: number, y: number, z: number, radius: number): void;
+}
+
+interface GameGameplayMp {
+ absf(value: number): number;
+ absi(value: number): number;
+ acos(p0: number): number;
+ addHospitalRestart(x: number, y: number, z: number, p3: number, p4: any): number;
+ addPoliceRestart(p0: number, p1: number, p2: number, p3: number, p4: any): void;
+ addStuntJump(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number,
+ p8: number, p9: number, p10: number, p11: number, p12: number, p13: number, p14: number, p15: any, p16: any): number;
+ addStuntJumpAngled(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number,
+ p8: number, p9: number, p10: number, p11: number, p12: number, p13: number, p14: number, p15: number, p16: number,
+ p17: any, p18: any): number
+ areStringsEqual(string1: string, string2: string): boolean;
+ asin(p0: number): number;
+ atan(p0: number): number;
+ atan2(p0: number, p1: number): number;
+ beginReplayStats(p0: any, p1: any): void;
+ clearAngledAreaOfVehicles(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number,
+ p7: boolean, p8: boolean, p9: boolean, p10: boolean, p11: boolean): void;
+ clearArea(X: number, Y: number, Z: number, radius: number, p4: boolean, ignoreCopCars: boolean, ignoreObjects: boolean,
+ p7: boolean): void;
+ clearAreaOfCops(x: number, y: number, z: number, radius: number, flags: number): void;
+ clearAreaOfEverything(x: number, y: number, z: number, radius: number, p4: boolean, p5: boolean, p6: boolean,
+ p7: boolean): void;
+ clearAreaOfObjects(x: number, y: number, z: number, radius: number, flags: number): void;
+ clearAreaOfPeds(x: number, y: number, z: number, radius: number, flags: number): void;
+ clearAreaOfProjectiles(x: number, y: number, z: number, radius: number, flags: number): void;
+ clearAreaOfVehicles(x: number, y: number, z: number, radius: number, p4: boolean, p5: boolean, p6: boolean,
+ p7: boolean, p8: boolean): void;
+ clearBit(address: number, offset: number): number;
+ compareStrings(str1: string, str2: string, matchCase: boolean, maxLength: number): number;
+ createIncident(p0: number, p2: number, p3: number, p4: number, p5: number, p6: number, outIncident: number): number;
+ createIncidentWithEntity(p0: number, p1: EntityMp, p2: number, p3: number, outIncident: number): number;
+ deleteIncident(incidentId: number): number;
+ deleteStuntJump(p0: number): void;
+ disableAutomaticRespawn(disableRespawn: boolean): void;
+ disableHospitalRestart(hospitalIndex: number, toggle: boolean): void;
+ disablePoliceRestart(policeIndex: number, toggle: boolean): void;
+ disableStuntJumpSet(p0: number): void;
+ displayOnscreenKeyboard(p0: number, windowTitle: string, p2: string, defaultText: string, defaultConcat1: string,
+ defaultConcat2: string, defaultConcat3: string, maxInputLength: number): void;
+ enableDispatchService(dispatchType: number, toggle: boolean): void;
+ enableMpDlcMaps(toggle: boolean): void;
+ enableStuntJumpSet(p0: number): void;
+ findSpawnPointInDirection(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, distance: number,
+ spawnPoint: Vector3Mp): Vector3Mp;
+ getAngleBetween2dVectors(x1: number, y1: number, x2: number, y2: number): number;
+ getBitsInRange(vars: number, rangeStart: number, rangeEnd: number): number;
+ getDistanceBetweenCoords(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, useZ: boolean): number;
+ getFreeStackSlotsCount(stackSize: number): number;
+ getGroundZFor3dCoord(x: number, y: number, z: number, groundZ: number, unk: boolean): number;
+ getHashKey(value: string): Hash;
+ getHeadingFromVector2d(dx: number, dy: number): number;
+ getModelDimensions(modelHash: Hash): {
+ min: Vector3Mp;
+ max: Vector3Mp;
+ };
+ getProfileSetting(profileSetting: number): number;
+ getRandomFloatInRange(startRange: number, endRange: number): number;
+ getRandomIntInRange(startRange: number, endRange: number): number;
+ getWeatherTypeTransition(p0: any, p1: any, progress_or_time: number): number;
+ hasBulletImpactedInArea(p0: number, p1: number, p2: number, p3: number, p4: boolean, p5: boolean): boolean;
+ hasBulletImpactedInBox(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: boolean,
+ p7: boolean): boolean;
+ hasButtonCombinationJustBeenEntered(hash: Hash, amount: number): boolean;
+ hasCheatStringJustBeenEntered(hash: Hash): boolean;
+ ignoreNextRestart(toggle: boolean): void;
+ isAreaOccupied(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: boolean, p7: boolean,
+ p8: boolean, p9: boolean, p10: boolean, p11: any, p12: boolean): boolean;
+ isBitSet(address: number, offset: number): boolean;
+ isBulletInAngledArea(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: boolean): boolean;
+ isBulletInArea(p0: number, p1: number, p2: number, p3: number, p4: boolean): boolean;
+ isBulletInBox(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: boolean): boolean;
+ isIncidentValid(incidentId: number): number;
+ isNextWeatherType(weatherType: string): boolean;
+ isPointObscuredByAMissionEntity(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: any): boolean;
+ isPositionOccupied(p0: number, p1: number, p2: number, p3: number, p4: boolean, p5: boolean, p6: boolean, p7: boolean,
+ p8: boolean, p9: any, p10: boolean): boolean;
+ isPrevWeatherType(weatherType: string): boolean;
+ isProjectileInArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, ownedByPlayer: boolean): boolean;
+ isProjectileTypeInAngledArea(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number,
+ p7: any, p8: boolean): boolean;
+ isProjectileTypeInArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, type: number,
+ p7: boolean): boolean;
+ isSniperBulletInArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): boolean;
+ isStringNull(string: string): boolean;
+ isStringNullOrEmpty(string: string): boolean;
+ overrideSaveHouse(p0: boolean, p1: number, p2: number, p3: number, p4: number, p5: boolean, p6: number, p7: number): boolean;
+ registerBoolToSave(p0: any, name: string): void;
+ registerEnumToSave(p0: any, name: string): void;
+ registerFloatToSave(p0: any, name: string): void;
+ registerIntToSave(p0: any, name: string): void;
+ registerSaveHouse(p0: number, p1: number, p2: number, p3: number, p4: any, p5: any, p6: any): void;
+ registerTextLabelToSave(p0: any, name: string): void;
+ removeDispatchSpawnBlockingArea(p0: any): void;
+ setBit(address: number, offset: number): number;
+ setBitsInRange(vars: number, rangeStart: number, rangeEnd: number, p3: number): number;
+ setCloudHatTransition(type: string, transitionTime: number): void;
+ setCreditsActive(toggle: boolean): void;
+ setDispatchIdealSpawnDistance(p0: number): void;
+ setDispatchTimeBetweenSpawnAttempts(p0: any, p1: number): void;
+ setDispatchTimeBetweenSpawnAttemptsMultiplier(p0: any, p1: number): void;
+ setExplosiveAmmoThisFrame(): void;
+ setExplosiveMeleeThisFrame(): void;
+ setFadeInAfterDeathArrest(toggle: boolean): void;
+ setFadeInAfterLoad(toggle: boolean): void;
+ setFadeOutAfterArrest(toggle: boolean): void;
+ setFadeOutAfterDeath(toggle: boolean): void;
+ setFakeWantedLevel(fakeWantedLevel: number): void;
+ setFireAmmoThisFrame(): void;
+ setGamePaused(toggle: boolean): void;
+ setGravityLevel(level: number): void;
+ setMinigameInProgress(toggle: boolean): void;
+ setMissionFlag(toggle: boolean): void;
+ setOverrideWeather(weatherType: string): void;
+ setRainFxIntensity(intensity: number): void;
+ setRandomEventFlag(p0: boolean): void;
+ setRandomSeed(time: number): void;
+ setSaveHouse(p0: any, p1: boolean, p2: boolean): void;
+ setSaveMenuActive(unk: boolean): void;
+ setSuperJumpThisFrame(): void;
+ setThisScriptCanBePaused(toggle: boolean): void;
+ setThisScriptCanRemoveBlipsCreatedByAnyScript(toggle: boolean): void;
+ setTimeScale(time: number): void;
+ setUnkMapFlag(flag: number): void;
+ setWeatherTypeNow(weatherType: string): void;
+ setWeatherTypeNowPersist(weatherType: string): void;
+ setWeatherTypeOverTime(weatherType: string, time: number): void;
+ setWeatherTypePersist(weatherType: string): void;
+ setWeatherTypeTransition(sourceWeather: Hash, targetWeather: Hash, transitionTime: number): void;
+ setWind(p0: number): void;
+ setWindDirection(direction: number): void;
+ setWindSpeed(speed: number): void;
+ shootSingleBulletBetweenCoords(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, damage: number,
+ p7: boolean, weaponHash: Hash, ownerPed: Handle, isAudible: boolean, isInvisible: boolean, speed: number): void;
+ startSaveArray(p0: any, p1: number, arrayName: string): void;
+ startSaveData(p0: any, p1: any, p2: boolean): void;
+ startSaveStruct(p0: any, p1: number, structName: string): void;
+ stringToInt(string: string, outInteger: number): number;
+ tan(p0: number): number;
+ terminateAllScriptsWithThisName(scriptName: string): void;
+ usingMissionCreator(toggle: boolean): void;
+}
+
+interface GameGraphicsMp {
+ addDecal(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number,
+ p9: number, p10: number, p11: number, p12: number, p13: number, p14: number, p15: number, p16: number, p17: boolean,
+ p18: boolean, p19: boolean): number;
+ addPetrolDecal(x: number, y: number, z: number, groundLvl: number, width: number, transparency: number): void;
+ beginTextComponent(componentType: string): void;
+ callScaleformMovieFunctionFloatParams(scaleform: number, functionName: string, param1: number, param2: number,
+ param3: number, param4: number, param5: number): void;
+ callScaleformMovieFunctionMixedParams(scaleform: number, functionName: string, floatParam1: number,
+ floatParam2: number, floatParam3: number, floatParam4: number, floatParam5: number, stringParam1: string,
+ stringParam2: string, stringParam3: string, stringParam4: string, stringParam5: string): void;
+ callScaleformMovieFunctionStringParams(scaleform: number, functionName: string, param1: string, param2: string,
+ param3: string, param4: string, param5: string): void;
+ callScaleformMovieMethod(scaleform: number, method: string): void;
+ createCheckpoint(type: number, posX1: number, posY1: number, posZ1: number, posX2: number, posY2: number,
+ posZ2: number, radius: number, colorR: number, colorG: number, colorB: number, alpha: number, reserved: number): number;
+ destroyTrackedPoint(point: Handle): void;
+ disableVehicleDistantlights(toggle: boolean): void;
+ doesParticleFxLoopedExist(ptfxHandle: number): boolean;
+ drawBox(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, r: number, g: number, b: number,
+ alpha: number): void;
+ drawDebugBox(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, r: number, g: number, b: number,
+ alpha: number): void;
+ drawDebugCross(x: number, y: number, z: number, size: number, r: number, g: number, b: number, alpha: number): void;
+ drawDebugLine(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, r: number, g: number, b: number,
+ alpha: number): void;
+ drawDebugLineWithTwoColours(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, r1: number,
+ g1: number, b1: number, r2: number, g2: number, b2: number, alpha1: number, alpha2: number): void;
+ drawDebugSphere(x: number, y: number, z: number, radius: number, r: number, g: number, b: number, alpha: number): void;
+ drawDebugText(text: string, x: number, y: number, z: number, r: number, g: number, b: number, alpha: number): void;
+ drawDebugText2d(text: string, x: number, y: number, z: number, r: number, g: number, b: number, alpha: number): void;
+ drawLightWithRange(posX: number, posY: number, posZ: number, colorR: number, colorG: number, colorB: number,
+ range: number, intensity: number): void;
+ drawLightWithRangeAndShadow(x: number, y: number, z: number, r: number, g: number, b: number, range: number,
+ intensity: number, shadow: number): void;
+ drawLine(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, r: number, g: number, b: number,
+ alpha: number): void;
+ drawMarker(type: number, posX: number, posY: number, posZ: number, dirX: number, dirY: number, dirZ: number,
+ rotX: number, rotY: number, rotZ: number, scaleX: number, scaleY: number, scaleZ: number, colorR: number,
+ colorG: number, colorB: number, alpha: number, bobUpAndDown: boolean, faceCamera: boolean, p19: number,
+ rotate: boolean, textureDict: string, textureName: string, drawOnEnts: boolean): void;
+ drawPoly(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, x3: number, y3: number, z3: number,
+ r: number, g: number, b: number, alpha: number): void;
+ drawRect(x: number, y: number, width: number, height: number, r: number, g: number, b: number, a: number): void;
+ drawScaleformMovie(scaleformHandle: number, x: number, y: number, width: number, height: number, red: number,
+ green: number, blue: number, alpha: number, p9: number): void;
+ drawScaleformMovie3d(scaleform: number, posX: number, posY: number, posZ: number, rotX: number, rotY: number,
+ rotZ: number, p7: number, p8: number, p9: number, scaleX: number, scaleY: number, scaleZ: number, p13: any): void;
+ drawScaleformMovie3dNonAdditive(scaleform: number, posX: number, posY: number, posZ: number, rotX: number,
+ rotY: number, rotZ: number, p7: number, p8: number, p9: number, scaleX: number, scaleY: number, scaleZ: number,
+ p13: any): void;
+ drawScaleformMovieFullscreen(scaleform: number, red: number, green: number, blue: number, alpha: number,
+ unk: boolean): void;
+ drawScaleformMovieFullscreenMasked(scaleform1: number, scaleform2: number, red: number, green: number, blue: number,
+ alpha: number): void;
+ drawSpotLight(posX: number, posY: number, posZ: number, dirX: number, dirY: number, dirZ: number, colorR: number,
+ colorG: number, colorB: number, distance: number, brightness: number, roundness: number, radius: number,
+ falloff: number): void;
+ drawSpotLightWithShadow(posX: number, posY: number, posZ: number, dirX: number, dirY: number, dirZ: number,
+ colorR: number, colorG: number, colorB: number, distance: number, brightness: number, roundness: number,
+ radius: number, falloff: number, shadow: number): void;
+ drawSprite(textureDict: string, textureName: string, screenX: number, screenY: number, scaleX: number,
+ scaleY: number,heading: number, colorR: number, colorG: number, colorB: number, alpha: number): void;
+ drawText(text: string, position: Array3d | Array2d,
+ data?: {
+ font: number,
+ centre: boolean,
+ color: RGBA,
+ scale: Array2d,
+ outline: boolean
+ }
+ ): void;
+ drawTvChannel(xPos: number, yPos: number, xScale: number, yScale: number, rotation: number, r: number, g: number,
+ b: number, alpha: number): void;
+ enableAlienBloodVfx(toggle: boolean): void;
+ enableClownBloodVfx(toggle: boolean): void;
+ enableMovieSubtitles(toggle: boolean): void;
+ enableLights(toggle: boolean): void;
+ fadeDecalsInRange(p0: any, p1: any, p2: any, p3: any, p4: any): void;
+ getDecalWashLevel(decal: number): number;
+ getSafeZoneSize(): number;
+ getScreenActiveResolution(x: number, y: number): {
+ x: number;
+ y: number;
+ };
+ getScreenAspectRatio(b: boolean): number;
+ getScreenEffectIsActive(effectName: string): number;
+ getScreenResolution(x: number, y: number): {
+ x: number;
+ y: number;
+ };
+ getTextureResolution(textureDict: string, textureName: string): Vector3Mp;
+ hasHudScaleformLoaded(componentIndex: RageEnums.HudComponent | number): boolean;
+ hasNamedScaleformMovieLoaded(scaleformName: string): boolean;
+ hasScaleformContainerMovieLoadedIntoParent(scaleformHandle: number): boolean;
+ hasScaleformMovieLoaded(scaleformHandle: number): boolean;
+ hasStreamedTextureDictLoaded(textureDict: string): boolean;
+ isDecalAlive(decal: number):boolean;
+ isTrackedPointVisible(point: Handle): boolean;
+ loadMovieMeshSet(movieMeshSetName: string): number;
+ loadTvChannel(tvChannel: Hash): boolean;
+ moveVehicleDecals(p0: any, p1: any): void;
+ notify(text: string): void;
+ pushScaleformMovieFunction(scaleform: number, functionName: string): boolean;
+ pushScaleformMovieFunctionFromHudComponent(componentIndex: RageEnums.HudComponent | number, functionName: string): boolean;
+ pushScaleformMovieFunctionN(functionName: string): boolean;
+ popScaleformMovieFunctionVoid(): void;
+ pushScaleformMovieFunctionParameterBool(value: boolean): void;
+ pushScaleformMovieFunctionParameterFloat(value: number): void;
+ pushScaleformMovieFunctionParameterInt(value: number): void;
+ pushScaleformMovieFunctionParameterString(value: string): void;
+ releaseMovieMeshSet(movieMeshSet: number): void;
+ removeDecal(decal: number): void;
+ removeDecalsFromObject(obj: Handle): void;
+ removeDecalsFromObjectFacing(obj: Handle, x: number, y: number, z: number): void;
+ removeDecalsInRange(x: number, y: number, z: number, range: number): void;
+ removeParticleFx(ptfxHandle: number, p1: boolean): void;
+ removeParticleFxInRange(X: number, Y: number, Z: number, radius: number): void;
+ requestHudScaleform(componentIndex: RageEnums.HudComponent | number): void;
+ requestScaleformMovie(scaleformName: string): number;
+ requestScaleformMovie3(scaleformName: string): number;
+ requestScaleformMovieInstance(scaleformName: string): number;
+ requestStreamedTextureDict(textureDict: string, p1: boolean): void;
+ screen2dToWorld3d(vector2: Vector3Mp): Vector3Mp;
+ set2dLayer(layer: number): void;
+ setBlackout(enable: boolean): void;
+ setDebugLinesAndSpheresDrawingActive(enabled: boolean): void;
+ setDrawOrigin(x: number, y: number, z: number, p3: any): void;
+ setFarShadowsSuppressed(toggle: boolean): void;
+ setFlash(p0: number, p1: number, fadeIn: number, duration: number, fadeOut: number): void;
+ setForcePedFootstepsTracks(toggle: boolean): void;
+ setForceVehicleTrails(toggle: boolean): void;
+ setFrozenRenderingDisabled(enabled: boolean): void;
+ setNightvision(toggle: boolean): void;
+ setNoiseoveride(toggle: boolean): void;
+ setNoisinessoveride(value: number): void;
+ setParticleFxBloodScale(p0: boolean): void;
+ setParticleFxCamInsideNonplayerVehicle(p0: any, p1: boolean): void;
+ setParticleFxCamInsideVehicle(p0: boolean): void;
+ setParticleFxLoopedAlpha(ptfxHandle: number, alpha: number): void;
+ setParticleFxLoopedColour(ptfxHandle: number, r: number, g: number, b: number, p4: boolean): void;
+ setParticleFxLoopedEvolution(ptfxHandle: number, propertyName: string, amount: number, Id: boolean): void;
+ setParticleFxLoopedOffsets(ptfxHandle: number, x: number, y: number, z: number, rotX: number, rotY: number,
+ rotZ: number): void;
+ setParticleFxLoopedRange(ptfxHandle: number, range: number): void;
+ setParticleFxLoopedScale(ptfxHandle: number, scale: number): void;
+ setParticleFxNonLoopedAlpha(alpha: number): void;
+ setParticleFxNonLoopedColour(r: number, g: number, b: number): void;
+ setParticleFxShootoutBoat(p0: any): void;
+ setPtfxAssetNextCall(name: string): void;
+ setPtfxAssetOldToNew(oldAsset: string, newAsset: string): void;
+ setScaleformMovieAsNoLongerNeeded(scaleformHandle: number): number;
+ setScaleformMovieToUseSystemTime(scaleform: number, toggle: boolean): void;
+ setScreenDrawPosition(x: number, y: number): void;
+ setSeethrough(toggle: boolean): void;
+ setStreamedTextureDictAsNoLongerNeeded(textureDict: string): void;
+ setTimecycleModifier(modifierName: string): void;
+ setTimecycleModifierStrength(strength: number): void;
+ setTrackedPointInfo(point: Handle, x: number, y: number, z: number, radius: number): void;
+ setTransitionTimecycleModifier(modifierName: string, transition: number): void;
+ setTvAudioFrontend(toggle: boolean): void;
+ setTvChannel(channel: number): void;
+ setTvVolume(volume: number): void;
+ sittingTv(scaleform: number): string;
+ startParticleFxLoopedAtCoord(effectName: string, x: number, y: number, z: number, xRot: number, yRot: number,
+ zRot: number, scale: number, xAxis: boolean, yAxis: boolean, zAxis: boolean, p11: boolean): number;
+ startParticleFxLoopedOnEntity(effectName: string, entity: Handle, xOffset: number, yOffset: number,
+ zOffset: number, xRot: number, yRot: number, zRot: number, scale: number, xAxis: boolean, yAxis: boolean,
+ zAxis: boolean): number;
+ startParticleFxLoopedOnEntity2(effectName: string, entity: Handle, xOffset: number, yOffset: number, zOffset: number,
+ xRot: number, yRot: number, zRot: number, scale: number, xAxis: boolean, yAxis: boolean, zAxis: boolean): number;
+ startParticleFxLoopedOnEntityBone(effectName: string, entity: Handle, xOffset: number, yOffset: number,
+ zOffset: number, xRot: number, yRot: number, zRot: number, boneIndex: number, scale: number, xAxis: boolean,
+ yAxis: boolean, zAxis: boolean): number;
+ startParticleFxLoopedOnEntityBone2(effectName: string, entity: Handle, xOffset: number, yOffset: number,
+ zOffset: number, xRot: number, yRot: number, zRot: number, boneIndex: number, scale: number, xAxis: boolean,
+ yAxis: boolean, zAxis: boolean): number;
+ startParticleFxLoopedOnPedBone(effectName: string, ped: Handle, xOffset: number, yOffset: number, zOffset: number,
+ xRot: number, yRot: number, zRot: number, boneIndex: number, scale: number, xAxis: boolean, yAxis: boolean,
+ zAxis: boolean): number;
+ startParticleFxNonLoopedAtCoord(effectName: string, xPos: number, yPos: number, zPos: number, xRot: number,
+ yRot: number, zRot: number, scale: number, xAxis: boolean, yAxis: boolean, zAxis: boolean): boolean;
+ startParticleFxNonLoopedAtCoord2(effectName: string, xPos: number, yPos: number, zPos: number, xRot: number,
+ yRot: number, zRot: number, scale: number, xAxis: boolean, yAxis: boolean, zAxis: boolean): boolean;
+ startParticleFxNonLoopedOnEntity(effectName: string, entity: Handle, offsetX: number, offsetY: number,
+ offsetZ: number, rotX: number, rotY: number, rotZ: number, scale: number, axisX: boolean, axisY: boolean,
+ axisZ: boolean): boolean;
+ startParticleFxNonLoopedOnEntity2(effectName: string, entity: Handle, xOffset: number, yOffset: number,
+ zOffset: number, xRot: number, yRot: number, zRot: number, boneIndex: number, scale: number, xAxis: boolean,
+ yAxis: boolean, zAxis: boolean): boolean;
+ startParticleFxNonLoopedOnPedBone(effectName: string, ped: Handle, offsetX: number, offsetY: number, offsetZ: number,
+ rotX: number, rotY: number, rotZ: number, boneIndex: number, scale: number, axisX: boolean, axisY: boolean,
+ axisZ: boolean): boolean;
+ startParticleFxNonLoopedOnPedBone2(effectName: string, ped: Handle, offsetX: number, offsetY: number, offsetZ: number,
+ rotX: number, rotY: number, rotZ: number, boneIndex: number, scale: number, axisX: boolean, axisY: boolean,
+ axisZ: boolean): boolean;
+ startScreenEffect(effectName: string, duration: number, looped: boolean): void;
+ stopParticleFxLooped(ptfxHandle: number, p1: boolean): void;
+ stopScreenEffect(effectName: string): void;
+ transitionFromBlurred(transitionTime: number): boolean;
+ transitionToBlurred(transitionTime: number): boolean;
+ washDecalsInRange(p0: any, p1: any, p2: any, p3: any, p4: any): void;
+ world3dToScreen2d(worldX: number, worldY: number, worldZ: number): {
+ x: number; y: number;
+ };
+ setLightsState(id: number, toggle: boolean): void;
+}
+
+interface GameInteriorMp {
+ addPickupToInteriorRoomByName(pickup: PickupMp, roomName: string): void;
+ areCoordsCollidingWithExterior(x: number, y: number, z: number): boolean;
+ capInterior(interiorId: number, toggle: boolean): void;
+ disableInterior(interiorId: number, toggle: boolean): void;
+ disableInteriorProp(interiorId: number, propName: string): void;
+ enableInteriorProp(interiorId: number, propName: string): void;
+ getInteriorAtCoords(x: number, y: number, z: number): number;
+ getInteriorAtCoordsWithType(x: number, y: number, z: number, interiorType: string): number;
+ getInteriorFromCollision(x: number, y: number, z: number): number;
+ getInteriorGroupId(interiorId: number): number;
+ getOffsetFromInteriorInWorldCoords(interiorId: number, x: number, y: number, z: number): Vector3Mp;
+ hideMapObjectThisFrame(mapObjectHash: number): void;
+ hideMapObjectThisFrame(mapObjectHash: string): void;
+ isInteriorCapped(interiorId: number): boolean;
+ isInteriorDisabled(interiorId: number): boolean;
+ isInteriorPropEnabled(interiorId: number, propName: string): boolean;
+ isInteriorReady(interiorId: number): boolean;
+ isValidInterior(interiorId: number): boolean;
+ refreshInterior(interiorId: number): void;
+ unkGetInteriorAtCoords(x: number, y: number, z: number, unk: number): number;
+ unpinInterior(interiorId: number): void;
+}
+
+interface GameItemsetMp {
+ addToItemset(itemset: number, p1: any): boolean;
+ cleanItemset(itemset: number): void;
+ createItemset(p0: boolean): number;
+ destroyItemset(itemset: number): void;
+ getIndexedItemInItemset(itemset: number, p1: any): any;
+ getItemsetSize(itemset: number): number;
+ isInItemset(itemset: number, p1: any): boolean;
+ isItemsetValid(itemset: number): boolean;
+ removeFromItemset(itemset: number, p1: any): void;
+}
+
+interface GameMobileMp {
+ cellCamActivate(p0: boolean, p1: boolean): void;
+ createMobilePhone(phoneType: number): void;
+ getMobilePhonePosition(position: Vector3Mp): Vector3Mp;
+ getMobilePhoneRenderId(renderId: number): number;
+ getMobilePhoneRotation(rotation: Vector3Mp, p1: any): Vector3Mp;
+ moveFinger(direction: number): void;
+ scriptIsMovingMobilePhoneOffscreen(toggle: boolean): void;
+ setMobilePhonePosition(posX: number, posY: number, posZ: number): void;
+ setMobilePhoneRotation(rotX: number, rotY: number, rotZ: number, p3: any): void;
+ setMobilePhoneScale(scale: number): void;
+ setPhoneLean(toggle: boolean): void;
+}
+
+interface GameObjectMp {
+ addDoorToSystem(doorHash: Hash, modelHash: Hash, x: number, y: number, z: number, p5: number,
+ p6: number, p7: number): void;
+ createAmbientPickup(pickupHash: Hash, posX: number, posY: number, posZ: number, p4: number, value: number,
+ modelHash: Hash, p7: boolean, p8: boolean): PickupMp;
+ createMoneyPickups(x: number, y: number, z: number, value: number, amount: number, model: Hash): void;
+ createObject(modelHash: Hash, x: number, y: number, z: number, networkHandle: boolean,
+ createHandle: boolean,dynamic: boolean): Handle;
+ createObjectNoOffset(modelHash: Hash, x: number, y: number, z: number, networkHandle: boolean,
+ createHandle: boolean, dynamic: boolean): Handle;
+ createPickup(pickupHash: Hash, posX: number, posY: number, posZ: number, p4: number, value: number,
+ p6: boolean, modelHash: Hash): PickupMp;
+ createPickupRotate(pickupHash: Hash, posX: number, posY: number, posZ: number, rotX: number, rotY: number,
+ rotZ: number, flag: number, amount: number, p9: any, p10: boolean, modelHash: Hash): PickupMp;
+ createPortablePickup(pickupHash: Hash, x: number, y: number, z: number, placeOnGround: boolean,
+ modelHash: Hash): PickupMp;
+ createPortablePickup2(pickupHash: Hash, x: number, y: number, z: number, placeOnGround: boolean,
+ modelHash: Hash): PickupMp;
+ deleteObject(object: Handle): Handle;
+ doesDoorExist(doorHash: Hash): boolean;
+ doesObjectOfTypeExistAtCoords(x: number, y: number, z: number, radius: number, hash: Hash, p5: boolean): boolean;
+ doesPickupExist(p0: any): boolean;
+ doesPickupObjectExist(p0: any): boolean;
+ doorControl(doorHash: Hash, x: number, y: number, z: number, locked: boolean, p5: number, p6: number,
+ p7: number): void;
+ getClosestObjectOfType(x: number, y: number, z: number, radius: number, modelHash: Hash,
+ isMissing: boolean, p6: boolean, p7: boolean): Handle;
+ getObjectFragmentDamageHealth(p0: any, p1: boolean): number;
+ getObjectOffsetFromCoords(xPos: number, yPos: number, zPos: number, heading: number, xOffset: number, yOffset: number,
+ zOffset: number): Vector3Mp;
+ getPickupCoords(p0: any): number;
+ getSafePickupCoords(x: number, y: number, z: number, p3: any, p4: any): Vector3Mp;
+ getStateOfClosestDoorOfType(type: Hash, x: number, y: number, z: number, locked: number, heading: number): {
+ locked: number;
+ heading: number;
+ };
+ hasClosestObjectOfTypeBeenBroken(p0: number, p1: number, p2: number, p3: number, modelHash: Hash,
+ p5: any): boolean;
+ hasPickupBeenCollected(p0: any): boolean;
+ highlightPlacementCoords(x: number, y: number, z: number, colorIndex: number): void;
+ isAnyObjectNearPoint(x: number, y: number, z: number, range: number, p4: boolean): boolean;
+ isDoorClosed(door: Hash): boolean;
+ isGarageEmpty(garage: any, p1: boolean, p2: number): boolean;
+ isObjectNearPoint(objectHash: Hash, x: number, y: number, z: number, range: number): boolean;
+ isPickupWithinRadius(pickupHash: Hash, x: number, y: number, z: number, radius: number): boolean;
+ isPointInAngledArea(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number,
+ p8: number, p9: number, p10: boolean, p11: boolean): boolean;
+ removeAllPickupsOfType(p0: any): void;
+ removeDoorFromSystem(doorHash: Hash): void;
+ removePickup(pickup: PickupMp): void;
+ setDoorAccelerationLimit(doorHash: Hash, limit: number, p2: boolean, p3: boolean): void;
+ setDoorAjarAngle(doorHash: Hash, ajar: number, p2: boolean, p3: boolean): void;
+ setForceObjectThisFrame(p0: any, p1: any, p2: any, p3: any): void;
+ setPickupRegenerationTime(p0: any, p1: any): void;
+ setStateOfClosestDoorOfType(type: Hash, x: number, y: number, z: number, locked: boolean, heading: number,
+ p6: boolean): void;
+ setTeamPickupObject(p0: any, p1: any, p2: any): void;
+ trackObjectVisibility(p0: any): void;
+}
+
+interface GamePathfindMp {
+ addNavmeshBlockingObject(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number,
+ p7: boolean, p8: any): void;
+ addNavmeshRequiredRegion(p0: number, p1: number, p2: number): void;
+ calculateTravelDistanceBetweenPoints(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): number;
+ disableNavmeshInArea(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any, p6: any): void;
+ generateDirectionsToCoord(x: number, y: number, z: number, p3: any, p4: number, vehicle: Handle, p6: number): {
+ p4: number;
+ vehicle: Handle;
+ p6: number;
+ };
+ getClosestMajorVehicleNode(x: number, y: number, z: number, outPosition: Vector3Mp, unknown1: number,
+ unknown2: number): Vector3Mp;
+ getClosestRoad(x: number, y: number, z: number, p3: number, p4: number, p5: number, p6: number, p7: number,
+ p8: number, p9: number, p10: boolean): boolean;
+ getClosestVehicleNode(x: number, y: number, z: number, outPosition: Vector3Mp, nodeType: number, p5: number,
+ p6: number): Vector3Mp;
+ getClosestVehicleNodeWithHeading(x: number, y: number, z: number, outPosition: Vector3Mp, outHeading: number,
+ nodeType: number, p6: number, p7: number): {
+ outPosition: Vector3Mp;
+ outHeading: number;
+ };
+ getIsSlowRoadFlag(nodeID: number): boolean;
+ getNthClosestVehicleNode(x: number, y: number, z: number, nthClosest: number, outPosition: Vector3Mp,
+ unknown1: any, unknown2: any, unknown3: any): Vector3Mp;
+ getNthClosestVehicleNodeFavourDirection(x: number, y: number, z: number, desiredX: number, desiredY: number,
+ desiredZ: number, nthClosest: number, outPosition: Vector3Mp, outHeading: number, nodetype: number, p10: any,
+ p11: any): {
+ outPosition: Vector3Mp;
+ outHeading: number;
+ };
+ getNthClosestVehicleNodeId(x: number, y: number, z: number, nth: number, nodetype: number, p5: number, p6: number): number;
+ getNthClosestVehicleNodeIdWithHeading(x: number, y: number, z: number, nthClosest: number, outPosition: Vector3Mp,
+ outHeading: number, p6: any, p7: number, p8: number): Vector3Mp;
+ getNthClosestVehicleNodeWithHeading(x: number, y: number, z: number, nthClosest: number, outPosition: Vector3Mp,
+ heading: number, unknown1: any, unknown2: number, unknown3: number, unknown4: number): {
+ outPosition: Vector3Mp;
+ heading: number;
+ unknown1: any;
+ };
+ getRandomVehicleNode(x: number, y: number, z: number, radius: number, p4: boolean, p5: boolean, p6: boolean,
+ outPosition: Vector3Mp, heading: number): {
+ outPosition: Vector3Mp;
+ outHeading: number;
+ };
+ getSafeCoordForPed(x: number, y: number, z: number, onGround: boolean, outPosition: Vector3Mp, flags: number): Vector3Mp;
+ getStreetNameAtCoord(x: number, y: number, z: number, streetName: number, crossingRoad: number): {
+ streetName: number;
+ crossingRoad: number;
+ };
+ getSupportsGpsRouteFlag(nodeID: number): boolean;
+ getVehicleNodePosition(nodeId: number, outPosition: Vector3Mp): Vector3Mp;
+ getVehicleNodeProperties(x: number, y: number, z: number, density: number, flags: number):{
+ density: number;
+ flags: number;
+ };
+ isNavmeshLoadedInArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): boolean;
+ isPointOnRoad(x: number, y: number, z: number, vehicle: Handle): boolean;
+ isVehicleNodeIdValid(vehicleNodeId: number): boolean;
+ loadAllPathNodes(keepInMemory: boolean): boolean;
+ removeNavmeshBlockingObject(p0: any): void;
+ setGpsDisabledZone(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any): void;
+ setIgnoreNoGpsFlag(ignore: boolean): void;
+ setPedPathsBackToOriginal(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any): void;
+ setPedPathsInArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, unknown: boolean): void;
+ setRoadsBackToOriginal(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any): void;
+ setRoadsBackToOriginalInAngledArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number,
+ p6: number): void;
+ setRoadsInAngledArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, angle: number,
+ unknown1: boolean, unknown2: boolean, unknown3: boolean): void;
+ setRoadsInArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, unknown1: boolean,
+ unknown2: boolean): void;
+ updateNavmeshBlockingObject(p0: any, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number,
+ p7: number, p8: any): void;
+}
+
+interface GamePedMp {
+ addRelationshipGroup(name: string, groupHash: Hash): Hash;
+ addScenarioBlockingArea(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: boolean,
+ p7: boolean, p8: boolean, p9: boolean): void;
+ attachSynchronizedSceneToEntity(sceneId: number, entity: Handle, boneIndexId: number): void;
+ canCreateRandomPed(unk: boolean): boolean;
+ clearPedAlternateWalkAnim(p0: any, p1: number): void;
+ clearRelationshipBetweenGroups(relationship: number, group1: Hash, group2: Hash): void;
+ createGroup(unused: number): number;
+ createNmMessage(startImmediately: boolean, messageId: number): void;
+ createPed(pedType: number, modelHash: Hash, x: number, y: number, z: number, heading: number,
+ networkHandle: boolean, pedHandle: boolean): Handle;
+ createRandomPed(posX: number, posY: number, posZ: number): Handle;
+ createSynchronizedScene(x: number, y: number, z: number, roll: number, pitch: number, yaw: number, p6: number): number;
+ detachSynchronizedScene(sceneId: number): void;
+ disposeSynchronizedScene(scene: number): void;
+ doesGroupExist(groupId: number): boolean;
+ getAnimInitialOffsetPosition(animDict: string, animName: string, x: number, y: number, z: number, xRot: number,
+ yRot: number, zRot: number, p8: number, p9: number): Vector3Mp;
+ getAnimInitialOffsetRotation(animDict: string, animName: string, x: number, y: number, z: number, xRot: number,
+ yRot: number, zRot: number, p8: number, p9: number): Vector3Mp;
+ getClosestPed(x: number, y: number, z: number, radius: number, p4: boolean, p5: boolean, outPed: Handle, p7: boolean,
+ p8: boolean, pedType: number): Handle;
+ getFirstParentIdForPedType(type: number): number;
+ getGroupSize(groupId: number, unknown: any, sizeInMembers: number): number;
+ getNumHeadOverlayValues(overlayId: number): number;
+ getNumParentPedsOfType(type: number): number;
+ getPeadheadshotTxdString(handle: number): string;
+ getPedAsGroupLeader(groupId: number): Handle;
+ getPedAsGroupMember(groupId: number, memberNumber: number): Handle;
+ getRandomPedAtCoord(x: number, y: number, z: number, xRadius: number, yRadius: number, zRadius: number,
+ pedType: number): Handle;
+ getRelationshipBetweenGroups(group1: Hash, group2: Hash): number;
+ getSynchronizedScenePhase(sceneId: number): number;
+ getSynchronizedSceneRate(sceneId: number): number;
+ getTattooZone(collection: Hash, overlay: Hash): number;
+ hasActionModeAssetLoaded(asset: string): boolean;
+ hasPedReceivedEvent(p0: any, p1: any): boolean;
+ hasStealthModeAssetLoaded(asset: string): boolean;
+ isAnyPedNearPoint(x: number, y: number, z: number, radius: number): boolean;
+ isAnyPedShootingInArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, p6: boolean,
+ p7: boolean): boolean;
+ isAValidBlushColor(colorId: number): boolean;
+ isAValidHairColor(colorId: number): boolean;
+ isAValidLipstickColor(colorId: number): boolean;
+ isCopPedInArea3d(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): boolean;
+ isPedheadshotReady(handle: number): boolean;
+ isPedheadshotValid(handle: number): number;
+ isPedRespondingToEvent(p0: any, p1: any): boolean;
+ isSynchronizedSceneLooped(sceneId: number): boolean;
+ isSynchronizedSceneRunning(sceneId: number): boolean;
+ removeActionModeAsset(asset: string): void;
+ removeGroup(groupId: number): void;
+ removeRelationshipGroup(groupHash: Hash): void;
+ removeScenarioBlockingArea(p0: any, p1: boolean): void;
+ removeStealthModeAsset(asset: string): void;
+ requestActionModeAsset(asset: string): void;
+ requestStealthModeAsset(asset: string): void;
+ resetGroupFormationDefaultSpacing(groupHandle: number): void;
+ setAiMeleeWeaponDamageModifier(modifier: number): void;
+ setAiWeaponDamageModifier(value: number): void;
+ setCreateRandomCops(toggle: boolean): void;
+ setCreateRandomCopsNotOnScenarios(toggle: boolean): void;
+ setCreateRandomCopsOnScenarios(toggle: boolean): void;
+ setGroupFormation(groupId: number, formationType: number): void;
+ setGroupFormationSpacing(groupId: number, p1: number, p2: number, p3: number): void;
+ setGroupSeparationRange(groundHandle: number, separationRange: number): void;
+ setPedAlternateWalkAnim(p0: any, p1: any, p2: any, p3: number, p4: boolean): void;
+ setPedDensityMultiplierThisFrame(multiplier: number): void;
+ setPedNonCreationArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): void;
+ setPedReserveParachuteTintIndex(p0: any, p1: any): void;
+ setPedToRagdollWithFall(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any, p6: any,
+ p7: any, p8: any, p9: any, p10: any, p11: any, p12: any, p13: any): boolean;
+ setRelationshipBetweenGroups(relationship: number, group1: Hash, group2: Hash): void;
+ setScenarioPedDensityMultiplierThisFrame(p0: number, p1: number): void;
+ setScenarioPedsSpawnInSphereArea(p0: any, p1: any, p2: any, p3: any, p4: any): void;
+ setScenarioPedsToBeReturnedByNextCommand(value: boolean): void;
+ setScriptedConversionCoordThisFrame(x: number, y: number, z: number): void;
+ setSynchronizedSceneLooped(sceneId: number, toggle: boolean): void;
+ setSynchronizedSceneOrigin(sceneId: number, x: number, y: number, z: number, roll: number, pitch: number,
+ yaw: number, p7: boolean): void;
+ setSynchronizedScenePhase(sceneId: number, phase: number): void;
+ setSynchronizedSceneRate(sceneId: number, rate: number): void;
+ setTimeExclusiveDisplayTexture(p0: any, p1: boolean): void;
+}
+
+interface GamePlayerMp {
+ areFlashingStarsAboutToDrop(): boolean;
+ areStarsGreyedOut(): boolean;
+ canStartMission(): boolean;
+ disableFiring(toggle: boolean): void;
+ disableVehicleRewards(): void;
+ displaySystemSigninUi(unk: boolean): void;
+ enableSpecialAbility(toggle: boolean): void;
+ forceCleanup(cleanupFlags: number): void;
+ forceCleanupForAllThreadsWithThisName(name: string, cleanupFlags: number): void;
+ forceCleanupForThreadWithThisId(id: number, cleanupFlags: number): void;
+ getEntityIsFreeAimingAt(entity: Handle): boolean;
+ getTargetEntity(entity: Handle): boolean;
+ getTimeSinceDroveAgainstTraffic(): number;
+ getTimeSinceDroveOnPavement(): number;
+ getTimeSinceHitPed(): number;
+ getTimeSinceHitVehicle(): number;
+ getWantedLevelRadius(): boolean;
+ getWantedLevelThreshold(wantedLevel: number): number;
+ giveAchievementTo(achievement: number): boolean;
+ hasAchievementBeenPassed(achievement: number): boolean;
+ hasForceCleanupOccurred(cleanupFlags: number): boolean;
+ intToParticipantindex(value: number): number;
+ intToindex(value: number): Handle;
+ isFreeAiming(): boolean;
+ isFreeAimingAtEntity(entity: Handle): boolean;
+ isTargettingEntity(entity: Handle): boolean;
+ isSpecialAbilityActive(): boolean;
+ isSpecialAbilityEnabled(): boolean;
+ isSpecialAbilityMeterFull(): boolean;
+ isSpecialAbilityUnlocked(playerModel: Hash): boolean;
+ playerAttachVirtualBound(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number,
+ p7: number): void;
+ reportCrime(crimeType: number, wantedLvlThresh: number): void;
+ reserveEntityExplodesOnHighExplosionCombo(p1: number): void;
+ resetWantedLevelDifficulty(): void;
+ restoreStamina(p1: number): void;
+ setAirDragMultiplierForsVehicle(multiplier: number): void;
+ setAllRandomPedsFlee(toggle: boolean): void;
+ setAllRandomPedsFleeThisFrame(): void;
+ setAreasGeneratorOrientation(): void;
+ setAutoGiveParachuteWhenEnterPlane(toggle: boolean): void;
+ setCanDoDriveBy(toggle: boolean): void;
+ setDisableAmbientMeleeMove(toggle: boolean): void;
+ setDispatchCopsFor(toggle: boolean): void;
+ setHealthRechargeMultiplier(regenRate: number): void;
+ setHudAnimStopLevel(toggle: boolean): void;
+ setIgnoreLowPriorityShockingEvents(toggle: boolean): void;
+ setInvincible(toggle: boolean): void;
+ setMaxWantedLevel(maxWantedLevel: number): void;
+ setMeleeWeaponDefenseModifier(modifier: number): void;
+ setClothLockCounter(value: number): void;
+ setClothPackageIndex(index: number): void;
+ setTargetingMode(targetMode: number): void;
+ setPoliceRadarBlips(toggle: boolean): void;
+ setRunSprintMultiplierFor(multiplier: number): void;
+ setSpecialAbilityMultiplier(multiplier: number): void;
+ setSwimMultiplierFor(multiplier: number): void;
+ setWantedLevelDifficulty(difficulty: number): void;
+ setWantedLevelMultiplier(multiplier: number): void;
+ simulateInputGait(amount: number,gaitType: number,speed: number,p4: boolean,p5: boolean): void;
+ specialAbilityChargeAbsolute(p1: number,p2: boolean): void;
+ specialAbilityChargeContinuous(p1: boolean): void;
+ specialAbilityChargeLarge(p1: boolean,p2: boolean): void;
+ specialAbilityChargeMedium(p1: boolean,p2: boolean): void;
+ specialAbilityChargeNormalized(normalizedValue: number,p2: boolean): void;
+ specialAbilityChargeSmall(p1: boolean, p2: boolean): void;
+ specialAbilityDeactivate(): void;
+ specialAbilityDeactivateFast(): void;
+ specialAbilityDepleteMeter(p1: boolean): void;
+ specialAbilityFillMeter(p1: boolean): void;
+ specialAbilityLock(playerModel: Hash): void;
+ specialAbilityReset(): void;
+ specialAbilityUnlock(playerModel: Hash): void;
+ startFiringAmnesty(duration: number): void;
+ startTeleport(x: number,y: number,z: number,heading: number,p5: boolean,p6: boolean,p7: boolean): void;
+}
+
+interface GameRecorderMp {
+ isRecording(): boolean;
+ start(mode: number): void;
+ stop(save: boolean): void;
+}
+
+interface GameRopeMp {
+ addRope(x: number, y: number, z: number, rotX: number, rotY: number, rotZ: number, length: number, ropeType: number,
+ maxLength: number, minLength: number, p10: number, p11: boolean, p12: boolean, rigid: boolean, p14: number,
+ breakWhenShot: boolean, unkPtr: any): Handle;
+ applyImpulseToCloth(posX: number, posY: number, posZ: number, vecX: number, vecY: number, vecZ: number,
+ impulse: number): void;
+ attachEntitiesToRope(rope: Handle, ent1: Handle, ent2: Handle, ent1_x: number, ent1_y: number, ent1_z: number,
+ ent2_x: number, ent2_y: number, ent2_z: number, length: number, p10: boolean, p11: boolean, p12: any,
+ p13: any): void;
+ attachRopeToEntity(rope: Handle, entity: Handle, x: number, y: number, z: number, p5: boolean): void;
+ breakEntityGlass(p0: any, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number,
+ p8: number, p9: any, p10: boolean): void;
+ deleteChildRope(rope: Handle): any;
+ deleteRope(rope: Handle): void;
+ detachRopeFromEntity(rope: Handle, entity: Handle): void;
+ doesRopeExist(rope: Handle): Handle;
+ getCgoffset(rope: Handle): Vector3Mp;
+ getRopeLastVertexCoord(rope: Handle): void;
+ getRopeLength(rope: Handle): number;
+ getRopeVertexCoord(rope: Handle, vertex: number): any;
+ getRopeVertexCount(rope: Handle): number;
+ loadRopeData(rope: Handle, rope_preset: string): any;
+ pinRopeVertex(rope: Handle, vertex: number, x: number, y: number, z: number): void;
+ ropeConvertToSimple(rope: Handle): void;
+ ropeDrawShadowEnabled(rope: Handle, toggle: boolean): Handle;
+ ropeForceLength(rope: Handle, length: number): any;
+ ropeResetLength(rope: Handle, length: boolean): any;
+ ropeSetUpdatePinverts(rope: Handle): void;
+ setCgAtBoundcenter(rope: Handle): void;
+ setCgoffset(rope: Handle, x: number, y: number, z: number): void;
+ setDamping(rope: Handle, vertex: number, value: number): void;
+ setDisableBreaking(rope: Handle, enabled: boolean): void;
+ setDisableFragDamage(object: Handle, toggle: boolean): void;
+ startRopeUnwindingFront(rope: Handle): void;
+ startRopeWinding(rope: Handle): void;
+ stopRopeUnwindingFront(rope: Handle): void;
+ stopRopeWinding(rope: Handle): void;
+ unpinRopeVertex(rope: Handle, vertex: number): any;
+}
+
+interface GameScriptMp {
+ doesScriptExist(scriptName: string): boolean;
+ getEventAtIndex(p0: number, eventIndex: number): number;
+ getEventdata(p0: number, eventIndex: number, eventData: number, p3: number): number;
+ getEventExists(p0: number, eventIndex: number): boolean;
+ getNumberOfEvents(p0: number): number;
+ getNumberOfInstancesOfStreamedScript(scriptHash: Hash): number;
+ getThreadName(threadId: number): string;
+ hasScriptLoaded(scriptName: string): boolean;
+ hasStreamedScriptLoaded(scriptHash: Hash): boolean;
+ isStreamedScriptRunning(scriptHash: Hash): boolean;
+ isThreadActive(threadId: number): boolean;
+ requestScript(scriptName: string): void;
+ requestStreamedScript(scriptHash: Hash): void;
+ setNoLoadingScreen(toggle: boolean): void;
+ setScriptAsNoLongerNeeded(scriptName: string): void;
+ setStreamedScriptAsNoLongerNeeded(scriptHash: Hash): void;
+ terminateThread(threadId: number): void;
+ triggerScriptEvent(p0: number, argsStruct: Vector3Mp, argsStructSize: number, bitset: number): Vector3Mp;
+}
+
+interface GameStatsMp {
+ leaderboards2ReadByHandle(p0: any, p1: any): boolean;
+ leaderboards2ReadByRadius(p0: any, p1: any, p2: any): boolean;
+ leaderboards2ReadByRank(p0: any, p1: any, p2: any): boolean;
+ leaderboards2ReadByRow(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any, p6: any): boolean;
+ leaderboards2ReadByScoreFloat(p0: any, p1: number, p2: any): boolean;
+ leaderboards2ReadByScoreInt(p0: any, p1: any, p2: any): boolean;
+ leaderboards2ReadFriendsByRow(p0: any, p1: any, p2: any, p3: boolean, p4: any, p5: any): boolean;
+ leaderboards2WriteData(p0: any): boolean;
+ leaderboardsCacheDataRow(p0: any): boolean;
+ leaderboardsGetCacheDataRow(p0: any, p1: any, p2: any): boolean;
+ leaderboardsGetCacheExists(p0: any): boolean;
+ leaderboardsGetCacheTime(p0: any): any;
+ leaderboardsGetColumnId(p0: any, p1: any, p2: any): any;
+ leaderboardsGetColumnType(p0: any, p1: any, p2: any): any;
+ leaderboardsGetNumberOfColumns(p0: any, p1: any): any;
+ leaderboardsReadClear(p0: any, p1: any, p2: any): any;
+ leaderboardsReadPending(p0: any, p1: any, p2: any): boolean;
+ leaderboardsReadSuccessful(p0: any, p1: any, p2: any): boolean;
+ playstatsAwardXp(p0: any, p1: any, p2: any): void;
+ playstatsCheatApplied(cheat: string): void;
+ playstatsClothChange(p0: any, p1: any, p2: any, p3: any, p4: any): void;
+ playstatsFriendActivity(p0: any, p1: any): void;
+ playstatsMatchStarted(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any, p6: any): void;
+ playstatsMissionCheckpoint(p0: any, p1: any, p2: any, p3: any): void;
+ playstatsMissionOver(p0: any, p1: any, p2: any, p3: boolean, p4: boolean, p5: boolean): void;
+ playstatsMissionStarted(p0: any, p1: any, p2: any, p3: boolean): void;
+ playstatsNpcInvite(p0: any): void;
+ playstatsOddjobDone(p0: any, p1: any, p2: any): void;
+ playstatsPropChange(p0: any, p1: any, p2: any, p3: any): void;
+ playstatsRaceCheckpoint(p0: any, p1: any, p2: any, p3: any, p4: any): void;
+ playstatsRankUp(p0: any): void;
+ playstatsShopItem(p0: any, p1: any, p2: any, p3: any, p4: any): void;
+ playstatsWebsiteVisited(scaleformHash: Hash, p1: number): void;
+ statClearSlotForReload(statSlot: number): any;
+ statDeleteSlot(p0: any): any;
+ statGetBool(statHash: Hash, outValue: boolean, p2: any): boolean;
+ statGetBoolMasked(statName: Hash, mask: number, p2: number): boolean;
+ statGetDate(statHash: Hash, p1: any, p2: any, p3: any): boolean;
+ statGetFloat(statHash: Hash, outValue: number, p2: any): number;
+ statGetInt(statHash: Hash, outValue: number, p2: number): number;
+ statGetLicensePlate(statName: Hash): string;
+ statGetMaskedInt(p0: any, p1: any, p2: any, p3: any, p4: any): boolean;
+ statGetNumberOfDays(statName: Hash): number;
+ statGetNumberOfHours(statName: Hash): number;
+ statGetNumberOfMinutes(statName: Hash): number;
+ statGetNumberOfSeconds(statName: Hash): number;
+ statGetPos(p0: any, p1: any, p2: any, p3: any, p4: any): boolean;
+ statGetString(statHash: Hash, p1: number): string;
+ statGetUserId(p0: any): string;
+ statIncrement(statName: Hash, value: number): void;
+ statLoad(p0: number): boolean;
+ statLoadPending(p0: any): boolean;
+ statSave(p0: number, p1: boolean, p2: number): boolean;
+ statSetBool(statName: Hash, value: boolean, save: boolean): boolean;
+ statSetBoolMasked(statName: Hash, value: boolean, mask: number, save: boolean): boolean;
+ statSetCurrentPosixTime(statName: Hash, p1: boolean): boolean;
+ statSetDate(statName: Hash,
+ value: {
+ year: number;
+ month: number;
+ day: number;
+ hour: number;
+ minute: number;
+ second: number;
+ milisecond: number;
+ },
+ numFields: number, save: boolean): void;
+ statSetFloat(statName: Hash, value: number, save: boolean): boolean;
+ statSetGxtLabel(statName: Hash, value: string, save: boolean): boolean;
+ statSetInt(statName: Hash, value: number, save: boolean): boolean;
+ statSetLicensePlate(statName: Hash, str: string): boolean;
+ statSetMaskedInt(statName: Hash, p1: any, p2: any, p3: number, save: boolean): boolean;
+ statSetPos(statName: Hash, x: number, y: number, z: number, save: boolean): boolean;
+ statSetProfileSetting(profileSetting: number, value: number): void;
+ statSetString(statName: Hash, value: string, save: boolean): boolean;
+ statSetUserId(statName: Hash, value: string, save: boolean): boolean;
+ statSlotIsLoaded(p0: any): boolean;
+}
+
+interface GameStreamingMp {
+ doesAnimDictExist(animDict: string): boolean;
+ forceStreamingUpdate(): boolean;
+ getIdealPlayerSwitchType(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): number;
+ hasAnimDictLoaded(animDict: string): boolean;
+ hasAnimSetLoaded(animSet: string): boolean;
+ hasClipSetLoaded(clipSet: string): boolean;
+ hasCollisionForModelLoaded(model: Hash): boolean;
+ hasModelLoaded(model: Hash): boolean;
+ hasNamedPtfxAssetLoaded(fxName: string): boolean;
+ isIplActive(iplName: string): boolean;
+ isModelAVehicle(model: Hash): boolean;
+ isModelInCdimage(model: Hash): boolean;
+ isModelValid(model: Hash): boolean;
+ loadScene(x: number, y: number, z: number): void;
+ newLoadSceneStart(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: any): boolean;
+ newLoadSceneStartSafe(p0: number, p1: number, p2: number, p3: number, p4: any): boolean;
+ prefetchSrl(p0: any): void;
+ removeAnimDict(animDict: string): void;
+ removeAnimSet(animSet: string): void;
+ removeClipSet(clipSet: string): void;
+ removeIpl(iplName: string): void;
+ removeNamedPtfxAsset(fxName: string): void;
+ requestAdditionalCollisionAtCoord(p0: number, p1: number, p2: number): void;
+ requestAnimDict(animDict: string): void;
+ requestAnimSet(animSet: string): void;
+ requestClipSet(clipSet: string): void;
+ requestCollisionAtCoord(x: number, y: number, z: number): any;
+ requestCollisionForModel(model: Hash): void;
+ requestIpl(iplName: string): void;
+ requestModel(model: Hash, cb?: Function): void;
+ requestModel2(model: Hash): void;
+ requestNamedPtfxAsset(fxName: string): void;
+ setDitchPoliceModels(toggle: boolean): void;
+ setFocusArea(x: number, y: number, z: number, offsetX: number, offsetY: number, offsetZ: number): void;
+ setGamePausesForStreaming(toggle: boolean): void;
+ setHdArea(x: number, y: number, z: number, ground: number): void;
+ setInteriorActive(interiorID: number, toggle: boolean): void;
+ setModelAsNoLongerNeeded(model: Hash): void;
+ setPedPopulationBudget(p0: number): void;
+ setPlayerSwitchLocation(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number,
+ p7: number, p8: any): void;
+ setReducePedModelBudget(toggle: boolean): void;
+ setReduceVehicleModelBudget(toggle: boolean): void;
+ setSrlTime(p0: number): void;
+ setStreaming(toggle: boolean): void;
+ setUnkCameraSettings(x: number, y: number, z: number, rad: number, p4: any, p5: any): any;
+ setVehiclePopulationBudget(p0: number): void;
+ startPlayerSwitch(from: Handle, to: Handle, flags: number, switchType: number): void;
+}
+
+interface GameSystemMp {
+ ceil(value: number): number;
+ cos(value: number): number;
+ floor(value: number): number;
+ pow(base: number, exponent: number): number;
+ round(value: number): number;
+ settimera(value: number): void;
+ settimerb(value: number): void;
+ shiftLeft(value: number, bitShift: number): number;
+ shiftRight(value: number, bitShift: number): number;
+ sin(value: number): number;
+ sqrt(value: number): number;
+ startNewScript(scriptName: string, stackSize: number): number;
+ startNewScriptWithArgs(scriptName: string, args: any, argCount: number, stackSize: number): number;
+ startNewStreamedScript(scriptHash: Hash, stackSize: number): number;
+ startNewStreamedScriptWithArgs(scriptHash: Hash, args: any, argCount: number, stackSize: number): number;
+ toFloat(value: number): number;
+ vdist(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): number;
+ vdist2(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): number;
+ vmag(p0: number, p1: number, p2: number): number;
+ vmag2(p0: number, p1: number, p2: number): number;
+}
+
+interface GameTimeMp {
+ addToClockTime(hour: number, minute: number, second: number): void;
+ advanceClockTimeTo(hour: number, minute: number, second: number): void;
+ getLocalTime(year: number, month: number, day: number, hour: number, minute: number, second: number): {
+ year: number;
+ month: number;
+ day: number;
+ hour: number;
+ minute: number;
+ second: number;
+ };
+ getLocalTimeGmt(year: number, month: number, day: number, hour: number, minute: number, second: number): {
+ year: number;
+ month: number;
+ day: number;
+ hour: number;
+ minute: number;
+ second: number;
+ };
+ getPosixTime(year: number, month: number, day: number, hour: number, minute: number, second: number): {
+ year: number;
+ month: number;
+ day: number;
+ hour: number;
+ minute: number;
+ second: number;
+ };
+ pauseClock(toggle: boolean): void;
+ setClockDate(day: number, month: number, year: number): void;
+ setClockTime(hour: number, minute: number, second: number): void;
+
+ // RAGE.MP extensions
+ serverTickCount: number;
+}
+
+interface GameUiMp {
+ activateFrontendMenu(menuhash: Hash, Toggle_Pause: boolean, p2: number): void;
+ addBlipForCoord(x: number, y: number, z: number): BlipMp;
+ addBlipForPickup(pickup: PickupMp): BlipMp;
+ addBlipForRadius(posX: number, posY: number, posZ: number, radius: number): BlipMp;
+ addNextMessageToPreviousBriefs(p0: boolean): void;
+ addTextComponentFloat(value: number, decimalPlaces: number): void;
+ addTextComponentInteger(value: number): void;
+ addTextComponentItemString(labelName: string): void;
+ addTextComponentSubstringCash(cashAmount: number, p1: boolean): void;
+ addTextComponentSubstringLocalized(gxtEntryHash: Hash): void;
+ addTextComponentSubstringPlayerName(text: string): void;
+ addTextComponentSubstringTime(timestamp: number, flags: number): void;
+ addTextComponentSubstringWebsite(website: string): void;
+ addTrevorRandomModifier(headDisplayId: number): boolean;
+ beginTextCommandSetBlipName(gxtentry: string): void;
+ clearAdditionalText(p0: number, p1: boolean): void;
+ clearFloatingHelp(p0: any, p1: boolean): void;
+ clearHelp(toggle: boolean): void;
+ clearThisPrint(p0:string): void;
+ displayAmmoThisFrame(display: boolean): void;
+ displayAreaName(toggle: boolean): void;
+ displayCash(toggle: boolean): void;
+ displayHelpTextFromStringLabel(p0: any, loop: boolean, beep: boolean, shape: number): void;
+ displayHelpTextThisFrame(message: string, p1: boolean): void;
+ displayHud(toggle: boolean): void;
+ displayRadar(Toggle: boolean): any;
+ doesTextBlockExist(gxt: string): boolean;
+ doesTextLabelExist(gxt: string): boolean;
+ drawNotification(blink: boolean, p1: boolean): number;
+ drawNotification2(blink: boolean, p1: boolean): number;
+ drawNotification3(blink: boolean, p1: boolean): number;
+ drawNotification4(blink: boolean, p1: boolean): number;
+ drawSubtitleTimed(time: number, p1: boolean): void;
+ drawText(x: number, y: number): void;
+ enableDeathbloodSeethrough(p0: boolean): void;
+ flashAbilityBar(p0: any): void;
+ flashWantedDisplay(p0: boolean): any;
+ getBlipInfoIdCoord(p0: number): Vector3Mp;
+ getHudColour(hudIndex: number, r: number, g: number, b: number, a: number): {
+ hudIndex: number;
+ r: number;
+ g: number;
+ b: number;
+ a: number;
+ };
+ getHudComponentPosition(componentIndex: RageEnums.HudComponent | number): number;
+ getLabelText(labelName: string): string;
+ getLengthOfLiteralString(string: string): number;
+ getLengthOfStringWithThisTextLabel(gxt: string): number;
+ getNamedRendertargetRenderId(p0: string): any;
+ getStreetNameFromHashKey(hash: Hash): string;
+ getTextScaleHeight(size: number, font: number): number;
+ getTextScreenWidth(p0: boolean): number;
+ getTextSubstring(text: string, position: number, length: number): string;
+ getTextSubstringSafe(text: string, position: number, length: number, maxLength: number): string;
+ getTextSubstringSlice(text: string, startPosition: number, endPosition: number): string;
+ hasAdditionalTextLoaded(slot: number): boolean;
+ hasHeadDisplayLoaded(headDisplayId: number): boolean;
+ hasThisAdditionalTextLoaded(gxt: string, slot: number): boolean;
+ hideHudComponentThisFrame(componentIndex: RageEnums.HudComponent | number): void;
+ hideScriptedHudComponentThisFrame(componentIndex: RageEnums.HudComponent | number): void;
+ hideSpecialAbilityLockonOperation(p0: any, p1: boolean): void;
+ isHudComponentActive(componentIndex: RageEnums.HudComponent | number): boolean;
+ isMinimapAreaRevealed(x: number, y: number, radius: number): boolean;
+ isNamedRendertargetLinked(hash: Hash): boolean;
+ isNamedRendertargetRegistered(p0: string): boolean;
+ isPauseMenuActive(): boolean;
+ isScriptedHudComponentActive(componentIndex: RageEnums.HudComponent | number): boolean;
+ isStreamingAdditionalText(p0: number): boolean;
+ keyHudColour(p0: boolean, p1: any): void;
+ linkNamedRendertarget(hash: Hash): void;
+ lockMinimapAngle(angle: number): void;
+ lockMinimapPosition(x: number, y: number): void;
+ objectDecalToggle(hash: Hash): void;
+ registerNamedRendertarget(p0: string, p1: boolean): boolean;
+ releaseNamedRendertarget(p0: any): boolean;
+ removeBlip(blip: Hash): void;
+ removeNotification(notifactionId: number): void;
+ requestAdditionalText(gxt: string, slot: number): void;
+ requestAdditionalText2(gxt: string, slot: number): void;
+ resetHudComponentValues(componentIndex: RageEnums.HudComponent | number): void;
+ respondingAsTemp(p0: number): void;
+ restartFrontendMenu(menuHash: Hash, p1: number): void;
+ setAbilityBarValue(p0: number, p1: number): void;
+ setCursorSprite(spriteId: number): void;
+ setFrontendActive(active: boolean): void;
+ setGpsFlags(p0: number, p1: number): void;
+ setGpsFlashes(toggle: boolean): void;
+ setHeadDisplayFlag(headDisplayId: number, sprite: number, toggle: boolean): void;
+ setHeadDisplayString(headDisplayId: number, string: string): void;
+ setHeadDisplayWanted(headDisplayId: number, wantedlvl: number): void;
+ setHudColour(componentIndex: RageEnums.HudComponent | number, r: number, g: number, b: number, a: number): void;
+ setHudComponentPosition(componentIndex: RageEnums.HudComponent | number, x: number, y: number): void;
+ setLoadingPromptTextEntry(string: string): void;
+ setMinimapAttitudeIndicatorLevel(altitude: number, p1: boolean): void;
+ setMinimapBlockWaypoint(toggle: boolean): void;
+ setMinimapComponent(p0: number, p1: boolean, p2: number): any;
+ setMinimapRevealed(toggle: boolean): void;
+ setMinimapVisible(toggle: boolean): void;
+ setMissionName(p0: boolean, name: string): void;
+ setMultiplayerHudCash(p0: number, p1: number): void;
+ setNewWaypoint(x: number, y: number): void;
+ setNotificationFlashColor(red: number, green: number, blue: number, alpha: number): void;
+ setNotificationMessage(picName1: string, picName2: string, flash: boolean, iconType: number, sender: string,
+ subject: string): number;
+ setNotificationMessageClanTag(picName1: string, picName2: string, flash: boolean, iconType: number, sender: string,
+ subject: string, duration: number, clanTag: string): number;
+ setNotificationMessageClanTag2(picName1: string, picName2: string, flash: boolean, iconType1: number, sender: string,
+ subject: string, duration: number, clanTag: string, iconType2: number, p9: number): number;
+ setNotificationTextEntry(type: string): void;
+ setPauseMenuActive(toggle: boolean): void;
+ setPlayerBlipPositionThisFrame(x: number, y: number): void;
+ setPlayerCashChange(cash: number, bank: number): void;
+ setRadarAsInteriorThisFrame(interior: Hash, x: number, y: number, z: number, p4: number): void;
+ setRadarBigmapEnabled(toggleBigMap: boolean, showFullMap: boolean): void;
+ setRadarZoom(zoomLevel: number): void;
+ setRadarZoomLevelThisFrame(zoomLevel: number): void;
+ setTextCentre(align: boolean): void;
+ setTextChatUnk(p0: boolean): void;
+ setTextColour(red: number, green: number, blue: number, alpha: number): void;
+ setTextComponentFormat(inputType: string): void;
+ setTextDropshadow(distance: number, r: number, g: number, b: number, a: number): void;
+ setTextEdge(p0: number, r: number, g: number, b: number, a: number): void;
+ setTextEntry(text: string): void;
+ setTextEntry2(p0: string): void;
+ setTextEntryForWidth(text: string): void;
+ setTextFont(fontType: number): void;
+ setTextGxtEntry(entry: string): void;
+ setTextJustification(justifyType: number): void;
+ setTextLeading(p0: boolean): void;
+ setTextProportional(p0: boolean): void;
+ setTextRenderId(renderId: number): void;
+ setTextRightJustify(toggle: boolean): void;
+ setTextScale(sizex: number, sizey: number): void;
+ setTextWrap(start: number, end: number): void;
+ setUseridsUihidden(p0: any, p1: any): boolean;
+ setWarningMessage(entryLine1: string, instructionalKey: number, entryLine2: string, p3: boolean, p4: any,
+ p5: any, p6: any, background: boolean): void;
+ setWarningMessage2(entryHeader: string, entryLine1: string, instructionalKey: number, entryLine2: string,
+ p4: boolean, p5: any, p6: any, p7: any, background: boolean): void;
+ setWarningMessage3(entryHeader: string, entryLine1: string, instructionalKey: any, entryLine2: string,
+ p4: any, p5: any, p6: any, p7: any, p8: any, p9: boolean): void;
+ setWidescreenFormat(p0: any): void;
+ showHudComponentThisFrame(componentIndex: RageEnums.HudComponent | number): void;
+ showLoadingPrompt(busySpinnerType: number): void;
+ showWeaponWheel(forcedShow: boolean): void;
+ toggleStealthRadar(toggle: boolean): void;
+}
+
+interface GameUnkMp {
+ getBroadcastFinishedLosSound(p0: boolean): void;
+}
+
+interface GameVehicleMp {
+ addVehicleStuckCheckWithWarp(p0: any, p1: number, p2: any, p3: boolean, p4: boolean, p5: boolean, p6: any): void;
+ createMissionTrain(variation: number, x: number, y: number, z: number, direction: boolean): Handle;
+ createScriptVehicleGenerator(x: number, y: number, z: number, heading: number, p4: number, p5: number,
+ modelHash: Hash, p7: number, p8: number, p9: number, p10: number, p11: boolean, p12: boolean,
+ p13: boolean, p14: boolean, p15: boolean, p16: number): number;
+ createVehicle(modelHash: Hash, x: number, y: number, z: number, heading: number, networkHandle: boolean,
+ vehiclehandle: boolean): any;
+ deleteMissionTrain(train: Handle): Handle;
+ deleteScriptVehicleGenerator(vehicleGenerator: number): void;
+ disableVehicleWeapon(disabled: boolean, weaponHash: Hash, vehicle: Handle, owner: Handle): void;
+ displayDistantVehicles(toggle: boolean): void;
+ doesScriptVehicleGeneratorExist(vehicleGenerator: number): boolean;
+ doesVehicleExistWithDecorator(decorator: string): boolean;
+ getClosestVehicle(x: number, y: number, z: number, radius: number, modelHash: Hash, flags: number): Handle;
+ getCurrentPlaybackForVehicle(p0: any): any;
+ getDisplayNameFromVehicleModel(modelHash: Hash): string;
+ getNumModColors(p0: number, p1: boolean): number;
+ getPositionInRecording(p0: any): number;
+ getPositionOfVehicleRecordingAtTime(p0: any, p1: number, p2: any): number;
+ getRandomVehicleBackBumperInSphere(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number,
+ p6: number): Handle;
+ getRandomVehicleFrontBumperInSphere(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number,
+ p6: number): Handle;
+ getRandomVehicleInSphere(x: number, y: number, z: number, radius: number, modelHash: Hash, flags: number): Handle;
+ getRandomVehicleModelInMemory(p0: boolean, modelHash: number, p2: number): {
+ modelHash: number;
+ p2: number;
+ };
+ getRotationOfVehicleRecordingAtTime(p0: any, p1: number, p2: any): number;
+ getTimePositionInRecording(p0: any): number;
+ getTotalDurationOfVehicleRecording(p0: any, p1: any): any;
+ getTotalDurationOfVehicleRecordingId(p0: any): number;
+ getVehicleClassFromName(modelHash: Hash): number;
+ getVehicleClassMaxAcceleration(p0: any): number;
+ getVehicleClassMaxAgility(p0: any): number;
+ getVehicleClassMaxBraking(p0: any): number;
+ getVehicleClassMaxTraction(p0: any): number;
+ getVehicleModelAcceleration(modelHash: Hash): number;
+ getVehicleModelMaxBraking(modelHash: Hash): number;
+ getVehicleModelMaxNumberOfPassengers(modelHash: Hash): number;
+ getVehicleModelMaxSpeed(modelHash: Hash): number;
+ getVehicleModelMaxTraction(modelHash: Hash): number;
+ getVehicleRecordingId(p0: any, p1: any): any;
+ hasPreloadModsFinished(p0: any): boolean;
+ hasVehicleAssetLoaded(vehicleAsset: number): boolean;
+ hasVehicleRecordingBeenLoaded(p0: any, p1: any): boolean;
+ isAnyVehicleNearPoint(x: number, y: number, z: number, radius: number): boolean;
+ isCopVehicleInArea3d(x1: number, x2: number, y1: number, y2: number, z1: number, z2: number): boolean;
+ isPlaybackGoingOnForVehicle(p0: any): boolean;
+ isPlaybackUsingAiGoingOnForVehicle(p0: any): boolean;
+ isThisModelABicycle(model: Hash): boolean;
+ isThisModelABike(model: Hash): boolean;
+ isThisModelABoat(model: Hash): boolean;
+ isThisModelACar(model: Hash): boolean;
+ isThisModelAHeli(model: Hash): boolean;
+ isThisModelAnEmergencyBoat(model: Hash): boolean;
+ isThisModelAPlane(model: Hash): boolean;
+ isThisModelAQuadbike(model: Hash): boolean;
+ isThisModelATrain(model: Hash): boolean;
+ isVehicleInGarageArea(garageName: string, vehicle: Handle): boolean;
+ pausePlaybackRecordedVehicle(p0: any): void;
+ preloadVehicleMod(p0: any, p1: any, p2: any): void;
+ removeVehicleAsset(vehicleAsset: number): void;
+ removeVehicleRecording(p0: any, p1: any): void;
+ removeVehiclesFromGeneratorsInArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number,
+ unk: any): void;
+ removeVehicleStuckCheck(p0: any): void;
+ requestVehicleAsset(vehicleHash: Hash, vehicleAsset: number): void;
+ requestVehicleRecording(p0: any, p1: any): void;
+ setAllLowPriorityVehicleGeneratorsActive(active: boolean): void;
+ setAllVehicleGeneratorsActiveInArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number,
+ p6: boolean, p7: boolean): void;
+ setCargobobHookPosition(p0: any, p1: number, p2: number, p3: boolean): void;
+ setFarDrawVehicles(toggle: boolean): void;
+ setGarbageTrucks(toggle: boolean): any;
+ setMissionTrainAsNoLongerNeeded(train: Handle, p1: boolean): Handle;
+ setNumberOfParkedVehicles(value: number): any;
+ setParkedVehicleDensityMultiplierThisFrame(multiplier: number): void;
+ setPlaybackSpeed(p0: any, speed: number): any;
+ setPlaybackToUseAiTryToRevertBackLater(p0: any, p1: any, p2: any, p3: boolean): void;
+ setRandomBoats(toggle: boolean): any;
+ setRandomTrains(toggle: boolean): void;
+ setRandomVehicleDensityMultiplierThisFrame(multiplier: number): void;
+ setScriptVehicleGenerator(vehicleGenerator: any, enabled: boolean): void;
+ setVehicleDensityMultiplierThisFrame(multiplier: number): void;
+ setVehicleModelIsSuppressed(model: Hash, suppressed: boolean): void;
+ setVehicleShootAtTarget(driver: Handle, entity: Handle, xTarget: number, yTarget: number, zTarget: number): void;
+ skipTimeInPlaybackRecordedVehicle(p0: any, p1: number): void;
+ skipToEndAndStopPlaybackRecordedVehicle(p0: any): void;
+ startPlaybackRecordedVehicle(p0: any, p1: any, p2: any, p3: boolean): void;
+ startPlaybackRecordedVehicleUsingAi(p0: any, p1: any, p2: any, p3: number, p4: any): void;
+ startPlaybackRecordedVehicleWithFlags(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any): void;
+ stopPlaybackRecordedVehicle(p0: any): void;
+ switchTrainTrack(intersectionId: number, state: boolean): any;
+ unpausePlaybackRecordedVehicle(p0: any): void;
+
+ // RAGE.MP extensions
+ repairOnExtraToggle: boolean;
+ defaultEngineBehaviour: boolean;
+
+ addModelOverride(model: string, replaceToModel: string): void;
+ clearModelOverrides(): void;
+ removeModelOverride(model: string): void;
+}
+
+interface GameWaterMp {
+ getWaterHeight(x: number, y: number, z: number, height: number): number;
+ getWaterHeightNoWaves(x: number, y: number, z: number, height: number): number;
+ modifyWater(x: number, y: number, radius: number, height: number): void;
+ setWavesIntensity(intensity: number): void;
+ testProbeAgainstAllWater(startX: number, startY: number, startZ: number, endX: number, endY: number, endZ: number,
+ p6: any, p7s: any): boolean;
+ testProbeAgainstWater(startX: number, startY: number, startZ: number, endX: number, endY: number, endZ: number,
+ p6: boolean): boolean;
+ testVerticalProbeAgainstAllWater(x: number, y: number, z: number, p3: any, p4: any): boolean;
+}
+
+interface GameWeaponMp {
+ canUseWeaponOnParachute(weaponHash: Hash): boolean;
+ createWeaponObject(weaponHash: Hash, ammoCount: number, x: number, y: number, z: number,
+ showWorldModel: boolean, heading: number, p7: any): Handle;
+ doesWeaponTakeWeaponComponent(weaponHash: Hash, componentHash: Hash): boolean;
+ enableLaserSightRendering(toggle: boolean): void;
+ getWeaponClipSize(weaponHash: Hash): number;
+ getWeaponComponentHudStats(p0: any, p1: any): boolean;
+ getWeaponComponentTypeModel(componentHash: Hash): Hash;
+ getWeaponDamageType(weaponHash: Hash): number;
+ getWeaponHudStats(weaponHash: Hash, data: {
+ hudDamage: number;
+ hudSpeed: number;
+ hudCapacity: number;
+ hudAccuracy: number;
+ hudRange: number;
+ }): boolean;
+ getWeaponObjectTintIndex(weapon: EntityMp): number;
+ getWeaponTintCount(weaponHash: Hash): number;
+ getWeapontypeGroup(weaponHash: Hash): Hash;
+ getWeapontypeModel(weaponHash: Hash): Hash;
+ getWeapontypeSlot(weaponHash: Hash): Hash;
+ giveWeaponComponentToWeaponObject(weaponObject: Handle, addonHash: Hash): void;
+ giveWeaponObjectToPed(weaponObject: Handle, ped: Handle): void;
+ hasVehicleGotProjectileAttached(driver: Handle, vehicle: Handle, weapon: Hash, p3: any): boolean;
+ hasWeaponAssetLoaded(weaponHash: Hash): boolean;
+ hasWeaponGotWeaponComponent(weapon: Handle, addonHash: Hash): boolean;
+ isWeaponValid(weaponHash: Hash): boolean;
+ removeAllProjectilesOfType(weaponhash: Hash, p1: boolean): void;
+ removeWeaponAsset(weaponHash: Hash): void;
+ removeWeaponComponentFromWeaponObject(p0: any, p1: any): void;
+ requestWeaponAsset(weaponHash: Hash, p1: number, p2: number): void;
+ requestWeaponHighDetailModel(weaponObject: Handle): void;
+ setFlashLightFadeDistance(distance: number): void;
+ setPedAmmoToDrop(p0: any, p1: any): void;
+ setWeaponObjectTintIndex(weapon: EntityMp, tint: number): void;
+ unequipEmptyWeapons: boolean;
+}
+
+interface GameWorldprobeMp {
+ castRayPointToPoint(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, flags: number,
+ ignoreEntity: EntityMp, p8: number): number;
+ getShapeTestResult(rayHandle: number, hit: boolean, endCoords: Vector3Mp, surfaceNormal: Vector3Mp,
+ entityHit: EntityMp): {
+ hit: boolean;
+ endCoords: Vector3Mp;
+ surfaceNormal: Vector3Mp;
+ entityHit: EntityMp;
+ };
+ getShapeTestResultEx(rayHandle: number, hit: boolean, endCoords: Vector3Mp, surfaceNormal: Vector3Mp,
+ materialHash: number, entityHit: EntityMp): {
+ hit: boolean;
+ endCoords: Vector3Mp;
+ surfaceNormal: Vector3Mp;
+ materialHash: number;
+ entityHit: EntityMp;
+ };
+ startShapeTestBox(x: number, y: number, z: number, sizeX: number, sizeY: number, sizeZ: number, rotationX: number,
+ rotationY: number, rotationZ: number, rotationOrder: number, flags: number, ignoreEntity: EntityMp | number,
+ p12: number): number;
+ startShapeTestCapsule(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, radius: number,
+ flags: number, ignoreEntity: EntityMp, p9: number): number;
+ startShapeTestLosProbe(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, flags: number,
+ ignoreEntity: EntityMp, p8: number): number;
+}
+
+interface GameZoneMp {
+ clearPopscheduleOverrideVehicleModel(scheduleId: number): void;
+ getHashOfMapAreaAtCoords(x: number, y: number, z: number): number;
+ getHashOfMapAreaAtCoords(x: number, y: number, z: number): string;
+ getZoneAtCoords(x: number, y: number, z: number): number;
+ getZoneFromNameId(zoneName: string): number;
+ getNameOfZone(x: number, y: number, z: number): string;
+ getZonePopschedule(zoneId: number): number;
+ getZoneScumminess(zoneId: number): number;
+ overridePopscheduleVehicleModel(scheduleId: number, vehicleHash: number): void;
+ overridePopscheduleVehicleModel(scheduleId: number, vehicleHash: string): void;
+ setZoneEnabled(zoneId: number, toggle: boolean): void;
+}
+
+interface GameGxtMp {
+ set(labelNameOrHash: string, newLabelValue:string): void;
+ get(labelNameOrHash: string): string;
+ getDefault(labelNameOrHash: string): string;
+ reset(): void;
+}
+
+// -------------------------------------------------------------------------
+// Gui MP types
+// -------------------------------------------------------------------------
+
+interface GuiChatMp {
+ colors: boolean;
+ safe: boolean;
+
+ activate(state: boolean): void;
+ push(text: string): void;
+ show(state: boolean): void;
+}
+
+interface GuiCursorMp {
+ position: Array2d;
+ visible: boolean;
+
+ show(freezeControls: boolean, state: boolean): void;
+}
+
+// -------------------------------------------------------------------------
+// Pool MP types
+// -------------------------------------------------------------------------
+
+interface BlipMpPool extends EntityMpPool {
+ "new"(sprite: number, position: Vector3Mp, options?: {
+ alpha?: number,
+ color?: number,
+ dimension?: number,
+ drawDistance?: number,
+ name?: string,
+ rotation?: number,
+ scale?: number,
+ shortRange?: boolean
+ }): BlipMp;
+}
+
+interface BrowserMpPool extends EntityMpPool {
+ "new"(url: string): BrowserMp;
+}
+
+interface CameraMpPool extends EntityMpPool {
+ "new"(name: string, position?: Vector3Mp, rotation?: Vector3Mp, fov?: number): CameraMp;
+}
+
+interface CheckpointMpPool extends EntityMpPool {
+ "new"(type: number, position: Vector3Mp, radius: number, options?: {
+ color?: RGBA,
+ dimension?: number,
+ direction?: Vector3Mp,
+ visible? : boolean
+ }): CheckpointMp;
+}
+
+interface ColshapeMpPool extends EntityMpPool {
+ newCircle(x: number, y: number, range: number, dimension?: number): ColshapeMp;
+ newCuboid(x: number, y: number, z: number, width: number, depth: number, height: number, dimension?: number): ColshapeMp;
+ newRectangle(x: number, y: number, width: number, height: number, dimension?: number): ColshapeMp;
+ newSphere(x: number, y: number, z: number, range: number, dimension?: number): ColshapeMp;
+ newTube(x: number, y: number, z: number, range: number, height: number, dimension?: number): ColshapeMp;
+}
+
+interface EntityMpPool {
+ readonly length: number;
+ readonly size: number;
+ streamed: TEntity[];
+
+ apply(fn: (...args: any[]) => void, ...args: any[]): void;
+ at(index: number): TEntity;
+ atHandle(handle: number): TEntity;
+ atRemoteId(remoteId: number): TEntity;
+ exists(entity: TEntity | number): boolean;
+ forEach(fn: (entity: TEntity) => void): void;
+ forEachInRange(position: Vector3Mp, range: number, fn: (entity: TEntity) => void): void;
+ forEachInDimension(position: Vector3Mp, range: number, dimension: number, fn: (entity: TEntity) => void): void;
+ forEachInStreamRange(fn: (entity: TEntity) => void): void;
+ getClosest(position: Vector3Mp): TEntity
+ getClosest(position: Vector3Mp, limit: number): TEntity[]
+ toArray(): TEntity[];
+ toArrayFast(): TEntity[];
+
+ /**
+ @deprecated (1.1+) considering optimizations applied to the reimplemented mp.Pool.forEach in this update without side effects, it's not longer required; for now it's an alias to forEach.
+ */
+ forEachFast(fn: (entity: TEntity) => void): void;
+}
+
+interface EventMpPool {
+ addDataHandler(keyName: string, callback: (...args: any[]) => void): void;
+
+ add(eventName: RageEnums.EventKey.BROWSER_CREATED, callback: (browser: BrowserMp) => void): void;
+ add(eventName: RageEnums.EventKey.BROWSER_DOM_READY, callback: (browser: BrowserMp) => void): void;
+ add(eventName: RageEnums.EventKey.BROWSER_LOADING_FAILED, callback: (browser: BrowserMp) => void): void;
+ add(eventName: RageEnums.EventKey.CLICK, callback: (x: number, y: number, upOrDown: string, leftOrRight: string, relativeX: number, relativeY: number, worldPosition: Vector3MpLike, hitEntity: number) => void): void;
+ add(eventName: RageEnums.EventKey.CONSOLE_COMMAND, callback: (command: string) => void): void;
+ add(eventName: RageEnums.EventKey.DUMMY_ENTITY_CREATED, callback: (dummyType: number, dummy: DummyEntityMp) => void): void;
+ add(eventName: RageEnums.EventKey.DUMMY_ENTITY_DESTROYED, callback: (dummyType: number, dummy: DummyEntityMp) => void): void;
+ add(eventName: RageEnums.EventKey.ENTITY_CONTROLLER_CHANGE, callback: (entity: EntityMp, newController: PlayerMp) => void): void;
+ add(eventName: RageEnums.EventKey.ENTITY_CREATED, callback: (entity: EntityMp) => void): void;
+ add(eventName: RageEnums.EventKey.ENTITY_STREAM_IN, callback: (entity: EntityMp) => void): void;
+ add(eventName: RageEnums.EventKey.ENTITY_STREAM_OUT, callback: (entity: EntityMp) => void): void;
+ add(eventName: RageEnums.EventKey.GUI_READY, callback: () => void): void;
+ add(eventName: RageEnums.EventKey.INCOMING_DAMAGE, callback: (sourceEntity: EntityMp, sourcePlayer: PlayerMp, targetEntity: EntityMp, weapon: number, boneIndex: number, damage: number) => void): void;
+ add(eventName: RageEnums.EventKey.OUTGOING_DAMAGE, callback: (sourceEntity: EntityMp, targetEntity: EntityMp, targetPlayer: PlayerMp, weapon: number, boneIndex: number, damage: number) => void): void;
+ add(eventName: RageEnums.EventKey.PLAYER_CHAT, callback: (text: string) => void): void;
+ add(eventName: RageEnums.EventKey.PLAYER_CREATE_WAYPOINT, callback: (position: Vector3Mp) => void): void;
+ add(eventName: RageEnums.EventKey.PLAYER_COMMAND, callback: (command: string) => void): void;
+ add(eventName: RageEnums.EventKey.PLAYER_DEATH, callback: (player: PlayerMp, reason: number, killer: PlayerMp) => void): void;
+ add(eventName: RageEnums.EventKey.PLAYER_ENTER_CHECKPOINT, callback: (checkpoint: CheckpointMp) => void): void;
+ add(eventName: RageEnums.EventKey.PLAYER_ENTER_COLSHAPE, callback: (colshape: ColshapeMp) => void): void;
+ add(eventName: RageEnums.EventKey.PLAYER_ENTER_VEHICLE, callback: (vehicle: VehicleMp, seat: number) => void): void;
+ add(eventName: RageEnums.EventKey.PLAYER_EXIT_CHECKPOINT, callback: (checkpoint: CheckpointMp) => void): void;
+ add(eventName: RageEnums.EventKey.PLAYER_EXIT_COLSHAPE, callback: (colshape: ColshapeMp) => void): void;
+ add(eventName: RageEnums.EventKey.PLAYER_JOIN, callback: (player: PlayerMp) => void): void;
+ add(eventName: RageEnums.EventKey.PLAYER_LEAVE_VEHICLE, callback: (vehicle: VehicleMp, seat: number) => void): void;
+ add(eventName: RageEnums.EventKey.PLAYER_QUIT, callback: (player: PlayerMp) => void): void;
+ add(eventName: RageEnums.EventKey.PLAYER_REACH_WAYPOINT, callback: (...args: any[]) => void): void;
+ add(eventName: RageEnums.EventKey.PLAYER_READY, callback: () => void): void;
+ add(eventName: RageEnums.EventKey.PLAYER_REMOVE_WAYPOINT, callback: (...args: any[]) => void): void;
+ add(eventName: RageEnums.EventKey.PLAYER_RESURRECT, callback: () => void): void;
+ add(eventName: RageEnums.EventKey.PLAYER_RULE_TRIGGERED, callback: (rule: string, counter: number) => void): void;
+ add(eventName: RageEnums.EventKey.PLAYER_SPAWN, callback: (player: PlayerMp) => void): void;
+ add(eventName: RageEnums.EventKey.PLAYER_START_TALKING, callback: (player: PlayerMp) => void): void;
+ add(eventName: RageEnums.EventKey.PLAYER_STOP_TALKING, callback: (player: PlayerMp) => void): void;
+ add(eventName: RageEnums.EventKey.PLAYER_WEAPON_SHOT, callback: (targetPosition: Vector3Mp, targetEntity?: undefined | EntityMp) => void): void;
+ add(eventName: RageEnums.EventKey.RENDER, callback: (nametags: [PlayerMp, number, number, number][]) => void): void;
+ add(eventName: RageEnums.EventKey.VEHICLE_DEATH, callback: (vehicle: VehicleMp) => void): void;
+
+ add(eventName: RageEnums.EventKey | string, callback: (...args: any[]) => void): void;
+ add(events: ({ [name: string]: (...args: any[]) => void; })): void;
+ addProc(procName: string, callback: (...args: any[]) => void): void;
+ addProc(procs: ({ [name: string]: (...args: any[]) => void; })): void;
+ call(eventName: string, ...args: any[]): void;
+ callRemoteProc(procName: string, ...args: any[]): Promise;
+ callRemoteUnreliable(eventName: string, ...args: any[]): void;
+ callRemote(eventName: string, ...args: any[]): void;
+ cancelPendingRpc(procName?: string): void;
+ hasPendingRpc(procName?: string): boolean;
+ remove(eventName: string, handler?: (...args: any[]) => void): void;
+ remove(eventNames: string[]): void;
+}
+
+interface DummyEntityMpPool extends EntityMpPool {
+ forEachByType(dummyType: number, fn: (entity: DummyEntityMp) => void): void;
+}
+
+interface MarkerMpPool extends EntityMpPool {
+ "new"(type: number, position: Vector3Mp, scale: number, options?: {
+ bobUpAndDown?: boolean,
+ color?: RGBA,
+ dimension?: number,
+ direction?: Vector3Mp,
+ rotation?: Vector3Mp,
+ visible?: boolean
+ }): MarkerMp;
+}
+
+interface ObjectMpPool extends EntityMpPool {
+ "new"(model: HashOrString, position: Vector3Mp, options?: {
+ alpha?: number,
+ dimension?: number,
+ rotation?: Vector3Mp
+ }): ObjectMp;
+ newWeak(handle: number): ObjectMp;
+}
+
+interface PedMpPool extends EntityMpPool {
+ "new"(model: RageEnums.Hashes.Ped | Hash, position: Vector3Mp, heading: number, dimension?: number): PedMp;
+}
+
+interface PickupMpPool extends EntityMpPool {
+ "new"(...args: any[]): PickupMp; // TODO
+}
+
+interface PlayerMpPool extends EntityMpPool {
+ local: PlayerMp;
+}
+
+interface TextLabelMpPool extends EntityMpPool {
+ "new"(text: string, position: Vector3Mp, options?: {
+ color?: RGBA,
+ dimension?: number,
+ drawDistance?: number,
+ font?: number,
+ los?: boolean
+ }): TextLabelMp;
+}
+
+interface VehicleMpPool extends EntityMpPool {
+ "new"(model: HashOrString, position: Vector3Mp, options?: {
+ alpha?: number,
+ color?: [ Array2d, Array2d ] | [ RGB, RGB ],
+ dimension?: number,
+ engine?: boolean,
+ heading?: number;
+ locked?: boolean,
+ numberPlate?: string
+ }): VehicleMp;
+}
+
+// -------------------------------------------------------------------------
+// Additional MP types
+// -------------------------------------------------------------------------
+
+interface Vector3MpLike {
+ x: number;
+ y: number;
+ z: number;
+}
+
+interface Vector3Mp {
+ new(vector: Vector3MpLike): Vector3Mp;
+ new(vector: [number, number, number]): Vector3Mp;
+ new(x?: number, y?: number, z?: number): Vector3Mp;
+
+ x: number;
+ y: number;
+ z: number;
+
+ add(value: number): Vector3Mp;
+ add(vector3: Vector3Mp): Vector3Mp;
+ angleTo(number: Vector3Mp): number;
+ clone(): Vector3Mp;
+ cross(vector3: Vector3MpLike): Vector3Mp;
+ divide(value: number): Vector3Mp;
+ divide(vector3: Vector3Mp): Vector3Mp;
+ dot(vector3: Vector3MpLike): number;
+ equals(vector3: Vector3MpLike): boolean;
+ length(): number;
+ negative(): Vector3Mp;
+ max(): Vector3Mp;
+ min(): Vector3Mp;
+ multiply(value: number): Vector3Mp;
+ multiply(vector3: Vector3Mp): Vector3Mp;
+ subtract(value: number): Vector3Mp;
+ subtract(vector3: Vector3Mp): Vector3Mp;
+ toAngles(): [number, number];
+ toArray(): [number, number, number];
+ toArray(limit: number): number[];
+ toString(): string;
+ unit(): Vector3Mp;
+}
+
+interface RaycastResult {
+ entity: EntityMp,
+ position: Vector3Mp,
+ surfaceNormal: Vector3Mp
+}
+
+// -------------------------------------------------------------------------
+// Vars
+// -------------------------------------------------------------------------
+
+declare const mp: Mp;