Destroy all spawned vehicles. -
tuuler - 26.10.2012
Hi, so i want to make a command, what deletes all vehicles what are spawned by admin...
Here is my vehicle command.
Код:
dcmd_car(playerid,params[]) {
if(PlayerInfo[playerid][Level] >= 2) {
if(PlayerInfo[playerid][AtDmZone] == 1)return SendClientMessage(playerid,red,"You Cant Use This Command When You In DmZone!");
if(IsPlayerInRangeOfPoint(playerid, 200.0, -2180.3654785156, 872.56463623047, 70.496360778809))return SendClientMessage(playerid, red,"You Cannot Spawn Cars In Roof Race! , Dont Try To Cheat!");
new tmp[256], tmp2[256], tmp3[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index); tmp3 = strtok(params,Index);
if(!strlen(tmp)) return SendClientMessage(playerid, red, "Use: /car [Modelid/Name] [colour1] [colour2]");
new car, colour1, colour2;
if(!IsNumeric(tmp)) car = GetVehicleModelIDFromName(tmp); else car = strval(tmp);
if(car < 400 || car > 611) return SendClientMessage(playerid, red, "Invalid Vehicle || Use 400-611 || Or Type Car Name");
if(car == 425) return SendClientMessage(playerid, red, "Invalid Vehicle || Use 400-611 || Or Type Car Name");
if(car == 520) return SendClientMessage(playerid, red, "Invalid Vehicle || Use 400-611 || Or Type Car Name");
if(car == 432) return SendClientMessage(playerid, red, "Invalid Vehicle || Use 400-611 || Or Type Car Name");
if(!strlen(tmp2)) colour1 = random(126); else colour1 = strval(tmp2);
if(!strlen(tmp3)) colour2 = random(126); else colour2 = strval(tmp3);
new Float:X,Float:Y,Float:Z, Float:Angle,int1; GetPlayerPos(playerid, X,Y,Z); GetPlayerFacingAngle(playerid,Angle); int1 = GetPlayerInterior(playerid);
SpawnedKCar[playerid] = CreateVehicle(car, X+3,Y,Z, Angle, colour1, colour2, -1); LinkVehicleToInterior(SpawnedKCar[playerid],int1);
PlayerInfo[playerid][pCar] = SpawnedKCar[playerid];
PutPlayerInVehicle(playerid, SpawnedKCar[playerid], 0);
new pName2[MAX_PLAYER_NAME],str[128];
GetPlayerName(playerid,pName2,MAX_PLAYER_NAME);
format(str, sizeof(str), "[Car Spawn] %s Has Spawned || %s || ID:%d", pName2, VehicleNames[car-400], car, colour1, colour2);
SaveToFile("CarSpawns",str);
new str2[24];
format(str2, sizeof(str2), "%s", pName2);
SetVehicleNumberPlate(SpawnedKCar[playerid], str2);
return MessageToAdmins(blue,str);
} else return SendCommandError(playerid);
}
Please help
Re: Destroy all spawned vehicles. -
tuuler - 26.10.2012
Bump... Please help !
Re: Destroy all spawned vehicles. -
Catalyst- - 26.10.2012
Replace your current dcmd_car with this new one:
pawn Код:
new adminVeh[MAX_VEHICLES];
dcmd_car(playerid,params[])
{
if(PlayerInfo[playerid][Level] >= 2)
{
if(PlayerInfo[playerid][AtDmZone] == 1)
return SendClientMessage(playerid,red,"You Cant Use This Command When You In DmZone!");
if(IsPlayerInRangeOfPoint(playerid, 200.0, -2180.3654785156, 872.56463623047, 70.496360778809))
return SendClientMessage(playerid, red,"You Cannot Spawn Cars In Roof Race! , Dont Try To Cheat!");
new tmp[256], tmp2[256], tmp3[256], Index;
tmp = strtok(params,Index);
tmp2 = strtok(params,Index);
tmp3 = strtok(params,Index);
if(!strlen(tmp))
return SendClientMessage(playerid, red, "Use: /car [Modelid/Name] [colour1] [colour2]");
new car, colour1, colour2;
if(!IsNumeric(tmp))
car = GetVehicleModelIDFromName(tmp);
else
car = strval(tmp);
if(car < 400 || car > 611)
return SendClientMessage(playerid, red, "Invalid Vehicle || Use 400-611 || Or Type Car Name");
if(car == 425)
return SendClientMessage(playerid, red, "Invalid Vehicle || Use 400-611 || Or Type Car Name");
if(car == 520)
return SendClientMessage(playerid, red, "Invalid Vehicle || Use 400-611 || Or Type Car Name");
if(car == 432)
return SendClientMessage(playerid, red, "Invalid Vehicle || Use 400-611 || Or Type Car Name");
if(!strlen(tmp2))
colour1 = random(126);
else
colour1 = strval(tmp2);
if(!strlen(tmp3))
colour2 = random(126);
else
colour2 = strval(tmp3);
new Float: X, Float: Y, Float: Z, Float: Angle, int1;
GetPlayerPos(playerid, X,Y,Z);
GetPlayerFacingAngle(playerid,Angle);
int1 = GetPlayerInterior(playerid);
SpawnedKCar[playerid] = CreateVehicle(car, X+3,Y,Z, Angle, colour1, colour2, -1); LinkVehicleToInterior(SpawnedKCar[playerid],int1);
PlayerInfo[playerid][pCar] = SpawnedKCar[playerid];
PutPlayerInVehicle(playerid, SpawnedKCar[playerid], 0);
adminVeh[SpawnedKCar[playerid]] = 1;
new pName2[MAX_PLAYER_NAME], str[128];
GetPlayerName(playerid, pName2, MAX_PLAYER_NAME);
format(str, sizeof(str), "[Car Spawn] %s Has Spawned || %s || ID:%d", pName2, VehicleNames[car-400], car, colour1, colour2);
SaveToFile("CarSpawns",str);
new str2[24];
format(str2, sizeof(str2), "%s", pName2);
SetVehicleNumberPlate(SpawnedKCar[playerid], str2);
return MessageToAdmins(blue,str);
return 1;
}
else
return SendCommandError(playerid);
}
and add these 2 to your script:
pawn Код:
dcmd_destroy(playerid,params[])
{
for(new v = 0; v < MAX_VEHICLES; v++)
if(adminVeh[v] == 1) {
DestroyVehicle(v);
adminVeh[v] = 0;
}
return 1;
}
pawn Код:
public OnVehicleSpawn(vehicleid)
{
if(adminVeh[vehicleid] == 1) {
DestroyVehicle(vehicleid);
adminVeh[vehicleid] = 0;
}
return 1;
}
Post back if you have any errors.