-
Posts
84 -
Joined
-
Last visited
-
Days Won
1 -
Feedback
0%
Content Type
Forums
Store
Third Party - Providers Directory
Feature Plan
Release Notes
Docs
Events
Posts posted by Evor
-
-
Thanks. I wasn't sure about it. Nevertheless good job.
Wysłane z Sony XPERIA Z
-
Oh okey. Didn't know.
Wysłane z Sony XPERIA Z
-
Well. You removed only
m_pOwner->SetImmuneFlag(dwImmuneFlag);
Why?
Stun bug is caused by the certain chance of apply.
(80% i think)
Regards.
-
I wrote how to do it.
./qc *.quest or sh make.sh
Wysłane z Sony XPERIA Z
-
Compiled all quests again? ( using ./qc *.quest)
-
It isn't granny fault.
Look at rendering engine -> DirectX (version 8)We should accuse direct for such a shitty graphic.
-
Core compiled with newer version of gcc runs smoothlier.
-
What about fixing directly ITEM_MANAGER::RemoveItem?
-
Fix for Status point (no points after 91 level)
Open char.cppSearch for void CHARACTER::PointChange(BYTE type, int amount, bool bAmount, bool bBroadcast)
search and replace
case POINT_LEVEL_STEP: if (amount > 0) { val = GetPoint(POINT_LEVEL_STEP) + amount; switch (val) { case 1: case 2: case 3: //if (GetLevel() < 100) PointChange(POINT_STAT, 1); if (GetLevel() < 91) PointChange(POINT_STAT, 1); break; case 4: { int iHP = number(JobInitialPoints[GetJob()].hp_per_lv_begin, JobInitialPoints[GetJob()].hp_per_lv_end); int iSP = number(JobInitialPoints[GetJob()].sp_per_lv_begin, JobInitialPoints[GetJob()].sp_per_lv_end); m_points.iRandomHP += iHP; m_points.iRandomSP += iSP; if (GetSkillGroup()) { if (GetLevel() >= 5) PointChange(POINT_SKILL, 1); if (GetLevel() >= 9) PointChange(POINT_SUB_SKILL, 1); } PointChange(POINT_MAX_HP, iHP); PointChange(POINT_MAX_SP, iSP); PointChange(POINT_LEVEL, 1, false, true); val = 0; } break; } if (GetLevel() <= 10) AutoGiveItem(27001, 2); else if (GetLevel() <= 30) AutoGiveItem(27002, 2); else { AutoGiveItem(27002, 2); // AutoGiveItem(27003, 2); } PointChange(POINT_HP, GetMaxHP() - GetHP()); PointChange(POINT_SP, GetMaxSP() - GetSP()); PointChange(POINT_STAMINA, GetMaxStamina() - GetStamina()); SetPoint(POINT_LEVEL_STEP, val); SetRealPoint(POINT_LEVEL_STEP, val); Save(); } else val = GetPoint(POINT_LEVEL_STEP); break;
with
case POINT_LEVEL_STEP: if (amount > 0) { val = GetPoint(POINT_LEVEL_STEP) + amount; switch (val) { case 1: case 2: case 3: //if (GetLevel() < 100) PointChange(POINT_STAT, 1); PointChange(POINT_STAT, 1); break; case 4: { int iHP = number(JobInitialPoints[GetJob()].hp_per_lv_begin, JobInitialPoints[GetJob()].hp_per_lv_end); int iSP = number(JobInitialPoints[GetJob()].sp_per_lv_begin, JobInitialPoints[GetJob()].sp_per_lv_end); m_points.iRandomHP += iHP; m_points.iRandomSP += iSP; if (GetSkillGroup()) { if (GetLevel() >= 5) PointChange(POINT_SKILL, 1); if (GetLevel() >= 9) PointChange(POINT_SUB_SKILL, 1); } PointChange(POINT_MAX_HP, iHP); PointChange(POINT_MAX_SP, iSP); PointChange(POINT_LEVEL, 1, false, true); val = 0; } break; } if (GetLevel() <= 10) AutoGiveItem(27001, 2); else if (GetLevel() <= 30) AutoGiveItem(27002, 2); else { AutoGiveItem(27002, 2); // AutoGiveItem(27003, 2); } PointChange(POINT_HP, GetMaxHP() - GetHP()); PointChange(POINT_SP, GetMaxSP() - GetSP()); PointChange(POINT_STAMINA, GetMaxStamina() - GetStamina()); SetPoint(POINT_LEVEL_STEP, val); SetRealPoint(POINT_LEVEL_STEP, val); Save(); } else val = GetPoint(POINT_LEVEL_STEP); break;
You can also match it with your value (for example limit of status points etc.)
I'd tomorrow show how to make a config where u can set a max status point and modify function up to give a number of status points which will perfectly fit to the max of cfg file.
- 6
-
/dice DISABLE
/Á DISABLE
number_ex is fixed in 40k already
i thought it was but in fact dice works with max integer. Maybe it was because i'm using mainline_sg dunno.
-
Soo, i managed to fix it in that way.
do_diceif(atoi(arg1) > 100 || atoi(arg1) < 0) start = 1; if(atoi(arg2) > 100 || atoi(arg2) < 0) end = 100;
number_ex (don't add checking if number is bigger than 100, becouse sectree uses this func too)
if(from < 0) from = 1; if(to < 0) to = 1;
cmd.cpp (interpret_command)
/* argument filtering */ char arg1[256], arg2[256]; two_arguments(argument, arg1, sizeof(arg1), arg2, sizeof(arg2)); if(atoi(arg1) < 0 || atoi(arg2) < 0) return;
i don't know if it still allow players to use number overflow.
Greets.
- 1
-
Fixed issue with wrong counting of immunes.
Open char_resist.cppSearch for bool CHARACTER::IsImmune(DWORD dwImmuneFlag)
replace
bool CHARACTER::IsImmune(DWORD dwImmuneFlag) { if (IS_SET(m_pointsInstant.dwImmuneFlag, dwImmuneFlag)) int immune_pct = 100; int percent = number(1, 100); if (percent <= immune_pct) // 90% Immune { if (test_server && IsPC()) ChatPacket(CHAT_TYPE_PARTY, "<IMMUNE_SUCCESS> (%s)", GetName()); return true; } else { if (test_server && IsPC()) ChatPacket(CHAT_TYPE_PARTY, "<IMMUNE_FAIL> (%s)", GetName()); return false; } if (test_server && IsPC()) ChatPacket(CHAT_TYPE_PARTY, "<IMMUNE_FAIL> (%s) NO_IMMUNE_FLAG", GetName()); return false; }
with
bool CHARACTER::IsImmune(DWORD dwImmuneFlag) { if (IS_SET(m_pointsInstant.dwImmuneFlag, dwImmuneFlag)) /* Ustawienia 100% na WSZYSTKIE odporności */ return true; if (test_server && IsPC()) ChatPacket(CHAT_TYPE_PARTY, "<IMMUNE_FAIL> (%s) NO_IMMUNE_FLAG", GetName()); return false; }
- 2
-
Characters getting stuck after teleporting to map with wrong index.
Open char.cpp
Search for CHARACTER::WarpEnd()
replace
if (!map_allow_find(index)) { // ŔĚ °÷Ŕ¸·Î żöÇÁÇŇ Ľö ľřŔ¸ąÇ·Î żöÇÁÇϱâ Ŕü ÁÂÇĄ·Î µÇµą¸®ŔÚ. sys_err("location %d %d not allowed to login this server", m_posWarp.x, m_posWarp.y); GetDesc()->SetPhase(PHASE_CLOSE); return; }
with
if (!map_allow_find(index)) GoHome();
- 5
-
As far as i know number_ex func is already fixed. Correct me if i'm wrong.
Wysłane z Sony XPERIA Z
-
Yea but it doesn't remove special items like skillbook
Wysłane z Sony XPERIA Z
-
Invisible bug.
Hp/Mp bug overflow.
Item.remove -> removing whole stack of items instead of one.
Remove Metin2Server_Check|isInvalid functions.
INTERNAL Ip fix.
@up
To remove licence you should search for "GLOBAL_TIME" and simply comment all of that code.
-
Hello community!
I was wondering about things which i should repair according to the Vanilla topic. It would be nice to create a topic where everybody can post bugs which them knew, so devs can fix them imidietely.
Best wishes,
Evor
- 5
-
So we can remove hotbackup right?
-
Can u describe this error?
Wysłane z Sony XPERIA Z
-
Yeah, but it would have an. Impact on the performance too ;D
Wysłane z mojego C6603 przy użyciu Tapatalka
-
I was looking at it, but i suppose we need a support from pros, moreover updating direct will really improve performance of metin2
-
Okey, beautifull tut, but how can i run core compiled with gcc4.8 and c++11 on freebsd with gcc4.2? Cause instaltion of the newer version failed every time, but on the other works fine.
-
Did u write the correct table prefix name in the db/conf.txt file?
TABLE_PREFIX : or sth like that.
-
34k files, because DB has a 33820 revision.
How To Fix StunBug
in Bug Fixes
Posted
I suppose that real developers wrote a whole game once and they had never developed it after, so ymir has to employ new developers who weren't as good as firsts