-
Posts
2151 -
Joined
-
Last visited
-
Feedback
100%
Content Type
Forums
Store
Feature Plan
Release Notes
Docs
Events
Everything posted by Metin2 Dev
-
root server with 34083
Metin2 Dev replied to saado's topic in Community Support - Questions & Answers
Server is running on hamachi, right? Do u have a portmaps? -
Slots in new ring.
Metin2 Dev replied to Metin2 Dev's topic in Community Support - Questions & Answers
I have to add slot on accessory with the new ring. Ex. [Hidden Content] -
Hi. How add slots for accessory with new ring? wearlag_ring
-
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.
-
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.
-
[Question] Max item stack
Metin2 Dev replied to guy12's topic in Community Support - Questions & Answers
Edit design table player@shop ? -
Special_item_group.txt and create some group and add ID RING. Then you can't equipment two identical item:)
-
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" : (
-
Add the link to github then xD And you should probably explain why you need this and in what way it benefits our community.
-
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.
-
Improving Speed of compliation
Metin2 Dev replied to Casawir's topic in Community Support - Questions & Answers
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 -
Improving Speed of compliation
Metin2 Dev replied to Casawir's topic in Community Support - Questions & Answers
Careful with clang and ccache might not work properly just a warning from my side -
There you go fix and be safe from kiddies.
-
fix Proper 4th Inventory CExchange::CheckSpace function
Metin2 Dev replied to Metin2 Dev's topic in Bug Fixes
Are you sure that you copied everything properly ? It works for me even with the old source. -
fix Proper 4th Inventory CExchange::CheckSpace function
Metin2 Dev replied to Metin2 Dev's topic in Bug Fixes
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. -
fix Proper 4th Inventory CExchange::CheckSpace function
Metin2 Dev replied to Metin2 Dev's topic in Bug Fixes
Fill up the first 2 Inventory pages if it returns that you have no inventory space you have this bug. -
fix Proper 4th Inventory CExchange::CheckSpace function
Metin2 Dev replied to Metin2 Dev's topic in Bug Fixes
Sorry dudes the "classic" version is up now. -
fix Proper 4th Inventory CExchange::CheckSpace function
Metin2 Dev replied to Metin2 Dev's topic in Bug Fixes
Ok fixed version up there thanks to Cataclisimo for the original function. -
fix Proper 4th Inventory CExchange::CheckSpace function
Metin2 Dev replied to Metin2 Dev's topic in Bug Fixes
Can someone maybe provide the clean source code for that function everyone is using this is a WoM custom function <.< -
fix Proper 4th Inventory CExchange::CheckSpace function
Metin2 Dev replied to Metin2 Dev's topic in Bug Fixes
Thanks (Team)Mate I even wrote the correct thing <.< -
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
-
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
