CMD:getcar(playerid, params[])
{
if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_GREY, "You need to login first before using any command.");
new num;
if(sscanf(params, "d", num)) return SendClientMessage(playerid, -1, "USAGE: /getcar [1-2]");
if(num != 1 && num != 2) return SendClientMessage(playerid, -1, "USAGE: /getcar [1-2]");
if(num == 1)
{
if(PlayerInfo[playerid][vModel])
{
PlayerInfo[playerid][pVeh] = CreateVehicle(PlayerInfo[playerid][vModel], PlayerInfo[playerid][vX],PlayerInfo[playerid][vY],PlayerInfo[playerid][vZ],PlayerInfo[playerid][vA],PlayerInfo[playerid][vC1],PlayerInfo[playerid][vC2],1200);
if(PlayerInfo[playerid][vLocked]) SetVehicleParamsEx(PlayerInfo[playerid][pVeh], 0, 0, 0, 0, 0, 0, 0);
for(new i=0; i<14; i++)
{
AddVehicleComponent(PlayerInfo[playerid][pVeh], PlayerInfo[playerid][pVehMod][i]);
}
SendClientMessage(playerid, COLOR_GREY, "Your vehicle has been spawned.");
}
return 1;
}
else if(num == 2)
{
if(PlayerInfo[playerid][vVModel])
{
PlayerInfo[playerid][pVVeh] = CreateVehicle(PlayerInfo[playerid][vVModel], PlayerInfo[playerid][vVX],PlayerInfo[playerid][vVY],PlayerInfo[playerid][vVZ],PlayerInfo[playerid][vVA],PlayerInfo[playerid][vVC1],PlayerInfo[playerid][vVC2],1200);
if(PlayerInfo[playerid][vVLocked]) SetVehicleParamsEx(PlayerInfo[playerid][pVVeh], 0, 0, 0, 0, 0, 0, 0);
for(new i=0; i<14; i++)
{
AddVehicleComponent(PlayerInfo[playerid][pVVeh], PlayerInfo[playerid][pVVehMod][i]);
}
SendClientMessage(playerid, COLOR_GREY, "Your vehicle has been spawned.");
}
return 1;
}
return 1;
}
Save the created car to a global player variable, then in the command, check if the variable is greater than 0... if it is, destroy the vehicle, then create the vehicle and assign it to the variable again.
|
CMD:getcar(playerid, params[])
{
new engine, vehicleid, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_GREY, "You need to login first before using any command.");
if(sscanf(params, "mj", params)) return SendClientMessage(playerid, -1, "USAGE: /getcar [1-2]");
if(!strcmp(params, "1", true))
{
if(PlayerInfo[playerid][vModel])
{
if(PlayerInfo[playerid][pVeh] != INVALID_VEHICLE_ID) DestroyVehicle(PlayerInfo[playerid][pVeh]);
PlayerInfo[playerid][pVeh] = CreateVehicle(PlayerInfo[playerid][vModel], PlayerInfo[playerid][vX],PlayerInfo[playerid][vY],PlayerInfo[playerid][vZ],PlayerInfo[playerid][vA],PlayerInfo[playerid][vC1],PlayerInfo[playerid][vC2],1200);
ChangeVehiclePaintjob(PlayerInfo[playerid][pVeh], PlayerInfo[playerid][vPJ]);
if(PlayerInfo[playerid][vLocked]) SetVehicleParamsEx(PlayerInfo[playerid][pVeh], 0, 0, 0, 1, 0, 0, 0);
SetVehicleParamsEx(vehicleid, 0, lights, alarm, doors, bonnet, boot, objective);
for(new i=0; i<14; i++)
{
AddVehicleComponent(PlayerInfo[playerid][pVeh], PlayerInfo[playerid][pVehMod][i]);
}
}
return 1;
}
else if(!strcmp(params, "2", true))
{
if(PlayerInfo[playerid][vVModel])
{
if(PlayerInfo[playerid][pVVeh] != INVALID_VEHICLE_ID) DestroyVehicle(PlayerInfo[playerid][pVVeh]);
PlayerInfo[playerid][pVVeh] = CreateVehicle(PlayerInfo[playerid][vVModel], PlayerInfo[playerid][vVX],PlayerInfo[playerid][vVY],PlayerInfo[playerid][vVZ],PlayerInfo[playerid][vVA],PlayerInfo[playerid][vVC1],PlayerInfo[playerid][vVC2],1200);
ChangeVehiclePaintjob(PlayerInfo[playerid][pVVeh], PlayerInfo[playerid][vVPJ]);
if(PlayerInfo[playerid][vVLocked]) SetVehicleParamsEx(PlayerInfo[playerid][pVVeh], 0, 0, 0, 1, 0, 0, 0);
SetVehicleParamsEx(vehicleid, 0, lights, alarm, doors, bonnet, boot, objective);
for(new i=0; i<14; i++)
{
AddVehicleComponent(PlayerInfo[playerid][pVVeh], PlayerInfo[playerid][pVVehMod][i]);
}
}
return 1;
}
return 1;
}
Will this interfere with the other player's cars? because I used to have this and it caused the other player's cars to get destroyed:
|
new createdcar[MAX_PLAYERS];//top of script
CMD:getcar(playerid, params[])
{
if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_GREY, "You need to login first before using any command.");
new num;
if(sscanf(params, "d", num)) return SendClientMessage(playerid, -1, "USAGE: /getcar [1-2]");
if(num != 1 && num != 2) return SendClientMessage(playerid, -1, "USAGE: /getcar [1-2]");
if(num == 1)
{
if(CreatedCar == 0)
{
if(PlayerInfo[playerid][vModel])
{
PlayerInfo[playerid][pVeh] = CreateVehicle(PlayerInfo[playerid][vModel], PlayerInfo[playerid][vX],PlayerInfo[playerid][vY],PlayerInfo[playerid][vZ],PlayerInfo[playerid][vA],PlayerInfo[playerid][vC1],PlayerInfo[playerid][vC2],1200);
if(PlayerInfo[playerid][vLocked]) SetVehicleParamsEx(PlayerInfo[playerid][pVeh], 0, 0, 0, 0, 0, 0, 0);
for(new i=0; i<14; i++)
{
AddVehicleComponent(PlayerInfo[playerid][pVeh], PlayerInfo[playerid][pVehMod][i]);
}
SendClientMessage(playerid, COLOR_GREY, "Your vehicle has been spawned.");
CreatedCar[playerid] = 1;
}
)
else if(CreatedCar == 1)
{
SendClientMessage(playerid, COLOR_GREY, "Your vehicle is already spawned!");
}
}
else if(num == 2)
{
if(CreatedCar == 0)
{
if(PlayerInfo[playerid][vVModel])
{
PlayerInfo[playerid][pVVeh] = CreateVehicle(PlayerInfo[playerid][vVModel], PlayerInfo[playerid][vVX],PlayerInfo[playerid][vVY],PlayerInfo[playerid][vVZ],PlayerInfo[playerid][vVA],PlayerInfo[playerid][vVC1],PlayerInfo[playerid][vVC2],1200);
if(PlayerInfo[playerid][vVLocked]) SetVehicleParamsEx(PlayerInfo[playerid][pVVeh], 0, 0, 0, 0, 0, 0, 0);
for(new i=0; i<14; i++)
{
AddVehicleComponent(PlayerInfo[playerid][pVVeh], PlayerInfo[playerid][pVVehMod][i]);
}
SendClientMessage(playerid, COLOR_GREY, "Your vehicle has been spawned.");
CreatedCar[playerid] = 1;
}
)
else if(CreatedCar == 1)
{
SendClientMessage(playerid, COLOR_GREY, "Your vehicle is already spawned!");
}
}
return 1;
}
So my attempt to it is this:
pawn Код:
|
native IsValidVehicle(vehicleid); CMD:getcar(playerid, params[]) { if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_GREY, "You need to login first before using any command."); if(IsValidVehicle(PlayerInfo[playerid][pVeh]) DestroyVehicle(PlayerInfo[playerid][pVeh]); new num; if(sscanf(params, "d", num)) return SendClientMessage(playerid, -1, "USAGE: /getcar [1-2]"); if(num != 1 && num != 2) return SendClientMessage(playerid, -1, "USAGE: /getcar [1-2]"); if(num == 1) { if(PlayerInfo[playerid][vModel]) { PlayerInfo[playerid][pVeh] = CreateVehicle(PlayerInfo[playerid][vModel], PlayerInfo[playerid][vX],PlayerInfo[playerid][vY],PlayerInfo[playerid][vZ],PlayerInfo[playerid][vA],PlayerInfo[playerid][vC1],PlayerInfo[playerid][vC2],1200); if(PlayerInfo[playerid][vLocked]) SetVehicleParamsEx(PlayerInfo[playerid][pVeh], 0, 0, 0, 0, 0, 0, 0); for(new i=0; i<14; i++) { AddVehicleComponent(PlayerInfo[playerid][pVeh], PlayerInfo[playerid][pVehMod][i]); } SendClientMessage(playerid, COLOR_GREY, "Your vehicle has been spawned."); } return 1; } else if(num == 2) { if(PlayerInfo[playerid][vVModel]) { PlayerInfo[playerid][pVVeh] = CreateVehicle(PlayerInfo[playerid][vVModel], PlayerInfo[playerid][vVX],PlayerInfo[playerid][vVY],PlayerInfo[playerid][vVZ],PlayerInfo[playerid][vVA],PlayerInfo[playerid][vVC1],PlayerInfo[playerid][vVC2],1200); if(PlayerInfo[playerid][vVLocked]) SetVehicleParamsEx(PlayerInfo[playerid][pVVeh], 0, 0, 0, 0, 0, 0, 0); for(new i=0; i<14; i++) { AddVehicleComponent(PlayerInfo[playerid][pVVeh], PlayerInfo[playerid][pVVehMod][i]); } SendClientMessage(playerid, COLOR_GREY, "Your vehicle has been spawned."); } return 1; } return 1; }
if(IsValidVehicle(PlayerInfo[playerid][pVeh]) DestroyVehicle(PlayerInfo[playerid][pVeh]);
error 001: expected token: ")", but found "-identifier-"
if(IsValidVehicle(PlayerInfo[playerid][pVeh])) DestroyVehicle(PlayerInfo[playerid][pVeh]);
missed a bracket :P |