Jump to content


Popular Content

Showing most liked content on 03/29/2016 in all areas

  1. 4 points
    https://mega.nz/#F!pE5S1Q5Y!Q9UJSSDfpMcxgkvJxcRySg root & locale_en from metin2(en) https://mega.nz/#F!5YhGDLgK!ofMObEF7IpHpmnS0d_DJ5w +edited patches with icons for the chipao and samurai and capoeira costumes/hairs. metin2_patch_etc metin2_patch_samurai metin2_patch_party
  2. 3 points
    https://mega.nz/#F!lM4nxC4R!UtKlPbno4lI3gm9TkdsPbA 50 patches from GF+2 patches from the korean client + 1 fresh icons +1x metin2_patch_eu5 (from somewhere*) Hve sm fun! =)
  3. 2 points
    Hey, so i know it is not the best solution to prevent from players using multiple clients to get bosses drop, since low percent of players are playing from the same network(brothers for exmaple). Anyway,i think it is good enough for now. this quest function will check if there are party members with same IP and return true/false open questlua_party.cpp Look for: below this function add the following function: search for: add below: add to questfunction the function: party.have_same_ip example of a quest: if party.have_same_ip() == true then say("2 or more members have same ip!") else say("all party members has different ip!") enjoy
  4. 2 points
    You're welcome. Here you can find the useless new masked item_proto(en) as .txt: Protos m2_16.1.4_20752.7z
  5. 2 points
    Thanatos thx now i. fix it https://www.youtube.com/watch?v=5CDLIFRXMXs
  6. 1 point
    Hello, im here today releasing my version of slot effect system. Is not the same as the official looks like but in the future i will update this to look the same. Screenshot to see how it looks like. Everything in this system was made by me. Tutorial: Go to UserInterface > PythonPlayer.cpp Search for : void CPythonPlayer::SetItemData(TItemPos Cell, const TItemData & c_rkItemInst) Add in the end of the funcion: PyCallClassMemberFunc(m_ppyGameWindow, "OnNewItem", Py_BuildValue("(i)", Cell.cell)); Compile It. Go to root > constInfo.py Add this somewhere: NEWITEMS = [] Save it. Go to root > game.py Add this function: def OnNewItem(self, cell): if not cell in constInfo.NEWITEMS: constInfo.NEWITEMS.append(cell) Save It. Go to root > uiinventory.py Search for : def RefreshBagSlotWindow(self): Add this before this: (if 0 == itemCount:) : if itemCount == 0 and slotNumber in constInfo.NEWITEMS: constInfo.NEWITEMS.remove(slotNumber) Add this under this: (setItemVNum(i, itemVnum, itemCount)) : self.wndItem.EnableCoverButton(i) if slotNumber in constInfo.NEWITEMS: self.wndItem.SetCoverButton(i, "d:/ymir work/ui/game/quest/slot_button_00.sub",\ "d:/ymir work/ui/game/quest/slot_button_00.sub",\ "d:/ymir work/ui/game/quest/slot_button_00.sub",\ "d:/ymir work/ui/new_icon.tga", FALSE, FALSE) self.wndItem.DisableCoverButton(i) Search for: def OverInItem(self, overSlotPos): Add under: slotPos = overSlotPos Add in the end: if overSlotPos in constInfo.NEWITEMS: self.wndItem.EnableCoverButton(slotPos) constInfo.NEWITEMS.remove(overSlotPos) Save It. Finally go to ymirwork/ui and add this file: https://mega.nz/#!VgA2GKrR!iB4vDwhCvT0yt6Zy1L4mTSiMVsijk7KhOstcoey_J8I Pack root and etc. Have fun This may not be the most optimized way to do this system, but at least you have a way. In the future i will post more updates such as a more optimized versions and with official effects. If you find any bugs please post it. #UPDATE Kind Regards, Frozen
  7. 1 point
    With new changes, webzen is added new things in item proto. The newest item proto has two new bytes and vnum range. Here is the newest item proto struct typedef struct { DWORD dwVnum; DWORD dwVnumRange; char szName[ITEM_NAME_MAX_LEN + 1]; char szLocaleName[ITEM_NAME_MAX_LEN + 1]; BYTE bType; BYTE bSubType; BYTE bWeight; BYTE bSize; DWORD dwAntiFlags; DWORD dwFlags; DWORD dwWearFlags; DWORD dwImmuneFlag; DWORD dwGold; DWORD dwShopBuyPrice; TItemLimit aLimits[ITEM_LIMIT_MAX_NUM]; TItemApply aApplies[ITEM_APPLY_MAX_NUM]; long alValues[ITEM_VALUES_MAX_NUM]; long alSockets[ITEM_SOCKET_MAX_NUM]; DWORD dwRefinedVnum; WORD wRefineSet; BYTE bAlterToMagicItemPct; BYTE bSpecular; BYTE bGainSocketPct; BYTE bMaskType; BYTE bMaskSubType; } TClientItemTable; ItemData.cpp BYTE CItemData::GetMaskType() const { return m_ItemTable.bMaskType; } BYTE CItemData::GetMaskSubType() const { return m_ItemTable.bMaskSubType; } PythonItemModule.cpp PyObject * itemGetMaskType(PyObject * poSelf, PyObject * poArgs) { CItemData * pItemData = CItemManager::Instance().GetSelectedItemDataPointer(); if (!pItemData) return Py_BuildException("no selected item data"); return Py_BuildValue("i", pItemData->GetMaskType()); } PyObject * itemGetMaskSubType(PyObject * poSelf, PyObject * poArgs) { CItemData * pItemData = CItemManager::Instance().GetSelectedItemDataPointer(); if (!pItemData) return Py_BuildException("no selected item data"); return Py_BuildValue("i", pItemData->GetMaskSubType()); } Here are the newest item proto text files. http://www.speedyshare.com/G4W3M/ItemProto.rar Best Regards Ken
  8. 1 point
    sry 4my slow net :/ https://mega.nz/#!5RhHGAxB!7mA5YBFVbzgsrWLgy-4brxD4Yknt6P1nymjUNkrf6H0
  9. 1 point
    https://www.hex-rays.com/products/ida/ Only way.
  10. 1 point
    Attached proto to .xml dumper. ProtoTool_m2_16.1.4_20752.exe
  11. 1 point
    Hi. I wanted to improve my lua skills, so I thought I could create a useful software, something that I would use, and I'm here to post it if someone wants it too. A friend asked me if I could add a sql option, so I added it. Since it's not a "thing from another world", just run the *.bat file with your item_proto_dump.xml on the same folder. Then wait until the process is finished, and go to output folder and take what you wanted. Download: MEGA. Source v1.5: Pastebin. Changelog: Hope it's useful to anyone.
  12. 1 point
    nobody will help you because they are ....for monney,but add me on skype:-EDIT- i will help you with pleasure for free. (I learn alone form 20-30 tests on run animation)
  13. 1 point
    so I have residential and work 3x case APPLY_MOV_SPEED: case APPLY_ATT_SPEED: and 1x AddAffect(AFFECT_NOG_ABILITY, POINT_MOV_SPEED, moveSpeedPer, AFF_MOV_SPEED_POTION, time, 0, true, true); it works, thank you