Jump to content

Fix Reset Status


Recommended Posts

Hello.

 

 

Bugg solver  100%

 

char.cpp search

void CHARACTER::ResetPoint(int iLv)

 

Replase with

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

    PointChange(POINT_LEVEL, iLv - GetLevel());

    SetRealPoint(POINT_ST, JobInitialPoints[bJob].st);
    SetPoint(POINT_ST, GetRealPoint(POINT_ST));

    SetRealPoint(POINT_HT, JobInitialPoints[bJob].ht);
    SetPoint(POINT_HT, GetRealPoint(POINT_HT));

    SetRealPoint(POINT_DX, JobInitialPoints[bJob].dx);
    SetPoint(POINT_DX, GetRealPoint(POINT_DX));

    SetRealPoint(POINT_IQ, JobInitialPoints[bJob].iq);
    SetPoint(POINT_IQ, GetRealPoint(POINT_IQ));

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

    ComputePoints();
    PointsPacket();
    ComputePoints();

    LogManager::instance().CharLog(this, 0, "RESET_POINT", "");
}

  • Angry 2
  • Confused 1
  • Lmao 4
  • Love 2
Link to comment
Share on other sites

4 hours ago, monsterd2w4 said:

For refresh point with reset reset point 2* fix  you go test :) 

First test :) fix 100% reset stats :) 

only used one computepoints and it also works. But its not a bug what you fixxed there, the random hp is normal for the game, every char got random hp on creating and on resetting, even on official gameforge server so i dont know what you mean with "bugfix" ?

Link to comment
Share on other sites

57 minutes ago, Mafuyu said:

only used one computepoints and it also works. But its not a bug what you fixxed there, the random hp is normal for the game, every char got random hp on creating and on resetting, even on official gameforge server so i dont know what you mean with "bugfix" ?

do you have 9.5k HP  reset stats point and UP 4k hp why ?  why 1 player 13.5k hp and another player with 10k hp ?   Bugg  = reset status x5 = HP 5k up :) 

Link to comment
Share on other sites

On 7/21/2020 at 3:16 PM, monsterd2w4 said:

do you have 9.5k HP  reset stats point and UP 4k hp why ?  why 1 player 13.5k hp and another player with 10k hp ?   Bugg  = reset status x5 = HP 5k up :) 

hey, no. For me it isnt like this. You have this random hp but it isnt even 1k, for me, i tried like 10 times, here +300, there -200, here +420, sometimes -400 so its pending on 10500 to 10750 to 10200 but never more like this. With your changes (only removed the randomHp function) my hp only changes on base from my status points (vit), but yeah its no bug. I think you also have another bugs in your source wich leads to this giant random hp

Link to comment
Share on other sites

  • Contributor

I can't figure out what this fixes, you keep putting pseudo-random numbers on your fix ?.

If it's a function to reset new "nice", but I think what you want is to eliminate the fact that some characters are reset and change the values with some in 10k and others in 13k even if they are of the same race.

 

The problem is that since you create the character for the first time Metin2 will always place one stronger than another regardless of whether they are of the same race, that is to say that a character will always be lucky among 5 others to be the winner with more attributes "Forcing forced reset to stabilize." .

 

You have two options more eaasy:
 
  1. Remove all RANDOM functions or MINMAX and set your conditions, but you are going to change all the ones that contain the array or data structure and this is very boring.
  2. Go to constants.cpp and replace the "Global Data Structure":
TJobInitialPoints JobInitialPoints[JOB_MAX_NUM] =
/*
   {
   int st, ht, dx, iq;
   int max_hp, max_sp;
   int hp_per_ht, sp_per_iq;
   int hp_per_lv_begin, hp_per_lv_end;
   int sp_per_lv_begin, sp_per_lv_end;
   int max_stamina;
   int stamina_per_con;
   int stamina_per_lv_begin, stamina_per_lv_end;
   }
 */
{
	// str con dex int 초기HP 초기SP  CON/HP INT/SP  HP랜덤/lv   MP랜덤/lv  초기stam  stam/con stam/lv
	{   6,  4,  3,  3,  600,   200,     40,    20,    36, 44,     18, 22,     800,      5,      1, 3  }, // JOB_WARRIOR  16
	{   4,  3,  6,  3,  650,   200,     40,    20,    36, 44,     18, 22,     800,      5,      1, 3  }, // JOB_ASSASSIN 16
	{   5,  3,  3,  5,  650,   200,     40,    20,    36, 44,     18, 22,     800,      5,      1, 3  }, // JOB_SURA	 16
	{   3,  4,  3,  6,  700,   200,     40,    20,    36, 44,     18, 22,     800,      5,      1, 3  },  // JOB_SHAMANa  16
#ifdef ENABLE_WOLFMAN_CHARACTER
	{   2,  6,  6,  2,  600,   200,     40,    20,    36, 44,     18, 22,     800,      5,      1, 3  }, // JOB_WOLFMAN  16  // TODO: 4개능력치 초기값 외에 다른 스탯 필요 (기획자한테 요청)
#endif
};

for:

