[AJUDA] Destruir certos veнculos
#1

Bom eu uso um comando que cria carro com a variбvel Carro[playerid]...

Eu quero que quando eu digite "/rc" respawne os carros normais (essa parte jб tem no comando) e destrua os carros da variбvel Carro[playerid]

pawn Код:
if(strcmp(cmdtext, "/rc", true) == 0)
    {
        if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000, "[ERRO] VocК nгo estб logado na RCON.");
        new str[40], nome[24], bool:vehicle[MAX_VEHICLES];
        GetPlayerName(playerid, nome, 24);
        format(str, 40, "O Admin %s Respawnou os veiculos", nome);
        SendClientMessageToAll(-1, str);
        for(new j = 1; GetVehicleModel(j); ++j)
        {
            vehicle[j] = false;
            for(new i, p = GetMaxPlayers(); i < p; ++i)
            {
                if(!IsPlayerInAnyVehicle(i) || !IsPlayerConnected(i)) continue;
                if(IsPlayerInVehicle(i, j))
                {
                    vehicle[j] = true;
                    break;
                }
            }
            if(!vehicle[j]) SetVehicleToRespawn(j);
        }
        return 1;
    }
Ajudem pls? Nгo sei como faзo
Reply
#2

pawn Код:
if(!strcmp(cmdtext,"/str", true))
{
    for(new i; i != sizeof(Carro); ++i)
    {
        DestroyVehicle(Carro[i]);
        printf("Veiculo destruido ( Carro[%i] )", i);
    }
    return 1;
}
Reply
#3

Desse jeito eu jб sabia, queria por no comando mesmo

Deixa quieto.
Reply
#4

pawn Код:
if(strcmp(cmdtext, "/rc", true) == 0)
    {
        if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000, "[ERRO] VocК nгo estб logado na RCON.");
        new str[40], nome[24], bool:vehicle[MAX_VEHICLES];
        GetPlayerName(playerid, nome, 24);
        format(str, 40, "O Admin %s Respawnou os veiculos", nome);
        SendClientMessageToAll(-1, str);
        for(new j = 1; GetVehicleModel(j); ++j)
        {
            vehicle[j] = false;
            for(new i, p = GetMaxPlayers(); i < p; ++i)
            {
                if(!IsPlayerInAnyVehicle(i) || !IsPlayerConnected(i)) continue;
                if(IsPlayerInVehicle(i, j))
                {
                    vehicle[j] = true;
                    break;
                }
                else if(!IsPlayerInVehicle(i, Carro[i]))
                {
                    DestroyVehicle(Carro[i]);
                }
            }
            if(!vehicle[j]) SetVehicleToRespawn(j);
        }
        return 1;
    }
Reply
#5

pawn Код:
if(strcmp(cmdtext, "/rc", true) == 0)
    {
        if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000, "[ERRO] VocК nгo estб logado na RCON.");
        new str[40], nome[24], bool:vehicle[MAX_VEHICLES];
        GetPlayerName(playerid, nome, 24);
        format(str, 40, "O Admin %s Respawnou os veiculos", nome);
        SendClientMessageToAll(-1, str);
        for(new j = 1; GetVehicleModel(j); ++j)
        {
            vehicle[j] = false;
            for(new i, p = GetMaxPlayers(); i < p; ++i)
            {
                if(!IsPlayerInAnyVehicle(i) || !IsPlayerConnected(i)) continue;
                if(IsPlayerInVehicle(i, j))
                {
                    vehicle[j] = true;
                    break;
                }
            }
            if(!vehicle[j]) SetVehicleToRespawn(j);
        }
        for(new i; i != sizeof(Carro); ++i)
        {
            DestroyVehicle(Carro[i]);
            printf("Veiculo destruido ( Carro[%i] )", i);
        }
        return 1;
    }
Reply
#6

E como coloco pra nгo destruir os carros que estгo sendo usados?
Reply
#7

Quote:
Originally Posted by [O.z]Caroline
Посмотреть сообщение
pawn Код:
if(strcmp(cmdtext, "/rc", true) == 0)
    {
        if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000, "[ERRO] VocК nгo estб logado na RCON.");
        new str[40], nome[24], bool:vehicle[MAX_VEHICLES];
        GetPlayerName(playerid, nome, 24);
        format(str, 40, "O Admin %s Respawnou os veiculos", nome);
        SendClientMessageToAll(-1, str);
        for(new j = 1; GetVehicleModel(j); ++j)
        {
            vehicle[j] = false;
            for(new i, p = GetMaxPlayers(); i < p; ++i)
            {
                if(!IsPlayerInAnyVehicle(i) || !IsPlayerConnected(i)) continue;
                if(IsPlayerInVehicle(i, j))
                {
                    vehicle[j] = true;
                    break;
                }
            }
            if(!vehicle[j]) SetVehicleToRespawn(j);
        }
        for(new i; i != sizeof(Carro); ++i)
        {
            DestroyVehicle(Carro[i]);
            printf("Veiculo destruido ( Carro[%i] )", i);
        }
        return 1;
    }
