Selamlar,
Altyapı dosyasını kendi kullanımım için geliştirmeye başladım. Simya sistemini kapatmak için birkaç araştırma yaptım. Pek çok kaynakta önerilen yöntemler hoşuma gitmedi, ben sadece bir define değiştirerek açıp kapatabileceğim basit bir yöntem istiyordum bir şekilde kapattım bunuda paylaşmak istedim
window objesinin bitişine ekle:
Client, game ve questleri derleyin.
İyi forumlar
Altyapı dosyasını kendi kullanımım için geliştirmeye başladım. Simya sistemini kapatmak için birkaç araştırma yaptım. Pek çok kaynakta önerilen yöntemler hoşuma gitmedi, ben sadece bir define değiştirerek açıp kapatabileceğim basit bir yöntem istiyordum bir şekilde kapattım bunuda paylaşmak istedim
game.py
Arat:onPressKeyDict[app.DIK_O] = lambda : self.interface.ToggleDragonSoulWindowWithNoInfo()
Değiştir:
if app.ENABLE_DRAGON_SOUL_SYSTEM:
onPressKeyDict[app.DIK_O] = lambda : self.interface.ToggleDragonSoulWindowWithNoInfo()
interfacemodule.py
Arat:if app.ENABLE_ENERGY_SYSTEM:
Sil:
import app
Arat:
if uiTaskBar.TaskBar.IS_EXPANDED:
Üstüne Ekle:
import app
Arat:
self.wndExpandedTaskBar.SetToggleButtonEvent(uiTaskBar.ExpandedTaskBar.BUTTON_DRAGON_SOUL, ui.__mem_func__(self.ToggleDragonSoulWindow))
Değiştir:
if app.ENABLE_DRAGON_SOUL_SYSTEM:
self.wndExpandedTaskBar.SetToggleButtonEvent(uiTaskBar.ExpandedTaskBar.BUTTON_DRAGON_SOUL, ui.__mem_func__(self.ToggleDragonSoulWindow))
uiinventory.py
Arat:self.DSSButton = self.GetChild2("DSSButton")
Değiştir:
if app.ENABLE_DRAGON_SOUL_SYSTEM:
self.DSSButton = self.GetChild2("DSSButton")
Arat:
if self.DSSButton:
self.DSSButton.SetEvent(ui.__mem_func__(self.ClickDSSButton))
Değiştir:
if app.ENABLE_DRAGON_SOUL_SYSTEM:
if self.DSSButton:
self.DSSButton.SetEvent(ui.__mem_func__(self.ClickDSSButton))
Arat:
self.DSSButton = None
Değiştir:
if app.ENABLE_DRAGON_SOUL_SYSTEM:
self.DSSButton = None
uitaskbar.py
Arat: self.toggleButtonDict[ExpandedTaskBar.BUTTON_DRAGON_SOUL] = self.GetChild("DragonSoulButton")
self.toggleButtonDict[ExpandedTaskBar.BUTTON_DRAGON_SOUL].SetParent(self)
Değiştir:
try:
btn = self.GetChild("DragonSoulButton")
self.toggleButtonDict[ExpandedTaskBar.BUTTON_DRAGON_SOUL] = btn
btn.SetParent(self)
except KeyError:
print("Warning: DragonSoulButton not found!")
self.toggleButtonDict[ExpandedTaskBar.BUTTON_DRAGON_SOUL] = None
expandedtaskbar.py
Sil: {
"name" : "DragonSoulButton",
"type" : "button",
"style" : ("ltr", ),
"x" : 0,
"y" : 0,
"width" : 37,
"height" : 37,
"tooltip_text" : uiScriptLocale.TASKBAR_DRAGON_SOUL,
"default_image" : "d:/ymir work/ui/dragonsoul/DragonSoul_Button_01.tga",
"over_image" : "d:/ymir work/ui/dragonsoul/DragonSoul_Button_02.tga",
"down_image" : "d:/ymir work/ui/dragonsoul/DragonSoul_Button_03.tga",
},
window objesinin bitişine ekle:
if app.ENABLE_DRAGON_SOUL_SYSTEM:
window["children"][0]["children"] += [
{
"name" : "DragonSoulButton",
"type" : "button",
"style" : ("ltr", ),
"x" : 0,
"y" : 0,
"width" : 37,
"height" : 37,
"tooltip_text" : uiScriptLocale.TASKBAR_DRAGON_SOUL,
"default_image" : "d:/ymir work/ui/dragonsoul/DragonSoul_Button_01.tga",
"over_image" : "d:/ymir work/ui/dragonsoul/DragonSoul_Button_02.tga",
"down_image" : "d:/ymir work/ui/dragonsoul/DragonSoul_Button_03.tga",
},
]
inventorywindow.py
Tamamını Değiştir:import uiScriptLocale
import item
import player
import app
EQUIPMENT_START_INDEX = player.EQUIPMENT_SLOT_START
# ---------------------------------------------------------------------------
# Equipment slot definitions
# ---------------------------------------------------------------------------
EQUIPMENT_SLOTS = (
{"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},
{"index": EQUIPMENT_START_INDEX + 27, "x": 3, "y": 106, "width": 32, "height": 32},
)
# ---------------------------------------------------------------------------
# Equipment_Base children (conditionally includes DSSButton)
# ---------------------------------------------------------------------------
EQUIPMENT_BASE_CHILDREN = []
if app.ENABLE_DRAGON_SOUL_SYSTEM:
EQUIPMENT_BASE_CHILDREN.append({
"name": "DSSButton",
"type": "button",
"x": 117,
"y": 148,
"tooltip_text": uiScriptLocale.TASKBAR_DRAGON_SOUL,
"default_image": "d:/ymir work/ui/dragonsoul/dss_inventory_button_01.sub",
"over_image": "d:/ymir work/ui/dragonsoul/dss_inventory_button_02.sub",
"down_image": "d:/ymir work/ui/dragonsoul/dss_inventory_button_03.sub",
})
EQUIPMENT_BASE_CHILDREN += [
{
"name": "EquipmentSlot",
"type": "slot",
"x": 3,
"y": 3,
"width": 150,
"height": 182,
"slot": EQUIPMENT_SLOTS,
},
{
"name": "MallButton",
"type": "button",
"x": 133,
"y": 148,
"tooltip_text": uiScriptLocale.MALL_TITLE,
"default_image": "d:/ymir work/ui/game/windows/Mall_Button_01.sub",
"over_image": "d:/ymir work/ui/game/windows/Mall_Button_02.sub",
"down_image": "d:/ymir work/ui/game/windows/Mall_Button_03.sub",
},
{
"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"},
),
},
]
# ---------------------------------------------------------------------------
# Inventory tab helper
# ---------------------------------------------------------------------------
def _inv_tab(name, x_offset, tooltip, label):
return {
"name": name,
"type": "radio_button",
"x": 10 + x_offset,
"y": 33 + 191,
"default_image": "d:/ymir work/ui/game/windows/tab_button_large_half_01.sub",
"over_image": "d:/ymir work/ui/game/windows/tab_button_large_half_02.sub",
"down_image": "d:/ymir work/ui/game/windows/tab_button_large_half_03.sub",
"tooltip_text": tooltip,
"children": (
{"name": name + "_Print", "type": "text", "x": 0, "y": 0, "all_align": "center", "text": label},
),
}
# ---------------------------------------------------------------------------
# Window definition
# ---------------------------------------------------------------------------
window = {
"name": "InventoryWindow",
"x": SCREEN_WIDTH - 176,
"y": SCREEN_HEIGHT - 37 - 565,
"style": ("movable", "float",),
"width": 176,
"height": 565,
"children": [
{
"name": "board",
"type": "board",
"style": ("attach",),
"x": 0,
"y": 0,
"width": 176,
"height": 565,
"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 area
{
"name": "Equipment_Base",
"type": "image",
"x": 10,
"y": 33,
"image": "d:/ymir work/ui/equipment_bg_without_ring.tga",
"children": EQUIPMENT_BASE_CHILDREN,
},
# Inventory tabs
_inv_tab("Inventory_Tab_01", 0, uiScriptLocale.INVENTORY_PAGE_BUTTON_TOOLTIP_1, "I"),
_inv_tab("Inventory_Tab_02", 39, uiScriptLocale.INVENTORY_PAGE_BUTTON_TOOLTIP_2, "II"),
_inv_tab("Inventory_Tab_03", 39 + 39, uiScriptLocale.INVENTORY_PAGE_BUTTON_TOOLTIP_3, "III"),
_inv_tab("Inventory_Tab_04", 39 + 39*2, uiScriptLocale.INVENTORY_PAGE_BUTTON_TOOLTIP_4, "IV"),
# Item grid
{
"name": "ItemSlot",
"type": "grid_table",
"x": 8,
"y": 246,
"start_index": 0,
"x_count": 5,
"y_count": 9,
"x_step": 32,
"y_step": 32,
"image": "d:/ymir work/ui/public/Slot_Base.sub",
},
# Money
{
"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"},
),
},
],
},
],
}
dragon_soul.lua
Arat:set_state(farming)
Değiştir:
if ds.is_qualified() != 0 then
syschat(string.format("<Ejderha Taşı Simyası> Cor Draconis Kazanımı Aktif"))
set_state(farming)
end
Locale_inc.h
Arat:#define ENABLE_DRAGON_SOUL_SYSTEM
Değiştir:
//#define ENABLE_DRAGON_SOUL_SYSTEM
char_dragonsoul.cpp
Arat:bool CHARACTER::DragonSoul_IsQualified() const
{
//return FindAffect(AFFECT_DRAGON_SOUL_QUALIFIED) != NULL;
return true;//@MMOZirve72
}
Kod:
bool CHARACTER::DragonSoul_IsQualified() const
{
// return FindAffect(AFFECT_DRAGON_SOUL_QUALIFIED) != NULL;
return false; // altyapı filesin orijinalinde direkt true olarak gönderilmiş. açmak istediğiniz zaman eski haline çevirin.
}
Client, game ve questleri derleyin.
İyi forumlar


