Knight docs
EN ID
GitHub

Vehicles

Create, drive, damage and destroy vehicles.

Create and destroy

knight
system::start() {
    // CreateVehicle(model, x, y, z, angle, colour1, colour2)
    let car = CreateVehicle(411, 1958.4, 1348.0, 15.4, 90.0, 3, 3);
    let bike = CreateVehicle(462, 1962.0, 1348.0, 15.4, 90.0, 1, 1);
    Log("vehicles: {car}, {bike}");
};

player::command("/delcar") {
    if (IsValidVehicle(GetPlayerVehicleID(playerid))) {
        DestroyVehicle(GetPlayerVehicleID(playerid));
    }
};

Getting in and out

knight
player::command("/enter") {
    let v = GetPlayerVehicleID(playerid);
    if (v != 0) { return; }
    PutPlayerInVehicle(playerid, 1, 0);   // vehicle id, seat
};

player::command("/exit") {
    RemovePlayerFromVehicle(playerid);
};

Health, damage and respawn

knight
SetVehicleHealth(vehicleid, 1000.0);
let hp = GetVehicleHealth(vehicleid);
RepairVehicle(vehicleid);
SetVehicleToRespawn(vehicleid);

// damage bitmasks: panels, doors, lights, tyres
SetVehicleDamageStatus(vehicleid, 1, 0, 0, 1);

Params (engine, lights, doors, windows)

knight
// SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective)
SetVehicleParamsEx(vehicleid, 1, 1, 0, 0, 0, 0, 0);
SetVehicleParamsCarDoors(vehicleid, 1, 0, 1, 0);
SetVehicleParamsCarWindows(vehicleid, 1, 0, 1, 0);

Events

knight
player::enter_vehicle(int playerid, int vehicleid, bool passenger) {
    SendClientMessage(playerid, "Entered vehicle {vehicleid}");
};

player::exit_vehicle(int playerid, int vehicleid) {
    SendClientMessage(playerid, "Left vehicle {vehicleid}");
};

vehicle::death(int vehicleid, int killer) {
    Log("vehicle {vehicleid} destroyed by {killer}");
};
Note
For custom-looking vehicles see Custom Vehicles.