Jump to content

Mini-Release Coins en c++


Johan™

Mensajes recomendados

:v
PD: antes de comenzar quiero aclarar que la parte del SQLMsg *msg; - msg = xxx la saque de elitepvpers. D: yo solo realize algunos cambios e.e.
Abrimos char.cpp y al final ponemos:

int CHARACTER::SetCoins(long coins)
{
	SQLMsg *msg;
	msg = DBManager::instance().DirectQuery("UPDATE account.account SET coins = coins + '%ld' WHERE id = '%d'", coins, GetAID());
	if (msg->uiSQLErrno != 0)
	{
		sys_err("pc_update_coins query failed");
		return false;
	}
	return true;
}

Ahora nos vamos a char.h y abajo de bool ItemProcess_Polymorph(LPITEM item);

pegamos esto.

public:
		int	SetCoins(long coins = 0);

Debe quedar asi D:

03b9e98ef250331cd873e5414ea344f2.png

Ahora abrimos char_item.cpp y buscamos switch (item->GetType()) arriba de eso pegamos lo sigiente e.e

switch (item->GetVnum())
	{
		//Coins.
		case 80014:
		case 80015:
		case 80016:
		case 80017:
			int idx[4];
			idx[0] = 100;
			idx[1] = 500;
			idx[2] = 1000;
			idx[3] = 50;
			int idxs;
			if (item->GetVnum() == 80014)
				idxs = 0;
			if (item->GetVnum() == 80015)
				idxs = 1;
			if (item->GetVnum() == 80016)
				idxs = 2;
			if (item->GetVnum() == 80017)
				idxs = 3;
			long val;
			val = idx[idxs];
			if (SetCoins(val))
			{
				ChatPacket(CHAT_TYPE_INFO, "Has cargado %ld coins a tu cuenta.",val);
				item->SetCount(item->GetCount() - 1);
			}
			else
			{
				ChatPacket(CHAT_TYPE_INFO, "Ha ocurrido un error al intentar cambiar tus coins, contacta con el administrador.");
			}
			return 1;
			break;
		default:
			break;
	}

D: tambien pueden usar esta funciona para los lua

solo usen el SetCoins(cantidad e.e)

2b6cd3d39c38fc01aad06837f1871e9f.png

Enlace para comentar
Compartir en otros sitios

Una anotación, no pegar esto

public:
        int    SetCoins(long coins = 0);

Debería quedar así: 

public:
        bool ItemProcess_Polymorph(LPITEM item);
        int    SetCoins(long coins = 0);

La razón es que dentro del bloque public: se definen todas las funciones de acceso publico y no hay necesidad de abrir varios bloques.

Enlace para comentar
Compartir en otros sitios

Una anotación, no pegar esto

public:
        int    SetCoins(long coins = 0);

Debería quedar así: 

public:
        bool ItemProcess_Polymorph(LPITEM item);
        int    SetCoins(long coins = 0);

La razón es que dentro del bloque public: se definen todas las funciones de acceso publico y no hay necesidad de abrir varios bloques.

asi lo puse yo :v queria mantener el orden los feos deymir tienen varios public :v por categorias :3, solo queria ser popular e.e

Enlace para comentar
Compartir en otros sitios

Buen aporte , muchas gracias ^^ +1 (te daría chamanas , pero... no me quedan T.T)

 

Un saludo.

:(

PD; Gracias

 

Jajaja vale, muy buen aporte, gracias.

Gracias e.e

 

Gracias, es bueno. Me gusta más que uno que vi hace un par de días ^^

:v

Gracias

Enlace para comentar
Compartir en otros sitios

  • 1 year later...

Unirse a la conversación

Puedes publicar ahora y registrarte más tarde. Si tienes una cuenta, regístrate para publicar con su cuenta.

Guest
Responder a este tema...

×   Has pegado contenido con formato .   Eliminar formato

  Only 75 emoji are allowed.

×   Tu enlace se ha incorporado automáticamente.   Mostrar un enlace en su lugar

×   Se ha restaurado el contenido anterior. .   Borrar editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recientemente navegando por este tema   0 miembros

    • No hay usuarios registrados visitando esta página.
×
×
  • Crear nuevo...