Jump to content

Expand Maximum Level


Recommended Posts

its really good 

but i got some problem 
that is everything working good 
but when when i change exp at mobproto database for level 100+ 
say a xxx mob - exp is 40000 

but when i hit i get only 17500 exp per kill of that mob at 0% exp rate say priv_empire 4 0 100

when i keep 100% exp rate i get 23500 from same mob 
and 500% 34500 and 1000% 40000 

and if i change the exp of xxx  to 700000 in db 
same rate of exp... 17500 , 34500 , 40000 respectively 
so where is the problem? 

Link to comment
Share on other sites

  • 3 weeks later...
  • Bot

Hi, it works perfect! Thanks for guide.
I have one question about tables in constants.cpp, there are three tables which look totally the same.
Imho each table is for each other region, is there any way to combine them to just one?

I'm talking about those:

  • const DWORD exp_table_euckr[PLAYER_EXP_TABLE_MAX + 1]
  • const DWORD exp_table_common[PLAYER_EXP_TABLE_MAX + 1]
  • const DWORD exp_table_newcibn[PLAYER_EXP_TABLE_MAX + 1]

english_banner.gif

Link to comment
Share on other sites

  • 1 month later...
  • Premium
4 hours ago, bluedrago said:

level work perfect but i have one error in show my level -.-


https://metin2.download/picture/7w90x9izw2m9oXw60rl9O54n8EZ3xG78/.jpg

https://metin2.download/picture/r3F9504x09DVmF8K988YXgTtGTP6KMUj/.gif

where is my error?

 

Something missing.

Edited by Metin2 Dev
Core X - External 2 Internal


 

Link to comment
Share on other sites

  • 5 months later...
  • 2 months later...
  • 1 year later...
  • 3 months later...
  • 4 weeks later...
  • Premium

Fix for Status point:

char.cpp
Search this:

void CHARACTER::ResetPoint(int iLv)
{
	BYTE bJob = GetJob();

	[...]
	[...]


	//PointChange(POINT_STAT, ((MINMAX(1, iLv, 99) - 1) * 3) + GetPoint(POINT_LEVEL_STEP) - GetPoint(POINT_STAT));
	PointChange(POINT_STAT, ((MINMAX(1, iLv, 90) - 1) * 3) + GetPoint(POINT_LEVEL_STEP) - GetPoint(POINT_STAT));
	ComputePoints();

	// ȸº¹
	[...]
	[...]

}

Then replace this:

PointChange(POINT_STAT, ((MINMAX(1, iLv, 90) - 1) * 3) + GetPoint(POINT_LEVEL_STEP) - GetPoint(POINT_STAT));

to this: 300 is my level max

PointChange(POINT_STAT, ((MINMAX(1, iLv, 300) - 1) * 3) + GetPoint(POINT_LEVEL_STEP) - GetPoint(POINT_STAT));

void CHARACTER::ResetPoint(int iLv)
{
	BYTE bJob = GetJob();

	[...]
	[...]
	
	[...]
	PointChange(POINT_STAT, ((MINMAX(1, iLv, 300) - 1) * 3) + GetPoint(POINT_LEVEL_STEP) - GetPoint(POINT_STAT));
	
	[...]
}

if pc.get_sex() == true and npc.get_sex() == false then
	npc.purge()
end

 

Link to comment
Share on other sites

  • 3 months later...
On 7/14/2015 at 11:36 AM, masodikbela said:

Hi there Devs,

If you have question(s)/problem(s)/remark(s), feel free to post it here, or send me a PM.

Have a nice day,
~masodikbela

I'm sorry I get this error when logging into the game

0607 23:22:09271 :: 
networkModule.py(line:208) SetSelectCharacterPhase
system.py(line:130) __pack_import
system.py(line:110) _process_result
introSelect.py(line:31) <module>
system.py(line:130) __pack_import
system.py(line:110) _process_result
interfaceModule.py(line:66) <module>
interfaceModule.py(line:791) Interface

networkModule.SetSelectCharacterPhase - <type 'exceptions.AttributeError'>:'module' object has no attribute 'ENABLE_DAMAGE_TOP'

