4 Leltár

  4 leltár

Mi is ez?
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:


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:

Kód:
INVENTORY_MAX_NUM       = 90,

irjuk át erre:

Kód: 
INVENTORY_MAX_NUM       = 180,

game/char_item.cpp-ben

Kód: 
BYTE bPage = bCell / (INVENTORY_MAX_NUM / 2);

erre

Kód: 
BYTE bPage = bCell / (INVENTORY_MAX_NUM / 4);

ugyanitt ezt:

Kód:
if (p / (INVENTORY_MAX_NUM / 2) != bPage)

erre

Kód: 
if (p / (INVENTORY_MAX_NUM / 4) != bPage)

game/exchange.cpp
ezt

Kód:
static CGrid s_grid2(5, INVENTORY_MAX_NUM/5 / 2)

erre

Kód: 
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á

Kód:
s_grid1.Clear();
s_grid2.Clear();
s_grid3.Clear();
s_grid4.Clear();

ezt

Kód: 
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

Kód: 
const DWORD c_Inventory_Page_Count = 2;

erre

Kód: 
const DWORD c_Inventory_Page_Count = 4;

root/uiinventory.py

ezt keresd meg:

Kód: 
self.inventoryTab.append(self.GetChild("Inventory_Tab_02"))

alá ileszük be a 2 újat:

Kód: 
self.inventoryTab.append(self.GetChild("Inventory_Tab_03"))
self.inventoryTab.append(self.GetChild("Inventory_Tab_04"))

ezt keresük meg:

Kód: 
self.inventoryTab[1].SetEvent(lambda arg=1: self.SetInventoryPage(arg))

alá:

Kód:
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):"

Kód: 
  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:

Kód: 
INVENTORY_PAGE_BUTTON_TOOLTIP_3 3. leltár
INVENTORY_PAGE_BUTTON_TOOLTIP_4 4. leltár
uiscript.e**
beltinventorywindow.py-t nyisukmeg

Kód: 
EQUIPMENT_START_INDEX = 90

irjuk át

Kód:
EQUIPMENT_START_INDEX = 180


Köszönjük huzsihun1997-nek

0 megjegyzés:

Megjegyzés küldése