TJobInitialPoints JobInitialPoints[JOB_MAX_NUM] =
/*
   {
   int st, ht, dx, iq;
   int max_hp, max_sp;
   int hp_per_ht, sp_per_iq;
   int hp_per_lv_begin, hp_per_lv_end;
   int sp_per_lv_begin, sp_per_lv_end;
   int max_stamina;
   int stamina_per_con;
   int stamina_per_lv_begin, stamina_per_lv_end;
   }
 */
{
	// str con dex int 초기HP 초기SP  CON/HP INT/SP  HP랜덤/lv   MP랜덤/lv  초기stam  stam/con stam/lv
	{   6,  4,  3,  3,  600,   200,     40,    20,    44, 44,     22, 22,     800,      5,      3, 3  }, // JOB_WARRIOR  16
	{   4,  3,  6,  3,  650,   200,     40,    20,    44, 44,     22, 22,     800,      5,      3, 3  }, // JOB_ASSASSIN 16
	{   5,  3,  3,  5,  650,   200,     40,    20,    44, 44,     22, 22,     800,      5,      3, 3  }, // JOB_SURA	 16
	{   3,  4,  3,  6,  700,   200,     40,    20,    44, 44,     22, 22,     800,      5,      3, 3  },  // JOB_SHAMANa  16
#ifdef ENABLE_WOLFMAN_CHARACTER
	{   2,  6,  6,  2,  600,   200,     40,    20,    44, 44,     22, 22,     800,      5,      3, 3  }, // JOB_WOLFMAN  16  // TODO: 4개능력치 초기값 외에 다른 스탯 필요 (기획자한테 요청)
#endif
};

That's it.

Edited by Rakancito
  • Love 3
Link to comment
Share on other sites

On 7/22/2020 at 9:59 PM, Mafuyu said:

hey, no. For me it isnt like this. You have this random hp but it isnt even 1k, for me, i tried like 10 times, here +300, there -200, here +420, sometimes -400 so its pending on 10500 to 10750 to 10200 but never more like this. With your changes (only removed the randomHp function) my hp only changes on base from my status points (vit), but yeah its no bug. I think you also have another bugs in your source wich leads to this giant random hp

90% servers have provlem with 3k or 5k hp UP  my method fix this provlem :)  i know server with 10k HP up with reset status :( 

On 7/23/2020 at 3:25 AM, Rakancito said:

I can't figure out what this fixes, you keep putting pseudo-random numbers on your fix ?.

If it's a function to reset new "nice", but I think what you want is to eliminate the fact that some characters are reset and change the values with some in 10k and others in 13k even if they are of the same race.

 

The problem is that since you create the character for the first time Metin2 will always place one stronger than another regardless of whether they are of the same race, that is to say that a character will always be lucky among 5 others to be the winner with more attributes "Forcing forced reset to stabilize." .

 

You have two options more eaasy:
 
  1. Remove all RANDOM functions or MINMAX and set your conditions, but you are going to change all the ones that contain the array or data structure and this is very boring.
  2. Go to constants.cpp and replace the "Global Data Structure":

TJobInitialPoints JobInitialPoints[JOB_MAX_NUM] =
/*
   {
   int st, ht, dx, iq;
   int max_hp, max_sp;
   int hp_per_ht, sp_per_iq;
   int hp_per_lv_begin, hp_per_lv_end;
   int sp_per_lv_begin, sp_per_lv_end;
   int max_stamina;
   int stamina_per_con;
   int stamina_per_lv_begin, stamina_per_lv_end;
   }
 */
{
	// str con dex int 초기HP 초기SP  CON/HP INT/SP  HP랜덤/lv   MP랜덤/lv  초기stam  stam/con stam/lv
	{   6,  4,  3,  3,  600,   200,     40,    20,    36, 44,     18, 22,     800,      5,      1, 3  }, // JOB_WARRIOR  16
	{   4,  3,  6,  3,  650,   200,     40,    20,    36, 44,     18, 22,     800,      5,      1, 3  }, // JOB_ASSASSIN 16
	{   5,  3,  3,  5,  650,   200,     40,    20,    36, 44,     18, 22,     800,      5,      1, 3  }, // JOB_SURA	 16
	{   3,  4,  3,  6,  700,   200,     40,    20,    36, 44,     18, 22,     800,      5,      1, 3  },  // JOB_SHAMANa  16
#ifdef ENABLE_WOLFMAN_CHARACTER
	{   2,  6,  6,  2,  600,   200,     40,    20,    36, 44,     18, 22,     800,      5,      1, 3  }, // JOB_WOLFMAN  16  // TODO: 4개능력치 초기값 외에 다른 스탯 필요 (기획자한테 요청)
#endif
};

for:


TJobInitialPoints JobInitialPoints[JOB_MAX_NUM] =
/*
   {
   int st, ht, dx, iq;
   int max_hp, max_sp;
   int hp_per_ht, sp_per_iq;
   int hp_per_lv_begin, hp_per_lv_end;
   int sp_per_lv_begin, sp_per_lv_end;
   int max_stamina;
   int stamina_per_con;
   int stamina_per_lv_begin, stamina_per_lv_end;
   }
 */
{
	// str con dex int 초기HP 초기SP  CON/HP INT/SP  HP랜덤/lv   MP랜덤/lv  초기stam  stam/con stam/lv
	{   6,  4,  3,  3,  600,   200,     40,    20,    44, 44,     22, 22,     800,      5,      3, 3  }, // JOB_WARRIOR  16
	{   4,  3,  6,  3,  650,   200,     40,    20,    44, 44,     22, 22,     800,      5,      3, 3  }, // JOB_ASSASSIN 16
	{   5,  3,  3,  5,  650,   200,     40,    20,    44, 44,     22, 22,     800,      5,      3, 3  }, // JOB_SURA	 16
	{   3,  4,  3,  6,  700,   200,     40,    20,    44, 44,     22, 22,     800,      5,      3, 3  },  // JOB_SHAMANa  16
#ifdef ENABLE_WOLFMAN_CHARACTER
	{   2,  6,  6,  2,  600,   200,     40,    20,    44, 44,     22, 22,     800,      5,      3, 3  }, // JOB_WOLFMAN  16  // TODO: 4개능력치 초기값 외에 다른 스탯 필요 (기획자한테 요청)
#endif
};

That's it.

thanks :) 

Link to comment
Share on other sites

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.