Jump to content
Dragonslayer

[C++]Cambiar LVL +255

Recommended Posts

Bueno algo sencillo que me han preguntado.

 

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

 

PLAYER_EXP_TABLE_MAX = 120,
PLAYER_MAX_LEVEL_CONST = 120,

 

Lo cambiamos por el level que queramos.

 

PLAYER_EXP_TABLE_MAX = xxx,
PLAYER_MAX_LEVEL_CONST = xxx,

 

Tambien hay que editar el archivo:

 

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

 

Cuando veas esto sabras que hacer, solo hay que añadir mas exp para cada level.

 

const DWORD exp_table_euckr[PLAYER_EXP_TABLE_MAX + 1] =

Y este:

const DWORD exp_table_common[PLAYER_EXP_TABLE_MAX + 1] =

Y este:

const DWORD exp_table_newcibn[PLAYER_EXP_TABLE_MAX + 1 ] =

 

A partir de aquí es para poner mas de 255.

También si queremos mas de 255 hay que diseñar la tabla de player, Y cambiar en level tinyint por mediumint o superior.

 

Archivo char.cpp en game.

SetLevel(byte level) --> SetLevel(short level)

Archivo char.h en game.

SetLevel(byte level) --> SetLevel(short level)

 

Edit:

 

Y en estos dos archivos cambiamos esto también.

Game --> Archivo /common/tables.h

Game --> Archivo /src/char.h

Atención en estos archivos hay mas de un level, tiene que ser el level de player no el de guild o otro.

ab207ebfb7a4cc335383b3290816209a.png

2778c97cf73ec7409439cb9451f273ad.png

 

 

Edit opcional: (Exp party)

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

 

b004487327bccd226fb465496bdd9fdd.png

Edit para el porcentaje de perdidad de exp.

c145e81fbbc70259ba45df15af424f1d.png

 

Edit opcional (overflow en python):

(Si no se cambian los dos se puede liar parda)

bylevel --> Cambiar byte por short

Archivo: Client\UserInterface\Packet.h

 

bfa6b4216f3faddcc8d8afea8e95a6b2.png

 

Archivo: mainline\common\tables.h

 

d11a2d593b8bbffe44ab8e6ae06f86e0.png

 

 

Bueno eso es todo. =P

Share this post


Link to post
Share on other sites
Una guía sencilla y práctica.
 
Muchas gracias por traerlo.
 
PD: tengo esto en:

/usr/src/mainline/Srcs/Server/game/src/constants.cpp
 
const DWORD exp_table_euckr[PLAYER_EXP_TABLE_MAX + 1] =
 
	2100000000,	//	99		99·¹º§ÀÏ ¶§ ÇÊ¿ä°æÇèÄ¡ (100·¹º§ÀÌ µÇ±â À§ÇÑ)
	2100000000,	//	100
	2100000000,		
	2100000000,		
	2100000000,		
	2100000000,		
	2100000000,	//	105
	2100000000,		
	2100000000,		
	2100000000,		
	2100000000,		
	2100000000,	//	110
	2100000000,		
	2100000000,		
	2100000000,		
	2100000000,		
	2100000000,	//	115
	2100000000,		
	2100000000,		
	2100000000,		
	2100000000,		
	2100000000,	//	120

Lo tengo este hasta nivel 120 porque 120? que significa este?

 

 

__________

 

const DWORD exp_table_common[PLAYER_EXP_TABLE_MAX + 1] =

	2469000000,	//	245
	2470800000,		
	2472600000,		
	2474400000,		
	2478000000,		
	2500000000,	//	250
	2500000000,
	2500000000,
	2500000000,
	2500000000,
	2500000000,	//	255

Lo tengo asi a partir de 250 se queda en "2500000000" se puede añadir más por ejemplo asi:

 

"2525000000"

"2550000000"

"2575000000"

"2560000000"

 

El otro de abajo lo tengo asi:

 

___________

 

 