nгo usamos return dentro de um loop correto ?

@topic

no meu cуdigo sу serгo destruнdos os carros que nгo estiverem em uso.. tente testa-lo
Reply
#8

#Cristian: Sim.

pawn Код:
if(strcmp(cmdtext, "/rc", true) == 0)
    {
        if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000, "[ERRO] VocК nгo estб logado na RCON.");
        new str[40], nome[24], bool:vehicle[MAX_VEHICLES];
        GetPlayerName(playerid, nome, 24);
        format(str, 40, "O Admin %s Respawnou os veiculos", nome);
        SendClientMessageToAll(-1, str);
        for(new j = 1; GetVehicleModel(j); ++j)
        {
            vehicle[j] = false;
            for(new i, p = GetMaxPlayers(); i < p; ++i)
            {
                if(!IsPlayerInAnyVehicle(i) || !IsPlayerConnected(i)) continue;
                if(IsPlayerInVehicle(i, j))
                {
                    vehicle[j] = true;
                    break;
                }
            }
            if(!vehicle[j]) SetVehicleToRespawn(j);
        }
        for(new i; i != sizeof(Carro); ++i)
        {
            for(new e; e != MAX_PLAYERS; ++e)
            {
                if(!IsPlayerInVehicle(e, Carro[i]))
                {
                    DestroyVehicle(Carro[i]);
                    printf("Veiculo destruido ( Carro[%i] )", i);
                }
            }
        }
        return 1;
    }
Reply
#9

Quote:
Originally Posted by Cristhian
Посмотреть сообщение
pawn Код:
if(strcmp(cmdtext, "/rc", true) == 0)
    {
        if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000, "[ERRO] VocК nгo estб logado na RCON.");
        new str[40], nome[24], bool:vehicle[MAX_VEHICLES];
        GetPlayerName(playerid, nome, 24);
        format(str, 40, "O Admin %s Respawnou os veiculos", nome);
        SendClientMessageToAll(-1, str);
        for(new j = 1; GetVehicleModel(j); ++j)
        {
            vehicle[j] = false;
            for(new i, p = GetMaxPlayers(); i < p; ++i)
            {
                if(!IsPlayerInAnyVehicle(i) || !IsPlayerConnected(i)) continue;
                if(IsPlayerInVehicle(i, j))
                {
                    vehicle[j] = true;
                    break;
                }
                else if(!IsPlayerInVehicle(i, Carro[i]))
                {
                    DestroyVehicle(Carro[i]);
                }
            }
            if(!vehicle[j]) SetVehicleToRespawn(j);
        }
        return 1;
    }
Valeu Cristian e Caroline, funcionou perfeitamente!

Dei rep aos 2!
Reply
#10

Quote:
Originally Posted by [O.z]Caroline
Посмотреть сообщение
#Cristian: Sim.

pawn Код:
if(strcmp(cmdtext, "/rc", true) == 0)
    {
        if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000, "[ERRO] VocК nгo estб logado na RCON.");
        new str[40], nome[24], bool:vehicle[MAX_VEHICLES];
        GetPlayerName(playerid, nome, 24);
        format(str, 40, "O Admin %s Respawnou os veiculos", nome);
        SendClientMessageToAll(-1, str);
        for(new j = 1; GetVehicleModel(j); ++j)
        {
            vehicle[j] = false;
            for(new i, p = GetMaxPlayers(); i < p; ++i)
            {
                if(!IsPlayerInAnyVehicle(i) || !IsPlayerConnected(i)) continue;
                if(IsPlayerInVehicle(i, j))
                {
                    vehicle[j] = true;
                    break;
                }
            }
            if(!vehicle[j]) SetVehicleToRespawn(j);
        }
        for(new i; i != sizeof(Carro); ++i)
        {
            for(new e; e != MAX_PLAYERS; ++e)
            {
                if(!IsPlayerInVehicle(e, Carro[i]))
                {
                    DestroyVehicle(Carro[i]);
                    printf("Veiculo destruido ( Carro[%i] )", i);
                }
            }
        }
        return 1;
    }
ah tб, outro dia o macintoch confundiu minha cabeзa quanto isso, dizendo que nгo tem nada a ver usar return dentro de loop's

@topic

pawn Код:
for(new i; i != sizeof(Carro); ++i)
no caso sizeof(Carro) seria MAX_PLAYERS entгo nгo precisaria usar 2 loop's
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)