-
Posts
2151 -
Joined
-
Last visited
-
Feedback
100%
Content Type
Forums
Store
Feature Plan
Release Notes
Docs
Events
Everything posted by Metin2 Dev
-
What compiler do you use for compiling the db, what freebsd for compiling and what freebsd for runing, also do you compile with -j ?
-
[Mini version] Badge Notification Manager
Metin2 Dev replied to VegaS™'s topic in Features & Metin2 Systems
Subliminal message : BAC ? -
Hello, Most of you maybe know the exploit in combination with inventory sorting and channel changer, but it's also possible with a small script and no other systems involved. Thanks to Fliegex3 / Colossus. [Hidden Content] char_item.cpp in bool CHARACTER::MoveItem(TItemPos Cell, TItemPos DestCell, WORD count) find if (!IsValidItemPosition(DestCell)) { return false; } add if (Cell.cell == DestCell.cell) return false;
-
MALL window item's size bug
Metin2 Dev replied to TMP4's topic in Community Support - Questions & Answers
That variable it's always 1 for the mall window, my advice is to compare all the code from function CClientManager::RESULT_SAFEBOX_LOAD with a clasic one and solve the bug with the addresses I told you about. -
MALL window item's size bug
Metin2 Dev replied to TMP4's topic in Community Support - Questions & Answers
For the mall the grid is placed on the db, check ClientManager.cpp bellow this line: CGrid grid(5, MAX(1, pi->pSafebox->bSize) * 9); Also try this (a common bug in metin2 source): In ClientManagerBoot.cpp search: sort(m_vec_itemTable.begin(), m_vec_itemTable.end(), FCompareVnum()); And move it before the iterator is initialized like this: m_map_itemTableByVnum.clear(); // Now it's here sort(m_vec_itemTable.begin(), m_vec_itemTable.end(), FCompareVnum()); itertype(m_vec_itemTable) it = m_vec_itemTable.begin(); while (it != m_vec_itemTable.end()) { TItemTable * item_table = &(*(it++)); sys_log(1, "ITEM: #%-5lu %-24s %-24s VAL: %ld %ld %ld %ld %ld %ld WEAR %lu ANTI %lu IMMUNE %lu REFINE %lu REFINE_SET %u MAGIC_PCT %u", item_table->dwVnum, item_table->szName, item_table->szLocaleName, item_table->alValues[0], item_table->alValues[1], item_table->alValues[2], item_table->alValues[3], item_table->alValues[4], item_table->alValues[5], item_table->dwWearFlags, item_table->dwAntiFlags, item_table->dwImmuneFlag, item_table->dwRefinedVnum, item_table->wRefineSet, item_table->bAlterToMagicItemPct); // Also you can insert these values after the sort but because we // already looping through the list of items once (for the syslog), it's better to // move the sort function above (the complexity is half this way) m_map_itemTableByVnum.insert(std::map<DWORD, TItemTable *>::value_type(item_table->dwVnum, item_table)); } // It was here return true; -
Enable enter keys in confirm dialogs
Metin2 Dev replied to ReFresh's topic in Community Support - Questions & Answers
Or you can call the accept button event like this: def OnIMEReturn(self): if self.acceptButton: self.acceptButton.CallEvent() return True -
Written shop title in shop name?
Metin2 Dev replied to ReFresh's topic in Community Support - Questions & Answers
Right, uiPrivateShopBuilder.py -> class PrivateShopAdvertisementBoard(ui.ThinBoard): add these: -
? The code you posted can be explained like this: When I get a sash (mostly with /item command) I will get (1,2,3 or 4) absortion based on sash type (wtf???) and with that discrete_distribution I have a change to get +abs. Example: I have a small change to get a type 1 sash with 6 absortion ? Please don't copy code from other files if you don't know what it does. Rubinum used discrete_distribution when you combine two level 4 sashes for the +abs PS: the code you posted is from item.cpp not char_item.cpp
-
Written shop title in shop name?
Metin2 Dev replied to ReFresh's topic in Community Support - Questions & Answers
Take this: [Hidden Content] Compare the folders and copy the changes in your root source. PS: you might already have interface binded- 4 replies
-
- 26
-
-
-
-
Account Save without Admin rights
Metin2 Dev replied to Metin2 Dev's topic in Community Support - Questions & Answers
Yes. Save them in a file inside the folder of the client and hash them somehow with a unique identifier (like mac address, or something like that) so only that computer can acces them in case of stolen. -
Remove extra space when using command ingame
Metin2 Dev replied to ReFresh's topic in Community Support - Questions & Answers
It get's random stuff from the memory but because it's a gm command don't stress about it. But if you really want that gone try a lenght check: ACMD(do_notice) { if(strlen(argument) < 2) return; BroadcastNotice(argument + 1); } -
Remove extra space when using command ingame
Metin2 Dev replied to ReFresh's topic in Community Support - Questions & Answers
ACMD(do_notice) { BroadcastNotice(argument + 1); } Be careful though, that +1 should not be done without a size check. -
[Drop Bug] Item drop when its not in drop
Metin2 Dev replied to Truman7321's topic in Community Support - Questions & Answers
The name of that sword (name from item_proto.txt) might start with a number. The method that loads the mob_drop_item.txt search first for the item name not vnum. Example: 50028 24k 금반지 ITEM_SPECIAL If I try to add an item with vnum 24 to mob_drop_item.txt I will drop item with vnum 50028 Easy fix for this is to add it like 0024 ? Also check the file ori_to_new_table.txt. -
Make monsters and players die immediately
Metin2 Dev replied to ReFresh's topic in Community Support - Questions & Answers
Yeah, I see what you talking about. The Dead method is called so fast now and it removes the stun flag so the check for the skill is not working anymore. Try this: // char_skill.cpp // Replace: if (!pkChrVictim->Damage(m_pkChr, iDam, dt) && !pkChrVictim->IsStun()) // With: if (!pkChrVictim->Damage(m_pkChr, iDam, dt) && !pkChrVictim->IsStun() && !pkChrVictim->IsDead()) -
I don't see you having some exp bonus so there are three posibilities (or maybe more) : 1. You have a premium exp (those columns from account table) 2. You have double exp directly from the source (I saw some people doing that) 3. You have priv but the messages are not shown somehow
-
Use /state on the character you get double exp and post a screenshot of the output.
-
Make monsters and players die immediately
Metin2 Dev replied to ReFresh's topic in Community Support - Questions & Answers
They (ymir) used Stun because it does more stuff beside locking the character. Also they checked some stuff with the IsStun so I recommend you keep using it. Try this and tell me if it's ok: // char.h // Replace: void Stun(); // With: void Stun(bool bJustDie = false); // char_battle.cpp // Replace: void CHARACTER::Stun() { ... } // With: void CHARACTER::Stun(bool bJustDie) { if (IsStun()) return; if (IsDead()) return; if (!IsPC() && m_pkParty) { m_pkParty->SendMessage(this, PM_ATTACKED_BY, 0, 0); } sys_log(1, "%s: Stun %p", GetName(), this); PointChange(POINT_HP_RECOVERY, -GetPoint(POINT_HP_RECOVERY)); PointChange(POINT_SP_RECOVERY, -GetPoint(POINT_SP_RECOVERY)); CloseMyShop(); event_cancel(&m_pkRecoveryEvent); // 회복 이벤트를 죽인다. if(bJustDie) { SET_BIT(m_pointsInstant.instant_flag, INSTANT_FLAG_STUN); Dead(); } else { TPacketGCStun pack; pack.header = HEADER_GC_STUN; pack.vid = m_vid; PacketAround(&pack, sizeof(pack)); SET_BIT(m_pointsInstant.instant_flag, INSTANT_FLAG_STUN); if (m_pkStunEvent) return; char_event_info* info = AllocEventInfo<char_event_info>(); info->ch = this; m_pkStunEvent = event_create(StunEvent, info, PASSES_PER_SEC(3)); } } // Inside: bool CHARACTER::Damage(LPCHARACTER pAttacker, int dam, EDamageType type) // Replace: if (GetHP() <= 0) { Stun(); if (pAttacker && !pAttacker->IsNPC()) m_dwKillerPID = pAttacker->GetPlayerID(); else m_dwKillerPID = 0; } // With: if (GetHP() <= 0) { if (pAttacker && !pAttacker->IsNPC()) m_dwKillerPID = pAttacker->GetPlayerID(); else m_dwKillerPID = 0; Stun(true); } -
The entire fix is just to add that line ?
-
The tutorial is very old ? New tutorial: // PythonApplicationProcedure.cpp // After: if (m_isWindowFullScreenEnable) { __MinimizeFullScreenWindow(hWnd, m_dwWidth, m_dwHeight); } // Just add: OnMouseMiddleButtonUp(0, 0); That's all! ?
-
Vegas Title System game.core
Metin2 Dev replied to kaJaMrSimple's topic in Community Support - Questions & Answers
If you buy the system from @VegaS™ contact @VegaS™. -
Backup script (SF+DB) (Local and Remote)
Metin2 Dev replied to Metin2 Dev's topic in Operating Systems
I tested the script several times in real time without any problems -
Hello community, I decided to create a script for local and remote backups, I left the code as organized and clean as possible. Requirements -sshpass Install sshpass cd /usr/ports/security/sshpass/ && make install clean pkg install sshpass Script [Hidden Content] Best regards, Papix
-
drag the game file over Sequence Table Patcher and done
-
item_proto.txt problem
Metin2 Dev replied to Metin2 Dev's topic in Community Support - Questions & Answers
up
