[Ayuda] Evitar dinero negativo
#1

Buenas amigos de SAMP quisiera saber si me podeis ayudar con esta funciуn que estoy creando para restarle dinero a un jugador mediante variables.

Funciуn:

pawn Код:
stock GetPlayerDinero(playerid, monto)
{
   if(pConectado[playerid] == 1)
   {
      if(GetPlayerMoney(playerid) < monto)
      {
         GetPlayerMoney(playerid = monto -= PlayerInfo[playerid][pDinero]);
      }
      else return PlayerPlaySound(playerid,1054,0.0,0.0,0.0), SendClientMessage(playerid, COLOR_ERROR, "[Error]: No tienes suficiente dinero.");
   }
   return monto;
}
Bueno pasa amigos que estoy tratando de evitar el dinero negativo a restarle plata a un jugador pero pasa que no se como hacer para verificar el dinero del jugador ejemplo: si un jugador va a comprar algo que vale 1000 y tiene 900 le diga que no tiene suficiente dinero y trate de hacerlo pero siempre dice que no tengo suficiente dinero.

Muchas gracias.

Un saludo.
Reply
#2

Estбs poniendo: si getplayermoney es menor a monto. Deberнa ser al revйs.
Reply
#3

Quote:
Originally Posted by [J]ulian
Посмотреть сообщение
Estбs poniendo: si getplayermoney es menor a monto. Deberнa ser al revйs.
Si ya lo intentй y sigue igual amigo, dice que no tengo suficiente dinero y he probado hasta con operadores mayor igual y menor igual y nada.

Muchas gracias.

Un saludo.
Reply
#4

pawn Код:
GetPlayerMoney(playerid = monto -= PlayerInfo[playerid][pDinero]);
Esa linea estб mal, їque es lo que queres hacer con ella? Si no deduzco mal, serнa asн:

pawn Код:
PlayerInfo[playerid][pDinero] = GetPlayerMoney(playerid) - monto;
O GivePlayerMoney tendrнas que usar ahн, mejor dicho.
Reply
#5

Quote:
Originally Posted by [J]ulian
Посмотреть сообщение
pawn Код:
GetPlayerMoney(playerid = monto -= PlayerInfo[playerid][pDinero]);
Esa linea estб mal, їque es lo que queres hacer con ella? Si no deduzco mal, serнa asн:

pawn Код:
PlayerInfo[playerid][pDinero] = GetPlayerMoney(playerid) - monto;
Muchas gracias, pero aъn sigue el problema de verificaciуn si el usuario tiene o nу la cantidad a restar osea todavia envia el mensaje pero el problema no se cual es si el operador esta bien y el dinero esta bien definido que incluso marca los 4000 en el CMD /cuenta.

PD: Igual PlayerInfo[playerid][pDinero] = GetPlayerMoney(playerid) - monto; restaba bien, pero el problema esta en la comprobaciуn de si el usuario tiene o nу dicha cantidad a restar.

Ejemplo:

El usuario tiene 1000 y comprara algo que varga 500 entonces deberia verificar si el usuario tiene 500 o mas de 500 para poder comprarlo o de lo contrario le enviaria el mensaje que no tiene suficiente dinero, pero en este caso no hace nada siempre envia el mensaje.

Muchas gracias por su ayuda.

Un saludo.
Reply
#6

PHP код:
if( PlayerInfo[playerid][pDinero] >= Monto )
{
    
////Funcion
    
return true;
}



o


if( GetPlayerMoney(playerid) >= Monto )
{
    
////Funcion
    
return true;

Reply
#7

pawn Код:
#define VALE:%0 if(GetPlayerMoney(playerid) < %0) return SendClientMessage(playerid,-1,"Dinero insuficiente!"); else GivePlayerMoney(playerid, -%0);
Y agregб en el CMD de comprar VALE:X solamente, nada mбs que eso
Reply
#8

Quote:
Originally Posted by spell
Посмотреть сообщение
pawn Код:
#define VALE:%0 if(GetPlayerMoney(playerid) < %0) return SendClientMessage(playerid,-1,"Dinero insuficiente!"); else GivePlayerMoney(playerid, -%0);
Y agregб en el CMD de comprar VALE:X solamente, nada mбs que eso
Muchas gracias, pero ya habia solucionado este problema hace varios dias pero olvide comentar el post mi sinceras disculpas, igualmente muchas gracias.

Un saludo.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)