[C++] 4 Pagini Inventar

Aici poți găsi sisteme complete, verificate și recomandate de echipa 4Metin.
Conectat
Avatar utilizator
RazVan
Administrator
Administrator
Mesaje: 865
Membru din: Mie Oct 19, 2022 5:25 pm
Localitate: München
Status: Activ
Multumiri acordate: 12
Multumiri primite: 48
Contact:

[C++] 4 Pagini Inventar

Mesaj de RazVan »

Imagine


Deschideți char_item.cpp și căutați :

Cod: Selectaţi tot

BYTE bPage = bCell / (INVENTORY_MAX_NUM / 2);
Modificati :

Cod: Selectaţi tot

BYTE bPage = bCell / (INVENTORY_MAX_NUM / 4);
Cautati:

Cod: Selectaţi tot

if (p / (INVENTORY_MAX_NUM / 2) != bPage)
Intrați în exchange.cpp și căutați:

Cod: Selectaţi tot

static CGrid s_grid1(5, INVENTORY_MAX_NUM/5 / 2); 
static CGrid s_grid2(5, INVENTORY_MAX_NUM/5 / 2); 
Modificati :

Cod: Selectaţi tot

        static CGrid s_grid1(5, INVENTORY_MAX_NUM/5 / 4); // inven page 1
        static CGrid s_grid2(5, INVENTORY_MAX_NUM/5 / 4); // inven page 2
        static CGrid s_grid3(5, INVENTORY_MAX_NUM/5 / 4); // inven page 3
        static CGrid s_grid4(5, INVENTORY_MAX_NUM/5 / 4); // inven page 4
Cautati:

Cod: Selectaţi tot

	s_grid1.Clear();
	s_grid2.Clear();
Modificati:

Cod: Selectaţi tot

        s_grid1.Clear(); 
        s_grid2.Clear();
        s_grid3.Clear();
        s_grid4.Clear();
Cautati:

Cod: Selectaţi tot

	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());
	}
Modificati :

Cod: Selectaţi tot

        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());
        }
Cautati in lenght.h :

Cod: Selectaţi tot

INVENTORY_MAX_NUM = 90;
Si Modificati in:
INVENTORY_MAX_NUM = 180; 
Cautati in Userinterface si deschideți GameType.h :

Cod: Selectaţi tot

const DWORD c_Inventory_Page_Count = 2;
Si modificati:

Cod: Selectaţi tot

const DWORD c_Inventory_Page_Count = 4;
Cautati in inventorywindow.py si inlocuiti tot:

Cod: Selectaţi tot

import uiScriptLocale
import item
 
EQUIPMENT_START_INDEX = 180
 
