const MAX_VEHICLES_PER_PLAYER = 3;
const INVALID_ID = -1;
banned_vehicles <- [122, 150, /* add your banned vehicles here*/];
vehicles_spawned <- array(GetMaxPlayers(), array(MAX_VEHICLES_PER_PLAYER, INVALID_ID));
vehicles_spawnedcount <- array(GetMaxPlayers(), 0);
function onPlayerCommand(player, command, text) {
switch(command.tolower()) {
case "spawncar": case "v": case "vehicle": case "veh": case "car": {
if (!text || !IsNum(text)) return MessagePlayer("Invalid ID. Usage: /"+command+" <90-150>", player);
text = text.tointeger();
if (text < 90 || text > 150) return MessagePlayer("Invalid ID. Usage: /"+command+" <90-150>", player);
foreach(idx, val in banned_vehicles) {
if (val == text) return MessagePlayer("This vehicle is currently banned", player, Colour(255, 0, 0));
}
local vehicle = CreateVehicle(text, Vector(player.Pos.x, player.Pos.y + 5, player.Pos.z), player.Angle);
vehicle.OneTime = true;
local id = vehicles_spawned[player.ID];
if (vehicles_spawnedcount[player.ID] == 0) id = vehicles_spawned[player.ID].len() - 1;
local tmp = FindVehicle(id);
if (tmp) tmp.Remove();
vehicles_spawned[player.ID][vehicles_spawnedcount[player.ID]] = vehicle.ID;
vehicles_spawnedcount[player.ID]++;
break;
}
}
MessagePlayer("invalid cmd", player, Colour(255, 0, 0));
}
function onPlayerPart(player, reason) {
foreach(idx, val in vehicles_spawned[player.ID]) {
vehicles_spawned[player.ID][idx] = INVALID_ID;
}
vehicles_spawnedcount[player.ID] = 0;
}
not tested.