[Ajuda] Erro no bloqueio do carro !
#1

Alguem pode analisar o codigo e me dizer por favor o que tem de errado que o bloqueio nгo й aplicado nos devidos carros ? simplesmente quando eu sou de uma org e nгo devo entrar no carro de outra, esse bloqueio nгo й aplicado !

Variaveis:

PHP код:
new carromerc[4];
new 
carroag[4]; 
Forward:

PHP код:
forward VerificarVeiculo(playerid); 
Veiculos:

PHP код:
publico OnGameModeInt()
{
     
//----------------------CARROS-MERCENARIOS--------------------------------//
     
carromerc[0] = AddStaticVehicle(560,2490.5359,-1682.1979,13.3366,85.2275,3,3);
     
carromerc[1] = AddStaticVehicle(560,2499.7915,-1659.5117,13.3632,87.3975,3,3);
     
carromerc[2] = AddStaticVehicle(522,2515.0867,-1671.7433,13.6626,72.6940,82.2873,3,1);
     
carromerc[3] = AddStaticVehicle(413,2473.4294,-1698.2968,13.5178,358.7467,0,0);
     
//------------------------CARROS-AGENTES----------------------------------//
     
carroag[0] = AddStaticVehicle(490,734.0862,-1263.0913,13.5587,270.7794,0,0);
     
carroag[1] = AddStaticVehicle(470,734.8358,-1269.2036,13.5534,266.7061,0,0);
     
carroag[2] = AddStaticVehicle(522,729.0718,-1255.9518,13.5552,266.7060,0,0);
     
carroag[3] = AddStaticVehicle(487,766.9335,-1261.9794,13.5738,85.9344,0,0);
    return 
1;

Public criada:

PHP код:
public VerificarVeiculo(playerid)
{
    
//----------------Blockeio-carros-mercenarios-----------------------------//
    
for(new 0<= 4m++)
    {
     if(
IsPlayerInVehicle(playeridcarromerc[m] || Org[playerid] == Agente))
        {
            
SendClientMessage(playeridVermelho"| ERRO | Vocк nгo faz parte da gangue dos Mercenбrios!");
            
RemovePlayerFromVehicle(playerid);
            return 
1;
        }
    }
    
//----------------Blockeio-carros-Agentes---------------------------------//
    
for(new 0<= 4a++)
    {
     if(
IsPlayerInVehicle(playeridcarroag[a] || Org[playerid] == Mercenario))
        {
            
SendClientMessage(playeridVermelho"| ERRO | Vocк nгo faz parte dos Agentes Anti-Mercenбrios!");
            
RemovePlayerFromVehicle(playerid);
            return 
1;
        }
    }
    return 
1;

OnPlayerStateChange(playerid, newstate, oldstate)

PHP код:
{
    if(
newstate == PLAYER_STATE_DRIVERVerificarVeiculo(playerid);
    return 
1;

Obrigado!
Reply
#2

Tenta retirar o return 1 das verificaзхes.
Reply
#3

Quote:
Originally Posted by Luan Argolo
Посмотреть сообщение
Tenta retirar o return 1 das verificaзхes.
Obrigado mano, ajudou muito, funcional !


Mas sу uma duvida:

Ao entrar no veiculo de outra org o player й retirado do carro de boa, mas faz um flood de 4 mensagem de " | ERRO | Vocк nгo faz parte da gangue 'Fulano' ", isso й consequencia do looping nй ? como retirar ?
Reply
#4

Tente fazer assim, exemplo:
PHP код:
if(IsPlayerInVehicle(playeridcarromerc[m] || Org[playerid] == Agente)) return SendClientMessage(playeridVermelho"| ERRO | Vocк nгo faz parte da gangue dos Mercenбrios!") && RemovePlayerFromVehicle(playerid); 
Reply
#5

Quote:
Originally Posted by Luan Argolo
Посмотреть сообщение
Tente fazer assim, exemplo:
PHP код:
if(IsPlayerInVehicle(playeridcarromerc[m] || Org[playerid] == Agente)) return SendClientMessage(playeridVermelho"| ERRO | Vocк nгo faz parte da gangue dos Mercenбrios!") && RemovePlayerFromVehicle(playerid); 
Infelizmente nгo funcionou mano :/

Mais alguйm pode responder caso saiba ?
Reply
#6

Manda o Verificarveiculo como esta agora
Reply
#7

tenta fechar o parentes do IsPlayerInVehicle(playerid, vehicleid)
e verificar depois se й da org ou nao
PHP код:
if(IsPlayerInVehicle(playeridcarromerc[m]) && Org[playerid] == Agente
Reply
#8

O SendClientMessage estб no loop.
Reply
#9

Quote:
Originally Posted by RiqueP
Посмотреть сообщение
O SendClientMessage estб no loop.
o loop para a partir que verificar o carro.. entгo nгo tem problema.

@Topic

PHP код:
if(newstate == PLAYER_STATE_DRIVER) return VerificarVeiculo(playerid); 
vocк usou || "ou" entгo msm se ele fosse da org nгo poderia utilizar o veiculo.
utilize o ! para verificar a org pois serб mais dificil se tiver mais profissгo.

PHP код:
public VerificarVeiculo(playerid)
{
    new 
VeiculoID GetPlayerVehicleID(playerid); // pega o id do veiculo
    
for(new 0sizeof(carromerc); a++)
    {
        
        if(
VeiculoID == carromerc[a] && Org[playerid] != Mercenario// ! Se org nгo for igual Mercenario
        
{
            
            
SendClientMessage(playeridVermelho"| ERRO | Vocк nгo faz parte da gangue dos Mercenбrios!");
            
RemovePlayerFromVehicle(playerid);
            return 
1;
        }
    }
    for(new 
0sizeof(carroag); b++)
    {
        
        if(
VeiculoID == carroag[b] && Org[playerid] != Agente)  //! Se org nгo for igual Agente 
        
{
            
            
SendClientMessage(playeridVermelho"| ERRO | Vocк nгo faz parte dos Agentes Anti-Mercenбrios!");
            
RemovePlayerFromVehicle(playerid);
            return 
1;
        }
    }
    return 
1;

Reply
#10

Aconteceu agora que os Agentes nгo podem pegar os veiculos prуprios deles e quando colocar /sairorg e viro um Mercenбrio, ele entra de boa no veiculo :S
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)