SA-MP Forums Archive
[Ayuda] Evitar dinero negativo - 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: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: [Ayuda] Evitar dinero negativo (/showthread.php?tid=396671)



[SOLUCIONADO] Evitar dinero negativo - oOFotherOo - 01.12.2012

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.


Respuesta: [Ayuda] Evitar dinero negativo - [J]ulian - 01.12.2012

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


Respuesta: [Ayuda] Evitar dinero negativo - oOFotherOo - 01.12.2012

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.


Respuesta: [Ayuda] Evitar dinero negativo - [J]ulian - 01.12.2012

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.


Respuesta: [Solucionado] Evitar dinero negativo - oOFotherOo - 01.12.2012

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.


Respuesta: [Ayuda] Evitar dinero negativo - Parka - 02.12.2012

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



o


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




Respuesta: [Ayuda] Evitar dinero negativo - spell - 04.12.2012

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


Respuesta: [Ayuda] Evitar dinero negativo - oOFotherOo - 04.12.2012

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.