Destroy all spawned vehicles.
#1

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
Reply
#2

Bump... Please help !
Reply
#3

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.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)