[Ajuda] My system car not funcioned !
#1

entaum galera , eu tava fazendo um sistema ( 100 % meu ) , que funcionaria da seguinte forma :
Quando o player saнsse do carro , ele teria 5 seg para entrar novamente ou o carro dele ia ser destruнdo .

olhem o cуdigo :

pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_ONFOOT)
    {
        SendClientMessage(playerid, 0xFFFFFFAA, "Vocк tem 5 Segundos para entrar no seu veнculo Novamente");
        SetTimer("Destroy", 5000, false);
    }

    if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
    {
        Entrou_no_carro_novamente[playerid] = 1;
    }
    return 1;
}

forward Destroy(playerid);
public Destroy(playerid)
{
    if(Entrou_no_carro_novamente[playerid] == 0)
    {
        SendClientMessage(playerid, 0xFFFFFFAA, "Seu Veнculo foi destruido Automбticamente");
        DestroyVehicle(Carro);
    }
}
Mais eu saio do carro no jogo , e passa 5 , 10, 15 seg e nada acontece . o carro fica la '-'
pq isso ?
Reply
#2

pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_ONFOOT)
    {
        SendClientMessage(playerid, 0xFFFFFFAA, "Vocк tem 5 Segundos para entrar no seu veнculo Novamente");
        Entrou_no_carro_novamente[playerid] = 0;
        SetTimerEx("Destroy", 5000, false, "d", playerid);
    }

    if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
    {
        Entrou_no_carro_novamente[playerid] = 1;
    }
    return 1;
}

forward Destroy(playerid);
public Destroy(playerid)
{
    if(Entrou_no_carro_novamente[playerid] == 0)
    {
        SendClientMessage(playerid, 0xFFFFFFAA, "Seu Veнculo foi destruido Automбticamente");
        DestroyVehicle(Carro);
    }
}
Reply
#3

Nada muda ..
Reply
#4

pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_ONFOOT)
    {
        SendClientMessage(playerid, 0xFFFFFFAA, "Vocк tem 5 Segundos para entrar no seu veнculo Novamente");
        SetTimerEx("Destroy", 5000, false, "i", playerid);
    }
    return 1;
}

forward Destroy(playerid);
public Destroy(playerid)
{
    if(!IsPlayerInVehicle(playerid))
    {
        SendClientMessage(playerid, 0xFFFFFFAA, "Seu Veнculo foi destruido Automбticamente");
        DestroyVehicle(Carro);
        return 1;
    }
    return 1;
}
SetTimerEx
Reply
#5

Sera qe n teria que criar uma funcao para obter o id do carro para o destroyvehicle? Eu acho que sim... pode tambem por os carros a darem respawn no addstaticvehicle e ai ja n precisa disto aqui
Reply
#6

Quote:
Originally Posted by TiTaNic
Посмотреть сообщение
Sera qe n teria que criar uma funcao para obter o id do carro para o destroyvehicle? Eu acho que sim... pode tambem por os carros a darem respawn no addstaticvehicle e ai ja n precisa disto aqui
Possivelmente ele declarou a variбvel "Carro" como global, nгo vai ter problemas se isso acontecer atй que o segundo jogador saia de um veнculo.

Para resolver tem que declarar a variбvel "Carro" como sendo uma para cada player, utilizando:

pawn Код:
new Carro [ MAX_PLAYERS ];

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_ONFOOT)
    {
        SendClientMessage(playerid, 0xFFFFFFAA, "Vocк tem 5 Segundos para entrar no seu veнculo Novamente");
        SetTimerEx("Destroy", 5000, false, "i", playerid);
    }
    return 1;
}

forward Destroy(playerid);
public Destroy(playerid)
{
    if(!IsPlayerInVehicle(playerid))
    {
        SendClientMessage(playerid, 0xFFFFFFAA, "Seu Veнculo foi destruido Automбticamente");
        DestroyVehicle(Carro[playerid]);
        return 1;
    }
    return 1;
}
Reply
#7

Sim, pensei nisso tambem, mas como tou no phone n consigo ajudar :/ agora ja deve funcionar
Reply
#8

Show de bota LOS.

Eu jб tinha criado a variбvel global Carro .

Adaptei ao seu cуdigo botando [MAX_PLAYERS] no fim .

Adicionei o Id do carro no parвmetro if(!IsPlayerInVehicle(playerid))

Ficou assim : if(!IsPlayerInVehicle(playerid, Carro[playerid]))

Compilou e deu certo
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)