منظمة قانون التطور - Evolution Law Organization
(نسخة قابلة للطباعة من الموضوع)
https://lb-h.mt2academy.com/t1244
أنقر هنا لمشاهدة الموضوع بهيئته الأصلية

[اضافه] 5 قوائم للجرد
CSS 08-07-2020 01:43 صباحا
سلام عليكم ورحمة الله وبركاتة
في هذا الموضوع بشرحلكم كيف تضيف 5 قوائم للجرد 
شرح سهل ان شاءالله ونبدا
بسم الله:
افتح سورس سيرفر ثم مجلد common ثم نفتح ملف  length.h 
نبحث عن
INVENTORY_MAX_NUM        = 90,

ونقوم باستبدالها ب
INVENTORY_MAX_NUM        = 225,

​ثم ندخل مجلد game في نفس السورس ونبحث عن ملف  exchange.cpp
نبحث عن
 
    static CGrid s_grid1(5, INVENTORY_MAX_NUM/5 / 2); // inven page 1
    static CGrid s_grid2(5, INVENTORY_MAX_NUM/5 / 2); // inven page 2

ونستبدلها ب
    
static CGrid s_grid1(5, INVENTORY_MAX_NUM/5 / 2); // inven page 1 
static CGrid s_grid2(5, INVENTORY_MAX_NUM/5 / 2); // inven page 2
static CGrid s_grid3(5, INVENTORY_MAX_NUM/5 / 2); // inven page 3
static CGrid s_grid4(5, INVENTORY_MAX_NUM/5 / 2); // inven page 4
static CGrid s_grid5(5, INVENTORY_MAX_NUM/5 / 2); // inven page 5

نبحث عن
    s_grid1.Clear();
    s_grid2.Clear();

ونستبدلها ب
 
    s_grid1.Clear();
    s_grid2.Clear();
    s_grid3.Clear();
    s_grid4.Clear();
    s_grid5.Clear();

ونبحث عن
    for (i = 0; i < INVENTORY_MAX_NUM / 2; ++i)
    {
        if (!(item = victim->GetInventoryItem(i)))
            continue;
 
        s_grid1.Put(i, 1, item->GetSize());
    }
    for (i = INVENTORY_MAX_NUM / 2; i < INVENTORY_MAX_NUM; ++i)
    {
        if (!(item = victim->GetInventoryItem(i)))
            continue;
 
        s_grid2.Put(i - INVENTORY_MAX_NUM / 2, 1, item->GetSize());
    }

ونستبدلها كلها 
    for (i = 0; i < INVENTORY_MAX_NUM / 5; ++i)
    {
        if (!(item = victim->GetInventoryItem(i)))
            continue;
 
        s_grid1.Put(i, 1, item->GetSize());
    }
    for (i = INVENTORY_MAX_NUM / 5; i < INVENTORY_MAX_NUM; ++i)
    {
        if (!(item = victim->GetInventoryItem(i)))
            continue;
 
        s_grid2.Put(i - INVENTORY_MAX_NUM / 5, 1, item->GetSize());
    }
 
    for (i = INVENTORY_MAX_NUM / 5; i < INVENTORY_MAX_NUM; ++i)
    {
        if (!(item = victim->GetInventoryItem(i)))
            continue;
 
        s_grid3.Put(i - INVENTORY_MAX_NUM / 5, 1, item->GetSize());
    }
    for (i = INVENTORY_MAX_NUM / 5; i < INVENTORY_MAX_NUM; ++i)
    {
        if (!(item = victim->GetInventoryItem(i)))
            continue;
 
        s_grid4.Put(i - INVENTORY_MAX_NUM / 5, 1, item->GetSize());
    }
    for (i = INVENTORY_MAX_NUM / 5; i < INVENTORY_MAX_NUM; ++i)
    {
        if (!(item = victim->GetInventoryItem(i)))
            continue;
 
        s_grid5.Put(i - INVENTORY_MAX_NUM / 5, 1, item->GetSize());
    }
ثم نفتح ملف  char_item.cpp
نبحث عن
 INVENTORY_MAX_NUM / 2
نستبدلها ب 
INVENTORY_MAX_NUM / 5

انتهينا من سورس سيرفر الان ندخل سورس كلاينت مجلد  Userinterface   ثم نفتح ملف  GameType.h
نبحث عن 
const DWORD c_Inventory_Page_Count = 2;
ونستبدلها ب
const DWORD c_Inventory_Page_Count = 5;
انتهينا من سورس الكلاينت الان باقي الكلاينت
ندخل الروت ثم نفتح ملف uiinventory
نبحث عن
​            self.inventoryTab.append(self.GetChild("Inventory_Tab_01"))
            self.inventoryTab.append(self.GetChild("Inventory_Tab_02"))

