Aller au contenu
Top-Metin2.org - Vous êtes à la recherche d'un serveur Metin 2 ? ×
×
×
  • Créer...
  • 0

[C++]Récompenses DR OxEvent


Gloria

Question

Bonjour tout le monde.
 

J'aimerais savoir, si c'etais possible de crée une fonction C++ (Language dont je n'ai aucune connaissance) pour donner les DR directement en récompense de L'OX

J'ai essayée de chercher le code qui associe

 

 oxevent.give_item



J'ai pus éventuellement trouvée ce code dans le fichier OXevent.cpp:

 

bool COXEventManager::GiveItemToAttender(DWORD dwItemVnum, BYTE count)
{
	itertype(m_map_attender) iter = m_map_attender.begin();

	for (; iter != m_map_attender.end(); ++iter)
	{
		LPCHARACTER pkChar = CHARACTER_MANAGER::instance().FindByPID(iter->second);

		if (pkChar)
		{
			pkChar->AutoGiveItem(dwItemVnum, count);
			LogManager::instance().ItemLog(pkChar->GetPlayerID(), 0, count, dwItemVnum, "OXEVENT_REWARD", "", pkChar->GetDesc()->GetHostName(), dwItemVnum);
		}
	}

	return true;
}

Comment l'adapter ou en crée une autre pour que celle-ci donne directement des DR.

Merci pour votre aide :) 

 

En postant ma demande d'aide, j'affirme avoir lu et accepté le Règlement de Funky-Emulation.

Lien vers le commentaire
Partager sur d’autres sites

6 réponses à cette question

Messages recommandés

  • 0

Bonjour,

 

Y a moyen de faire tout ce que tu veux en CPP mais je te conseillerais de le faire en sql si tu n'as pas les compétences en cpp pour le faire.

« Au commencement, il n’y avait que l’océan puis l’île-mère surgit des eaux… Te Fiti. Son cœur avait un immense pouvoir, celui d’engendrer la vie. L’univers tout entier profitait de ses bienfaits. Mais avec le temps, le cœur de Te Fiti fut très convoité. Certains pensaient que le posséder, c’était posséder le pouvoir de la création… Aujourd’hui encore, Te Ka et les monstres des ténèbres sont toujours à la recherche du cœur. Ils sont cachés dans l’obscurité qui continuera de se propager… »

Lien vers le commentaire
Partager sur d’autres sites

  • 0
  • Robot
il y a 26 minutes, Tamatoa a dit :

Bonjour,

 

Y a moyen de faire tout ce que tu veux en CPP mais je te conseillerais de le faire en sql si tu n'as pas les compétences en cpp pour le faire.

Heeeeeeu.... Comment te dire ? 

 

Tu dois obligatoirement passer par SQL. Il faut que tu mettes à jour ta base de données. Cependant aucun cache il me semble n'est appliqué à la colonne "cash". Tu n'as pas besoin de passer par le c++, mais tu peux. Pour cela, il faudrait que tu fasses une fonction qui va exécuter la queries : "UPDATE account.account SET cash=cash+50 WHERE id = 1;" par exemple.

 

Tu peux cependant le faire en lua en activant la fonction qui permet de le faire.

Tu peux par exemple créer une fonction comme celle-ci :

bool AddCash(LPCHARACTER ch, const int * c_cash)
{
	DBManager::instance().DirectQuery("UPDATE account.account SET cash = cash + %d WHERE id = %d", XXXX, c_cash);
	return true;
}

// header :
bool AddCash(PCHARACTER ch, const int* c_cash);

Remplace le XXX par la récupération de l'id, je l'ai plus de tête...

 

Désolé des imperfections de l'écriture, j'écris actuellement avec ma tablette, c'est pas des plus pratique...

En espérant t'avoir aider.

Modifié par FBot

french_banner.gif

Lien vers le commentaire
Partager sur d’autres sites

  • 0
bool COXEventManager::GiveCashToAttender(BYTE count)
{
	itertype(m_map_attender) iter = m_map_attender.begin();

	for (; iter != m_map_attender.end(); ++iter)
	{
		LPCHARACTER pkChar = CHARACTER_MANAGER::instance().FindByPID(iter->second);

		if (pkChar)
		{
			DBManager::instance().DirectQuery("UPDATE account.account SET cash = cash + %d WHERE id = %d", count, pkChar->GetPlayerID());
		}
	}

	return true;
}

T'a juste a changé les fonctions qui donne un item par une query ;) 

 

Sinon tu peut toujours give des bon DC

Modifié par Wild
  • Love 1
Lien vers le commentaire
Partager sur d’autres sites

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.


  • brilliantdiscord_widget
  • Flux d'Activité

    1. 37
    2. 21

      Metin2 en 2020 peut-on en parler?

    3. 0

      METIN2Project

    4. 3

      Ressources - UnPack - Metin2 Client - Officiel

    5. 0

      Barre des tâches d'argent étendue

    6. 16

      Redémarrage automatique des channels

    7. 16

      Multi Logo GM / SGM / GA

  • En ligne récemment

    • Aucun utilisateur enregistré regarde cette page.

Information importante

Conditions d’utilisation / Politique de confidentialité / Règles / Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.