const DWORD exp_table_newcibn[PLAYER_EXP_TABLE_MAX + 1 ] =

	2000000000,	// 90
	2000000000,
	2000000000,
	2000000000,
	2000000000,
	2000000000,
	2000000000,
	2000000000,
	2000000000,
	2000000000,	//	99		99·¹º§ÀÏ ¶§ ÇÊ¿ä°æÇèÄ¡ (100·¹º§ÀÌ µÇ±â À§ÇÑ).. ÇöÀç CIBNÀÌ ¾î¶»°Ô ¿î¿µÇÏ°í ÀÖ´Â Áö ¸ð¸£´Ï ½Å±Ô Å×À̺íÀ» ¾²Áö ¾Ê°í ±âÁ¸°ª °è¼Ó ¿¬Àå À¯Áö
	2000000000,	//	100
	2000000000,		
	2000000000,		
	2000000000,		
	2000000000,		
	2000000000,	//	105
	2000000000,		
	2000000000,		
	2000000000,		
	2000000000,		
	2000000000,	//	110
	2000000000,		
	2000000000,		
	2000000000,		
	2000000000,		
	2000000000,	//	115
	2000000000,		
	2000000000,		
	2000000000,		
	2000000000,		
	2000000000,	//	120

Desde nivel 90 lo tengo en "2000000000"  esta bien esto? es que no se como aumentar lo puse nivel 300 en length.h.

Lo puse asi:

 

 

PLAYER_EXP_TABLE_MAX = 300,
PLAYER_MAX_LEVEL_CONST = 300,
 
Pero claro al aumentar 300 y lo de aumentar el nivel poco a poco no se como es porque se para en cierto números.
Edited by autodesk_metin2

Share this post


Link to post
Share on other sites

 

Una guía sencilla y práctica.
 
Muchas gracias por traerlo.
 
PD: tengo esto en:

/usr/src/mainline/Srcs/Server/game/src/constants.cpp
 
const DWORD exp_table_euckr[PLAYER_EXP_TABLE_MAX + 1] =
 
	2100000000,	//	99		99·¹º§ÀÏ ¶§ ÇÊ¿ä°æÇèÄ¡ (100·¹º§ÀÌ µÇ±â À§ÇÑ)
	2100000000,	//	100
	2100000000,		
	2100000000,		
	2100000000,		
	2100000000,		
	2100000000,	//	105
	2100000000,		
	2100000000,		
	2100000000,		
	2100000000,		
	2100000000,	//	110
	2100000000,		
	2100000000,		
	2100000000,		
	2100000000,		
	2100000000,	//	115
	2100000000,		
	2100000000,		
	2100000000,		
	2100000000,		
	2100000000,	//	120

Lo tengo este hasta nivel 120 porque 120? que significa este?

 

 

__________

 

const DWORD exp_table_common[PLAYER_EXP_TABLE_MAX + 1] =

	2469000000,	//	245
	2470800000,		
	2472600000,		
	2474400000,		
	2478000000,		
	2500000000,	//	250
	2500000000,
	2500000000,
	2500000000,
	2500000000,
	2500000000,	//	255

Lo tengo asi a partir de 250 se queda en "2500000000" se puede añadir más por ejemplo asi:

 

"2525000000"

"2550000000"

"2575000000"

"2560000000"

 

El otro de abajo lo tengo asi:

 

___________

 

 

const DWORD exp_table_newcibn[PLAYER_EXP_TABLE_MAX + 1 ] =

	2000000000,	// 90
	2000000000,
	2000000000,
	2000000000,
	2000000000,
	2000000000,
	2000000000,
	2000000000,
	2000000000,
	2000000000,	//	99		99·¹º§ÀÏ ¶§ ÇÊ¿ä°æÇèÄ¡ (100·¹º§ÀÌ µÇ±â À§ÇÑ).. ÇöÀç CIBNÀÌ ¾î¶»°Ô ¿î¿µÇÏ°í ÀÖ´Â Áö ¸ð¸£´Ï ½Å±Ô Å×À̺íÀ» ¾²Áö ¾Ê°í ±âÁ¸°ª °è¼Ó ¿¬Àå À¯Áö
	2000000000,	//	100
	2000000000,		
	2000000000,		
	2000000000,		
	2000000000,		
	2000000000,	//	105
	2000000000,		
	2000000000,		
	2000000000,		
	2000000000,		
	2000000000,	//	110
	2000000000,		
	2000000000,		
	2000000000,		
	2000000000,		
	2000000000,	//	115
	2000000000,		
	2000000000,		
	2000000000,		
	2000000000,		
	2000000000,	//	120

