monsterd2w4 4 Posted July 19, 2020 Share Posted July 19, 2020 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", ""); } 2 1 4 2 Link to comment Share on other sites More sharing options...
Mafuyu 51 Posted July 20, 2020 Share Posted July 20, 2020 why ComputePoints 2 times? Link to comment Share on other sites More sharing options...
Contributor MrQuin 6402 Posted July 20, 2020 Contributor Share Posted July 20, 2020 1 My only accounts are here and on M2D, Don't trust anyone else from other shitty sites. Link to comment Share on other sites More sharing options...
monsterd2w4 4 Posted July 21, 2020 Author Share Posted July 21, 2020 8 hours ago, Mafuyu said: why ComputePoints 2 times? For refresh point with reset reset point 2* fix you go test 7 hours ago, MrQuin said: First test fix 100% reset stats Link to comment Share on other sites More sharing options...
Mafuyu 51 Posted July 21, 2020 Share Posted July 21, 2020 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 More sharing options...
monsterd2w4 4 Posted July 21, 2020 Author Share Posted July 21, 2020 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 More sharing options...
Active Member hachiwari 138 Posted July 21, 2020 Active Member Share Posted July 21, 2020 Link to comment Share on other sites More sharing options...
Bot Metin2 Dev 4877 Posted July 21, 2020 Bot Share Posted July 21, 2020 Bruh Link to comment Share on other sites More sharing options...
Mafuyu 51 Posted July 22, 2020 Share Posted July 22, 2020 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 More sharing options...
Contributor Rakancito 4822 Posted July 23, 2020 Contributor Share Posted July 23, 2020 (edited) 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: 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. 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 July 23, 2020 by Rakancito 3 Link to comment Share on other sites More sharing options...
JobiDayı 2 Posted July 23, 2020 Share Posted July 23, 2020 shame on your brain :d Link to comment Share on other sites More sharing options...
monsterd2w4 4 Posted July 24, 2020 Author Share Posted July 24, 2020 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: 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. 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 More sharing options...
Recommended Posts