Vous devez être connecté et donner une réaction ( Like ) au sujet pour débloquer les liens de téléchargements...
Sign in to follow this  
Kameyu

 tutoriel / partage C++ - Supprimer la Limite d'Expérience reçue par un Monstre

Recommended Posts

Salut les filles,

 

Comme certains d'entre vous le savent, je viens de passer un jour ou deux à essayer de comprendre pourquoi mes mobs me donnaient que 10% d'exp par kill.

J'ai passé un temps fou à fouiller mes sources pour trouver le coupable et j'ai finalement mis la main sur une réponse.

 

D'où vient le problème ?

 

En réalité, le "problème" n'est pas censé en être un à la base mais plutôt une sécurité "anti PL".

(Au passage, PL = Power Levelling, c'est le fait d'exp des joueurs beaucoup plus bas niveau pour les faire avancer plus vite; pour ceux qui ne le savaient pas)

 

Que fait ce système ?

 

En fait c'est tout con, il fait en sorte que si l'exp reçue par le mob dépasse 10% de votre exp requise, vous n'en recevrez pas plus que 10%.

Par exemple, si je suis niveau 1 et que j'ai besoin de 300 points d'expérience pour passer niveau 2, et que je tue un chien errant qui me donne disons

150 points d'expérience, une des lignes de code de votre game va faire en sorte que l'expérience reçue soit ajustée à 10% de votre niveau actuel.

De ce fait, au lieu de recevoir 150 points d'exp, je vais en recevoir 30. Si je suis niveau 2 et que j'ai besoin de 800 d'expérience, il m'en donnera 80, ainsi de suite.

 

Alors comment retirer cette limite ?

 

Rien de plus simple (je dis ça mais j'ai passé deux foutus jours à chercher la cause alors qu'elle était sous mes yeux)

 

Dans char_battle.cpp cherchez :

iExp = MIN(to->GetNextExp() / 10, iExp);
 

Et commentez-la ou supprimez-la. Pour commenter, il faut rajouter deux slashs ( " // " ) avant la ligne de commande. par exemple :

//iExp = MIN(to->GetNextExp() / 10, iExp);
 

Voilà tout, recompilez et amusez-vous !

Edited by Kameyu

Share this post


Link to post
Share on other sites

Mais si je suis lvl 99 par exemple, et que j'attribue un certains nombre d'exp aux chien errant, je pourrais exp sur ceux-ci nn?

Share this post


Link to post
Share on other sites

Bah, pas vraiment car il y a une restriction de level. Si t'as 15 levels de différence avec le mob tu prendras 0% d'exp de ce dernier.

Share this post


Link to post
Share on other sites

Mais le fait de supprimer ça, tu donnes la possibilité d'exp un lvl 30 cave 2 par exemple plus rapidement ? ou c'est comme sur l'officiel ?

Share this post


Link to post
Share on other sites
Sign in to follow this