ونستبدلها ب
            self.inventoryTab.append(self.GetChild("Inventory_Tab_01"))
            self.inventoryTab.append(self.GetChild("Inventory_Tab_02"))
            self.inventoryTab.append(self.GetChild("Inventory_Tab_03"))
            self.inventoryTab.append(self.GetChild("Inventory_Tab_04"))
            self.inventoryTab.append(self.GetChild("Inventory_Tab_05"))

نبحث عن
        self.inventoryTab[0].SetEvent(lambda arg=0: self.SetInventoryPage(arg))
        self.inventoryTab[1].SetEvent(lambda arg=1: self.SetInventoryPage(arg))

ونستبدلها ب
        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[4].SetEvent(lambda arg=4: self.SetInventoryPage(arg))

ثم نبحث عن ديف
    def SetInventoryPage(self, page):

ونستبدل كامل الديف ب
    def SetInventoryPage(self, page):
        self.inventoryPageIndex = page
        self.inventoryTab[(page+1)%5].SetUp()
        self.inventoryTab[(page+2)%5].SetUp()
        self.inventoryTab[(page+3)%5].SetUp()
        self.inventoryTab[(page+4)%5].SetUp()
        self.RefreshBagSlotWindow()

الان انتيهنا من الروت ندخل على على مجلد locale_ae ثم  نبحث عن ملف InventoryWindow.py ونفتحه
نبحث عن
                {
                    "name" : "Inventory_Tab_01",
                    "type" : "radio_button",

                    "x" : 10,
                    "y" : 33 + 191,

                    "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 + 191,

                    "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_01",
                    "type" : "radio_button",

                    "x" : 7,
                    "y" : 33 + 191,

                    "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",
                    "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" : 7 + 32,
                    "y" : 33 + 191,

                    "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",
                    "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" : 7 + 32*2,
                    "y" : 33 + 191,

                    "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",
                    "tooltip_text" : uiScriptLocale.INVENTORY_PAGE_BUTTON_TOOLTIP_3,

                    "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" : 7 + 32*3,
                    "y" : 33 + 191,

                    "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",
                    "tooltip_text" : uiScriptLocale.INVENTORY_PAGE_BUTTON_TOOLTIP_4,

                    "children" :
                    (
                        {
                            "name" : "Inventory_Tab_04_Print",
                            "type" : "text",

                            "x" : 0,
                            "y" : 0,

                            "all_align" : "center",

                            "text" : "IV",
                        },
                    ),
                },
                {
                    "name" : "Inventory_Tab_05",
                    "type" : "radio_button",

                    "x" : 7 + 32*4,
                    "y" : 33 + 191,

                    "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",
                    "tooltip_text" : uiScriptLocale.INVENTORY_PAGE_BUTTON_TOOLTIP_5,

                    "children" :
                    (
                        {
                            "name" : "Inventory_Tab_05_Print",
                            "type" : "text",

                            "x" : 0,
                            "y" : 0,

                            "all_align" : "center",

                            "text" : "V",
                        },
                    ),
                },

ثم نفتح ورقه locale_interface
ونبحث عن
INVENTORY_PAGE_BUTTON_TOOLTIP_1    1
INVENTORY_PAGE_BUTTON_TOOLTIP_2    2

ونستبدلها ب 
INVENTORY_PAGE_BUTTON_TOOLTIP_1    1
INVENTORY_PAGE_BUTTON_TOOLTIP_2    2
INVENTORY_PAGE_BUTTON_TOOLTIP_3    3
INVENTORY_PAGE_BUTTON_TOOLTIP_4    4
INVENTORY_PAGE_BUTTON_TOOLTIP_5    5

ومبروك تم الأنتهاء من التركيب بنجاح
الشرح ينطبق تحديداً على الجرد الي فيه قائمتين فقط اما اذا كان عندك 3 او 4 تحتاج تعديلات بسيطه جداً
وربما بعض الاشياء ليست موجوده عندك بالضبط مثل 
INVENTORY_PAGE_BUTTON_TOOLTIP_1    1

ممكن تلاقيها كذا
INVENTORY_PAGE_BUTTON_TOOLTIP_1    I

المهم هنا انتهي من الموضوع ولا تنسون الدعاءrolleyes



 







منظمة قانون التطور - Evolution Law Organization

Powered by PBBoard ©Version 3.0.3