[Ajuda] Erro ao Entrar no Veiculo
#1

To com um problema aqui, criei os VeiculosAlugados e os VeiculosPoliciaMilitar
Coloquei tbm para que quando o player entrar no VeiculosAlugados apareзa um Dialog para ele, mas isso esta acontecendo quando eu entro no VeiculoPoliciaMilitar

Como tiro isso ?

pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(VeiculosPoliciaMilitar[0] && VeiculosPoliciaMilitar[16])
    {
        if(newstate == PLAYER_STATE_DRIVER)
        {
            if(PlayerInfo[playerid][Membro] != 1)
            {
                SendClientMessage(playerid, COR_PM, "[Erro] Vocк nгo й da Policia Militar");
                RemovePlayerFromVehicle(playerid);
                ClearAnimations(playerid);
            }
        }
    }
   
    if(VeiculosAlugados[0] && VeiculosAlugados[8])
    {
        if(newstate == PLAYER_STATE_DRIVER)
        {
            ShowPlayerDialog(playerid, DIALOG_CARROALUGUEL, DIALOG_STYLE_MSGBOX, "Aluguel de Carro","Deseja alugar este veiculo por R$1000 ?","Alugar","Sair");
        }
    }
    return 1;
}
Reply
#2

Utilize um loop para verificar os veiculos.

PHP код:
for(new 15a++)
{
if(
IsPlayerInVehicle(playerid,VeiculosPulicia[a]))
{
//caso o player esteja em um dos 15 veiculos de policia...
}

Entendeu ?
Reply
#3

Tambйm estou com esse problema.
Reply
#4

Quote:
Originally Posted by darkxdll
Посмотреть сообщение
Utilize um loop para verificar os veiculos.

PHP код:
for(new 15a++)
{
if(
IsPlayerInVehicle(playerid,VeiculosPulicia[a]))
{
//caso o player esteja em um dos 15 veiculos de policia...
}

Entendeu ?
Vlw Lek, consegui

pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    for(new Verificar ; Verificar < 18; Verificar++)
    if(IsPlayerInVehicle(playerid,VeiculosPoliciaMilitar[Verificar]))
    {
        if(PlayerInfo[playerid][Membro] != 1)
        {
            SendClientMessage(playerid, COR_PM, "[Erro] Vocк nгo й da Policia Militar");
            RemovePlayerFromVehicle(playerid);
            ClearAnimations(playerid);
        }
    }
   
    for(new Verificar ; Verificar < 9; Verificar++)
    if(IsPlayerInVehicle(playerid,VeiculosAlugados[Verificar]))
    {
            ShowPlayerDialog(playerid, DIALOG_CARROALUGUEL, DIALOG_STYLE_MSGBOX, "Aluguel de Carro","Deseja alugar este veiculo por R$1000 ?","Alugar","Sair");
    }
    return 1;
}
So uma duvida, onde tem os numero 18 e 9, e a quantidade de veiculos neh ?

pawn Код:
new VeiculosAlugados[9];
new VeiculosPoliciaMilitar[18];
Reply
#5

Sim.

Lembrando que inicia-se do 0.
PHP код:
myvar[5];
//significa que
//existe
myvar[0]//1
myvar[1]//2
myvar[2]//3
myvar[3]//4
myvar[4]//5
//uma myvar[5] jб seria errado pois sу declaramos 5 
Reply
#6

darkxdll, os meus estгo em OnPlayerEnterVehicle, poderia haver algum problema?
Reply
#7

Quote:
Originally Posted by xCR7
Посмотреть сообщение
darkxdll, os meus estгo em OnPlayerEnterVehicle, poderia haver algum problema?
em OnPlayerEnterVehicle se o player aperta F 5 vezes, ira executar 5 vezes o comando, coloque em OnPlayerStateChange que sera melhor =D
Reply
#8

Quote:
Originally Posted by xCR7
Посмотреть сообщение
darkxdll, os meus estгo em OnPlayerEnterVehicle, poderia haver algum problema?
Se estiver em OnPlayerEnterVehicle, vocк nгo poderб usar RemovePlayerFromVehicle, pois na hora em que a callback foi chamada, o jogador ainda nem estava efetivamente dentro do carro.
Reply
#9

Quote:
Originally Posted by ViniBorn
Посмотреть сообщение
Se estiver em OnPlayerEnterVehicle, vocк nгo poderб usar RemovePlayerFromVehicle, pois na hora em que a callback foi chamada, o jogador ainda nem estava efetivamente dentro do carro.
Se ele deixar em OnPlayerEnterVehicle tera que colocar ClearAnimations(playerid);
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)