Players¶
Player objects come from events (playerJoin, ...) and server.players.
They stay valid until playerQuit has been handled; after that
player.connected is false and changes are ignored.
Joining and spawning¶
server.on("playerJoin", (player) => {
player.skin = 0; // CJ
player.money = 1000;
player.data.kills = 0; // your own state
});
server.on("playerSpawn", (player) => {
// After joining and after every respawn.
player.setPosition({ x: 1481.2, y: -1771.6, z: 18.8 }, 0);
player.health = 100;
player.armour = 50;
});
server.players, server.player(id), and per player: id, name, ip,
ping, alive, paused, focused, position, heading, vehicle,
seat.
Messages¶
player.send("Only you see this", Color.Yellow);
server.broadcast("Everyone sees this"); // 0xRRGGBB colour optional
player.kick("Cheating");
For anything richer than a line of text (menus, HUDs, dialogs) use a client script.
Weapons¶
The server keeps every player's inventory; their game only has what you give.
player.giveWeapon(Weapon.M4, 300);
player.setAmmo(Weapon.M4, 50);
player.weapon = Weapon.M4; // into their hands
player.removeWeapon(Weapon.M4);
player.resetWeapons();
player.weapons; // [{ slot, weapon, ammo }]
Money, stats and skills¶
player.giveMoney(250); // shown exactly as the server keeps it
player.setStat(Stat.PistolSkill, 1000); // dual pistols
player.setStat(Stat.Stamina, 1000);
player.infiniteSprint = true;
player.skinAnimations = true; // walk like their skin, not CJ
Wanted level¶
player.wantedLevel = 3; // cops respond if police is on
player.maxWantedLevel = 4;
server.on("playerWantedLevel", (player, level, old) => {
if (level > old && player.data.cop) return false; // cops can't be wanted
});
Vehicles¶
player.vehicle; // the one they're in, or null
player.lastVehicle; // the one they last drove
player.removeFromVehicle();
player.remoteControl(rcCar, { detonate: true }); // drive it from afar
Virtual worlds¶
Full reference: Player.