Mi is ez? Miért publikálom?
plusz két új leltárad lesz, de csak 40k forrásal tudod megcsinálni, mivel többen kértétek hogy irjam le mert nem tudtok regisztrálni a devre, (ahol hibásan van fent, több bug is van, pl: alsó sor még a következő leltárhoz tartozik, stb) igy publikálom a hibátlant.
Hibák voltak pl:
(https://board.ddmt2.net/proxy.php?request=http%3A%2F%2Fpuu.sh%2F88UD2.jpg&hash=734eb73c0702b848565f2ebd916c6e5d7eb71db2)
Beüzemelés
!!!!!MIELŐTT BELEKEZDENÉL!!!!!!
Ha forrást használsz, menyj tovább.
Viszont ha nem forrásból dolgozol, sehogysem fogod tudni betenni, abban az esetben ajánlom ezt
http://metin2hungary.net/index.php/topic,188504.0.html
Ebben benne van a wolfman, és a 4 leltár is!
Kezdjünk is bele!forrásban, a common/lenght.h-ban keresük meg ezt:
INVENTORY_MAX_NUM = 90,
irjuk át erre:
INVENTORY_MAX_NUM = 180,
game/char_item.cpp-ben
BYTE bPage = bCell / (INVENTORY_MAX_NUM / 2);
erre
BYTE bPage = bCell / (INVENTORY_MAX_NUM / 4);
ugyanitt ezt:
if (p / (INVENTORY_MAX_NUM / 2) != bPage)
erre
if (p / (INVENTORY_MAX_NUM / 4) != bPage)
game/exchange.cpp
ezt
static CGrid s_grid2(5, INVENTORY_MAX_NUM/5 / 2)
erre
static CGrid s_grid1(5, INVENTORY_MAX_NUM/5 / 2); // oldal 1
static CGrid s_grid2(5, INVENTORY_MAX_NUM/5 / 2); // oldal 2
static CGrid s_grid3(5, INVENTORY_MAX_NUM/5 / 2); // oldal 3
static CGrid s_grid4(5, INVENTORY_MAX_NUM/5 / 2); // oldal 4
ez alá
s_grid1.Clear();
s_grid2.Clear();
s_grid3.Clear();
s_grid4.Clear();
ezt
for (i = 0; i < INVENTORY_MAX_NUM / 4; ++i)
{
if (!(item = victim->GetInventoryItem(i)))
continue;
s_grid1.Put(i, 1, item->GetSize());
}
for (i = INVENTORY_MAX_NUM / 4; i < INVENTORY_MAX_NUM; ++i)
{
if (!(item = victim->GetInventoryItem(i)))
continue;
s_grid2.Put(i - INVENTORY_MAX_NUM / 4, 1, item->GetSize());
}
for (i = INVENTORY_MAX_NUM / 4; i < INVENTORY_MAX_NUM; ++i)
{
if (!(item = victim->GetInventoryItem(i)))
continue;
s_grid3.Put(i - INVENTORY_MAX_NUM / 4, 1, item->GetSize());
}
for (i = INVENTORY_MAX_NUM / 4; i < INVENTORY_MAX_NUM; ++i)
{
if (!(item = victim->GetInventoryItem(i)))
continue;
s_grid4.Put(i - INVENTORY_MAX_NUM / 4, 1, item->GetSize());
}
Kliens rész:
Inditóban:
Userinterface/GameType.h
const DWORD c_Inventory_Page_Count = 2;
erre
const DWORD c_Inventory_Page_Count = 4;
root/uiinventory.py
ezt keresd meg:
self.inventoryTab.append(self.GetChild("Inventory_Tab_02"))
alá ileszük be a 2 újat:
self.inventoryTab.append(self.GetChild("Inventory_Tab_03"))
self.inventoryTab.append(self.GetChild("Inventory_Tab_04"))
ezt keresük meg:
self.inventoryTab[1].SetEvent(lambda arg=1: self.SetInventoryPage(arg))
alá:
self.inventoryTab[2].SetEvent(lambda arg=2: self.SetInventoryPage(arg))
self.inventoryTab[3].SetEvent(lambda arg=3: self.SetInventoryPage(arg))
az egész setinventorypage funkciót ird felül ezzel: (erre keress rá "def SetInventoryPage(self, page):"
def SetInventoryPage(self, page):
self.inventoryPageIndex = page
self.inventoryTab[self.inventoryPageIndex].SetUp()
self.RefreshBagSlotWindow()
[s]Deven igy van fent de ez nem jó:[/s]
[sub]def SetInventoryPage(self, page):
self.inventoryTab[self.inventoryPageIndex].SetUp()
self.inventoryPageIndex = page
self.inventoryTab[self.inventoryPageIndex].Down()
self.RefreshBagSlotWindow()[/sub]
locale_hu/ui/inventorywindow.py
[code]Csatoltam mert túl hosszú
locale_hu/locale_interface.txt
irjuk be bárhova ezt:
INVENTORY_PAGE_BUTTON_TOOLTIP_3 3. leltár
INVENTORY_PAGE_BUTTON_TOOLTIP_4 4. leltár
uiscript.e**
beltinventorywindow.py-t nyisukmeg
EQUIPMENT_START_INDEX = 90
irjuk át
EQUIPMENT_START_INDEX = 180