[Ayuda] Evitar dinero en negativo
#1

Buenas a todos, estoy creando un Freeroam desde 0 y quisiera saber como evitar el problema del dinero en negativo. Ahora paso a indicarles bien el problema para que no hayan confusiones :

1) Si mato a alguien me otorga $1000 de dinero y +1 de Score.
2) Si alguien me mata me quita $500 de dinero.
3) Si me matan dos veces teniendo $1000 de dinero me quedan $0.
4) Si me matan 3 veces me quedo con $-500 de dinero.
El comando que utilizo es el siguiente.

Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    if(killerid != INVALID_PLAYER_ID)
    {
       GivePlayerMoney(killerid, 1000);
       SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
    }

    GivePlayerMoney(playerid, -500);
}
Desde ya gracias de antemano por la soluciуn o por la ayuda que alguno me otorgue.

PD : Disculpen si cometн algъn error, soy nuevo.
Reply
#2

Pues pone que si el numero es menor a 0 ( < 0 ) le sete el dinero en 0 eso es todo
Reply
#3

pawn Код:
if( GetPlayerMoney(playerid) <= 0 ) return 0;
https://sampwiki.blast.hk/wiki/GetPlayerMoney
Reply
#4

pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    if(killerid != INVALID_PLAYER_ID)
    {
       GivePlayerMoney(killerid, 1000);
       SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
    }
    if(GetPlayerMoney(playerid) >= 500) // Si tiene $500 o mбs, le quita
    {
        GivePlayerMoney(playerid, -500);
    }
    else // Caso contrario le fija el dinero en $0 (EJ: Tiene $240, lo deja en $0)
    {
        ResetPlayerMoney(playerid);
    }
}
Reply
#5

Quote:
Originally Posted by OTACON
Посмотреть сообщение
pawn Код:
if( GetPlayerMoney(playerid) <= 0 ) return 0;
https://sampwiki.blast.hk/wiki/GetPlayerMoney
Ahh claro, ahora si logrй entenderlo.

Quote:
Originally Posted by LiMPiTo
Посмотреть сообщение
pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    if(killerid != INVALID_PLAYER_ID)
    {
       GivePlayerMoney(killerid, 1000);
       SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
    }
    if(GetPlayerMoney(playerid) >= 500) // Si tiene $500 o mбs, le quita
    {
        GivePlayerMoney(playerid, -500);
    }
    else // Caso contrario le fija el dinero en $0 (EJ: Tiene $240, lo deja en $0)
    {
        ResetPlayerMoney(playerid);
    }
}
Ahora si, muchнsimas gracias. Ya no tengo ese problema y gracias por la velocidad a la que contestaron xD

Pueden cerrar tema.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)