[Ajuda] Comando Resetar Carros Sem uso
#1

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;

Reply
#2

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;
}
Reply
#3

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

Ok, sу um minuto.
Reply
#5

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;

Reply
#6

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;

Reply
#7

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;
}
Reply
#8

Deletado
Reply
#9

Ajudou a mim tambйm, valeu kevinho.007
Reply
#10

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;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)