SA-MP Forums Archive
[Pedido] Avisar sobre a vida do carro. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Pedido] Avisar sobre a vida do carro. (/showthread.php?tid=536317)



Avisar sobre a vida do carro. - davi54723 - 08.09.2014

Eu gostaria que enviasse uma mensagem avisando quando o player entrar no carro, sobre a vida do seu carro, EXEMPLO:
pawn Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{

new carro = GetPlayerVehicleID(playerid);
    new Float:HealthV;
    GetVehicleHealth(carro,HealthV);

    if(HealthV <= 1000)
    {
    SCM(playerid,-1,"A Vida do seu carro estб cheia");
    }
        if(HealthV >= 998)
    {
    SCM(playerid,-1,"Seu carro sofreu alguns danos.");
    }



return 1;
}
Porйm estou tendo problemas...
Ele sempre diz que o carro estб com a vida completa... mesmo com o carro todo quebrado.
Acho que seja erro nos sinais ( == / >= / > / < ) Porйm eu nгo entendo muito bem sobre esses sinais e nгo sei qual deles eu devo usar.


Re: Avisar sobre a vida do carro. - ArthurxD - 08.09.2014

Eu acho que isso fica em :
OnVehicleDamageStatusUpdate



Re: Avisar sobre a vida do carro. - Kimossab - 08.09.2014

Obvio... pois a vida estб sempre abaixo de 1000

if(HealthV <= 1000)
{
SCM(playerid,-1,"A Vida do seu carro estб cheia");
}

tenta algo deste genero:
pawn Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    new carro = GetPlayerVehicleID(playerid);
    new Float:HealthV;
    GetVehicleHealth(carro,HealthV);

    if(HealthV == 1000)
    {
        SCM(playerid,-1,"A Vida do seu carro estб cheia");
    }
        else if(HealthV >= 500)
    {
        SCM(playerid,-1,"Seu carro sofreu alguns danos.");
    }
    else SCM(playerid,-1,"Seu carro sofreu danos graves.");
    return 1;
}



Re: Avisar sobre a vida do carro. - davi54723 - 08.09.2014

Quote:
Originally Posted by ArthurxD
Посмотреть сообщение
@EDIT
pawn Код:
if(HealthV <= 998)
    {
    SCM(playerid,-1,"Seu carro sofreu alguns danos.");
    }
Esse aqui estб errado, pois quando eu entro em um carro completo, ele diz que o carro sofreu alguns danos.


Re: Avisar sobre a vida do carro. - Bruno13 - 08.09.2014

Para aprender a usar esses operadores relacionais, veja esse tutorial.
pawn Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    new Float:HealthV;
    GetVehicleHealth(vehicleid, HealthV);
    if(HealthV > 390 && HealthV < 650) SendClientMessage(playerid, -1, "Seu carro sofreu alguns danos.");
    else if(HealthV < 390 && HealthV > 250) SendClientMessage(playerid, -1, "Seu carro estб se indo");
    else if(HealthV < 250) SendClientMessage(playerid, -1, "Seu carro vai explodir! Corra.");
    else SendClientMessage(playerid,-1, "A Vida do seu carro estб cheia");
    return 1;
}



Re: Avisar sobre a vida do carro. - davi54723 - 08.09.2014

Bruno poderia explicar melhor ?
Primeiramente, qual й o valor da vida "cheia" do carro ? 1000?
Eu queria que a vida do carro tivesse uma pequena diferenзa, exemplo:

Quando estiver 1000(Inteiro o carro) receber a mensagem avisando.
Quando estiver 999(Semi-Inteiro o carro) receber a mensagem avisando.

Com essa pequena diferenзa... porйm eu nгo sei a vida do carro.


Re: Avisar sobre a vida do carro. - DiiMeNoR - 08.09.2014

Testa ai.
pawn Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    new carro = GetPlayerVehicleID(playerid);
    new Float:HealthV;
    GetVehicleHealth(carro,HealthV);
    if(HealthV == 1000)
    {
        SCM(playerid,-1,"A Vida do seu carro estб cheia");
    }
    else if(HealthV <= 998)
    {
        SCM(playerid,-1,"Seu carro sofreu alguns danos.");
    }
    return 1;
}
Код:
+ > Executa como Adiзгo.
- > Executa como Subtraзгo.
* -- > Executa como Multiplicaзгo.
/ -- > Executa como Divisгo.
> -- > Executa como Maior que.
< -- > Executa como Menor que.
= --> Executa como Igual.
!= -- > Executa como Diferente.



Re: Avisar sobre a vida do carro. - Bruno13 - 08.09.2014

Quote:
Originally Posted by davi54723
Посмотреть сообщение
Bruno poderia explicar melhor ?
Primeiramente, qual й o valor da vida "cheia" do carro ? 1000?
Eu queria que a vida do carro tivesse uma pequena diferenзa, exemplo:

Quando estiver 1000(Inteiro o carro) receber a mensagem avisando.
Quando estiver 999(Semi-Inteiro o carro) receber a mensagem avisando.

Com essa pequena diferenзa... porйm eu nгo sei a vida do carro.
Entгo, no cуdigo acima ira checar, se nгo menor que 500 e menor que 400, retornarб a mensagem que estб completo.

> 650 Sem danos
650-550 Fumaзa branca
550-390 Fumaзa Cinza
390-250 Fumaзa Preta
<250 No fogo (vai explodir segundos depois)

https://sampwiki.blast.hk/wiki/VehicleHealth

@EDIT Dei uma editada no cуdigo, olha la


Re: Avisar sobre a vida do carro. - davi54723 - 08.09.2014

Quote:
Originally Posted by DiiMeNoR
Посмотреть сообщение
Testa ai.
pawn Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    new carro = GetPlayerVehicleID(playerid);
    new Float:HealthV;
    GetVehicleHealth(carro,HealthV);
    if(HealthV == 1000)
    {
        SCM(playerid,-1,"A Vida do seu carro estб cheia");
    }
    else if(HealthV <= 998)
    {
        SCM(playerid,-1,"Seu carro sofreu alguns danos.");
    }
    return 1;
}
Код:
+ > Executa como Adiзгo.
- > Executa como Subtraзгo.
* -- > Executa como Multiplicaзгo.
/ -- > Executa como Divisгo.
> -- > Executa como Maior que.
< -- > Executa como Menor que.
= --> Executa como Igual.
!= -- > Executa como Diferente.
Quando eu entro em um carro novo(Que acabei de criar) ele diz que "Seu carro sofreu alguns danos.".


Re: Avisar sobre a vida do carro. - Bruno13 - 08.09.2014

Quote:
Originally Posted by davi54723
Посмотреть сообщение
Quando eu entro em um carro novo(Que acabei de criar) ele diz que "Seu carro sofreu alguns danos.".
Dei uma editada no cуdigo, olha la.