[Pedido] Avisar sobre a vida do carro.
#1

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.
Reply
#2

Eu acho que isso fica em :
OnVehicleDamageStatusUpdate
Reply
#3

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;
}
Reply
#4

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.
Reply
#5

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;
}
Reply
#6

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.
Reply
#7

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.
Reply
#8

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
Reply
#9

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.".
Reply
#10

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.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)