Skip to content

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

player.world = 5;          // see and meet only world 5 (and worlds it views)

Full reference: Player.