Desde nivel 90 lo tengo en "2000000000"  esta bien esto? es que no se como aumentar lo puse nivel 300 en length.h.

Lo puse asi:

 

 

PLAYER_EXP_TABLE_MAX = 300,
PLAYER_MAX_LEVEL_CONST = 300,
 
Pero claro al aumentar 300 y lo de aumentar el nivel poco a poco no se como es porque se para en cierto números.

 

Explicate mejor no lo entiendo, el source creo que viene por defecto lvl maximo 120, para añadir mas tienes que ir añadiendo la exp requerida para cada level, era eso¿?

Share this post


Link to post
Share on other sites

Pregunta ; Por que despues del level 255 si pongo level 256 me da "level 0 " exp "0"

A partir de aquí es para poner mas de 255.

También si queremos mas de 255 hay que diseñar la tabla de player, Y cambiar en level tinyint por mediumint o superior.

 

Archivo char.cpp en game.

SetLevel(byte level) --> SetLevel(short level)

Archivo char.h en game.

SetLevel(byte level) --> SetLevel(short level)

 

Has cambiado eso?

Share this post


Link to post
Share on other sites

Te has olvidado de que se necesita editar el store-type de los array que están en DWORD.

Te refieres a esto¿ XD

 

Cuando veas esto sabras que hacer, solo hay que añadir mas exp para cada level.

 

const DWORD exp_table_euckr[PLAYER_EXP_TABLE_MAX + 1] =

Y este:

const DWORD exp_table_common[PLAYER_EXP_TABLE_MAX + 1] =

Y este:

const DWORD exp_table_newcibn[PLAYER_EXP_TABLE_MAX + 1 ] =

Share this post


Link to post
Share on other sites

 

Bueno algo sencillo que me han preguntado.

 

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

 

PLAYER_EXP_TABLE_MAX = 120,
PLAYER_MAX_LEVEL_CONST = 120,

 

Lo cambiamos por el level que queramos.

 

PLAYER_EXP_TABLE_MAX = xxx,
PLAYER_MAX_LEVEL_CONST = xxx,

 

Tambien hay que editar el archivo:

 

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

 

Cuando veas esto sabras que hacer, solo hay que añadir mas exp para cada level.

 

const DWORD exp_table_euckr[PLAYER_EXP_TABLE_MAX + 1] =

Y este:

const DWORD exp_table_common[PLAYER_EXP_TABLE_MAX + 1] =

Y este:

const DWORD exp_table_newcibn[PLAYER_EXP_TABLE_MAX + 1 ] =

 

A partir de aquí es para poner mas de 255.

También si queremos mas de 255 hay que diseñar la tabla de player, Y cambiar en level tinyint por mediumint o superior.

 

Archivo char.cpp en game.

SetLevel(byte level) --> SetLevel(short level)

Archivo char.h en game.

SetLevel(byte level) --> SetLevel(short level)

 

Edit:

 

Y en estos dos archivos cambiamos esto también.

Game --> Archivo /common/tables.h

Game --> Archivo /src/char.h

Atención en estos archivos hay mas de un level, tiene que ser el level de player no el de guild o otro.

 

byte level;  --> short level;

 

Edit opcional: (Exp party)

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

 

b004487327bccd226fb465496bdd9fdd.png

c145e81fbbc70259ba45df15af424f1d.png

Bueno eso es todo. =P

 

Feo creo que te equivocastes en los dos recuadros últimos.

 

No es en el archivo length.h

Es en el archivo constants.cpp

 

Porque lo he buscado y no estaba y lo busqué en todos los ficheros y estaba en el constants.cpp.

 

