[Ajuda] Respawn de Veiculos
#1

Bom estou com um comando /rc nas mгo ele funciona mas porem ele respawna os treiles que estб atrelado ao caminhao... alguem pode ajudar ?

/rc :
pawn Код:
CMD:rc(playerid, params[])
{
    SendAdminText(playerid, "/rc", params);
    if(APlayerData[playerid][PlayerLevel] >= 1)
    {
        new bool:vehicle[MAX_VEHICLES];
        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])
            if(!IsTrailerAttachedToVehicle(j))
            SetVehicleToRespawn(j);
        }
    }
    else
    return 0;
    return 1;
}
Reply
#2

Up...
Reply
#3

AQUI
De uma olhada, la pro final tem a soluзгo que vocк procura . Se funfa da +REP ai
Reply
#4

Quote:
Originally Posted by Alwe
Посмотреть сообщение
AQUI
De uma olhada, la pro final tem a soluзгo que vocк procura . Se funfa da +REP ai
li todos os comentarios e nao foi resolvido o problema, vc msm pode ver .. obrigado por tentar ajudar
Reply
#5

Poxa vida.. foi mals fica pra prуxima quem sabe, realmente essa questгo do Respawn й uma dor de cabeзa pra muitos ! :/
Reply
#6

Tente:
pawn Код:
CMD:rc(playerid, params[])
{
    SendAdminText(playerid, "/rc", params);
    if(APlayerData[playerid][PlayerLevel] >= 1)
    {
        new bool:vehicle[MAX_VEHICLES];
        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) || IsTrailerAttachedToVehicle(i))
                {
                    vehicle[j] = true;
                    break;
                }
            }
            if(!vehicle[j])
            if(!IsTrailerAttachedToVehicle(j))
            SetVehicleToRespawn(j);
        }
    }
    else return false;
    return true;
}
@OFF
pawn Код:
for(new i, p = GetMaxPlayers(); i < p; ++i)
Este loop й lento.. Mais rбpido seria:
pawn Код:
for(new i = 0; i < MAX_PLAYERS; ++ i)
Reply
#7

tenta dessa forma, nгo sei se irб dar certo apenas tentei mudar

pawn Код:
CMD:rc(playerid, params[])
{
    SendAdminText(playerid, "/rc", params);
    if(APlayerData[playerid][PlayerLevel] >= 1)
    {
        new bool:vehicle[MAX_VEHICLES];
        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))
                {
                    if(vehicle[j] = true && IsTrailerAttachedToVehicle(j) == true)
                    break;
                }
            }
            if(!vehicle[j])
            if(!IsTrailerAttachedToVehicle(j))
            SetVehicleToRespawn(j);
            else return 0;
        }
    }
    else
    return 0;
    return 1;
}
Reply
#8

PHP код:
CMD:resetarveiculos(playeridparams[])
{
    
SendAdminText(playerid"/resetarveiculos"params);
    if(
APlayerData[playerid][PlayerLevel] < 2) return SendClientMessage(playerid, -1"{ff0000}Vocк precisa ser admin nivel 2 para usar este comando!");
    for(new 
iMAX_VEHICLESi++)
        if(!
IsVehicleInUse(i))
            
SetVehicleToRespawn(i);
    return 
1;
}
stock IsVehicleInUse(vehicleid)
{
    new 
Veiculo;
    for(new 
iMAX_PLAYERSi++)
    {
        if(
GetPlayerVehicleID(i) == vehicleid)
            
Veiculo vehicleid;
        if(
GetVehicleTrailer(GetPlayerVehicleID(i)) == vehicleid)
            
Veiculo vehicleid;
    }
    return 
Veiculo;

Reply
#9

Quote:
Originally Posted by JoaoMonteiro
Посмотреть сообщение
PHP код:
CMD:resetarveiculos(playeridparams[])
{
    
SendAdminText(playerid"/resetarveiculos"params);
    if(
APlayerData[playerid][PlayerLevel] < 2) return SendClientMessage(playerid, -1"{ff0000}Vocк precisa ser admin nivel 2 para usar este comando!");
    for(new 
iMAX_VEHICLESi++)
        if(!
IsVehicleInUse(i))
            
SetVehicleToRespawn(i);
    return 
1;
}
stock IsVehicleInUse(vehicleid)
{
    new 
Veiculo;
    for(new 
iMAX_PLAYERSi++)
    {
        if(
GetPlayerVehicleID(i) == vehicleid)
            
Veiculo vehicleid;
        if(
GetVehicleTrailer(GetPlayerVehicleID(i)) == vehicleid)
            
Veiculo vehicleid;
    }
    return 
Veiculo;

vlw funcionou !
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)