Jump to content

Metin2 Dev

Bot
  • Posts

    2151
  • Joined

  • Last visited

  • Feedback

    100%

Everything posted by Metin2 Dev

  1. Server is running on hamachi, right? Do u have a portmaps?
  2. I have to add slot on accessory with the new ring. Ex. [Hidden Content]
  3. Hi. How add slots for accessory with new ring? wearlag_ring
  4. Hi community, I have a problem with my serverside. I use mainline_sg client and serverside. With that I insert 40k serverfiles and MySQL. Now what is the problem. When I start game, server telling me: "connect: Connection refused" Here is my start.sh: #!/bin/sh cd db && ./db cd .. cd auth && ./auth cd .. cd channel1/core1 && ./game cd .. cd channel1/core2 && ./game cd .. cd channel1/core3 && ./game cd .. cd channel1/core4 && ./game cd .. cd channel1/core5 && ./game cd .. cd .. cd game99/core1 && ./game cd .. cd game99/core2 && ./game cd .. cd game99/core3 && ./game cd .. cd game99/core4 && ./game cd .. cd game99/core5 && ./game cd .. I googled many times. I found something with tables in MySQL. I did this: 1, Check -> Extended 2, Repair -> Extended 3, Check -> Extended But it is still broken. Can anybody help me? Thanks for all replies.
  5. Hi. I need add colors in items. And I have problem.. 1.How I can change title color? self.SetTitle(item.GetItemName()) 2.How add information about classes? Because I haven't this in the belt and new ring: 3.How change color in information about classes?
  6. Hi metin2dev commnuity! I have succesfully compiled mainline_sg Client and Server. I have it with 40k MySQL and Serverside files. Client is "für 40250". I have a question. Is this right? I mean..is 40k serverside compatibile with mainline_sg Server? Because I cant log on server. Thanks for all replies.
  7. Edit design table player@shop ?
  8. Special_item_group.txt and create some group and add ID RING. Then you can't equipment two identical item:)
  9. Client. Uiscript.py equipmentdialog.py {"index":0, "x":39, "y":37, "width":32, "height":64}, {"index":1, "x":39, "y":2, "width":32, "height":32}, {"index":2, "x":39, "y":145, "width":32, "height":32}, {"index":3, "x":75, "y":67, "width":32, "height":32}, {"index":4, "x":3, "y":3, "width":32, "height":96}, {"index":5, "x":114, "y":67, "width":32, "height":32}, {"index":6, "x":114, "y":35, "width":32, "height":32}, {"index":7, "x":2, "y":145, "width":32, "height":32}, {"index":8, "x":75, "y":145, "width":32, "height":32}, {"index":9, "x":114, "y":2, "width":32, "height":32}, {"index":10, "x":75, "y":35, "width":32, "height":32}, ## »ő ąÝÁö1 {"index":21, "x":2, "y":106, "width":32, "height":32}, ## »ő ąÝÁö2 {"index":22, "x":75, "y":106, "width":32, "height":32}, ## »ő ş§Ć® {"index":23, "x":39, "y":106, "width":32, "height":32}, ), Locale_XX inventorywindow.py "slot" : ( {"index":EQUIPMENT_START_INDEX+0, "x":39, "y":37, "width":32, "height":64}, {"index":EQUIPMENT_START_INDEX+1, "x":39, "y":2, "width":32, "height":32}, {"index":EQUIPMENT_START_INDEX+2, "x":39, "y":145, "width":32, "height":32}, {"index":EQUIPMENT_START_INDEX+3, "x":75, "y":67, "width":32, "height":32}, {"index":EQUIPMENT_START_INDEX+4, "x":3, "y":3, "width":32, "height":96}, {"index":EQUIPMENT_START_INDEX+5, "x":114, "y":67, "width":32, "height":32}, {"index":EQUIPMENT_START_INDEX+6, "x":114, "y":35, "width":32, "height":32}, {"index":EQUIPMENT_START_INDEX+7, "x":2, "y":145, "width":32, "height":32}, {"index":EQUIPMENT_START_INDEX+8, "x":75, "y":145, "width":32, "height":32}, {"index":EQUIPMENT_START_INDEX+9, "x":114, "y":2, "width":32, "height":32}, {"index":EQUIPMENT_START_INDEX+10, "x":75, "y":35, "width":32, "height":32}, ## »ő ąÝÁö1 {"index":item.EQUIPMENT_RING1, "x":2, "y":106, "width":32, "height":32}, ## »ő ąÝÁö2 {"index":item.EQUIPMENT_RING2, "x":75, "y":106, "width":32, "height":32}, ## »ő ş§Ć® {"index":item.EQUIPMENT_BELT, "x":39, "y":106, "width":32, "height":32}, ), }, and this ## Equipment Slot { "name" : "Equipment_Base", "type" : "image", "x" : 10, "y" : 33, "image" : "d:/ymir work/ui/equipment_bg_with_ring.tga", "children" : (
  10. Add the link to github then xD And you should probably explain why you need this and in what way it benefits our community.
  11. We didnt feel like iterating over a vector i guess well this fix was applied almost half a year ago. But your solution is perfectly fine so take whatever you want to take.
  12. It had some problems back then but you have an issue there /usr/local/bin/ccache -M 512 => 512 GB! /usr/local/bin/ccache -M 512M => 512 MB
  13. Careful with clang and ccache might not work properly just a warning from my side
  14. Hi metin2dev! I have a problem with installation FreeBSD 9.2 (32 bit) Here are a pictures with mistakes while installation: Thanks for all replies. EDIT: I just set only IPv4 adress, not IPv4 and IPv6 adress. SOLVED
  15. There you go fix and be safe from kiddies.
  16. Are you sure that you copied everything properly ? It works for me even with the old source.
  17. Ofc you dont have it you fixed it with that xD Mine is just a refined version of the one CBaran didnt provide in his first edit. He now edited his post and provided the "ugly" version with the nested if / else conditions and multiple for loops which i wanted to avoid.
  18. Fill up the first 2 Inventory pages if it returns that you have no inventory space you have this bug.
  19. Sorry dudes the "classic" version is up now.
  20. Ok fixed version up there thanks to Cataclisimo for the original function.
  21. Can someone maybe provide the clean source code for that function everyone is using this is a WoM custom function <.<
  22. Thanks (Team)Mate I even wrote the correct thing <.<
  23. Based on the github sourcecode this should be correct. bool CExchange::CheckSpace() { static CGrid s_grid1(5, INVENTORY_MAX_NUM / 5 / 4); // inven page 1 9 Rows a 5 Columns static CGrid s_grid2(5, INVENTORY_MAX_NUM / 5 / 4); // inven page 2 9 Rows a 5 Columns static CGrid s_grid3(5, INVENTORY_MAX_NUM / 5 / 4); // inven page 3 9 Rows a 5 Columns static CGrid s_grid4(5, INVENTORY_MAX_NUM / 5 / 4); // inven page 4 9 Rows a 5 Columns s_grid1.Clear(); s_grid2.Clear(); s_grid3.Clear(); s_grid4.Clear(); LPCHARACTER victim = GetCompany()->GetOwner(); LPITEM item; int i; const int perPageSlotCount = INVENTORY_MAX_NUM / 4; for (i = 0; i < INVENTORY_MAX_NUM; ++i) { if (!(item = victim->GetInventoryItem(i))) continue; BYTE itemSize = item->GetSize(); if (i < perPageSlotCount) // Notice: This is adjusted for 4 Pages only! s_grid1.Put(i, 1, itemSize); else if (i < perPageSlotCount * 2) s_grid2.Put(i - perPageSlotCount, 1, itemSize); else if (i < perPageSlotCount * 3) s_grid3.Put(i - perPageSlotCount * 2, 1, itemSize); else s_grid4.Put(i - perPageSlotCount * 3, 1, itemSize); } static std::vector <WORD> s_vDSGrid(DRAGON_SOUL_INVENTORY_MAX_NUM); bool bDSInitialized = false; for (i = 0; i < EXCHANGE_ITEM_MAX_NUM; ++i) { if (!(item = m_apItems[i])) continue; BYTE itemSize = item->GetSize(); if (item->IsDragonSoul()) { if (!victim->DragonSoul_IsQualified()) return false; if (!bDSInitialized) { bDSInitialized = true; victim->CopyDragonSoulItemGrid(s_vDSGrid); } bool bExistEmptySpace = false; WORD wBasePos = DSManager::instance().GetBasePosition(item); if (wBasePos >= DRAGON_SOUL_INVENTORY_MAX_NUM) return false; for (int i = 0; i < DRAGON_SOUL_BOX_SIZE; i++) { WORD wPos = wBasePos + i; if (0 == s_vDSGrid[wBasePos]) { bool bEmpty = true; for (int j = 1; j < item->GetSize(); j++) { if (s_vDSGrid[wPos + j * DRAGON_SOUL_BOX_COLUMN_NUM]) { bEmpty = false; break; } } if (bEmpty) { for (int j = 0; j < item->GetSize(); j++) { s_vDSGrid[wPos + j * DRAGON_SOUL_BOX_COLUMN_NUM] = wPos + 1; } bExistEmptySpace = true; break; } } if (bExistEmptySpace) break; } if (!bExistEmptySpace) return false; } else { int iPos = s_grid1.FindBlank(1, itemSize); if (iPos >= 0) { s_grid1.Put(iPos, 1, itemSize); continue; } iPos = s_grid2.FindBlank(1, itemSize); if (iPos >= 0) { s_grid2.Put(iPos, 1, itemSize); continue; } iPos = s_grid3.FindBlank(1, itemSize); if (iPos >= 0) { s_grid3.Put(iPos, 1, itemSize); continue; } iPos = s_grid4.FindBlank(1, itemSize); if (iPos >= 0) { s_grid4.Put(iPos, 1, itemSize); continue; } return false; // No space left in inventory } } return true; } PS: If there are any errors please report them asap because i have no way to test this. Kind regards MartPwnS
  24. Well i never really wanted to be right or sth i wanted to point out that one should be careful with copying libs especially if one is not experienced as OP is i guess. I just used a drastical and too general way to express it. Theres nothing against copying a lib from system to system if you pay attention and dont work in /usr/lib and yes its true that one can copy libstdc++.so.6 over, thats indirectly laid out in my post (0x28612000 == 0x28612000). We somewhat drifted away from the problem tho. I consider this matter closed. Kind regards and a nice saturday night MartPwnS
×
×
  • 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.