SA-MP Forums Archive
[Ajuda] Comando Resetar Carros Sem uso - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Comando Resetar Carros Sem uso (/showthread.php?tid=492128)



Comando Resetar Carros Sem uso - giovanehen - 02.02.2014

Eu denovo

Queria fazer este comando

mais para resetar os Sem Uso Apenas e nao resetar os trailer engatados nos caminhao

PHP код:
COMMAND:rc(playeridparams[])
{
    
SendAdminText(playerid"/rc"params);
    if (
APlayerData[playerid][LoggedIn] == true)
    {
        if (
APlayerData[playerid][PlayerLevel] >= 5)
        {
            
SendClientMessageToAll(0x00FF00FF"{808080}Todos os veiculos foram resetados pelo Administrador.");
            for(new 
i=0i<MAX_VEHICLESi++)
            {
                
#define VehicleOccupied(i)
                
{
                    
SetVehicleToRespawn(i);
                }
            }
        }
        else
            return 
0;
    }
    else
        return 
0;
    return 
1;




Re: Comando Resetar Carros Sem uso - FrostyWolf - 02.02.2014

Vou tentar lhe ajudar, nгo sei se vou agradar...

pawn Код:
COMMAND:rc(playerid, params[])
{
    SendAdminText(playerid, "/rc", params);
    if (APlayerData[playerid][LoggedIn] == true)
    {
        if (APlayerData[playerid][PlayerLevel] >= 5)
        {
            SendClientMessageToAll(0x00FF00FF, "{808080}Todos os veiculos foram resetados pelo Administrador.");
            for (new i = 0; i < MAX_VEHICLES; i++)
            {
                if (!IsTrailerAttachedToVehicle(i)) // Se o veнculo nгo estiver com um trailer...
                {
                    SetVehicleToRespawn(i);
                }
            }
        }
        else return 0;
    }
    else return 0;
    return 1;
}



Re: Comando Resetar Carros Sem uso - giovanehen - 02.02.2014

Frosty vc ate ajudo mais nao em tudo entede tipo ele reseta ate os carro que tem player dentro '-' queria que resetace somente os que nao estao em uso

Obs o do trailer pego

tipo eu queria que nao resetace os carros com os player dentro entende


Re: Comando Resetar Carros Sem uso - FrostyWolf - 02.02.2014

Ok, sу um minuto.


Re: Comando Resetar Carros Sem uso - iFox - 02.02.2014

Poderб utilizar esta stock no seu comando

PHP код:
stock IsVehicleInUse(vehicleid)
{
    new 
Vuso;
    for(new 
iMAX_PLAYERSi++)
    {
        if(
GetPlayerVehicleID(i) == vehicleid)
        
Vuso vehicleid;
        if(
GetVehicleTrailer(GetPlayerVehicleID(i)) == vehicleid)
        
Vuso vehicleid;
    }
    return 
Vuso;




Re: Comando Resetar Carros Sem uso - kevinho.007 - 02.02.2014

Tenta assim .....



PHP код:
COMMAND:rc(playeridparams[])
{
    
SendAdminText(playerid"/rc"params);
    if (
APlayerData[playerid][LoggedIn] == true)
    {
        if (
APlayerData[playerid][PlayerLevel] >= 5)
        {
            
SendClientMessageToAll(0x00FF00FF"{808080}Todos os veiculos foram resetados pelo Administrador.");
            new 
bool:NaoDesejado[MAX_VEHICLES];
            for(new 
ks=0ks<MAX_PLAYERSks++)
            {
                if(
IsPlayerConnected(ks) && IsPlayerInAnyVehicle(ks)) { NaoDesejado[GetPlayerVehicleID(ks)]=true; }
            }
            for(new 
veiculo 1veiculo <= MAX_VEHICLESveiculo++)
            {
                if (!
IsTrailerAttachedToVehicle(veiculo)) if(!NaoDesejado[veiculo]) SetVehicleToRespawn(veiculo);
            }
        }
        else return 
0;
    }
    else return 
0;
    return 
1;




Re: Comando Resetar Carros Sem uso - FrostyWolf - 03.02.2014

Coloque isso em qualquer lugar em seu script fora de todas as publics:

pawn Код:
stock IsVehicleInUse(vehicleid)
{
    for (new i; i < MAX_PLAYERS; i++)
    {
        if (IsPlayerInVehicle(i))
        {
            if (GetPlayerVehicleID(playerid) == vehicleid)
            {
                return 1;
            }
            else
            {
                return 0;
            }
        }
    }
}
Comando atualizado:

pawn Код:
COMMAND:rc(playerid, params[])
{
    SendAdminText(playerid, "/rc", params);
    if (APlayerData[playerid][LoggedIn] == true)
    {
        if (APlayerData[playerid][PlayerLevel] >= 5)
        {
            SendClientMessageToAll(0x00FF00FF, "{808080}Todos os veiculos foram resetados pelo Administrador.");
            for (new i = 0; i < MAX_VEHICLES; i++)
            {
                if (!IsTrailerAttachedToVehicle(i) && !IsVehicleInUse(i)) // Se o veнculo nгo estiver com um trailer e nem sendo usado por algum jogador...
                {
                    SetVehicleToRespawn(i);
                }
            }
        }
        else return 0;
    }
    else return 0;
    return 1;
}



Re : Comando Resetar Carros Sem uso - PauloShadow - 03.02.2014

Deletado


Re: Comando Resetar Carros Sem uso - Maikelr - 23.02.2014

Ajudou a mim tambйm, valeu kevinho.007


Re: Comando Resetar Carros Sem uso - DiegoCosta - 10.05.2014

Galera, aproveitando o topico pra nгo criar outro, tbm estou com um "problema" com esse comando.

O meu, alйm de resetar os carros com player dentro (mas isso ja vi a resposta logo acima como arrumar), o meu afeta tbm os carros "estaticos" que tenho espalhados pelo mapa.

Afeta de que forma Quando ando pelas ruas, existem varios carros disponiveis pra todos os players, de varias cores. Toda vez que dou o comando ResetarCarros eles ficam todos Pretos, inclusive os que vem escrito "Police" na lateral ficam inteiramente pretos.

Lembrando que, embora meu GM seja com base em PPC_Trucking, os veiculos adicionados sгo do GrandLarceny que vem junto no "pacote" quando baixamos o servidor.

Nгo sei de que forma eu poderia limitar o Reset apenas aos "veiculos", sem afetar as cores.

Exemplo d como estб o Loading dos veiculos no meu GM:

pawn Код:
new total_vehicles_from_files=0; //Inicio do GM, fora das Publics, antes do "main()"

public OnGameModeInit()
{
    // LAS VENTURAS
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/lv_law.txt");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/lv_airport.txt");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/lv_gen.txt");

    // SAN FIERRO
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/sf_law.txt");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/sf_airport.txt");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/sf_gen.txt");

    // LOS SANTOS
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_law.txt");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_airport.txt");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_gen_inner.txt");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_gen_outer.txt");

    printf("Total vehicles from files: %d",total_vehicles_from_files);

    return 1;
}