0607 23:22:09271 :: ============================================================================================================
0607 23:22:09271 :: Abort!!!!

Link to comment
Share on other sites

  • 2 years later...

What does that mean?:

const DWORD exp_table_euckr[PLAYER_EXP_TABLE_MAX + 1]

const DWORD exp_table_common[PLAYER_EXP_TABLE_MAX + 1]

const DWORD exp_table_newcibn[PLAYER_EXP_TABLE_MAX + 1 ]

const DWORD party_exp_distribute_table[PLAYER_MAX_LEVEL_CONST + 1]

const int aiExpLossPercents[PLAYER_EXP_TABLE_MAX + 1]

 

I expand to 500, what should I keep changing the numbers

 

 

 

Quote

And finally, edit the level colum in the player table in the player database. Set its type from tinyint to smallint (or int, it depends how high is the maximum level) and expand its size to 3 (or higher).

???

 

Edited by I bims 1 WLAN
  • Lmao 1
Link to comment
Share on other sites

12 hours ago, I bims 1 WLAN said:

What does that mean?:

const DWORD exp_table_euckr[PLAYER_EXP_TABLE_MAX + 1]

const DWORD exp_table_common[PLAYER_EXP_TABLE_MAX + 1]

const DWORD exp_table_newcibn[PLAYER_EXP_TABLE_MAX + 1 ]

const DWORD party_exp_distribute_table[PLAYER_MAX_LEVEL_CONST + 1]

const int aiExpLossPercents[PLAYER_EXP_TABLE_MAX + 1]

 

I expand to 500, what should I keep changing the numbers

 

 

 

???

 


In your source edit the needed array as you want with the desired level. Look for exp_table_common (for example) in your source and you will find the EXP table where you need to add as many exp values as many levels you want. (since you need exp value for every level)

 

After in your MySQL server change the level field in your player table (which you can find in the player database) according to the instructions

Edited by Minton

System Administrator @ Hungarian Government
System Administrator @ Vibestro
Freelancer Developer @ Various projects

Link to comment
Share on other sites

  • 1 year later...
13 hours ago, Trojan3D said:

I encounter a problem
HP (vitality) is minus -

 EnKor

 

On 2/22/2019 at 9:47 AM, EnKor said:

Fix for Status point:

char.cpp
Search this:

 

  Reveal hidden contents

 

void CHARACTER::ResetPoint(int iLv)
{
	BYTE bJob = GetJob();

	[...]
	[...]


	//PointChange(POINT_STAT, ((MINMAX(1, iLv, 99) - 1) * 3) + GetPoint(POINT_LEVEL_STEP) - GetPoint(POINT_STAT));
	PointChange(POINT_STAT, ((MINMAX(1, iLv, 90) - 1) * 3) + GetPoint(POINT_LEVEL_STEP) - GetPoint(POINT_STAT));
	ComputePoints();

	// ȸº¹
	[...]
	[...]

}

 

Then replace this:

PointChange(POINT_STAT, ((MINMAX(1, iLv, 90) - 1) * 3) + GetPoint(POINT_LEVEL_STEP) - GetPoint(POINT_STAT));

to this: 300 is my level max

PointChange(POINT_STAT, ((MINMAX(1, iLv, 300) - 1) * 3) + GetPoint(POINT_LEVEL_STEP) - GetPoint(POINT_STAT));

 

  Reveal hidden contents

 

void CHARACTER::ResetPoint(int iLv)
{
	BYTE bJob = GetJob();

	[...]
	[...]
	
	[...]
	PointChange(POINT_STAT, ((MINMAX(1, iLv, 300) - 1) * 3) + GetPoint(POINT_LEVEL_STEP) - GetPoint(POINT_STAT));
	
	[...]
}

 

 

 

I encounter a problem
HP (vitality) is minus -

https://metin2.download/picture/3apQX022sTa5t3bV3AwL3ercImRh9Y7w/.png

Edited by Metin2 Dev International
Core X - External 2 Internal
Link to comment
Share on other sites

  • 4 weeks later...

Announcements



×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.