[Ajuda] Comando /destruirid e /destruirveiculos
#1

Estou com um probleminha, tipo... o /destruirid e o /destruirveiculos estб destruindo os veнculos que nгo foram criados, estб destruindo veнculos que jб estava no servidor, alguйm pode me ajudar?

PHP Code:
CMD:destruirveiculos(playeridparams[])
{
    if(
PlayerInfo[playerid][pAdmin] < 1337)
        return 
SendClientMessage(playeridCOLOR_GRAD1"    Vocк nгo pode usar este comando!");
    new 
pode 1;
    for(new 
iMAX_VEHICLESi++)
    {
        if(
TextoCarros[i] == 1)
        {
            
pode 1;
        }
        if(
pode == 1)
        {
            
TextoCarros[i] = 0;
            
DestroyVehicle(i);
        }
    }
    for(new 
0sizeof(CreatedCars); i++)
    {
        
CreatedCars[i] = 0;
    }
    
CreatedCar 0;
    
//SendClientMessage(playerid, COLOR_GREY, "   Todos os veнculos criados foram destruнdos!");
    
new string[100];
    
format(stringsizeof(string), "AdmCmd: O admin %s destruiu todos os carros criados no servidor."NomePlayer(playerid));
    
ABroadCast(0x33CCFFAA,string,1);
    return 
1;
}
CMD:destruirid(playeridparams[])
{
    if(
PlayerInfo[playerid][pAdmin] < 3)
        return 
SendClientMessage(playeridCOLOR_GRAD1"   Vocк nгo estб autorizado a usar este comando !");
    new 
counter 0;
    new 
result;
    new 
plyName[MAX_PLAYER_NAME];
    
GetPlayerName(playeridplyNameMAX_PLAYER_NAME);
    for(new 
i!= MAX_VEHICLESi++)
    {
        new 
dist ChecarveiculoBPC(5playeridi);
        if(
dist)
        {
            
result i;
            
counter++;
        }
    }
    switch(
counter)
    {
        case 
0:
        {
            
SendClientMessage(playeridCOLOR_GREY"   Nгo hб nenhum carro nesse raio!");
        }
        case 
1:
        {
            if(
result TOTAL_CARROS)
            {
                
SendClientMessage(playeridCOLOR_GREY"Vocк sу pode destruir veнculos criados");
                return 
true;
            }
            new 
string[128];
            new 
name[MAX_PLAYER_NAME];
            
GetPlayerName(playeridnamesizeof(name));
            
DestroyVehicle(result);
            
format(stringsizeof(string), "Vocк destruiu o veнculo ID:[%d]"result);
            
SendClientMessage(playeridCOLOR_GREYstring);
            
CreatedCar --;
        }
        default:
        {
            
SendClientMessage(playeridCOLOR_GREY"   Foram encontrados mais de um carro nesse raio");
        }
    }
    return 
true;

Reply
#2

Mas esse comando nгo tem nada de errado, ele ira destruir sim os veнculos jб existentes no servidor pois vocк esta fazendo um loop " for(new i; i < MAX_VEHICLES; i++) "
Reply
#3

Crie uma booleana para definir os veнculos que foram criados.

No comando de criar veнculo: vCriado[vehicleid] = true;

Em qualquer comando de destruir veнculos criados:

PHP Code:
if(vCriado[vehicleid] == false) return SendClientMessage(playeridCOLOR_ERRO"[ x ] Vocк sу pode destruir veнculos criados!");
vCriado[vehiclid] = false
No seu comando basta colocar uma exceзгo em baixo do loop que passa por todos os veнculos.

PHP Code:
if(vCriado[i] == true)
{
    
DestroyVehicle(i);

Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)