Me ayudan con esta funciуn?
#1

Buenas, "creй" una simple funciуn para darle dinero al jugador y tener control de esto para un anticheat, ahora, mi idea con la funciуn es que sirva para restarle dinero al jugador, darle dinero y cuando spawnea que tiene 0 asignarle el dinero que tiene en su cuenta, todo con una funciуn que creй, mi funciуn es asн pero no funciona como quiero que lo haga;

Quote:

DineroPlayer(playerid, dinero){
if(InformacionJugador_[playerid][jDinero] >= dinero) InformacionJugador_[playerid][jDinero] -= dinero;
else if(InformacionJugador_[playerid][jDinero] <= dinero) InformacionJugador_[playerid][jDinero] += dinero;
else if(InformacionJugador_[playerid][jDinero] == dinero) InformacionJugador_[playerid][jDinero] = dinero;
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, InformacionJugador_[playerid][jDinero]);
static Query[70];
mysql_format(dbHandle, Query, sizeof Query, "UPDATE usuarios SET Dinero='%d' WHERE SQLID='%d'", dinero, GetPlayerDatabase(playerid));
mysql_tquery(dbHandle, Query);
return 1;
}

Para sumarle dinero al jugador funciona, pero lo otro no, ejemplo de como quiero que funcione, si ejemplo pongo DineroPlayer(playerid, -6000); le reste esa cantidad a la variable jDinero, si no tiene el - se le sume como ya estб, y si el jugador tiene 0 de dinero que se le asigne el dinero que le de la variable, esto para cuando cargas la cuenta del jugador te de el dinero que tiene la cuenta en la BD y no que se sume con el UPDATE.
Reply
#2

PHP код:
DineroPlayer(playeriddinero)
{
    if(
dinero 0InformacionJugador_[playerid][jDinero] += dinero;
    else if(
dinero 0InformacionJugador_[playerid][jDinero] -= dinero;
    
ResetPlayerMoney(playerid);
    
GivePlayerMoney(playeridInformacionJugador_[playerid][jDinero]);
    static 
Query[70];
    
mysql_format(dbHandleQuerysizeof Query"UPDATE usuarios SET Dinero='%d' WHERE SQLID='%d'"dineroGetPlayerDatabase(playerid));
    
mysql_tquery(dbHandleQuery);
    return 
1;

Reply
#3

Te recomiendo que sуlo guardes las transacciones, y todo lo relacionado con los datos de los jugadores, autos y demбs sуlo en momentos oportunos o necesarios. Imagina que tienes 100 usuarios y todos estйn floodeando pasбndose dinero y eso, se formarнan un montуn de consultas lo que posiblemente te genere lag en el servidor y se termine cayendo.

Код:
DineroPlayer(playerid, dinero)
{
	InformacionJugador_[playerid][jDinero] = dinero;
	ResetPlayerMoney(playerid);
	return GivePlayerMoney(playerid, InformacionJugador_[playerid][jDinero]);
}
Y por lo que entendн de sumar, restar y eso se usarнa mбs o menos asн:

En el caso de sumar:

Код:
DineroPlayer(playerid, InformacionJugador_[playerid][jDinero] + cantidad) // Aquн adicionarнa la cantidad marcada a su capital actual.
En el caso de restar:

Код:
DineroPlayer(playerid, InformacionJugador_[playerid][jDinero] + cantidad) // Aquн restarнa la cantidad marcada a su capital actual.
En el caso de 'setear':

Код:
DineroPlayer(playerid, cantidad) // Aquн setearнa el dinero a la cantidad marcada.
Reply
#4

Con mysql no tendras problemas de lag por unas simples consultas, ni cuando sean muchas a la vez, esta echo para eso y usa hilos separados
Reply
#5

Quote:
Originally Posted by FelipeAndres
Посмотреть сообщение
PHP код:
DineroPlayer(playeriddinero)
{
    if(
dinero 0InformacionJugador_[playerid][jDinero] += dinero;
    else if(
dinero 0InformacionJugador_[playerid][jDinero] -= dinero;
    
ResetPlayerMoney(playerid);
    
GivePlayerMoney(playeridInformacionJugador_[playerid][jDinero]);
    static 
Query[70];
    
mysql_format(dbHandleQuerysizeof Query"UPDATE usuarios SET Dinero='%d' WHERE SQLID='%d'"dineroGetPlayerDatabase(playerid));
    
mysql_tquery(dbHandleQuery);
    return 
1;

No me funcionу, no resta dinero al jugador cuando pongo la cantidad en -, mбs bien lo suma. Ejemplo: DineroPlayer(playerid, -8000);
Reply
#6

Quote:
Originally Posted by Fynn.
Посмотреть сообщение
Te recomiendo que sуlo guardes las transacciones, y todo lo relacionado con los datos de los jugadores, autos y demбs sуlo en momentos oportunos o necesarios. Imagina que tienes 100 usuarios y todos estйn floodeando pasбndose dinero y eso, se formarнan un montуn de consultas lo que posiblemente te genere lag en el servidor y se termine cayendo.

Код:
DineroPlayer(playerid, dinero)
{
	InformacionJugador_[playerid][jDinero] = dinero;
	ResetPlayerMoney(playerid);
	return GivePlayerMoney(playerid, InformacionJugador_[playerid][jDinero]);
}
Y por lo que entendн de sumar, restar y eso se usarнa mбs o menos asн:

En el caso de sumar:

Код:
DineroPlayer(playerid, InformacionJugador_[playerid][jDinero] + cantidad) // Aquн adicionarнa la cantidad marcada a su capital actual.
En el caso de restar:

Код:
DineroPlayer(playerid, InformacionJugador_[playerid][jDinero] + cantidad) // Aquн restarнa la cantidad marcada a su capital actual.
En el caso de 'setear':

Код:
DineroPlayer(playerid, cantidad) // Aquн setearнa el dinero a la cantidad marcada.
No entendiste mi pedido, de igual forma gracias, +REP.
Quote:
Originally Posted by FelipeAndres
Посмотреть сообщение
Con mysql no tendras problemas de lag por unas simples consultas, ni cuando sean muchas a la vez, esta echo para eso y usa hilos separados
Exacto.
Reply
#7

Код:
DineroPlayer(playerid, dinero)
{
  InformacionJugador_[playerid][jDinero] += dinero;
  ResetPlayerMoney(playerid);
  GivePlayerMoney(playerid, InformacionJugador_[playerid][jDinero]);
  static Query[70];
  mysql_format(dbHandle, Query, sizeof Query, "UPDATE usuarios SET Dinero='%d' WHERE SQLID='%d'", dinero,    GetPlayerDatabase(playerid));
  mysql_tquery(dbHandle, Query);
  return 1;
}
Reply
#8

Quote:
Originally Posted by GlobitoPawn
Посмотреть сообщение
Код:
DineroPlayer(playerid, dinero)
{
  InformacionJugador_[playerid][jDinero] += dinero;
  ResetPlayerMoney(playerid);
  GivePlayerMoney(playerid, InformacionJugador_[playerid][jDinero]);
  static Query[70];
  mysql_format(dbHandle, Query, sizeof Query, "UPDATE usuarios SET Dinero='%d' WHERE SQLID='%d'", dinero,    GetPlayerDatabase(playerid));
  mysql_tquery(dbHandle, Query);
  return 1;
}
no es lo que busco saludos.
Reply
#9

Parka me ayudу por privado, gracias a todos por su tiempo.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)