UNPKG

rock-mod

Version:

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

145 lines (144 loc) 4.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MockPlayer = void 0; const MockEntity_1 = require("../entity/MockEntity"); const RockMod_1 = require("../../../RockMod"); const Math_1 = require("../../../../shared/common/utils/math/Math"); class MockPlayer extends MockEntity_1.MockEntity { _playerData; get name() { return this._playerData.name; } get socialClub() { return this._playerData.socialClub; } get heading() { return this._playerData.heading; } get health() { return this._playerData.health; } get armour() { return this._playerData.armour; } get isDead() { return this.health <= 0; } get ip() { return this._playerData.ip; } get serial() { return this._playerData.serial; } get vehicle() { return null; } get seat() { return -1; } get weapon() { return this._playerData.weapon; } get weaponAmmo() { return this._playerData.weaponAmmo; } get eyeColor() { return 0; } get streamedPlayers() { return []; } constructor(options) { super(options); const { name = "Mock Player", socialClub = "mock_club", health = 100, heading = 0, armour = 0, weapon = 0, weaponAmmo = 0, ip = "127.0.0.1", serial = "mock_serial", } = options; this._playerData = { name, socialClub, health, heading, armour, weapon, weaponAmmo, ip, serial, }; } emitEvent(eventName, ...args) { return RockMod_1.RockMod.instance.net.events.emitClient(this, eventName, ...args); } emitRPC(rpcName, ...args) { return RockMod_1.RockMod.instance.net.rpc.emitClient(this, rpcName, ...args); } spawn(position) { this.setPosition(position); this._playerData.health = 100; } setName(name) { this._playerData.name = name; } setHeading(value) { this._playerData.heading = value; } setHealth(value) { this._playerData.health = (0, Math_1.MathClamp)(value, 0, 100); } setArmour(value) { this._playerData.armour = (0, Math_1.MathClamp)(value, 0, 100); } setWeaponAmmo(weapon, ammo) { this._playerData.weapon = RockMod_1.RockMod.instance.utils.hash(weapon); this._playerData.weaponAmmo = ammo; } giveWeapon(weapon, ammo) { this.setWeaponAmmo(weapon, ammo); } removeWeapon(weapon) { if (this._playerData.weapon === RockMod_1.RockMod.instance.utils.hash(weapon)) { this._playerData.weapon = 0; this._playerData.weaponAmmo = 0; } } enableVoiceTo(player) { throw new Error(`${player.name}: Not implemented: enableVoiceTo`); } disableVoiceTo(player) { throw new Error(`${player.name}: Not implemented: disableVoiceTo`); } putIntoVehicle(vehicle, seat) { throw new Error(`${this.name}: ${vehicle.id} ${seat} putIntoVehicle`); } ejectFromVehicle() { throw new Error("Not implemented: ejectFromVehicle"); } setCustomization() { throw new Error("Not implemented: setCustomization"); } setHeadOverlay() { throw new Error("Not implemented: setHeadOverlay"); } setEyeColor() { throw new Error("Not implemented: setEyeColor"); } setProp() { throw new Error("Not implemented: setProp"); } setClothes() { throw new Error("Not implemented: setClothes"); } setHairColor() { throw new Error("Not implemented: setHairColor"); } kick() { throw new Error("Not implemented: kick"); } playAnimation() { throw new Error("Not implemented: playAnimation"); } stopAnimation() { throw new Error("Not implemented: stopAnimation"); } removeFromVehicle() { throw new Error("Not implemented removeFromVehicle"); } } exports.MockPlayer = MockPlayer;