Question

Bonjour, bonsoir,

 

J'ai effectué quelques recherche pour un projet mais j'ai rien trouvé de concluant donc je viens vers vous, je recherche un système permettant de modifié le level max sur mon serveur.

 

Je m'explique :

On trouve beaucoup de files et de serveur ou le level max est de 255 mais je voudrais pouvoir l'augmenter, comment pourrais je faire ?

 

Je vous remercie d'avance de vos idées et de vos conseils.

 

Cordialement,

Edited by Yalabi
Résolu

Share this post


Link to post
Share on other sites

12 answers to this question

Recommended Posts

  • 0

Salut, tu possède présentement quel files? normalement sur les files de base 2012*2016, tu n'a pas de modification [C++] à faire tu doit juste changer dans tout tes fichiers config: MAX_LEVEL: Ici ton level

Edited by Scorpion

Share this post


Link to post
Share on other sites
  • 0

Hello

 

Moi j'ai mis le level 300

 

/usr/src/mainline/Srcs/Server/common/length.h

PLAYER_EXP_TABLE_MAX = 120,
PLAYER_MAX_LEVEL_CONST = 120,

Changer dans ce que nous voulons


PLAYER_EXP_TABLE_MAX = xxx,
PLAYER_MAX_LEVEL_CONST = xxx,

Nous éditons également

/usr/src/mainline/Srcs/Server/game/src/constants.cpp

Lorsque vous voyez cela , vous saurez quoi faire, il suffit d' ajouter plus exp pour chaque niveau.


const DWORD exp_table_euckr [PLAYER_EXP_TABLE_MAX + 1] =

est:

const DWORD exp_table_common [PLAYER_EXP_TABLE_MAX + 1] =

est:

const DWORD exp_table_newcibn [PLAYER_EXP_TABLE_MAX + 1] =

De là , il est de mettre plus de 255.

Aussi, si nous voulons plus de 2 55, vous devez concevoir la table des joueurs et modifier le niveau tinyint en mediumint ou supérieur.

Fichier char.cpp dans le jeu.

SetLevel (niveau d'octet) -> SetLevel (niveau court)

Fichier char.h dans le jeu.

SetLevel (niveau d'octet) -> SetLevel (niveau court)

Edit:

Et dans ces deux fichiers, nous modifions cela aussi.
Jeu ->/common/tables.h
Jeu ->  /src/char.h

Attention, dans ces fichiers, il y a plusieurs niveaux, il doit s'agir du niveau du joueur, pas du niveau de la guilde.

http://prntscr.com/obco8t

http://prntscr.com/obcog9

Édition personnelle: fichier Exp Party

/usr/src/mainline/Srcs/Server/game/src/constants.cpp

http://prntscr.com/obcpbj

Modifier pour le pourcentage d'exp exp.

http://prntscr.com/obcpoz

Personal Edit: (débordement en python)

(si vous ne changez pas les deux, vous pouvez rouler en brun)

bylevel -> Modifier l'octet par court

Fichier: Client \ UserInterface \ Packet.h


https://prnt.sc/obcqeg

Fichier: mainline \ common \ tables.h

http://prntscr.com/obcqm3

 

 

 

Edited by Oscar
editer

Share this post


Link to post
Share on other sites
  • 0

@Scorpion Il y a une modification C++ et bien plus à faire ;) 

La table d'exp + la colonne" level " de la table " player " en SQL + voir la variable C++ qui contient le level ;)

Share this post


Link to post
Share on other sites
  • 0
Il y a 4 heures, Scorpion a dit :

Salut, tu possède présentement quel files? normalement sur les files de base 2012*2016, tu n'a pas de modification [C++] à faire tu doit juste changer dans tout tes fichiers config: MAX_LEVEL: Ici ton level

Bonjour, je suis avec les files 2016 de saejin et quand j'indique un nombre superieur a 255 dans les config je me retrouve ig avec le level 255.

 

J'avais trouvé un partage sur un forum turc comme celui ci Oscar mais ca n'avais pas fonctionné.

Share this post


Link to post
Share on other sites
  • 0

Salut,

 

Si t'a une valeur d'exp supérieure a 2050000000 tu aura une erreur pour fix cette erreur ajoute a chaque valeur supérieure une u (ex: 2050000000u)

Share this post


Link to post
Share on other sites
  • 0

Sinon, si tu veux un explication compréhensible... 

 

Dans les sources, le niveau est stocké dans une variable de type byte, et sa valeur maximale est 255 (2x2x2x2x2x2x2x2 en comptant le 0). Si tu veux monter à un niveau supérieur, tu vas devoir changer le type de cette variable. 

 

Dans l'explication plus qu’incompréhensible si tu connais rien que t'as donné Oscar, l'octet correspond au byte (8bits, d'où le 2 puissance 8).

Si tu veux le changer non en short, mais en int

https://www.elitepvpers.com/forum/metin2-pserver-guides-strategies/3799402-c-max-level-2147483647-a.html

 

Bonne chance ;)  

Share this post


Link to post
Share on other sites
  • 0

Bon alors voila j'ai suivi le tuto de ton lien Takuma, j'ai modifié mon level max dans mes chanelX/coreX et ca me met toujours level max 255 et quand je choisi mon perso il leve le poing et tape du pied en boucle avant de faire planter la page...

Share this post


Link to post
Share on other sites
  • 0

Il ne faut pas que modifier le " level max " dans les CONFIG.

La modification est valable pour les sources client / serveur et en SQL, compiler, déplacer le nouveau db / game...

Tu l'as fait ?

Share this post


Link to post
Share on other sites
  • 0

Oui je l'ai fais comme je le dis dans mon precedent commentaire, j'ai modifié les fichier et compilé, pour le client c'est pareil j'ai modifié et génerer le .exe.

Quand je lance le serveur avec le "sh start.sh" il me dis lv max 255

 

Share this post


Link to post
Share on other sites
  • 0
Résolu - Le sujet étant résolu, il se voit verrouillé et déplacé dans le forum Résolu ou sans réponse...

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.