window = {
    "name" : "InventoryWindow",
 
    ## 600 - (width + 오른쪽으로 부터 띄우기 24 px)
    "x" : SCREEN_WIDTH - 176,
    "y" : SCREEN_HEIGHT - 37 - 565,
 
    "style" : ("movable", "float",),
 
    "width" : 176,
    "height" : 585,
 
    "children" :
    (
        ## Inventory, Equipment Slots
        {
            "name" : "board",
            "type" : "board",
            "style" : ("attach",),
 
            "x" : 0,
            "y" : 0,
 
            "width" : 176,
            "height" : 585,
 
            "children" :
            (
                ## Title
                {
                    "name" : "TitleBar",
                    "type" : "titlebar",
                    "style" : ("attach",),
 
                    "x" : 8,
                    "y" : 7,
 
                    "width" : 161,
                    "color" : "yellow",
 
                    "children" :
                    (
                        { "name":"TitleName", "type":"text", "x":77, "y":3, "text":uiScriptLocale.INVENTORY_TITLE, "text_horizontal_align":"center" },
                    ),
                },
 
                ## Equipment Slot
                {
                    "name" : "Equipment_Base",
                    "type" : "image",
 
                    "x" : 10,
                    "y" : 33,
 
                    "image" : "d:/ymir work/ui/equipment_bg_without_ring.tga",
 
                    "children" :
                    (
 
                        {
                            "name" : "EquipmentSlot",
                            "type" : "slot",
 
                            "x" : 3,
                            "y" : 3,
 
                            "width" : 150,
                            "height" : 182,
 
                            "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},
                                    ),
                        },
                        ## Dragon Soul Button
                        {
                            "name" : "DSSButton",
                            "type" : "button",
 
                            "x" : 114,
                            "y" : 107,
 
                            "tooltip_text" : uiScriptLocale.TASKBAR_DRAGON_SOUL,
 
                            "default_image" : "d:/ymir work/ui/dragonsoul/dss_inventory_button_01.tga",
                            "over_image" : "d:/ymir work/ui/dragonsoul/dss_inventory_button_02.tga",
                            "down_image" : "d:/ymir work/ui/dragonsoul/dss_inventory_button_03.tga",
                        },
                        ## MallButton
                        {
                            "name" : "MallButton",
                            "type" : "button",
 
                            "x" : 118,
                            "y" : 148,
 
                            "tooltip_text" : uiScriptLocale.MALL_TITLE,
 
                            "default_image" : "d:/ymir work/ui/game/TaskBar/Mall_Button_01.tga",
                            "over_image" : "d:/ymir work/ui/game/TaskBar/Mall_Button_02.tga",
                            "down_image" : "d:/ymir work/ui/game/TaskBar/Mall_Button_03.tga",
                        },
                        ## CostumeButton
                        {
                            "name" : "CostumeButton",
                            "type" : "button",
 
                            "x" : 78,
                            "y" : 5,
 
                            "tooltip_text" : uiScriptLocale.COSTUME_TITLE,
 
                            "default_image" : "d:/ymir work/ui/game/taskbar/costume_Button_01.tga",
                            "over_image" : "d:/ymir work/ui/game/taskbar/costume_Button_02.tga",
                            "down_image" : "d:/ymir work/ui/game/taskbar/costume_Button_03.tga",
                        },                      
                        {
                            "name" : "Equipment_Tab_01",
                            "type" : "radio_button",
 
                            "x" : 86,
                            "y" : 161,
 
                            "default_image" : "d:/ymir work/ui/game/windows/tab_button_small_01.sub",
                            "over_image" : "d:/ymir work/ui/game/windows/tab_button_small_02.sub",
                            "down_image" : "d:/ymir work/ui/game/windows/tab_button_small_03.sub",
 
                            "children" :
                            (
                                {
                                    "name" : "Equipment_Tab_01_Print",
                                    "type" : "text",
 
                                    "x" : 0,
                                    "y" : 0,
 
                                    "all_align" : "center",
 
                                    "text" : "I",
                                },
                            ),
                        },
                        {
                            "name" : "Equipment_Tab_02",
                            "type" : "radio_button",
 
                            "x" : 86 + 32,
                            "y" : 161,
 
                            "default_image" : "d:/ymir work/ui/game/windows/tab_button_small_01.sub",
                            "over_image" : "d:/ymir work/ui/game/windows/tab_button_small_02.sub",
                            "down_image" : "d:/ymir work/ui/game/windows/tab_button_small_03.sub",
 
                            "children" :
                            (
                                {
                                    "name" : "Equipment_Tab_02_Print",
                                    "type" : "text",
 
                                    "x" : 0,
                                    "y" : 0,
 
                                    "all_align" : "center",
 
                                    "text" : "II",
                                },
                            ),
                        },
 
                    ),
                },
 
                {
                    "name" : "Inventory_Tab_01",
                    "type" : "radio_button",
 
                    "x" : 10,
                    "y" : 33 + 189,
 
                    "default_image" : "d:/ymir work/ui/game/windows/tab_button_large_01.sub",
                    "over_image" : "d:/ymir work/ui/game/windows/tab_button_large_02.sub",
                    "down_image" : "d:/ymir work/ui/game/windows/tab_button_large_03.sub",
                    "tooltip_text" : uiScriptLocale.INVENTORY_PAGE_BUTTON_TOOLTIP_1,
 
                    "children" :
                    (
                        {
                            "name" : "Inventory_Tab_01_Print",
                            "type" : "text",
 
                            "x" : 0,
                            "y" : 0,
 
                            "all_align" : "center",
 
                            "text" : "I",
                        },
                    ),
                },
                {
                    "name" : "Inventory_Tab_02",
                    "type" : "radio_button",
 
                    "x" : 10 + 78,
                    "y" : 33 + 189,
 
                    "default_image" : "d:/ymir work/ui/game/windows/tab_button_large_01.sub",
                    "over_image" : "d:/ymir work/ui/game/windows/tab_button_large_02.sub",
                    "down_image" : "d:/ymir work/ui/game/windows/tab_button_large_03.sub",
                    "tooltip_text" : uiScriptLocale.INVENTORY_PAGE_BUTTON_TOOLTIP_2,
 
                    "children" :
                    (
                        {
                            "name" : "Inventory_Tab_02_Print",
                            "type" : "text",
 
                            "x" : 0,
                            "y" : 0,
 
                            "all_align" : "center",
 
                            "text" : "II",
                        },
                    ),
                },
                {
                    "name" : "Inventory_Tab_03",
                    "type" : "radio_button",
 
                    "x" : 10,
                    "y" : 33 + 210,
 
                    "default_image" : "d:/ymir work/ui/game/windows/tab_button_large_01.sub",
                    "over_image" : "d:/ymir work/ui/game/windows/tab_button_large_02.sub",
                    "down_image" : "d:/ymir work/ui/game/windows/tab_button_large_03.sub",
                    "tooltip_text" : uiScriptLocale.INVENTORY_PAGE_BUTTON_TOOLTIP_2,
 
                    "children" :
                    (
                        {
                            "name" : "Inventory_Tab_03_Print",
                            "type" : "text",
 
                            "x" : 0,
                            "y" : 0,
 
                            "all_align" : "center",
 
                            "text" : "III",
                        },
                    ),
                },
                {
                    "name" : "Inventory_Tab_04",
                    "type" : "radio_button",
 
                    "x" : 10 + 78,
                    "y" : 33 + 210,
 
                    "default_image" : "d:/ymir work/ui/game/windows/tab_button_large_01.sub",
                    "over_image" : "d:/ymir work/ui/game/windows/tab_button_large_02.sub",
                    "down_image" : "d:/ymir work/ui/game/windows/tab_button_large_03.sub",
                    "tooltip_text" : uiScriptLocale.INVENTORY_PAGE_BUTTON_TOOLTIP_2,
 
                    "children" :
                    (
                        {
                            "name" : "Inventory_Tab_04_Print",
                            "type" : "text",
 
                            "x" : 0,
                            "y" : 0,
 
                            "all_align" : "center",
 
                            "text" : "IV",
                        },
                    ),
                },              
 
                ## Item Slot
                {
                    "name" : "ItemSlot",
                    "type" : "grid_table",
 
                    "x" : 8,
                    "y" : 264,
 
                    "start_index" : 0,
                    "x_count" : 5,
                    "y_count" : 9,
                    "x_step" : 32,
                    "y_step" : 32,
 
                    "image" : "d:/ymir work/ui/public/Slot_Base.sub"
                },
 
                ## Print
                {
                    "name":"Money_Slot",
                    "type":"button",
 
                    "x":8,
                    "y":28,
 
                    "horizontal_align":"center",
                    "vertical_align":"bottom",
 
                    "default_image" : "d:/ymir work/ui/public/parameter_slot_05.sub",
                    "over_image" : "d:/ymir work/ui/public/parameter_slot_05.sub",
                    "down_image" : "d:/ymir work/ui/public/parameter_slot_05.sub",
 
                    "children" :
                    (
                        {
                            "name":"Money_Icon",
                            "type":"image",
 
                            "x":-18,
                            "y":2,
 
                            "image":"d:/ymir work/ui/game/windows/money_icon.sub",
                        },
 
                        {
                            "name" : "Money",
                            "type" : "text",
 
                            "x" : 3,
                            "y" : 3,
 
                            "horizontal_align" : "right",
                            "text_horizontal_align" : "right",
 
                            "text" : "123456789",
                        },
                    ),
                },
 
            ),
        },
    ),
}
Cautati in uiinvetory.py:

Cod: Selectaţi tot

self.inventoryTab.append(self.GetChild("Inventory_Tab_02"))
Adaugati sub:

Cod: Selectaţi tot

        self.inventoryTab.append(self.GetChild("Inventory_Tab_03"))
        self.inventoryTab.append(self.GetChild("Inventory_Tab_04"))
Cautati :

Cod: Selectaţi tot

		self.inventoryTab[0].SetEvent(lambda arg=0: self.SetInventoryPage(arg))
		self.inventoryTab[1].SetEvent(lambda arg=1: self.SetInventoryPage(arg))
		self.inventoryTab[0].Down()
Si adaugati sub:

Cod: Selectaţi tot

                self.inventoryTab[0].SetEvent(lambda arg=0: self.SetInventoryPage(arg))
                self.inventoryTab[1].SetEvent(lambda arg=1: self.SetInventoryPage(arg))
                self.inventoryTab[2].SetEvent(lambda arg=2: self.SetInventoryPage(arg))
                self.inventoryTab[3].SetEvent(lambda arg=3: self.SetInventoryPage(arg))
                self.inventoryTab[0].Down()
                self.inventoryPageIndex = 0
Cautati:

Cod: Selectaţi tot

def SetInventoryPage(self, page):
Inlocuiti cu :

Cod: Selectaţi tot

         def SetInventoryPage(self, page):
                self.inventoryTab[self.inventoryPageIndex].SetUp()
                self.inventoryPageIndex = page
                self.inventoryTab[self.inventoryPageIndex].Down()
                self.RefreshBagSlotWindow()
Imagine
Scrie răspuns