Luego en lo de :

 

byte level;  --> short level;

 

Es en mayúsculas BYTE ,  pero no se si también se añade en mayúsculas el short.

Share this post


Link to post
Share on other sites

Feo creo que te equivocastes en los dos recuadros últimos.

 

No es en el archivo length.h

Es en el archivo constants.cpp

 

Porque lo he buscado y no estaba y lo busqué en todos los ficheros y estaba en el constants.cpp.

 

Luego en lo de :

 

byte level;  --> short level;

 

Es en mayúsculas BYTE ,  pero no se si también se añade en mayúsculas el short.

Short siempre en minuscula.

Y si es el archivo constants.cpp se me fue la pinza.

Share this post


Link to post
Share on other sites

Por que me pone que tengo level "14"

150420051628660803.png

Y en el juego tengo "270"

150420051727473206.png

Algun idea

Fix: (Si no se cambian los dos se puede liar parda)

bylevel --> Cambiar byte por short

Archivo: Client\UserInterface\Packet.h

 

bfa6b4216f3faddcc8d8afea8e95a6b2.png

 

Archivo: mainline\common\tables.h

 

d11a2d593b8bbffe44ab8e6ae06f86e0.png

Share this post


Link to post
Share on other sites

 

 

Bueno algo sencillo que me han preguntado.

 

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

 

PLAYER_EXP_TABLE_MAX = 120,
PLAYER_MAX_LEVEL_CONST = 120,

 

Lo cambiamos por el level que queramos.

 

PLAYER_EXP_TABLE_MAX = xxx,
PLAYER_MAX_LEVEL_CONST = xxx,

 

Tambien hay que editar el archivo:

 

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

 

Cuando veas esto sabras que hacer, solo hay que añadir mas exp para cada level.

 

const DWORD exp_table_euckr[PLAYER_EXP_TABLE_MAX + 1] =

Y este:

const DWORD exp_table_common[PLAYER_EXP_TABLE_MAX + 1] =

Y este:

const DWORD exp_table_newcibn[PLAYER_EXP_TABLE_MAX + 1 ] =

 

A partir de aquí es para poner mas de 255.

También si queremos mas de 255 hay que diseñar la tabla de player, Y cambiar en level tinyint por mediumint o superior.

 

Archivo char.cpp en game.

SetLevel(byte level) --> SetLevel(short level)

Archivo char.h en game.

SetLevel(byte level) --> SetLevel(short level)

 

Edit:

 

Y en estos dos archivos cambiamos esto también.

Game --> Archivo /common/tables.h

Game --> Archivo /src/char.h

Atención en estos archivos hay mas de un level, tiene que ser el level de player no el de guild o otro.

ab207ebfb7a4cc335383b3290816209a.png

2778c97cf73ec7409439cb9451f273ad.png

 

 

Edit opcional: (Exp party)

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

 

b004487327bccd226fb465496bdd9fdd.png

Edit para el porcentaje de perdidad de exp.

c145e81fbbc70259ba45df15af424f1d.png

 

Edit opcional (overflow en python):

(Si no se cambian los dos se puede liar parda)

bylevel --> Cambiar byte por short

Archivo: Client\UserInterface\Packet.h

 

bfa6b4216f3faddcc8d8afea8e95a6b2.png

 

Archivo: mainline\common\tables.h

 

d11a2d593b8bbffe44ab8e6ae06f86e0.png

 

 

Bueno eso es todo. =P

 

 

Hice toda la guia al pie de la letra y me dio error al compilar sabes que puede ser? 

 

Este es el error que me tira en el vdi :(

 

kdtTBj9.png

Share this post


Link to post
Share on other sites

Este tutorial no podrá funcionar adecuadamente segundo, creo, porque no se había visto ninguna de las edición de tablas mensacionar en la base de datos porque las tablas si no son editados, no podían saltar de nivel 255.

 

si quieres un tutorial completo es aquí puede hacer

Debes iniciar sesión para ver el contenido del enlace en esta publicación.

 

Saludos Sr.Agente

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

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


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...