Aller au contenu

Nouveau membre ?! Pense à te présenter pour accéder au contenu du forum !

New member ?! Introduce yourself to get access to the forum !

Kameyu

 tutoriel / partage [C++] Supprimer la limite d'exp reçue par mob

Messages recommandés

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 !

Modifié par GuiguiOfMetin

Partager ce message


Lien à poster
Partager sur d’autres 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?

Partager ce message


Lien à poster
Partager sur d’autres 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.

Partager ce message


Lien à poster
Partager sur d’autres 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 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Je l'ai expliqué sur le tutoriel.

Partager ce message


Lien à poster
Partager sur d’autres sites

×

Information importante

By using this site, you agree to our Conditions d’utilisation.