Çözüldü Oyun'a Girerken Login Ekranına Atıp Syserr vermesi!

Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

Afraz

Cehalet yenilmesi gereken en büyük düşmandır.
Yardımsever Üye
MT Üye
Mesaj
678
Çözümler
30
Beğeni
181
Puan
604
Ticaret Puanı
0
Selamün aleyküm , sol alttaki can bar kısmını değiştirmeye calısıyordum uitaskbar,py taskbar lefttaskbar ve righttaskbar gibi 4 dosyayı başka aynı etc kullandığım filesimden çektim , dün syserr vere vere çözdüm ve girmeyi başardım. Fakat can barı tam olarak sağlam gözükmüyordu tekrar dosyaları attım bugün Loading ekranı dolunca login ekranına atıyor.


Syserr:
0312 18:04:26144 :: CEffectManager::RegisterEffect - LoadScript(d:/ymir work/effect/etc/buff/finish.mse) Error
0312 18:04:26144 :: CInstanceBase::RegisterEffect(eEftType=104, c_szEftAttachBone=, c_szEftName=d:/ymir work/effect/etc/buff/finish.mse, isCache=0) - Error
0312 18:04:26156 :: CEffectManager::RegisterEffect - LoadScript(d:/ymir work/taglar/vip.mse) Error
0312 18:04:26156 :: CInstanceBase::RegisterEffect(eEftType=112, c_szEftAttachBone=, c_szEftName=d:/ymir work/taglar/vip.mse, isCache=0) - Error
0312 18:04:33330 :: CEffectManager::RegisterEffect - LoadScript(d:/ymir work/tkmt2/effect/tkmt2_6.mse) Error
0312 18:04:34244 :: CEffectManager::RegisterEffect - LoadScript(d:/ymir work/tkmt2/effect/tkmt2_6.mse) Error
0312 18:05:56056 :: Traceback (most recent call last):


Tekrar girmeye çalıştığımda oyun gözüküyor , can bar skill taraflar felan ve tekrar login ekranına atıyor bu seferde farklı syserr veriyor.


Syserr 2:
0312 18:04:26144 :: CEffectManager::RegisterEffect - LoadScript(d:/ymir work/effect/etc/buff/finish.mse) Error
0312 18:04:26144 :: CInstanceBase::RegisterEffect(eEftType=104, c_szEftAttachBone=, c_szEftName=d:/ymir work/effect/etc/buff/finish.mse, isCache=0) - Error
0312 18:04:26156 :: CEffectManager::RegisterEffect - LoadScript(d:/ymir work/taglar/vip.mse) Error
0312 18:04:26156 :: CInstanceBase::RegisterEffect(eEftType=112, c_szEftAttachBone=, c_szEftName=d:/ymir work/taglar/vip.mse, isCache=0) - Error
0312 18:04:33330 :: CEffectManager::RegisterEffect - LoadScript(d:/ymir work/tkmt2/effect/tkmt2_6.mse) Error
0312 18:04:34244 :: CEffectManager::RegisterEffect - LoadScript(d:/ymir work/tkmt2/effect/tkmt2_6.mse) Error
0312 18:05:56056 :: Traceback (most recent call last):

0312 18:05:56056 ::   File "uiCharacter.py", line 1964, in OnUpdate

0312 18:05:56057 ::   File "ui.py", line 120, in __call__

0312 18:05:56057 ::   File "ui.py", line 102, in __call__

0312 18:05:56058 ::   File "uiCharacter.py", line 888, in Refreshing

0312 18:05:56058 ::   File "ui.py", line 5725, in GetChild

0312 18:05:56058 :: KeyError
0312 18:05:56058 :: :
0312 18:05:56058 :: 'PercentExp'
0312 18:05:56058 ::

0312 18:05:04062 :: mouseModule:357: RuntimeWarning: tp_compare didn't return -1 or -2 for exception

0312 18:05:04062 :: Traceback (most recent call last):

0312 18:05:04062 ::   File "mouseModule.py", line 357, in Update

0312 18:05:04062 :: RuntimeError
0312 18:05:04062 :: :
0312 18:05:04062 :: Failed to load image (filename: )
0312 18:05:04062 ::

0312 18:05:05150 :: CRaceManager::GetRaceDataPointer: cannot load data by dwRaceIndex 20404
0312 18:05:05151 :: CPythonCharacterManager::CreateInstance VID[3048] Race[20404]
0312 18:05:05892 :: Traceback (most recent call last):

0312 18:05:05892 ::   File "uiCharacter.py", line 1964, in OnUpdate

0312 18:05:05892 ::   File "ui.py", line 120, in __call__

0312 18:05:05893 ::   File "ui.py", line 102, in __call__

0312 18:05:05893 ::   File "uiCharacter.py", line 888, in Refreshing

0312 18:05:05893 ::   File "ui.py", line 5725, in GetChild

0312 18:05:05893 :: KeyError
0312 18:05:05893 :: :
0312 18:05:05893 :: 'PercentExp'
0312 18:05:05893 ::

Yardımcı olabilicek arkadaşlar varsa sevinirim.



Edit ;


taskbar.py:
import uiScriptLocale
import app

ROOT = "d:/ymir work/ui/game/"
BASE = "d:/ymir work/interface/taskbar/"

Y_ADD_POSITION = 0

window = {
    "name" : "TaskBar",

    "x" : 0,
    "y" : SCREEN_HEIGHT - 48,

    "width" : SCREEN_WIDTH,
    "height" : 158,

    "children" :
    (   
    
        ## Board
        {
            "name" : "Base_Board_01",
            "type" : "expanded_image",

            "x" : (SCREEN_WIDTH-1193)/2,
            "y" : -110,

            "image" : BASE+"bg.tga"
        },
        {
            "name" : "LeftMouseButton",
            "type" : "button",

            "x" : (SCREEN_WIDTH/2)-230-15+15+3,
            "y" :123-110,

            "default_image" : BASE + "btn_attacknormal_01_normal.tga",
            "over_image" : BASE + "btn_attacknormal_02_hover.tga",
            "down_image" : BASE + "btn_attacknormal_03_active.tga",
        },
        {
            "name" : "button_horse",
            "type" : "button",

            "x" : SCREEN_WIDTH - 178,
            "y" : 3 + Y_ADD_POSITION,

            "tooltip_text" : "Pet Menusu",

            #"default_image" : "d:/ymir work/ui/pet_up.tga",
            #"over_image" : "d:/ymir work/ui/pet_over.tga",
            #"down_image" : "d:/ymir work/ui/pet_down.tga",
        },   
        {
            "name" : "VectorsHzl",
            "type" : "button",
 
            "x" : SCREEN_WIDTH - 248,
            "y" : 3 + Y_ADD_POSITION,
 
            "tooltip_text" : "Hizli Ekipman",
 
            #"default_image" : "d:/ymir work/ui/hzl.tga",
            #"over_image" : "d:/ymir work/ui/hzl2.tga",
            #"down_image" : "d:/ymir work/ui/hzl.tga",
        },
        {
            "name" : "DarkmmoBalikButton",
            "type" : "button",

            "x" : SCREEN_WIDTH - 280,
            "y" : 3 + Y_ADD_POSITION,

            "tooltip_text" : "Balik Botu",

            #"default_image" : "d:/ymir work/ui/balik_01.tga",
            #"over_image" : "d:/ymir work/ui/balik_02.tga",
            #"down_image" : "d:/ymir work/ui/balik_02.tga",
        },
        {
            "name" : "VectorsEfsunButton",
            "type" : "button",

            "x" : SCREEN_WIDTH - 212,
            "y" : 3 + Y_ADD_POSITION,

            "tooltip_text" : "Efsun Botu",


            #"default_image" : "d:/ymir work/ui/YesilEfsun1.tga",
            #"over_image" : "d:/ymir work/ui/YesilEfsun2.tga",
            #"down_image" : "d:/ymir work/ui/YesilEfsun1.tga",
        },       
        {
            "name" : "RightMouseButton",
            "type" : "button",

            "x" : SCREEN_WIDTH/2 + 128 + 66 + +10+5,
            "y" : 183-110,

            "default_image" : BASE + "btn_camera_01_normal.tga",
            "over_image" : BASE + "btn_camera_02_hover.tga",
            "down_image" : BASE + "btn_camera_03_active.tga",
        },
        

        ## Mouse Button


        ## QuickBar
        {
            "name" : "quickslot_board",
            "type" : "window",

            "x" : SCREEN_WIDTH/2 - 128 + 32 + 10-120+18,
            "y" : 115-110,

            "width" : 256 + 14 + 2 + 11+100+10,
            "height" : 37,

            "children" :
            (
                {

                    "name" : "ChatButton",
                    "type" : "button",

                    "x" : 128+45+4,
                    "y" : 13,
                    "tooltip_text" : "Chat",
                    
                    
                    "default_image" : BASE + "btn_chat_01_normal.tga",
                    "over_image" : BASE + "btn_chat_02_hover.tga",
                    "down_image" : BASE + "btn_chat_03_active.tga",
                },
                {
                    "name" : "quick_slot_1",
                    "type" : "grid_table",

                    "start_index" : 0,

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

                    "x_count" : 4,
                    "y_count" : 1,
                    "x_step" : 32,
                    "y_step" : 32,
                    "x_blank" : 10,

                    "image_r" : 1.0,
                    "image_g" : 1.0,
                    "image_b" : 1.0,
                    "image_a" : 1.0,

                    "children" :
                    (
                        { "name" : "slot_1", "type" : "image", "x" : 3, "y" : 3, "image" : "d:/ymir work/ui/game/taskbar/1.sub", },
                        { "name" : "slot_2", "type" : "image", "x" : 35+10, "y" : 3, "image" : "d:/ymir work/ui/game/taskbar/2.sub", },
                        { "name" : "slot_3", "type" : "image", "x" : 67+20, "y" : 3, "image" : "d:/ymir work/ui/game/taskbar/3.sub", },
                        { "name" : "slot_4", "type" : "image", "x" : 99+30, "y" : 3, "image" : "d:/ymir work/ui/game/taskbar/4.sub", },
                    ),
                },
                {
                    "name" : "quick_slot_2",
                    "type" : "grid_table",

                    "start_index" : 4,

                    "x" : 128 + 14+60+17+1,
                    "y" : 3,

                    "x_count" : 4,
                    "y_count" : 1,
                    "x_step" : 32,
                    "y_step" : 32,
                    "x_blank" : 10,

                    "image_r" : 1.0,
                    "image_g" : 1.0,
                    "image_b" : 1.0,
                    "image_a" : 1.0,

                    "children" :
                    (
                        { "name" : "slot_5", "type" : "image", "x" : 3, "y" : 3, "image" : "d:/ymir work/ui/game/taskbar/f1.sub", },
                        { "name" : "slot_6", "type" : "image", "x" : 35+10, "y" : 3, "image" : "d:/ymir work/ui/game/taskbar/f2.sub", },
                        { "name" : "slot_7", "type" : "image", "x" : 67+22, "y" : 3, "image" : "d:/ymir work/ui/game/taskbar/f3.sub", },
                        { "name" : "slot_8", "type" : "image", "x" : 99+32, "y" : 3, "image" : "d:/ymir work/ui/game/taskbar/f4.sub", },
                    ),
                },
                {
                    "name" : "QuickSlotBoard",
                    "type" : "window",

                    "x" : 128+14+128+2+116,
                    "y" : -6,
                    "width" : 11,
                    "height" : 37,
                    "children" :
                    (

                        {
                            "name" : "QuickPageNumber",
                            "type" : "image",                             
                            "x" : -6, "y" : 15, "image" : "d:/ymir work/ui/game/taskbar/1.sub",
                        },
                        {
                            "name" : "QuickPageDownButton",
                            "type" : "button",
                            "tooltip_text" : uiScriptLocale.TASKBAR_NEXT_QUICKSLOT,

                            "x" : 1,
                            "y" : 25,

                            "default_image" :"d:/ymir work/interface/taskbar/switch.tga",
                            "over_image" : "d:/ymir work/interface/taskbar/switch.tga",
                            "down_image" : "d:/ymir work/interface/taskbar/switch.tga",
                        },
    
                    ),
                },
            ),
        },

    ),
}



taskbar_left.py:
import uiScriptLocale
import app

ROOT = "d:/ymir work/ui/game/"
BASE = "d:/ymir work/interface/taskbar/"

Y_ADD_POSITION = 0

window = {
    "name" : "TaskBar",
    
    "x" : 0,
    "y" : SCREEN_HEIGHT - 124,

    "width" : 185,
    "height" : 170,

    "children" :
    (   
        {
            "name" : "Window1",
            "type" : "window",

            "x" : 48,
            "y" : -33,

            "width" : 0,
            "height" : 0,
            

        },
        {
            "name" : "BG",
            "type" : "image",

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

            "image" : "d:/ymir work/interface/taskbar/maviruh_sol_taraf.tga"

        },
        {
            "name" : "HelenEnergyBoard",
            "type" : "image",

            "x" : 45,
            "y" : 60,

            "image" : "d:/ymir work/interface/taskbar/maviruh_enerji_bar.tga"

        },
        {
            "name" : "MiniMapWindow2",
            "type" : "window",

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

            "width" : 0,
            "height" : 0,
            

        },
        {
            "name" : "EXPGauge_01",
            "type" : "expanded_image_vertical",

            "x" : 166,
            "y" : 89,

            "image" : BASE+"progress_exp_full.tga",

        },
        {
            ## 툴팁을 띄우기 위한 윈도우
            "name" : "HPGauge_Board",
            "type" : "window",

            "x" : 57,
            "y" : 81,

            "width" : 100,
            "height" : 30,

            "children" :
            (
                {
                    "name" : "HPRecoveryGaugeBar",
                    "type" : "bar",

                    "x" : 0,
                    "y" : 0,
                    "width" : 100,
                    "height" : 30,
                    "color" : 0x55ff0000,
                },
                {
                    "name" : "HPGauge",
                    "type" : "ani_image",

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

                    "delay" : 6,

                    "images" :
                    (
                        "D:/Ymir Work/UI/Pattern/hp_maviruh/01.tga",
                        "D:/Ymir Work/UI/Pattern/hp_maviruh/02.tga",
                        "D:/Ymir Work/UI/Pattern/hp_maviruh/03.tga",
                        "D:/Ymir Work/UI/Pattern/hp_maviruh/04.tga",
                        "D:/Ymir Work/UI/Pattern/hp_maviruh/05.tga",
                        "D:/Ymir Work/UI/Pattern/hp_maviruh/06.tga",
                        "D:/Ymir Work/UI/Pattern/hp_maviruh/07.tga",
                    ),
                },
            ),
        },
        {
            ## 툴팁을 띄우기 위한 윈도우
            "name" : "SPGauge_Board",
            "type" : "window",

            "x" : 57,
            "y" : 94,

            "width" : 100,
            "height" : 30,

            "children" :
            (
                {
                    "name" : "SPRecoveryGaugeBar",
                    "type" : "bar",

                    "x" : 0,
                    "y" : 0,
                    "width" : 100,
                    "height" : 30,
                    "color" : 0x550000ff,
                },
                {
                    "name" : "SPGauge",
                    "type" : "ani_image",

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

                    "delay" : 6,

                    "images" :
                    (
                        "D:/Ymir Work/UI/Pattern/sp_maviruh/01.tga",
                        "D:/Ymir Work/UI/Pattern/sp_maviruh/02.tga",
                        "D:/Ymir Work/UI/Pattern/sp_maviruh/03.tga",
                        "D:/Ymir Work/UI/Pattern/sp_maviruh/04.tga",
                        "D:/Ymir Work/UI/Pattern/sp_maviruh/05.tga",
                        "D:/Ymir Work/UI/Pattern/sp_maviruh/06.tga",
                        "D:/Ymir Work/UI/Pattern/sp_maviruh/07.tga",
                    ),
                },
            ),
        },
        {
            ## 툴팁을 띄우기 위한 윈도우
            "name" : "STGauge_Board",
            "type" : "window",

            "x" : 57,
            "y" : 107,

            "width" : 100,
            "height" : 30,

            "children" :
            (
                {
                    "name" : "STGauge",
                    "type" : "ani_image",

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

                    "delay" : 6,

                    "images" :
                    (
                        "D:/Ymir Work/UI/Pattern/st_maviruh/01.tga",
                        "D:/Ymir Work/UI/Pattern/st_maviruh/02.tga",
                        "D:/Ymir Work/UI/Pattern/st_maviruh/03.tga",
                        "D:/Ymir Work/UI/Pattern/st_maviruh/04.tga",
                        "D:/Ymir Work/UI/Pattern/st_maviruh/05.tga",
                        "D:/Ymir Work/UI/Pattern/st_maviruh/06.tga",
                        "D:/Ymir Work/UI/Pattern/st_maviruh/07.tga",
                    ),
                },
            ),
        },
        ## Gauge
        {
            "name" : "Gauge_Board",
            "type" : "image",

            "x" : 0,
            "y" : -10 + Y_ADD_POSITION,

            "image" : ROOT + "taskbar/gauge.sub",

            "children" :
            (
                {
                    "name" : "RampageGauge",
                    "type" : "ani_image",

                    "x" : 15,
                    "y" : 4,
                    "width"  : 40,
                    "height" : 40,

                    "delay" : 6,

                    "images" :
                    (
                        # "locale/tr/ui/Mall/00.sub",
                        # "locale/tr/ui/Mall/01.sub",
                        # "locale/tr/ui/Mall/02.sub",
                        # "locale/tr/ui/Mall/03.sub",
                        # "locale/tr/ui/Mall/04.sub",
                        # "locale/tr/ui/Mall/05.sub",
                        # "locale/tr/ui/Mall/06.sub",
                        # "locale/tr/ui/Mall/07.sub",
                        # "locale/tr/ui/Mall/08.sub",
                        # "locale/tr/ui/Mall/09.sub",
                        # "locale/tr/ui/Mall/11.sub",
                        # "locale/tr/ui/Mall/12.sub",
                        # "locale/tr/ui/Mall/13.sub",
                        # "locale/tr/ui/Mall/14.sub",
                        # "locale/tr/ui/Mall/15.sub",
                        # "locale/tr/ui/Mall/16.sub",
                    )
                },
                {
                    "name" : "RampageGauge2",
                    "type" : "ani_image",

                    "x" : 15,
                    "y" : 4,
                    "width"  : 40,
                    "height" : 40,

                    "delay" : 6,

                    "images" :
                    (
                        # "locale/tr/ui/Mall/00.sub",
                        # "locale/tr/ui/Mall/01.sub",
                        # "locale/tr/ui/Mall/02.sub",
                        # "locale/tr/ui/Mall/03.sub",
                        # "locale/tr/ui/Mall/04.sub",
                        # "locale/tr/ui/Mall/05.sub",
                        # "locale/tr/ui/Mall/06.sub",
                        # "locale/tr/ui/Mall/07.sub",
                        # "locale/tr/ui/Mall/08.sub",
                        # "locale/tr/ui/Mall/09.sub",
                        # "locale/tr/ui/Mall/11.sub",
                        # "locale/tr/ui/Mall/12.sub",
                        # "locale/tr/ui/Mall/13.sub",
                        # "locale/tr/ui/Mall/14.sub",
                        # "locale/tr/ui/Mall/15.sub",
                        # "locale/tr/ui/Mall/16.sub",
                    )
                },
            ),
        },
        {
            "name" : "CharacterButton",
            "type" : "button",

            "x" : 10,
            "y" : 35,

            # "tooltip_text" : uiScriptLocale.TASKBAR_CHARACTER,

            # "default_image" : BASE + "btn_characterinfo_01_normal.tga",
            # "over_image" : BASE + "btn_characterinfo_02_hover.tga",
            # "down_image" : BASE + "btn_characterinfo_03_active.tga",
        },
        {
            "name" : "MaviAlev",
            "type" : "ani_image",

            "x" : -8,
            "y" : 51,
            "width"  : 20,
            "height" : 20,

            "delay" : 6,

            "images" :
            (
                "D:/Ymir Work/UI/Pattern/taskbar_flame/mavialev1.tga",
                "D:/Ymir Work/UI/Pattern/taskbar_flame/mavialev2.tga",
                "D:/Ymir Work/UI/Pattern/taskbar_flame/mavialev3.tga",
                "D:/Ymir Work/UI/Pattern/taskbar_flame/mavialev4.tga",
                "D:/Ymir Work/UI/Pattern/taskbar_flame/mavialev5.tga",
                "D:/Ymir Work/UI/Pattern/taskbar_flame/mavialev6.tga",
            ),
        },
        {
            "name" : "ItemShopButton",
            "type" : "button",

            "x" : -4,
            "y" : 71,

            "tooltip_text" : "Nesne Market",

            "default_image" : "D:/Ymir Work/UI/Pattern/taskbar_flame/soru_isareti.tga",
            "over_image" : "D:/Ymir Work/UI/Pattern/taskbar_flame/soru_isareti_2.tga",
            "down_image" : "D:/Ymir Work/UI/Pattern/taskbar_flame/soru_isareti.tga",
        },
    ),
}


taskbar_left2.py:
import uiScriptLocale
import app

ROOT = "d:/ymir work/ui/game/"
BASE = "d:/ymir work/interface/taskbar/"

Y_ADD_POSITION = 0

window = {
    "name" : "TaskBar",
    
    "x" : 0,
    "y" : SCREEN_HEIGHT - 124,

    "width" : 185,
    "height" : 170,

    "children" :
    (   
        {
            "name" : "Window1",
            "type" : "window",

            "x" : 48,
            "y" : -33,

            "width" : 0,
            "height" : 0,
            

        },
        {
            "name" : "BG",
            "type" : "image",

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

            "image" : "d:/ymir work/interface/taskbar/maviruh_sol_taraf.tga"

        },
        {
            "name" : "HelenEnergyBoard",
            "type" : "image",

            "x" : 45,
            "y" : 60,

            "image" : "d:/ymir work/interface/taskbar/maviruh_enerji_bar.tga"

        },
        {
            "name" : "MiniMapWindow2",
            "type" : "window",

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

            "width" : 0,
            "height" : 0,
            

        },
        {
            "name" : "EXPGauge_01",
            "type" : "expanded_image_vertical",

            "x" : 166,
            "y" : 89,

            "image" : BASE+"progress_exp_full.tga",

        },
        {
            ## 툴팁을 띄우기 위한 윈도우
            "name" : "HPGauge_Board",
            "type" : "window",

            "x" : 57,
            "y" : 81,

            "width" : 100,
            "height" : 30,

            "children" :
            (
                {
                    "name" : "HPRecoveryGaugeBar",
                    "type" : "bar",

                    "x" : 0,
                    "y" : 0,
                    "width" : 100,
                    "height" : 30,
                    "color" : 0x55ff0000,
                },
                {
                    "name" : "HPGauge",
                    "type" : "ani_image",

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

                    "delay" : 6,

                    "images" :
                    (
                        "D:/Ymir Work/UI/Pattern/hp_maviruh/01.tga",
                        "D:/Ymir Work/UI/Pattern/hp_maviruh/02.tga",
                        "D:/Ymir Work/UI/Pattern/hp_maviruh/03.tga",
                        "D:/Ymir Work/UI/Pattern/hp_maviruh/04.tga",
                        "D:/Ymir Work/UI/Pattern/hp_maviruh/05.tga",
                        "D:/Ymir Work/UI/Pattern/hp_maviruh/06.tga",
                        "D:/Ymir Work/UI/Pattern/hp_maviruh/07.tga",
                    ),
                },
            ),
        },
        {
            ## 툴팁을 띄우기 위한 윈도우
            "name" : "SPGauge_Board",
            "type" : "window",

            "x" : 57,
            "y" : 94,

            "width" : 100,
            "height" : 30,

            "children" :
            (
                {
                    "name" : "SPRecoveryGaugeBar",
                    "type" : "bar",

                    "x" : 0,
                    "y" : 0,
                    "width" : 100,
                    "height" : 30,
                    "color" : 0x550000ff,
                },
                {
                    "name" : "SPGauge",
                    "type" : "ani_image",

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

                    "delay" : 6,

                    "images" :
                    (
                        "D:/Ymir Work/UI/Pattern/sp_maviruh/01.tga",
                        "D:/Ymir Work/UI/Pattern/sp_maviruh/02.tga",
                        "D:/Ymir Work/UI/Pattern/sp_maviruh/03.tga",
                        "D:/Ymir Work/UI/Pattern/sp_maviruh/04.tga",
                        "D:/Ymir Work/UI/Pattern/sp_maviruh/05.tga",
                        "D:/Ymir Work/UI/Pattern/sp_maviruh/06.tga",
                        "D:/Ymir Work/UI/Pattern/sp_maviruh/07.tga",
                    ),
                },
            ),
        },
        {
            ## 툴팁을 띄우기 위한 윈도우
            "name" : "STGauge_Board",
            "type" : "window",

            "x" : 57,
            "y" : 107,

            "width" : 100,
            "height" : 30,

            "children" :
            (
                {
                    "name" : "STGauge",
                    "type" : "ani_image",

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

                    "delay" : 6,

                    "images" :
                    (
                        "D:/Ymir Work/UI/Pattern/st_maviruh/01.tga",
                        "D:/Ymir Work/UI/Pattern/st_maviruh/02.tga",
                        "D:/Ymir Work/UI/Pattern/st_maviruh/03.tga",
                        "D:/Ymir Work/UI/Pattern/st_maviruh/04.tga",
                        "D:/Ymir Work/UI/Pattern/st_maviruh/05.tga",
                        "D:/Ymir Work/UI/Pattern/st_maviruh/06.tga",
                        "D:/Ymir Work/UI/Pattern/st_maviruh/07.tga",
                    ),
                },
            ),
        },
        ## Gauge
        {
            "name" : "Gauge_Board",
            "type" : "image",

            "x" : 0,
            "y" : -10 + Y_ADD_POSITION,

            "image" : ROOT + "taskbar/gauge.sub",

            "children" :
            (
                {
                    "name" : "RampageGauge",
                    "type" : "ani_image",

                    "x" : 15,
                    "y" : 4,
                    "width"  : 40,
                    "height" : 40,

                    "delay" : 6,

                    "images" :
                    (
                        # "locale/tr/ui/Mall/00.sub",
                        # "locale/tr/ui/Mall/01.sub",
                        # "locale/tr/ui/Mall/02.sub",
                        # "locale/tr/ui/Mall/03.sub",
                        # "locale/tr/ui/Mall/04.sub",
                        # "locale/tr/ui/Mall/05.sub",
                        # "locale/tr/ui/Mall/06.sub",
                        # "locale/tr/ui/Mall/07.sub",
                        # "locale/tr/ui/Mall/08.sub",
                        # "locale/tr/ui/Mall/09.sub",
                        # "locale/tr/ui/Mall/11.sub",
                        # "locale/tr/ui/Mall/12.sub",
                        # "locale/tr/ui/Mall/13.sub",
                        # "locale/tr/ui/Mall/14.sub",
                        # "locale/tr/ui/Mall/15.sub",
                        # "locale/tr/ui/Mall/16.sub",
                    )
                },
                {
                    "name" : "RampageGauge2",
                    "type" : "ani_image",

                    "x" : 15,
                    "y" : 4,
                    "width"  : 40,
                    "height" : 40,

                    "delay" : 6,

                    "images" :
                    (
                        # "locale/tr/ui/Mall/00.sub",
                        # "locale/tr/ui/Mall/01.sub",
                        # "locale/tr/ui/Mall/02.sub",
                        # "locale/tr/ui/Mall/03.sub",
                        # "locale/tr/ui/Mall/04.sub",
                        # "locale/tr/ui/Mall/05.sub",
                        # "locale/tr/ui/Mall/06.sub",
                        # "locale/tr/ui/Mall/07.sub",
                        # "locale/tr/ui/Mall/08.sub",
                        # "locale/tr/ui/Mall/09.sub",
                        # "locale/tr/ui/Mall/11.sub",
                        # "locale/tr/ui/Mall/12.sub",
                        # "locale/tr/ui/Mall/13.sub",
                        # "locale/tr/ui/Mall/14.sub",
                        # "locale/tr/ui/Mall/15.sub",
                        # "locale/tr/ui/Mall/16.sub",
                    )
                },
            ),
        },
        {
            "name" : "CharacterButton",
            "type" : "button",

            "x" : 10,
            "y" : 35,

            # "tooltip_text" : uiScriptLocale.TASKBAR_CHARACTER,

            # "default_image" : BASE + "btn_characterinfo_01_normal.tga",
            # "over_image" : BASE + "btn_characterinfo_02_hover.tga",
            # "down_image" : BASE + "btn_characterinfo_03_active.tga",
        },
        {
            "name" : "MaviAlev",
            "type" : "ani_image",

            "x" : -8,
            "y" : 51,
            "width"  : 20,
            "height" : 20,

            "delay" : 6,

            "images" :
            (
                "D:/Ymir Work/UI/Pattern/taskbar_flame/mavialev1.tga",
                "D:/Ymir Work/UI/Pattern/taskbar_flame/mavialev2.tga",
                "D:/Ymir Work/UI/Pattern/taskbar_flame/mavialev3.tga",
                "D:/Ymir Work/UI/Pattern/taskbar_flame/mavialev4.tga",
                "D:/Ymir Work/UI/Pattern/taskbar_flame/mavialev5.tga",
                "D:/Ymir Work/UI/Pattern/taskbar_flame/mavialev6.tga",
            ),
        },
        {
            "name" : "ItemShopButton",
            "type" : "button",

            "x" : -4,
            "y" : 71,

            "tooltip_text" : "Nesne Market",

            "default_image" : "D:/Ymir Work/UI/Pattern/taskbar_flame/soru_isareti.tga",
            "over_image" : "D:/Ymir Work/UI/Pattern/taskbar_flame/soru_isareti_2.tga",
            "down_image" : "D:/Ymir Work/UI/Pattern/taskbar_flame/soru_isareti.tga",
        },
    ),
}
 
Son düzenleme:
Çözüm
Bilgili bir arkadaş ile Eleye eleye sorunun game src'den olduğunu fark ettik. Birazcık göz attıkdan sonra Elektrik gittiğinde değişen ip'yi lisans olarak sadece 1 yerde değişmişim 2 yerde varmış. 2. sindede değişince sorun çözüldü.

Yardımcı olan herkese teşekkürler.
%lik exp kısmını gösterdiği yerde hata veriyor. Neden olduğunu tam bilemiyorum
 
'PercentExp'

Exp Bölmesi yoksa taskbar'da komple bu kod blogunu kaldır ama varsa diğer çift olduğu içinde çarpışıyor olabilir taskbarda bir sistem kullanmıyosan direk py leri değiştir hiç uğraşma basit yöntem olarak ama illa ugraşacam diyorsan hem kendi pyni hemde eklediklerini konuya eklersen temiz bir biçimde yardım edebiliriz. :)
 
Exp olduğu yeri değiştiriyorum cünkü illumina interface :D tam olarak hangi line söylermisiniz?
Hangi line olduğunu bilemiyorum ama taskbar da exp kısımlarında arayabilirsin sorunu. uiscriptteki taskbar dosyanda PercentExp child ını bulamamış. uitaskbar.pyden de o child ı çeken fonksiyonları devre dışı bırakabilirsin
 
'PercentExp'

Exp Bölmesi yoksa taskbar'da komple bu kod blogunu kaldır ama varsa diğer çift olduğu içinde çarpışıyor olabilir taskbarda bir sistem kullanmıyosan direk py leri değiştir hiç uğraşma basit yöntem olarak ama illa ugraşacam diyorsan hem kendi pyni hemde eklediklerini konuya eklersen temiz bir biçimde yardım edebiliriz. :)
Hangi line olduğunu bilemiyorum ama taskbar da exp kısımlarında arayabilirsin sorunu. uiscriptteki taskbar dosyanda PercentExp child ını bulamamış. uitaskbar.pyden de o child ı çeken fonksiyonları devre dışı bırakabilirsin
uitaskbar.py 'yi diğer filesimden cektim hata verse diğer filesim'dede hata verirdi diye düşünüyorum.


Eklediğim uiTaskbar.py

Diğer task'ları konuya dahil ediyorum şimdi.

Editt ; birde bir sorunum daha var kendi uitaskbar vs yedeklerimi atsamda aynı hatayı veriyor. :(

uiTaskbar.py:
import ui
import net
import item
import skill
import localeInfo
import wndMgr
import player
import constInfo
import mouseModule
import uiScriptLocale
import miniMap
import playerSettingModule
import app
import uiToolTip

from ui import ExpandedImageBox, ImageBox, Button

MOUSE_SETTINGS = [0, 0]

def InitMouseButtonSettings(left, right):
    global MOUSE_SETTINGS
    MOUSE_SETTINGS = [left, right]

def SetMouseButtonSetting(dir, event):
    global MOUSE_SETTINGS
    MOUSE_SETTINGS[dir] = event
 
def GetMouseButtonSettings():
    global MOUSE_SETTINGS
    return MOUSE_SETTINGS

def SaveMouseButtonSettings():
    global MOUSE_SETTINGS
    open("mouse.cfg", "w").write("%s\t%s" % tuple(MOUSE_SETTINGS))

def LoadMouseButtonSettings():
    global MOUSE_SETTINGS
    tokens = open("mouse.cfg", "r").read().split()

    if len(tokens) != 2:
        raise RuntimeError, "MOUSE_SETTINGS_FILE_ERROR"

    MOUSE_SETTINGS[0] = int(tokens[0])
    MOUSE_SETTINGS[1] = int(tokens[1])

def unsigned32(n):
    return n & 0xFFFFFFFFFL

class EnergyBar(ui.ScriptWindow):
    class TextToolTip(ui.Window):
        def __init__(self):
            ui.Window.__init__(self, "TOP_MOST")
            self.SetWindowName("EnergyBar")
            textLine = ui.TextLine()
            textLine.SetParent(self)
            textLine.SetHorizontalAlignCenter()
            textLine.SetOutline()
            textLine.Show()
            self.textLine = textLine

        def __del__(self):
            ui.Window.__del__(self)

        def SetText(self, text):
            self.textLine.SetText(text)

        def OnRender(self):
            (mouseX, mouseY) = wndMgr.GetMousePosition()
            self.textLine.SetPosition(mouseX, mouseY - 15)

    def __init__(self):
        #print "NEW TASKBAR  ----------------------------------------------------------------------------"
        ui.ScriptWindow.__init__(self)
        self.tooltipEnergy = self.TextToolTip()
        self.tooltipEnergy.Show()
     
    def __del__(self):
        #print "---------------------------------------------------------------------------- DELETE TASKBAR"
        ui.ScriptWindow.__del__(self)

    def LoadWindow(self):
        try:
            pyScrLoader = ui.PythonScriptLoader()
            pyScrLoader.LoadScriptFile(self, uiScriptLocale.LOCALE_UISCRIPT_PATH + "EnergyBar.py")
        except:
            import exception
            exception.Abort("EnergyBar.LoadWindow.LoadObject")

        self.energyEmpty = self.GetChild("EnergyGauge_Empty")
        self.energyHungry = self.GetChild("EnergyGauge_Hungry")
        self.energyFull = self.GetChild("EnergyGauge_Full")

        self.energyGaugeBoard = self.GetChild("EnergyGauge_Board")
        self.energyGaugeToolTip = self.GetChild("EnergyGauge_ToolTip")

     
    def Destroy(self):    
        self.energyEmpty = None
        self.energyHungry = None
        self.energyFull = None
        self.energyGaugeBoard = 0
        self.energyGaugeToolTip = 0
        self.tooltipEnergy = 0

    ## Gauge
    def RefreshStatus(self):
        pointEnergy = player.GetStatus (player.ENERGY)
        leftTimeEnergy = player.GetStatus (player.ENERGY_END_TIME) - app.GetGlobalTimeStamp()
        # Ãæ±âȯ Áö¼Ó ½Ã°£ = 2½Ã°£.
        self.SetEnergy (pointEnergy, leftTimeEnergy, 7200)
         
    def SetEnergy (self, point, leftTime, maxTime):
        leftTime = max (leftTime, 0)
        maxTime = max (maxTime, 0)
         
        self.energyEmpty.Hide()
        self.energyHungry.Hide()
        self.energyFull.Hide()
 
        if leftTime == 0:
            self.energyEmpty.Show()
        elif ((leftTime * 100) / maxTime) < 15:
            self.energyHungry.Show()
        else:
            self.energyFull.Show()
         
        self.tooltipEnergy.SetText("%s" % (localeInfo.TOOLTIP_ENERGY(point)))

    def OnUpdate(self):
        if TRUE == self.energyGaugeToolTip.IsIn():
            self.RefreshStatus()
            self.tooltipEnergy.Show()
        else:
            self.tooltipEnergy.Hide()

class ExpandedTaskBar(ui.ScriptWindow):
    BUTTON_VEGAS_CALCULATOR = 0
    BUTTON_DRAGON_SOUL = 0
    def __init__(self):
        ui.Window.__init__(self)
        self.SetWindowName("ExpandedTaskBar")
 
    def LoadWindow(self):
        try:
            pyScrLoader = ui.PythonScriptLoader()
            pyScrLoader.LoadScriptFile(self, uiScriptLocale.LOCALE_UISCRIPT_PATH + "ExpandedTaskBar.py")
        except:
            import exception
            exception.Abort("ExpandedTaskBar.LoadWindow.LoadObject")

        self.expandedTaskBarBoard = self.GetChild("ExpanedTaskBar_Board")

        self.toggleButtonDict = {}
        self.toggleButtonDict[ExpandedTaskBar.BUTTON_VEGAS_CALCULATOR] = self.GetChild("CalculatorTitan2")
        self.toggleButtonDict[ExpandedTaskBar.BUTTON_VEGAS_CALCULATOR].SetParent(self)
        self.toggleButtonDict[ExpandedTaskBar.BUTTON_DRAGON_SOUL] = self.GetChild("DragonSoulButton")
        self.toggleButtonDict[ExpandedTaskBar.BUTTON_DRAGON_SOUL].SetParent(self)
 
    def SetTop(self):
        super(ExpandedTaskBar, self).SetTop()
        for button in self.toggleButtonDict.values():
            button.SetTop()
 
    def Show(self):
        ui.ScriptWindow.Show(self)
 
    def Close(self):
        self.Hide()
 
    def SetToolTipText(self, eButton, text):
        self.toggleButtonDict[eButton].SetToolTipText(text)
     
    def SetToggleButtonEvent(self, eButton, kEventFunc):
        self.toggleButtonDict[eButton].SetEvent(kEventFunc)

    def OnPressEscapeKey(self):
        self.Close()
        return TRUE


 
     
class TaskBar(ui.ScriptWindow):

    BUTTON_CHARACTER = 0
    BUTTON_INVENTORY = 1
    BUTTON_MESSENGER = 2
    BUTTON_SYSTEM = 3
    BUTTON_CHAT = 4
    BUTTON_EXPAND = 4
    IS_EXPANDED = FALSE

    MOUSE_BUTTON_LEFT = 0
    MOUSE_BUTTON_RIGHT = 1
    NONE = 255

    EVENT_MOVE = 0
    EVENT_ATTACK = 1
    EVENT_MOVE_AND_ATTACK = 2
    EVENT_CAMERA = 3
    EVENT_SKILL = 4
    EVENT_AUTO = 5

    GAUGE_WIDTH = 102
    GAUGE_HEIGHT = 10

    QUICKPAGE_NUMBER_FILENAME = [
        "d:/ymir work/interface/taskbar/numbers/btn_slotpageone_03_active.tga",
        "d:/ymir work/interface/taskbar/numbers/btn_slotpagetwo_03_active.tga",
        "d:/ymir work/interface/taskbar/numbers/btn_slotpagethree_03_active.tga",
        "d:/ymir work/interface/taskbar/numbers/btn_slotpagefour_03_active.tga",
    ]
 
    class TextToolTip(ui.Window):
        def __init__(self):
            ui.Window.__init__(self, "TOP_MOST")

            textLine = ui.TextLine()
            textLine.SetParent(self)
            textLine.SetHorizontalAlignCenter()
            textLine.SetOutline()
            textLine.Show()
            self.textLine = textLine

        def __del__(self):
            ui.Window.__del__(self)

        def SetText(self, text):
            self.textLine.SetText(text)

        def OnRender(self):
            (mouseX, mouseY) = wndMgr.GetMousePosition()
            self.textLine.SetPosition(mouseX, mouseY - 15)

    class SkillButton(ui.SlotWindow):

        def __init__(self):
            ui.SlotWindow.__init__(self)

            self.event = 0
            self.arg = 0

            self.slotIndex = 0
            self.skillIndex = 0
         
            slotIndex = 0
            wndMgr.SetSlotBaseImage(self.hWnd, "d:/ymir work/ui/public/slot_base.sub", 1.0, 1.0, 1.0, 1.0)
            wndMgr.AppendSlot(self.hWnd, slotIndex, 0, 0, 32, 32)
            self.SetCoverButton(slotIndex,    "d:/ymir work/ui/public/slot_base.sub",\
                                            "d:/ymir work/ui/public/slot_base.sub",\
                                            "d:/ymir work/ui/public/slot_base.sub",\
                                            "d:/ymir work/ui/public/slot_base.sub", TRUE, FALSE)
            self.SetSize(32, 32)

        def __del__(self):
            ui.SlotWindow.__del__(self)

        def Destroy(self):
            if 0 != self.tooltipSkill:
                self.tooltipSkill.HideToolTip()

        def RefreshSkill(self):
            if 0 != self.slotIndex:
                self.SetSkill(self.slotIndex)

        def SetSkillToolTip(self, tooltip):
            self.tooltipSkill = tooltip

        def SetSkill(self, skillSlotNumber):
            slotNumber = 0
            skillIndex = player.GetSkillIndex(skillSlotNumber)
            skillGrade = player.GetSkillGrade(skillSlotNumber)
            skillLevel = player.GetSkillLevel(skillSlotNumber)
            skillType = skill.GetSkillType(skillIndex)

            self.skillIndex = skillIndex
            if 0 == self.skillIndex:
                self.ClearSlot(slotNumber)
                return

            self.slotIndex = skillSlotNumber

            self.SetSkillSlotNew(slotNumber, skillIndex, skillGrade, skillLevel)
            self.SetSlotCountNew(slotNumber, skillGrade, skillLevel)

         
            if player.IsSkillCoolTime(skillSlotNumber):
                (coolTime, elapsedTime) = player.GetSkillCoolTime(skillSlotNumber)
                self.SetSlotCoolTime(slotNumber, coolTime, elapsedTime)

         
            if player.IsSkillActive(skillSlotNumber):
                self.ActivateSlot(slotNumber)

        def SetSkillEvent(self, event, arg=0):
            self.event = event
            self.arg = arg

        def GetSkillIndex(self):
            return self.skillIndex

        def GetSlotIndex(self):
            return self.slotIndex

        def Activate(self, coolTime):
            self.SetSlotCoolTime(0, coolTime)

            if skill.IsToggleSkill(self.skillIndex):
                self.ActivateSlot(0)

        def Deactivate(self):
            if skill.IsToggleSkill(self.skillIndex):
                self.DeactivateSlot(0)

        def OnOverInItem(self, dummy):
            self.tooltipSkill.SetSkill(self.skillIndex)

        def OnOverOutItem(self):
            self.tooltipSkill.HideToolTip()

        def OnSelectItemSlot(self, dummy):
            if 0 != self.event:
                if 0 != self.arg:
                    self.event(self.arg)
                else:
                    self.event()

 
    def __init__(self):
        #print "NEW TASKBAR  ----------------------------------------------------------------------------"

        ui.ScriptWindow.__init__(self, "TOP_MOST")
        self.text = {}

        self.quickPageNumImageBox = None
        self.tooltipItem = 0
        self.tooltipSkill = 0
        self.TaskBarLeft = ui.ScriptWindow("TOP_MOST")
        self.TaskBarLeft2 = ui.ScriptWindow("TOP_MOST")
        self.mouseModeButtonList = [ ui.ScriptWindow("TOP_MOST"), ui.ScriptWindow("TOP_MOST") ]

        self.tooltipHP = self.TextToolTip()
        self.tooltipHP.Show()
        self.tooltipSP = self.TextToolTip()
        self.tooltipSP.Show()
        self.tooltipST = self.TextToolTip()
        self.tooltipST.Show()
        self.tooltipEXP = self.TextToolTip()
        self.tooltipEXP.Hide()
        self.toolTipAlignment = uiToolTip.ToolTip()
        # self.toolTipAlignment.Hide()
     
        self.skillCategoryNameList = [ "ACTIVE_1", "ACTIVE_2", "ACTIVE_3" ]
        self.skillPageStartSlotIndexDict = {
            "ACTIVE_1" : 1,
            "ACTIVE_2" : 21,
            "ACTIVE_3" : 41,
        }

        self.selectSkillButtonList = []
     
        self.lastUpdateQuickSlot = 0
        self.SetWindowName("TaskBar")

    def __del__(self):
        #print "---------------------------------------------------------------------------- DELETE TASKBAR"
        ui.ScriptWindow.__del__(self)

    def LoadWindow(self):
        try:
            pyScrLoader = ui.PythonScriptLoader()

            pyScrLoader.LoadScriptFile(self, "uiscript/TaskBar.py")
            pyScrLoader.LoadScriptFile(self.TaskBarLeft, "UIScript/TaskBar_left.py")
            pyScrLoader.LoadScriptFile(self.TaskBarLeft2, "UIScript/TaskBar_left2.py")
            pyScrLoader.LoadScriptFile(self.mouseModeButtonList[self.MOUSE_BUTTON_LEFT], "UIScript/MouseButtonWindow.py")
            pyScrLoader.LoadScriptFile(self.mouseModeButtonList[self.MOUSE_BUTTON_RIGHT], "UIScript/RightMouseButtonWindow.py")
        except:
            import exception
            exception.Abort("TaskBar.LoadWindow.LoadObject")

        self.quickslot = []
        self.quickslot.append(self.GetChild("quick_slot_1"))
        self.quickslot.append(self.GetChild("quick_slot_2"))
        for slot in self.quickslot:
            slot.SetSlotStyle(wndMgr.SLOT_STYLE_NONE)
            slot.SetSelectEmptySlotEvent(ui.__mem_func__(self.SelectEmptyQuickSlot))
            slot.SetSelectItemSlotEvent(ui.__mem_func__(self.SelectItemQuickSlot))
            slot.SetUnselectItemSlotEvent(ui.__mem_func__(self.UnselectItemQuickSlot))
            slot.SetOverInItemEvent(ui.__mem_func__(self.OverInItem))
            slot.SetOverOutItemEvent(ui.__mem_func__(self.OverOutItem))

        toggleButtonDict = {}
        toggleButtonDict[TaskBar.BUTTON_CHARACTER]=self.TaskBarLeft2.GetChild("CharacterButton")
        toggleButtonDict[TaskBar.BUTTON_INVENTORY]=self.TaskBarLeft2.GetChild("InventoryButton")
        toggleButtonDict[TaskBar.BUTTON_MESSENGER]=self.TaskBarLeft2.GetChild("MessengerButton")
        toggleButtonDict[TaskBar.BUTTON_SYSTEM]=self.TaskBarLeft2.GetChild("SystemButton")
     

        try:
            toggleButtonDict[TaskBar.BUTTON_CHAT]=self.GetChild("ChatButton")
        except:
            toggleButtonDict[TaskBar.BUTTON_EXPAND]=self.GetChild("ExpandButton")
            TaskBar.IS_EXPANDED = TRUE
     

        if localeInfo.IsARABIC():
            systemButton = toggleButtonDict[TaskBar.BUTTON_SYSTEM]
            if systemButton.ToolTipText:
                tx, ty = systemButton.ToolTipText.GetLocalPosition()
                tw = systemButton.ToolTipText.GetWidth()
                systemButton.ToolTipText.SetPosition(-tw/2, ty)
         
        self.quickPageNumImageBox=self.GetChild("QuickPageNumber")

     
     
     
        # self.GetChild("QuickPageUpButton").SetEvent(ui.__mem_func__(self.__OnClickQuickPageUpButton))
        self.GetChild("QuickPageDownButton").SetEvent(ui.__mem_func__(self.__OnClickQuickPageDownButton))

        mouseLeftButtonModeButton = self.GetChild("LeftMouseButton")
        mouseRightButtonModeButton = self.GetChild("RightMouseButton")
        mouseLeftButtonModeButton.SetEvent(ui.__mem_func__(self.ToggleLeftMouseButtonModeWindow))    
        mouseRightButtonModeButton.SetEvent(ui.__mem_func__(self.ToggleRightMouseButtonModeWindow))
        self.curMouseModeButton = [ mouseLeftButtonModeButton, mouseRightButtonModeButton ]

        (xLocalRight, yLocalRight) = mouseRightButtonModeButton.GetLocalPosition()
        self.curSkillButton = self.SkillButton()
        self.curSkillButton.SetParent(self)
        self.curSkillButton.SetPosition(xLocalRight, 3)
        self.curSkillButton.SetSkillEvent(ui.__mem_func__(self.ToggleRightMouseButtonModeWindow))
        self.curSkillButton.Hide()
 
        (xLeft, yLeft) = mouseLeftButtonModeButton.GetGlobalPosition()
        (xRight, yRight) = mouseRightButtonModeButton.GetGlobalPosition()
        leftModeButtonList = self.mouseModeButtonList[self.MOUSE_BUTTON_LEFT]
        leftModeButtonList.SetPosition(xLeft, yLeft - leftModeButtonList.GetHeight()-5)
        rightModeButtonList = self.mouseModeButtonList[self.MOUSE_BUTTON_RIGHT]
        rightModeButtonList.SetPosition(xRight - rightModeButtonList.GetWidth() + 32, yRight - rightModeButtonList.GetHeight()-5)
        rightModeButtonList.GetChild("button_skill").SetEvent(lambda adir=self.MOUSE_BUTTON_RIGHT, aevent=self.EVENT_SKILL: self.SelectMouseButtonEvent(adir, aevent))
        rightModeButtonList.GetChild("button_skill").Hide()

        mouseImage = ui.ImageBox("TOP_MOST")
        mouseImage.AddFlag("float")
        mouseImage.LoadImage("d:/ymir work/ui/game/taskbar/mouse_button_camera_01.sub")
        mouseImage.SetPosition(xRight, wndMgr.GetScreenHeight() - 34)
        mouseImage.Hide()
        self.mouseImage = mouseImage

        dir = self.MOUSE_BUTTON_LEFT
        wnd = self.mouseModeButtonList[dir]
        wnd.GetChild("button_move_and_attack").SetEvent(lambda adir=dir, aevent=self.EVENT_MOVE_AND_ATTACK: self.SelectMouseButtonEvent(adir, aevent))
        wnd.GetChild("button_auto_attack").SetEvent(lambda adir=dir, aevent=self.EVENT_AUTO: self.SelectMouseButtonEvent(adir, aevent))
        wnd.GetChild("button_camera").SetEvent(lambda adir=dir, aevent=self.EVENT_CAMERA: self.SelectMouseButtonEvent(adir, aevent))

        dir = self.MOUSE_BUTTON_RIGHT
        wnd = self.mouseModeButtonList[dir]
        wnd.GetChild("button_move_and_attack").SetEvent(lambda adir=dir, aevent=self.EVENT_MOVE_AND_ATTACK: self.SelectMouseButtonEvent(adir, aevent))
        wnd.GetChild("button_camera").SetEvent(lambda adir=dir, aevent=self.EVENT_CAMERA: self.SelectMouseButtonEvent(adir, aevent))

        self.toggleButtonDict = toggleButtonDict

        self.hpGauge = self.TaskBarLeft.GetChild("HPGauge")
        self.mpGauge = self.TaskBarLeft.GetChild("SPGauge")
        self.stGauge = self.TaskBarLeft.GetChild("STGauge")
        self.TaskBarLeft.GetChild("ItemShopButton").SetEvent(self.OpenIShopWindow)
        self.expGauge = self.TaskBarLeft.GetChild("EXPGauge_01")
        self.hpRecoveryGaugeBar = self.TaskBarLeft.GetChild("HPRecoveryGaugeBar")
        self.spRecoveryGaugeBar = self.TaskBarLeft.GetChild("SPRecoveryGaugeBar")
        self.hpGaugeBoard=self.TaskBarLeft.GetChild("HPGauge_Board")
        self.mpGaugeBoard=self.TaskBarLeft.GetChild("SPGauge_Board")
        self.stGaugeBoard=self.TaskBarLeft.GetChild("STGauge_Board")
        self.TaskBarLeft.Show()
        self.TaskBarLeft2.Show()

        self.__LoadMouseSettings()
        self.RefreshStatus()
        self.RefreshQuickSlot()

    def __LoadMouseSettings(self):
        try:
            LoadMouseButtonSettings()
            (mouseLeftButtonEvent, mouseRightButtonEvent) = GetMouseButtonSettings()
            if not self.__IsInSafeMouseButtonSettingRange(mouseLeftButtonEvent) or not self.__IsInSafeMouseButtonSettingRange(mouseRightButtonEvent):
                    raise RuntimeError, "INVALID_MOUSE_BUTTON_SETTINGS"
        except:
            InitMouseButtonSettings(self.EVENT_MOVE_AND_ATTACK, self.EVENT_CAMERA)
            (mouseLeftButtonEvent, mouseRightButtonEvent) = GetMouseButtonSettings()

        try:
            self.SelectMouseButtonEvent(self.MOUSE_BUTTON_LEFT,    mouseLeftButtonEvent)
            self.SelectMouseButtonEvent(self.MOUSE_BUTTON_RIGHT,    mouseRightButtonEvent)
        except:
            InitMouseButtonSettings(self.EVENT_MOVE_AND_ATTACK, self.EVENT_CAMERA)
            (mouseLeftButtonEvent, mouseRightButtonEvent) = GetMouseButtonSettings()

            self.SelectMouseButtonEvent(self.MOUSE_BUTTON_LEFT,    mouseLeftButtonEvent)
            self.SelectMouseButtonEvent(self.MOUSE_BUTTON_RIGHT,    mouseRightButtonEvent)



    def __IsInSafeMouseButtonSettingRange(self, arg):
        return arg >= self.EVENT_MOVE and arg <= self.EVENT_AUTO

    def Destroy(self):    
        SaveMouseButtonSettings()

        self.ClearDictionary()
        self.TaskBarLeft.ClearDictionary()
        self.TaskBarLeft2.ClearDictionary()
 
        self.mouseModeButtonList[0].ClearDictionary()
        self.mouseModeButtonList[1].ClearDictionary()
        self.TaskBarLeft = 0
        self.TaskBarLeft2 = 0
        self.mouseModeButtonList = 0
        self.curMouseModeButton = 0
        self.curSkillButton = 0
        self.selectSkillButtonList = 0

        self.img = None
        self.expGauge = None
        self.hpGauge = None
        self.mpGauge = None
        self.stGauge = None
        self.hpRecoveryGaugeBar = None
        self.spRecoveryGaugeBar = None
 
        self.tooltipItem = 0
        self.tooltipSkill = 0
        self.quickslot = 0
        self.toggleButtonDict = 0

        self.hpGaugeBoard = 0
        self.mpGaugeBoard = 0
        self.stGaugeBoard = 0
     
        self.tooltipHP = 0
        self.tooltipSP = 0
        self.tooltipST = 0
        self.tooltipEXP = 0
        self.toolTipAlignment = 0

        self.mouseImage = None

    def __OnClickQuickPageUpButton(self):
        player.SetQuickPage(player.GetQuickPage()-1)

    def OpenIShopWindow(self):
        net.SendChatPacket("/in_game_mall")
 
    def __OnClickQuickPageDownButton(self):
        player.SetQuickPage(player.GetQuickPage()+1)

    def SetToggleButtonEvent(self, eButton, kEventFunc):
        self.toggleButtonDict[eButton].SetEvent(kEventFunc)

    def SetItemToolTip(self, tooltipItem):
        self.tooltipItem = tooltipItem

    def SetSkillToolTip(self, tooltipSkill):
        self.tooltipSkill = tooltipSkill
        self.curSkillButton.SetSkillToolTip(self.tooltipSkill)

    ## Mouse Image
    def ShowMouseImage(self):
        self.mouseImage.SetTop()
        self.mouseImage.Show()

    def HideMouseImage(self):
        player.SetQuickCameraMode(FALSE)
        self.mouseImage.Hide()

    ## Gauge
    def RefreshStatus(self):
        curHP = player.GetStatus(player.HP)
        maxHP = player.GetStatus(player.MAX_HP)
        curSP = player.GetStatus(player.SP)
        maxSP = player.GetStatus(player.MAX_SP)
        curEXP = unsigned32(player.GetStatus(player.EXP))
        nextEXP = unsigned32(player.GetStatus(player.NEXT_EXP))
        recoveryHP = player.GetStatus(player.HP_RECOVERY)
        recoverySP = player.GetStatus(player.SP_RECOVERY)
     
        self.RefreshStamina()

        self.SetHP(curHP, recoveryHP, maxHP)
        self.SetSP(curSP, recoverySP, maxSP)
        self.SetExperience(curEXP, nextEXP)
     
    def RefreshStamina(self):
        curST = player.GetStatus(player.STAMINA)
        maxST = player.GetStatus(player.MAX_STAMINA)
        self.SetST(curST, maxST)

    def RefreshSkill(self):
        self.curSkillButton.RefreshSkill()
        for button in self.selectSkillButtonList:
            button.RefreshSkill()

    def SetHP(self, curPoint, recoveryPoint, maxPoint):
        curPoint = min(curPoint, maxPoint)
        if maxPoint > 0:
            self.hpGauge.SetPercentage(curPoint, maxPoint)
            self.tooltipHP.SetText("%s : %d / %d" % (localeInfo.TASKBAR_HP, curPoint, maxPoint))

            if 0 == recoveryPoint:
                self.hpRecoveryGaugeBar.Hide()
            else:
                destPoint = min(maxPoint, curPoint + recoveryPoint)
                newWidth = int(self.GAUGE_WIDTH * (float(destPoint) / float(maxPoint)))
                self.hpRecoveryGaugeBar.SetSize(newWidth, self.GAUGE_HEIGHT)
                self.hpRecoveryGaugeBar.Show()

    def SetSP(self, curPoint, recoveryPoint, maxPoint):
        curPoint = min(curPoint, maxPoint)
        if maxPoint > 0:
            self.mpGauge.SetPercentage(curPoint, maxPoint)
            self.tooltipSP.SetText("%s : %d / %d" % (localeInfo.TASKBAR_SP, curPoint, maxPoint))

            if 0 == recoveryPoint:
                self.spRecoveryGaugeBar.Hide()
            else:
                destPoint = min(maxPoint, curPoint + recoveryPoint)
                newWidth = int(self.GAUGE_WIDTH * (float(destPoint) / float(maxPoint)))
                self.spRecoveryGaugeBar.SetSize(newWidth, self.GAUGE_HEIGHT)
                self.spRecoveryGaugeBar.Show()

    def SetST(self, curPoint, maxPoint):
        curPoint = min(curPoint, maxPoint)
        if maxPoint > 0:
            self.stGauge.SetPercentage(curPoint, maxPoint)
            self.tooltipST.SetText("%s : %d / %d" % (localeInfo.TASKBAR_ST, curPoint, maxPoint))

    def SetExperience(self, curPoint, maxPoint):
        curPoint = min(curPoint, maxPoint)
        if maxPoint > 0:
            self.expGauge.SetPercentage(curPoint, maxPoint)
        self.tooltipEXP.SetText("%s : %.2f%%" % (localeInfo.TASKBAR_EXP, float(curPoint) / max(1, float(maxPoint)) * 100))
 
     
    ## QuickSlot
    def RefreshQuickSlot(self):

        pageNum = player.GetQuickPage()

        try:
            self.quickPageNumImageBox.LoadImage(TaskBar.QUICKPAGE_NUMBER_FILENAME[pageNum])
        except:
            pass

        startNumber = 0
        for slot in self.quickslot:

            for i in xrange(4):

                slotNumber = i+startNumber

                (Type, Position) = player.GetLocalQuickSlot(slotNumber)

                if player.SLOT_TYPE_NONE == Type:
                    slot.ClearSlot(slotNumber)
                    continue

                if player.SLOT_TYPE_INVENTORY == Type:

                    itemIndex = player.GetItemIndex(Position)
                    itemCount = player.GetItemCount(Position)
                    if itemCount <= 1:
                        itemCount = 0
                 
                 
                    if constInfo.IS_AUTO_POTION(itemIndex):
                 
                        metinSocket = [player.GetItemMetinSocket(Position, j) for j in xrange(player.METIN_SOCKET_MAX_NUM)]
                     
                        if 0 != int(metinSocket[0]):
                            slot.ActivateSlot(slotNumber)
                        else:
                            slot.DeactivateSlot(slotNumber)
                 
                    slot.SetItemSlot(slotNumber, itemIndex, itemCount)

                elif player.SLOT_TYPE_SKILL == Type:

                    skillIndex = player.GetSkillIndex(Position)
                    if 0 == skillIndex:
                        slot.ClearSlot(slotNumber)
                        continue

                    skillType = skill.GetSkillType(skillIndex)
                    if skill.SKILL_TYPE_GUILD == skillType:
                        import guild
                        skillGrade = 0
                        skillLevel = guild.GetSkillLevel(Position)

                    else:
                        skillGrade = player.GetSkillGrade(Position)
                        skillLevel = player.GetSkillLevel(Position)

                    slot.SetSkillSlotNew(slotNumber, skillIndex, skillGrade, skillLevel)
                    slot.SetSlotCountNew(slotNumber, skillGrade, skillLevel)
                    slot.SetCoverButton(slotNumber)

             
                    if player.IsSkillCoolTime(Position):
                        (coolTime, elapsedTime) = player.GetSkillCoolTime(Position)
                        slot.SetSlotCoolTime(slotNumber, coolTime, elapsedTime)

                 
                    if player.IsSkillActive(Position):
                        slot.ActivateSlot(slotNumber)

                elif player.SLOT_TYPE_EMOTION == Type:

                    emotionIndex = Position
                    slot.SetEmotionSlot(slotNumber, emotionIndex)
                    slot.SetCoverButton(slotNumber)
                    slot.SetSlotCount(slotNumber, 0)

            slot.RefreshSlot()
            startNumber += 4

    def canAddQuickSlot(self, Type, slotNumber):

        if player.SLOT_TYPE_INVENTORY == Type:

            itemIndex = player.GetItemIndex(slotNumber)
            return item.CanAddToQuickSlotItem(itemIndex)

        return TRUE

    def AddQuickSlot(self, localSlotIndex):
        AttachedSlotType = mouseModule.mouseController.GetAttachedType()
        AttachedSlotNumber = mouseModule.mouseController.GetAttachedSlotNumber()
        AttachedItemIndex = mouseModule.mouseController.GetAttachedItemIndex()

        if player.SLOT_TYPE_QUICK_SLOT == AttachedSlotType:
            player.RequestMoveGlobalQuickSlotToLocalQuickSlot(AttachedSlotNumber, localSlotIndex)

        elif player.SLOT_TYPE_EMOTION == AttachedSlotType:

            player.RequestAddLocalQuickSlot(localSlotIndex, AttachedSlotType, AttachedItemIndex)

        elif TRUE == self.canAddQuickSlot(AttachedSlotType, AttachedSlotNumber):

            ## Online Code
            player.RequestAddLocalQuickSlot(localSlotIndex, AttachedSlotType, AttachedSlotNumber)
     
        mouseModule.mouseController.DeattachObject()
        self.RefreshQuickSlot()

    def SelectEmptyQuickSlot(self, slotIndex):

        if TRUE == mouseModule.mouseController.isAttached():
            self.AddQuickSlot(slotIndex)

    def SelectItemQuickSlot(self, localQuickSlotIndex):

        if TRUE == mouseModule.mouseController.isAttached():
            self.AddQuickSlot(localQuickSlotIndex)

        else:
            globalQuickSlotIndex=player.LocalQuickSlotIndexToGlobalQuickSlotIndex(localQuickSlotIndex)
            mouseModule.mouseController.AttachObject(self, player.SLOT_TYPE_QUICK_SLOT, globalQuickSlotIndex, globalQuickSlotIndex)

    def UnselectItemQuickSlot(self, localSlotIndex):

        if FALSE == mouseModule.mouseController.isAttached():
            player.RequestUseLocalQuickSlot(localSlotIndex)
            return

        elif mouseModule.mouseController.isAttached():
            mouseModule.mouseController.DeattachObject()
            return


    def OnUseSkill(self, usedSlotIndex, coolTime):

        QUICK_SLOT_SLOT_COUNT = 4
        slotIndex = 0

        ## Current Skill Button
        if usedSlotIndex == self.curSkillButton.GetSlotIndex():
            self.curSkillButton.Activate(coolTime)

        ## Quick Slot
        for slotWindow in self.quickslot:

            for i in xrange(QUICK_SLOT_SLOT_COUNT):

                (Type, Position) = player.GetLocalQuickSlot(slotIndex)

                if Type == player.SLOT_TYPE_SKILL:
                    if usedSlotIndex == Position:
                        slotWindow.SetSlotCoolTime(slotIndex, coolTime)
                        return

                slotIndex += 1

    def OnActivateSkill(self, usedSlotIndex):
        slotIndex = 0

        ## Current Skill Button
        if usedSlotIndex == self.curSkillButton.GetSlotIndex():
            self.curSkillButton.Deactivate()

        ## Quick Slot
        for slotWindow in self.quickslot:

            for i in xrange(4):

                (Type, Position) = player.GetLocalQuickSlot(slotIndex)

                if Type == player.SLOT_TYPE_SKILL:
                    if usedSlotIndex == Position:
                        slotWindow.ActivateSlot(slotIndex)
                        return

                slotIndex += 1

    def OnDeactivateSkill(self, usedSlotIndex):
        slotIndex = 0

        ## Current Skill Button
        if usedSlotIndex == self.curSkillButton.GetSlotIndex():
            self.curSkillButton.Deactivate()

        ## Quick Slot
        for slotWindow in self.quickslot:

            for i in xrange(4):

                (Type, Position) = player.GetLocalQuickSlot(slotIndex)

                if Type == player.SLOT_TYPE_SKILL:
                    if usedSlotIndex == Position:
                        slotWindow.DeactivateSlot(slotIndex)
                        return

                slotIndex += 1

    ## ToolTip
    def OverInItem(self, slotNumber):
        if mouseModule.mouseController.isAttached():
            return

        (Type, Position) = player.GetLocalQuickSlot(slotNumber)

        if player.SLOT_TYPE_INVENTORY == Type:
            self.tooltipItem.SetInventoryItem(Position)
            self.tooltipSkill.HideToolTip()

        elif player.SLOT_TYPE_SKILL == Type:

            skillIndex = player.GetSkillIndex(Position)
            skillType = skill.GetSkillType(skillIndex)

            if skill.SKILL_TYPE_GUILD == skillType:
                import guild
                skillGrade = 0
                skillLevel = guild.GetSkillLevel(Position)

            else:
                skillGrade = player.GetSkillGrade(Position)
                skillLevel = player.GetSkillLevel(Position)

            self.tooltipSkill.SetSkillNew(Position, skillIndex, skillGrade, skillLevel)
            self.tooltipItem.HideToolTip()

    def OverOutItem(self):
        if 0 != self.tooltipItem:
            self.tooltipItem.HideToolTip()
        if 0 != self.tooltipSkill:
            self.tooltipSkill.HideToolTip()

    def OnUpdate(self):
        if app.GetGlobalTime() - self.lastUpdateQuickSlot > 500:
            self.lastUpdateQuickSlot = app.GetGlobalTime()
            self.RefreshQuickSlot()

        if TRUE == self.hpGaugeBoard.IsIn():
            self.tooltipHP.Show()
        else:
            self.tooltipHP.Hide()

        if TRUE == self.mpGaugeBoard.IsIn():
            self.tooltipSP.Show()
        else:
            self.tooltipSP.Hide()

        if TRUE == self.stGaugeBoard.IsIn():
            self.tooltipST.Show()
        else:
            self.tooltipST.Hide()

        if TRUE == self.expGauge.IsIn():
            self.tooltipEXP.Show()
            self.tooltipEXP.SetTop()
        else:
            self.tooltipEXP.Hide()
     
    ## Skill
    def ToggleLeftMouseButtonModeWindow(self):

        wndMouseButtonMode = self.mouseModeButtonList[self.MOUSE_BUTTON_LEFT]

        if TRUE == wndMouseButtonMode.IsShow():

            wndMouseButtonMode.Hide()

        else:
            wndMouseButtonMode.Show()

    def ToggleRightMouseButtonModeWindow(self):

        wndMouseButtonMode = self.mouseModeButtonList[self.MOUSE_BUTTON_RIGHT]

        if TRUE == wndMouseButtonMode.IsShow():

            wndMouseButtonMode.Hide()
            self.CloseSelectSkill()

        else:
            wndMouseButtonMode.Show()
            self.OpenSelectSkill()

    def OpenSelectSkill(self):

        PAGE_SLOT_COUNT = 6

        (xSkillButton, y) = self.curSkillButton.GetGlobalPosition()
        y -= (37 + 32 + 1)

        for key in self.skillCategoryNameList:

            appendCount = 0
            startNumber = self.skillPageStartSlotIndexDict[key]
            x = xSkillButton

            getSkillIndex=player.GetSkillIndex
            getSkillLevel=player.GetSkillLevel
            for i in xrange(PAGE_SLOT_COUNT):

                skillIndex = getSkillIndex(startNumber+i)
                skillLevel = getSkillLevel(startNumber+i)

                if 0 == skillIndex:
                    continue
                if 0 == skillLevel:
                    continue
                if skill.IsStandingSkill(skillIndex):
                    continue

             
                skillButton = self.SkillButton()
                skillButton.SetSkill(startNumber+i)
                skillButton.SetPosition(x, y)
                skillButton.SetSkillEvent(ui.__mem_func__(self.CloseSelectSkill), startNumber+i+1)
                skillButton.SetSkillToolTip(self.tooltipSkill)
                skillButton.SetTop()
                skillButton.Show()
                self.selectSkillButtonList.append(skillButton)

                appendCount += 1
                x -= 32

            if appendCount > 0:
                y -= 32

    def CloseSelectSkill(self, slotIndex=-1):

        self.mouseModeButtonList[self.MOUSE_BUTTON_RIGHT].Hide()
        for button in self.selectSkillButtonList:
            button.Destroy()

        self.selectSkillButtonList = []

        if -1 != slotIndex:
            self.curSkillButton.Show()
            self.curMouseModeButton[self.MOUSE_BUTTON_RIGHT].Hide()
            player.SetMouseFunc(player.MBT_RIGHT, player.MBF_SKILL)
            player.ChangeCurrentSkillNumberOnly(slotIndex-1)
        else:
            self.curSkillButton.Hide()
            self.curMouseModeButton[self.MOUSE_BUTTON_RIGHT].Show()

    def SelectMouseButtonEvent(self, dir, event):
        SetMouseButtonSetting(dir, event)

        self.CloseSelectSkill()
        self.mouseModeButtonList[dir].Hide()

        btn = 0
        type = self.NONE
        func = self.NONE
        tooltip_text = ""    
     
        if self.MOUSE_BUTTON_LEFT == dir:
            type = player.MBT_LEFT

        elif self.MOUSE_BUTTON_RIGHT == dir:
            type = player.MBT_RIGHT

        if self.EVENT_MOVE == event:
            btn = self.mouseModeButtonList[dir].GetChild("button_move")
            func = player.MBF_MOVE
            tooltip_text = localeInfo.TASKBAR_MOVE
        elif self.EVENT_ATTACK == event:
            btn = self.mouseModeButtonList[dir].GetChild("button_attack")
            func = player.MBF_ATTACK
            tooltip_text = localeInfo.TASKBAR_ATTACK
        elif self.EVENT_AUTO == event:
            btn = self.mouseModeButtonList[dir].GetChild("button_auto_attack")
            func = player.MBF_AUTO
            tooltip_text = localeInfo.TASKBAR_AUTO
        elif self.EVENT_MOVE_AND_ATTACK == event:
            btn = self.mouseModeButtonList[dir].GetChild("button_move_and_attack")
            func = player.MBF_SMART
            tooltip_text = localeInfo.TASKBAR_ATTACK
        elif self.EVENT_CAMERA == event:
            btn = self.mouseModeButtonList[dir].GetChild("button_camera")
            func = player.MBF_CAMERA
            tooltip_text = localeInfo.TASKBAR_CAMERA
        elif self.EVENT_SKILL == event:
            btn = self.mouseModeButtonList[dir].GetChild("button_skill")
            func = player.MBF_SKILL
            tooltip_text = localeInfo.TASKBAR_SKILL

        if 0 != btn:
            self.curMouseModeButton[dir].SetToolTipText(tooltip_text, 0, -18)
            self.curMouseModeButton[dir].SetUpVisual(btn.GetUpVisualFileName())
            self.curMouseModeButton[dir].SetOverVisual(btn.GetOverVisualFileName())
            self.curMouseModeButton[dir].SetDownVisual(btn.GetDownVisualFileName())
            self.curMouseModeButton[dir].Show()

        player.SetMouseFunc(type, func)

    def OnChangeCurrentSkill(self, skillSlotNumber):
        self.curSkillButton.SetSkill(skillSlotNumber)
        self.curSkillButton.Show()
        self.curMouseModeButton[self.MOUSE_BUTTON_RIGHT].Hide()

# a=TaskBar()
# a.Show()
 
uitaskbar.py 'yi diğer filesimden cektim hata verse diğer filesim'dede hata verirdi diye düşünüyorum.


Eklediğim uiTaskbar.py

Diğer task'ları konuya dahil ediyorum şimdi.

Editt ; birde bir sorunum daha var kendi uitaskbar vs yedeklerimi atsamda aynı hatayı veriyor. :(

uiTaskbar.py:
import ui
import net
import item
import skill
import localeInfo
import wndMgr
import player
import constInfo
import mouseModule
import uiScriptLocale
import miniMap
import playerSettingModule
import app
import uiToolTip

from ui import ExpandedImageBox, ImageBox, Button

MOUSE_SETTINGS = [0, 0]

def InitMouseButtonSettings(left, right):
    global MOUSE_SETTINGS
    MOUSE_SETTINGS = [left, right]

def SetMouseButtonSetting(dir, event):
    global MOUSE_SETTINGS
    MOUSE_SETTINGS[dir] = event
 
def GetMouseButtonSettings():
    global MOUSE_SETTINGS
    return MOUSE_SETTINGS

def SaveMouseButtonSettings():
    global MOUSE_SETTINGS
    open("mouse.cfg", "w").write("%s\t%s" % tuple(MOUSE_SETTINGS))

def LoadMouseButtonSettings():
    global MOUSE_SETTINGS
    tokens = open("mouse.cfg", "r").read().split()

    if len(tokens) != 2:
        raise RuntimeError, "MOUSE_SETTINGS_FILE_ERROR"

    MOUSE_SETTINGS[0] = int(tokens[0])
    MOUSE_SETTINGS[1] = int(tokens[1])

def unsigned32(n):
    return n & 0xFFFFFFFFFL

class EnergyBar(ui.ScriptWindow):
    class TextToolTip(ui.Window):
        def __init__(self):
            ui.Window.__init__(self, "TOP_MOST")
            self.SetWindowName("EnergyBar")
            textLine = ui.TextLine()
            textLine.SetParent(self)
            textLine.SetHorizontalAlignCenter()
            textLine.SetOutline()
            textLine.Show()
            self.textLine = textLine

        def __del__(self):
            ui.Window.__del__(self)

        def SetText(self, text):
            self.textLine.SetText(text)

        def OnRender(self):
            (mouseX, mouseY) = wndMgr.GetMousePosition()
            self.textLine.SetPosition(mouseX, mouseY - 15)

    def __init__(self):
        #print "NEW TASKBAR  ----------------------------------------------------------------------------"
        ui.ScriptWindow.__init__(self)
        self.tooltipEnergy = self.TextToolTip()
        self.tooltipEnergy.Show()
     
    def __del__(self):
        #print "---------------------------------------------------------------------------- DELETE TASKBAR"
        ui.ScriptWindow.__del__(self)

    def LoadWindow(self):
        try:
            pyScrLoader = ui.PythonScriptLoader()
            pyScrLoader.LoadScriptFile(self, uiScriptLocale.LOCALE_UISCRIPT_PATH + "EnergyBar.py")
        except:
            import exception
            exception.Abort("EnergyBar.LoadWindow.LoadObject")

        self.energyEmpty = self.GetChild("EnergyGauge_Empty")
        self.energyHungry = self.GetChild("EnergyGauge_Hungry")
        self.energyFull = self.GetChild("EnergyGauge_Full")

        self.energyGaugeBoard = self.GetChild("EnergyGauge_Board")
        self.energyGaugeToolTip = self.GetChild("EnergyGauge_ToolTip")

     
    def Destroy(self):    
        self.energyEmpty = None
        self.energyHungry = None
        self.energyFull = None
        self.energyGaugeBoard = 0
        self.energyGaugeToolTip = 0
        self.tooltipEnergy = 0

    ## Gauge
    def RefreshStatus(self):
        pointEnergy = player.GetStatus (player.ENERGY)
        leftTimeEnergy = player.GetStatus (player.ENERGY_END_TIME) - app.GetGlobalTimeStamp()
        # Ãæ±âȯ Áö¼Ó ½Ã°£ = 2½Ã°£.
        self.SetEnergy (pointEnergy, leftTimeEnergy, 7200)
         
    def SetEnergy (self, point, leftTime, maxTime):
        leftTime = max (leftTime, 0)
        maxTime = max (maxTime, 0)
         
        self.energyEmpty.Hide()
        self.energyHungry.Hide()
        self.energyFull.Hide()
 
        if leftTime == 0:
            self.energyEmpty.Show()
        elif ((leftTime * 100) / maxTime) < 15:
            self.energyHungry.Show()
        else:
            self.energyFull.Show()
         
        self.tooltipEnergy.SetText("%s" % (localeInfo.TOOLTIP_ENERGY(point)))

    def OnUpdate(self):
        if TRUE == self.energyGaugeToolTip.IsIn():
            self.RefreshStatus()
            self.tooltipEnergy.Show()
        else:
            self.tooltipEnergy.Hide()

class ExpandedTaskBar(ui.ScriptWindow):
    BUTTON_VEGAS_CALCULATOR = 0
    BUTTON_DRAGON_SOUL = 0
    def __init__(self):
        ui.Window.__init__(self)
        self.SetWindowName("ExpandedTaskBar")
 
    def LoadWindow(self):
        try:
            pyScrLoader = ui.PythonScriptLoader()
            pyScrLoader.LoadScriptFile(self, uiScriptLocale.LOCALE_UISCRIPT_PATH + "ExpandedTaskBar.py")
        except:
            import exception
            exception.Abort("ExpandedTaskBar.LoadWindow.LoadObject")

        self.expandedTaskBarBoard = self.GetChild("ExpanedTaskBar_Board")

        self.toggleButtonDict = {}
        self.toggleButtonDict[ExpandedTaskBar.BUTTON_VEGAS_CALCULATOR] = self.GetChild("CalculatorTitan2")
        self.toggleButtonDict[ExpandedTaskBar.BUTTON_VEGAS_CALCULATOR].SetParent(self)
        self.toggleButtonDict[ExpandedTaskBar.BUTTON_DRAGON_SOUL] = self.GetChild("DragonSoulButton")
        self.toggleButtonDict[ExpandedTaskBar.BUTTON_DRAGON_SOUL].SetParent(self)
 
    def SetTop(self):
        super(ExpandedTaskBar, self).SetTop()
        for button in self.toggleButtonDict.values():
            button.SetTop()
 
    def Show(self):
        ui.ScriptWindow.Show(self)
 
    def Close(self):
        self.Hide()
 
    def SetToolTipText(self, eButton, text):
        self.toggleButtonDict[eButton].SetToolTipText(text)
     
    def SetToggleButtonEvent(self, eButton, kEventFunc):
        self.toggleButtonDict[eButton].SetEvent(kEventFunc)

    def OnPressEscapeKey(self):
        self.Close()
        return TRUE


 
     
class TaskBar(ui.ScriptWindow):

    BUTTON_CHARACTER = 0
    BUTTON_INVENTORY = 1
    BUTTON_MESSENGER = 2
    BUTTON_SYSTEM = 3
    BUTTON_CHAT = 4
    BUTTON_EXPAND = 4
    IS_EXPANDED = FALSE

    MOUSE_BUTTON_LEFT = 0
    MOUSE_BUTTON_RIGHT = 1
    NONE = 255

    EVENT_MOVE = 0
    EVENT_ATTACK = 1
    EVENT_MOVE_AND_ATTACK = 2
    EVENT_CAMERA = 3
    EVENT_SKILL = 4
    EVENT_AUTO = 5

    GAUGE_WIDTH = 102
    GAUGE_HEIGHT = 10

    QUICKPAGE_NUMBER_FILENAME = [
        "d:/ymir work/interface/taskbar/numbers/btn_slotpageone_03_active.tga",
        "d:/ymir work/interface/taskbar/numbers/btn_slotpagetwo_03_active.tga",
        "d:/ymir work/interface/taskbar/numbers/btn_slotpagethree_03_active.tga",
        "d:/ymir work/interface/taskbar/numbers/btn_slotpagefour_03_active.tga",
    ]
 
    class TextToolTip(ui.Window):
        def __init__(self):
            ui.Window.__init__(self, "TOP_MOST")

            textLine = ui.TextLine()
            textLine.SetParent(self)
            textLine.SetHorizontalAlignCenter()
            textLine.SetOutline()
            textLine.Show()
            self.textLine = textLine

        def __del__(self):
            ui.Window.__del__(self)

        def SetText(self, text):
            self.textLine.SetText(text)

        def OnRender(self):
            (mouseX, mouseY) = wndMgr.GetMousePosition()
            self.textLine.SetPosition(mouseX, mouseY - 15)

    class SkillButton(ui.SlotWindow):

        def __init__(self):
            ui.SlotWindow.__init__(self)

            self.event = 0
            self.arg = 0

            self.slotIndex = 0
            self.skillIndex = 0
         
            slotIndex = 0
            wndMgr.SetSlotBaseImage(self.hWnd, "d:/ymir work/ui/public/slot_base.sub", 1.0, 1.0, 1.0, 1.0)
            wndMgr.AppendSlot(self.hWnd, slotIndex, 0, 0, 32, 32)
            self.SetCoverButton(slotIndex,    "d:/ymir work/ui/public/slot_base.sub",\
                                            "d:/ymir work/ui/public/slot_base.sub",\
                                            "d:/ymir work/ui/public/slot_base.sub",\
                                            "d:/ymir work/ui/public/slot_base.sub", TRUE, FALSE)
            self.SetSize(32, 32)

        def __del__(self):
            ui.SlotWindow.__del__(self)

        def Destroy(self):
            if 0 != self.tooltipSkill:
                self.tooltipSkill.HideToolTip()

        def RefreshSkill(self):
            if 0 != self.slotIndex:
                self.SetSkill(self.slotIndex)

        def SetSkillToolTip(self, tooltip):
            self.tooltipSkill = tooltip

        def SetSkill(self, skillSlotNumber):
            slotNumber = 0
            skillIndex = player.GetSkillIndex(skillSlotNumber)
            skillGrade = player.GetSkillGrade(skillSlotNumber)
            skillLevel = player.GetSkillLevel(skillSlotNumber)
            skillType = skill.GetSkillType(skillIndex)

            self.skillIndex = skillIndex
            if 0 == self.skillIndex:
                self.ClearSlot(slotNumber)
                return

            self.slotIndex = skillSlotNumber

            self.SetSkillSlotNew(slotNumber, skillIndex, skillGrade, skillLevel)
            self.SetSlotCountNew(slotNumber, skillGrade, skillLevel)

         
            if player.IsSkillCoolTime(skillSlotNumber):
                (coolTime, elapsedTime) = player.GetSkillCoolTime(skillSlotNumber)
                self.SetSlotCoolTime(slotNumber, coolTime, elapsedTime)

         
            if player.IsSkillActive(skillSlotNumber):
                self.ActivateSlot(slotNumber)

        def SetSkillEvent(self, event, arg=0):
            self.event = event
            self.arg = arg

        def GetSkillIndex(self):
            return self.skillIndex

        def GetSlotIndex(self):
            return self.slotIndex

        def Activate(self, coolTime):
            self.SetSlotCoolTime(0, coolTime)

            if skill.IsToggleSkill(self.skillIndex):
                self.ActivateSlot(0)

        def Deactivate(self):
            if skill.IsToggleSkill(self.skillIndex):
                self.DeactivateSlot(0)

        def OnOverInItem(self, dummy):
            self.tooltipSkill.SetSkill(self.skillIndex)

        def OnOverOutItem(self):
            self.tooltipSkill.HideToolTip()

        def OnSelectItemSlot(self, dummy):
            if 0 != self.event:
                if 0 != self.arg:
                    self.event(self.arg)
                else:
                    self.event()

 
    def __init__(self):
        #print "NEW TASKBAR  ----------------------------------------------------------------------------"

        ui.ScriptWindow.__init__(self, "TOP_MOST")
        self.text = {}

        self.quickPageNumImageBox = None
        self.tooltipItem = 0
        self.tooltipSkill = 0
        self.TaskBarLeft = ui.ScriptWindow("TOP_MOST")
        self.TaskBarLeft2 = ui.ScriptWindow("TOP_MOST")
        self.mouseModeButtonList = [ ui.ScriptWindow("TOP_MOST"), ui.ScriptWindow("TOP_MOST") ]

        self.tooltipHP = self.TextToolTip()
        self.tooltipHP.Show()
        self.tooltipSP = self.TextToolTip()
        self.tooltipSP.Show()
        self.tooltipST = self.TextToolTip()
        self.tooltipST.Show()
        self.tooltipEXP = self.TextToolTip()
        self.tooltipEXP.Hide()
        self.toolTipAlignment = uiToolTip.ToolTip()
        # self.toolTipAlignment.Hide()
     
        self.skillCategoryNameList = [ "ACTIVE_1", "ACTIVE_2", "ACTIVE_3" ]
        self.skillPageStartSlotIndexDict = {
            "ACTIVE_1" : 1,
            "ACTIVE_2" : 21,
            "ACTIVE_3" : 41,
        }

        self.selectSkillButtonList = []
     
        self.lastUpdateQuickSlot = 0
        self.SetWindowName("TaskBar")

    def __del__(self):
        #print "---------------------------------------------------------------------------- DELETE TASKBAR"
        ui.ScriptWindow.__del__(self)

    def LoadWindow(self):
        try:
            pyScrLoader = ui.PythonScriptLoader()

            pyScrLoader.LoadScriptFile(self, "uiscript/TaskBar.py")
            pyScrLoader.LoadScriptFile(self.TaskBarLeft, "UIScript/TaskBar_left.py")
            pyScrLoader.LoadScriptFile(self.TaskBarLeft2, "UIScript/TaskBar_left2.py")
            pyScrLoader.LoadScriptFile(self.mouseModeButtonList[self.MOUSE_BUTTON_LEFT], "UIScript/MouseButtonWindow.py")
            pyScrLoader.LoadScriptFile(self.mouseModeButtonList[self.MOUSE_BUTTON_RIGHT], "UIScript/RightMouseButtonWindow.py")
        except:
            import exception
            exception.Abort("TaskBar.LoadWindow.LoadObject")

        self.quickslot = []
        self.quickslot.append(self.GetChild("quick_slot_1"))
        self.quickslot.append(self.GetChild("quick_slot_2"))
        for slot in self.quickslot:
            slot.SetSlotStyle(wndMgr.SLOT_STYLE_NONE)
            slot.SetSelectEmptySlotEvent(ui.__mem_func__(self.SelectEmptyQuickSlot))
            slot.SetSelectItemSlotEvent(ui.__mem_func__(self.SelectItemQuickSlot))
            slot.SetUnselectItemSlotEvent(ui.__mem_func__(self.UnselectItemQuickSlot))
            slot.SetOverInItemEvent(ui.__mem_func__(self.OverInItem))
            slot.SetOverOutItemEvent(ui.__mem_func__(self.OverOutItem))

        toggleButtonDict = {}
        toggleButtonDict[TaskBar.BUTTON_CHARACTER]=self.TaskBarLeft2.GetChild("CharacterButton")
        toggleButtonDict[TaskBar.BUTTON_INVENTORY]=self.TaskBarLeft2.GetChild("InventoryButton")
        toggleButtonDict[TaskBar.BUTTON_MESSENGER]=self.TaskBarLeft2.GetChild("MessengerButton")
        toggleButtonDict[TaskBar.BUTTON_SYSTEM]=self.TaskBarLeft2.GetChild("SystemButton")
     

        try:
            toggleButtonDict[TaskBar.BUTTON_CHAT]=self.GetChild("ChatButton")
        except:
            toggleButtonDict[TaskBar.BUTTON_EXPAND]=self.GetChild("ExpandButton")
            TaskBar.IS_EXPANDED = TRUE
     

        if localeInfo.IsARABIC():
            systemButton = toggleButtonDict[TaskBar.BUTTON_SYSTEM]
            if systemButton.ToolTipText:
                tx, ty = systemButton.ToolTipText.GetLocalPosition()
                tw = systemButton.ToolTipText.GetWidth()
                systemButton.ToolTipText.SetPosition(-tw/2, ty)
         
        self.quickPageNumImageBox=self.GetChild("QuickPageNumber")

     
     
     
        # self.GetChild("QuickPageUpButton").SetEvent(ui.__mem_func__(self.__OnClickQuickPageUpButton))
        self.GetChild("QuickPageDownButton").SetEvent(ui.__mem_func__(self.__OnClickQuickPageDownButton))

        mouseLeftButtonModeButton = self.GetChild("LeftMouseButton")
        mouseRightButtonModeButton = self.GetChild("RightMouseButton")
        mouseLeftButtonModeButton.SetEvent(ui.__mem_func__(self.ToggleLeftMouseButtonModeWindow))    
        mouseRightButtonModeButton.SetEvent(ui.__mem_func__(self.ToggleRightMouseButtonModeWindow))
        self.curMouseModeButton = [ mouseLeftButtonModeButton, mouseRightButtonModeButton ]

        (xLocalRight, yLocalRight) = mouseRightButtonModeButton.GetLocalPosition()
        self.curSkillButton = self.SkillButton()
        self.curSkillButton.SetParent(self)
        self.curSkillButton.SetPosition(xLocalRight, 3)
        self.curSkillButton.SetSkillEvent(ui.__mem_func__(self.ToggleRightMouseButtonModeWindow))
        self.curSkillButton.Hide()
 
        (xLeft, yLeft) = mouseLeftButtonModeButton.GetGlobalPosition()
        (xRight, yRight) = mouseRightButtonModeButton.GetGlobalPosition()
        leftModeButtonList = self.mouseModeButtonList[self.MOUSE_BUTTON_LEFT]
        leftModeButtonList.SetPosition(xLeft, yLeft - leftModeButtonList.GetHeight()-5)
        rightModeButtonList = self.mouseModeButtonList[self.MOUSE_BUTTON_RIGHT]
        rightModeButtonList.SetPosition(xRight - rightModeButtonList.GetWidth() + 32, yRight - rightModeButtonList.GetHeight()-5)
        rightModeButtonList.GetChild("button_skill").SetEvent(lambda adir=self.MOUSE_BUTTON_RIGHT, aevent=self.EVENT_SKILL: self.SelectMouseButtonEvent(adir, aevent))
        rightModeButtonList.GetChild("button_skill").Hide()

        mouseImage = ui.ImageBox("TOP_MOST")
        mouseImage.AddFlag("float")
        mouseImage.LoadImage("d:/ymir work/ui/game/taskbar/mouse_button_camera_01.sub")
        mouseImage.SetPosition(xRight, wndMgr.GetScreenHeight() - 34)
        mouseImage.Hide()
        self.mouseImage = mouseImage

        dir = self.MOUSE_BUTTON_LEFT
        wnd = self.mouseModeButtonList[dir]
        wnd.GetChild("button_move_and_attack").SetEvent(lambda adir=dir, aevent=self.EVENT_MOVE_AND_ATTACK: self.SelectMouseButtonEvent(adir, aevent))
        wnd.GetChild("button_auto_attack").SetEvent(lambda adir=dir, aevent=self.EVENT_AUTO: self.SelectMouseButtonEvent(adir, aevent))
        wnd.GetChild("button_camera").SetEvent(lambda adir=dir, aevent=self.EVENT_CAMERA: self.SelectMouseButtonEvent(adir, aevent))

        dir = self.MOUSE_BUTTON_RIGHT
        wnd = self.mouseModeButtonList[dir]
        wnd.GetChild("button_move_and_attack").SetEvent(lambda adir=dir, aevent=self.EVENT_MOVE_AND_ATTACK: self.SelectMouseButtonEvent(adir, aevent))
        wnd.GetChild("button_camera").SetEvent(lambda adir=dir, aevent=self.EVENT_CAMERA: self.SelectMouseButtonEvent(adir, aevent))

        self.toggleButtonDict = toggleButtonDict

        self.hpGauge = self.TaskBarLeft.GetChild("HPGauge")
        self.mpGauge = self.TaskBarLeft.GetChild("SPGauge")
        self.stGauge = self.TaskBarLeft.GetChild("STGauge")
        self.TaskBarLeft.GetChild("ItemShopButton").SetEvent(self.OpenIShopWindow)
        self.expGauge = self.TaskBarLeft.GetChild("EXPGauge_01")
        self.hpRecoveryGaugeBar = self.TaskBarLeft.GetChild("HPRecoveryGaugeBar")
        self.spRecoveryGaugeBar = self.TaskBarLeft.GetChild("SPRecoveryGaugeBar")
        self.hpGaugeBoard=self.TaskBarLeft.GetChild("HPGauge_Board")
        self.mpGaugeBoard=self.TaskBarLeft.GetChild("SPGauge_Board")
        self.stGaugeBoard=self.TaskBarLeft.GetChild("STGauge_Board")
        self.TaskBarLeft.Show()
        self.TaskBarLeft2.Show()

        self.__LoadMouseSettings()
        self.RefreshStatus()
        self.RefreshQuickSlot()

    def __LoadMouseSettings(self):
        try:
            LoadMouseButtonSettings()
            (mouseLeftButtonEvent, mouseRightButtonEvent) = GetMouseButtonSettings()
            if not self.__IsInSafeMouseButtonSettingRange(mouseLeftButtonEvent) or not self.__IsInSafeMouseButtonSettingRange(mouseRightButtonEvent):
                    raise RuntimeError, "INVALID_MOUSE_BUTTON_SETTINGS"
        except:
            InitMouseButtonSettings(self.EVENT_MOVE_AND_ATTACK, self.EVENT_CAMERA)
            (mouseLeftButtonEvent, mouseRightButtonEvent) = GetMouseButtonSettings()

        try:
            self.SelectMouseButtonEvent(self.MOUSE_BUTTON_LEFT,    mouseLeftButtonEvent)
            self.SelectMouseButtonEvent(self.MOUSE_BUTTON_RIGHT,    mouseRightButtonEvent)
        except:
            InitMouseButtonSettings(self.EVENT_MOVE_AND_ATTACK, self.EVENT_CAMERA)
            (mouseLeftButtonEvent, mouseRightButtonEvent) = GetMouseButtonSettings()

            self.SelectMouseButtonEvent(self.MOUSE_BUTTON_LEFT,    mouseLeftButtonEvent)
            self.SelectMouseButtonEvent(self.MOUSE_BUTTON_RIGHT,    mouseRightButtonEvent)



    def __IsInSafeMouseButtonSettingRange(self, arg):
        return arg >= self.EVENT_MOVE and arg <= self.EVENT_AUTO

    def Destroy(self):    
        SaveMouseButtonSettings()

        self.ClearDictionary()
        self.TaskBarLeft.ClearDictionary()
        self.TaskBarLeft2.ClearDictionary()
 
        self.mouseModeButtonList[0].ClearDictionary()
        self.mouseModeButtonList[1].ClearDictionary()
        self.TaskBarLeft = 0
        self.TaskBarLeft2 = 0
        self.mouseModeButtonList = 0
        self.curMouseModeButton = 0
        self.curSkillButton = 0
        self.selectSkillButtonList = 0

        self.img = None
        self.expGauge = None
        self.hpGauge = None
        self.mpGauge = None
        self.stGauge = None
        self.hpRecoveryGaugeBar = None
        self.spRecoveryGaugeBar = None
 
        self.tooltipItem = 0
        self.tooltipSkill = 0
        self.quickslot = 0
        self.toggleButtonDict = 0

        self.hpGaugeBoard = 0
        self.mpGaugeBoard = 0
        self.stGaugeBoard = 0
     
        self.tooltipHP = 0
        self.tooltipSP = 0
        self.tooltipST = 0
        self.tooltipEXP = 0
        self.toolTipAlignment = 0

        self.mouseImage = None

    def __OnClickQuickPageUpButton(self):
        player.SetQuickPage(player.GetQuickPage()-1)

    def OpenIShopWindow(self):
        net.SendChatPacket("/in_game_mall")
 
    def __OnClickQuickPageDownButton(self):
        player.SetQuickPage(player.GetQuickPage()+1)

    def SetToggleButtonEvent(self, eButton, kEventFunc):
        self.toggleButtonDict[eButton].SetEvent(kEventFunc)

    def SetItemToolTip(self, tooltipItem):
        self.tooltipItem = tooltipItem

    def SetSkillToolTip(self, tooltipSkill):
        self.tooltipSkill = tooltipSkill
        self.curSkillButton.SetSkillToolTip(self.tooltipSkill)

    ## Mouse Image
    def ShowMouseImage(self):
        self.mouseImage.SetTop()
        self.mouseImage.Show()

    def HideMouseImage(self):
        player.SetQuickCameraMode(FALSE)
        self.mouseImage.Hide()

    ## Gauge
    def RefreshStatus(self):
        curHP = player.GetStatus(player.HP)
        maxHP = player.GetStatus(player.MAX_HP)
        curSP = player.GetStatus(player.SP)
        maxSP = player.GetStatus(player.MAX_SP)
        curEXP = unsigned32(player.GetStatus(player.EXP))
        nextEXP = unsigned32(player.GetStatus(player.NEXT_EXP))
        recoveryHP = player.GetStatus(player.HP_RECOVERY)
        recoverySP = player.GetStatus(player.SP_RECOVERY)
     
        self.RefreshStamina()

        self.SetHP(curHP, recoveryHP, maxHP)
        self.SetSP(curSP, recoverySP, maxSP)
        self.SetExperience(curEXP, nextEXP)
     
    def RefreshStamina(self):
        curST = player.GetStatus(player.STAMINA)
        maxST = player.GetStatus(player.MAX_STAMINA)
        self.SetST(curST, maxST)

    def RefreshSkill(self):
        self.curSkillButton.RefreshSkill()
        for button in self.selectSkillButtonList:
            button.RefreshSkill()

    def SetHP(self, curPoint, recoveryPoint, maxPoint):
        curPoint = min(curPoint, maxPoint)
        if maxPoint > 0:
            self.hpGauge.SetPercentage(curPoint, maxPoint)
            self.tooltipHP.SetText("%s : %d / %d" % (localeInfo.TASKBAR_HP, curPoint, maxPoint))

            if 0 == recoveryPoint:
                self.hpRecoveryGaugeBar.Hide()
            else:
                destPoint = min(maxPoint, curPoint + recoveryPoint)
                newWidth = int(self.GAUGE_WIDTH * (float(destPoint) / float(maxPoint)))
                self.hpRecoveryGaugeBar.SetSize(newWidth, self.GAUGE_HEIGHT)
                self.hpRecoveryGaugeBar.Show()

    def SetSP(self, curPoint, recoveryPoint, maxPoint):
        curPoint = min(curPoint, maxPoint)
        if maxPoint > 0:
            self.mpGauge.SetPercentage(curPoint, maxPoint)
            self.tooltipSP.SetText("%s : %d / %d" % (localeInfo.TASKBAR_SP, curPoint, maxPoint))

            if 0 == recoveryPoint:
                self.spRecoveryGaugeBar.Hide()
            else:
                destPoint = min(maxPoint, curPoint + recoveryPoint)
                newWidth = int(self.GAUGE_WIDTH * (float(destPoint) / float(maxPoint)))
                self.spRecoveryGaugeBar.SetSize(newWidth, self.GAUGE_HEIGHT)
                self.spRecoveryGaugeBar.Show()

    def SetST(self, curPoint, maxPoint):
        curPoint = min(curPoint, maxPoint)
        if maxPoint > 0:
            self.stGauge.SetPercentage(curPoint, maxPoint)
            self.tooltipST.SetText("%s : %d / %d" % (localeInfo.TASKBAR_ST, curPoint, maxPoint))

    def SetExperience(self, curPoint, maxPoint):
        curPoint = min(curPoint, maxPoint)
        if maxPoint > 0:
            self.expGauge.SetPercentage(curPoint, maxPoint)
        self.tooltipEXP.SetText("%s : %.2f%%" % (localeInfo.TASKBAR_EXP, float(curPoint) / max(1, float(maxPoint)) * 100))
 
     
    ## QuickSlot
    def RefreshQuickSlot(self):

        pageNum = player.GetQuickPage()

        try:
            self.quickPageNumImageBox.LoadImage(TaskBar.QUICKPAGE_NUMBER_FILENAME[pageNum])
        except:
            pass

        startNumber = 0
        for slot in self.quickslot:

            for i in xrange(4):

                slotNumber = i+startNumber

                (Type, Position) = player.GetLocalQuickSlot(slotNumber)

                if player.SLOT_TYPE_NONE == Type:
                    slot.ClearSlot(slotNumber)
                    continue

                if player.SLOT_TYPE_INVENTORY == Type:

                    itemIndex = player.GetItemIndex(Position)
                    itemCount = player.GetItemCount(Position)
                    if itemCount <= 1:
                        itemCount = 0
                 
                 
                    if constInfo.IS_AUTO_POTION(itemIndex):
                 
                        metinSocket = [player.GetItemMetinSocket(Position, j) for j in xrange(player.METIN_SOCKET_MAX_NUM)]
                     
                        if 0 != int(metinSocket[0]):
                            slot.ActivateSlot(slotNumber)
                        else:
                            slot.DeactivateSlot(slotNumber)
                 
                    slot.SetItemSlot(slotNumber, itemIndex, itemCount)

                elif player.SLOT_TYPE_SKILL == Type:

                    skillIndex = player.GetSkillIndex(Position)
                    if 0 == skillIndex:
                        slot.ClearSlot(slotNumber)
                        continue

                    skillType = skill.GetSkillType(skillIndex)
                    if skill.SKILL_TYPE_GUILD == skillType:
                        import guild
                        skillGrade = 0
                        skillLevel = guild.GetSkillLevel(Position)

                    else:
                        skillGrade = player.GetSkillGrade(Position)
                        skillLevel = player.GetSkillLevel(Position)

                    slot.SetSkillSlotNew(slotNumber, skillIndex, skillGrade, skillLevel)
                    slot.SetSlotCountNew(slotNumber, skillGrade, skillLevel)
                    slot.SetCoverButton(slotNumber)

             
                    if player.IsSkillCoolTime(Position):
                        (coolTime, elapsedTime) = player.GetSkillCoolTime(Position)
                        slot.SetSlotCoolTime(slotNumber, coolTime, elapsedTime)

                 
                    if player.IsSkillActive(Position):
                        slot.ActivateSlot(slotNumber)

                elif player.SLOT_TYPE_EMOTION == Type:

                    emotionIndex = Position
                    slot.SetEmotionSlot(slotNumber, emotionIndex)
                    slot.SetCoverButton(slotNumber)
                    slot.SetSlotCount(slotNumber, 0)

            slot.RefreshSlot()
            startNumber += 4

    def canAddQuickSlot(self, Type, slotNumber):

        if player.SLOT_TYPE_INVENTORY == Type:

            itemIndex = player.GetItemIndex(slotNumber)
            return item.CanAddToQuickSlotItem(itemIndex)

        return TRUE

    def AddQuickSlot(self, localSlotIndex):
        AttachedSlotType = mouseModule.mouseController.GetAttachedType()
        AttachedSlotNumber = mouseModule.mouseController.GetAttachedSlotNumber()
        AttachedItemIndex = mouseModule.mouseController.GetAttachedItemIndex()

        if player.SLOT_TYPE_QUICK_SLOT == AttachedSlotType:
            player.RequestMoveGlobalQuickSlotToLocalQuickSlot(AttachedSlotNumber, localSlotIndex)

        elif player.SLOT_TYPE_EMOTION == AttachedSlotType:

            player.RequestAddLocalQuickSlot(localSlotIndex, AttachedSlotType, AttachedItemIndex)

        elif TRUE == self.canAddQuickSlot(AttachedSlotType, AttachedSlotNumber):

            ## Online Code
            player.RequestAddLocalQuickSlot(localSlotIndex, AttachedSlotType, AttachedSlotNumber)
     
        mouseModule.mouseController.DeattachObject()
        self.RefreshQuickSlot()

    def SelectEmptyQuickSlot(self, slotIndex):

        if TRUE == mouseModule.mouseController.isAttached():
            self.AddQuickSlot(slotIndex)

    def SelectItemQuickSlot(self, localQuickSlotIndex):

        if TRUE == mouseModule.mouseController.isAttached():
            self.AddQuickSlot(localQuickSlotIndex)

        else:
            globalQuickSlotIndex=player.LocalQuickSlotIndexToGlobalQuickSlotIndex(localQuickSlotIndex)
            mouseModule.mouseController.AttachObject(self, player.SLOT_TYPE_QUICK_SLOT, globalQuickSlotIndex, globalQuickSlotIndex)

    def UnselectItemQuickSlot(self, localSlotIndex):

        if FALSE == mouseModule.mouseController.isAttached():
            player.RequestUseLocalQuickSlot(localSlotIndex)
            return

        elif mouseModule.mouseController.isAttached():
            mouseModule.mouseController.DeattachObject()
            return


    def OnUseSkill(self, usedSlotIndex, coolTime):

        QUICK_SLOT_SLOT_COUNT = 4
        slotIndex = 0

        ## Current Skill Button
        if usedSlotIndex == self.curSkillButton.GetSlotIndex():
            self.curSkillButton.Activate(coolTime)

        ## Quick Slot
        for slotWindow in self.quickslot:

            for i in xrange(QUICK_SLOT_SLOT_COUNT):

                (Type, Position) = player.GetLocalQuickSlot(slotIndex)

                if Type == player.SLOT_TYPE_SKILL:
                    if usedSlotIndex == Position:
                        slotWindow.SetSlotCoolTime(slotIndex, coolTime)
                        return

                slotIndex += 1

    def OnActivateSkill(self, usedSlotIndex):
        slotIndex = 0

        ## Current Skill Button
        if usedSlotIndex == self.curSkillButton.GetSlotIndex():
            self.curSkillButton.Deactivate()

        ## Quick Slot
        for slotWindow in self.quickslot:

            for i in xrange(4):

                (Type, Position) = player.GetLocalQuickSlot(slotIndex)

                if Type == player.SLOT_TYPE_SKILL:
                    if usedSlotIndex == Position:
                        slotWindow.ActivateSlot(slotIndex)
                        return

                slotIndex += 1

    def OnDeactivateSkill(self, usedSlotIndex):
        slotIndex = 0

        ## Current Skill Button
        if usedSlotIndex == self.curSkillButton.GetSlotIndex():
            self.curSkillButton.Deactivate()

        ## Quick Slot
        for slotWindow in self.quickslot:

            for i in xrange(4):

                (Type, Position) = player.GetLocalQuickSlot(slotIndex)

                if Type == player.SLOT_TYPE_SKILL:
                    if usedSlotIndex == Position:
                        slotWindow.DeactivateSlot(slotIndex)
                        return

                slotIndex += 1

    ## ToolTip
    def OverInItem(self, slotNumber):
        if mouseModule.mouseController.isAttached():
            return

        (Type, Position) = player.GetLocalQuickSlot(slotNumber)

        if player.SLOT_TYPE_INVENTORY == Type:
            self.tooltipItem.SetInventoryItem(Position)
            self.tooltipSkill.HideToolTip()

        elif player.SLOT_TYPE_SKILL == Type:

            skillIndex = player.GetSkillIndex(Position)
            skillType = skill.GetSkillType(skillIndex)

            if skill.SKILL_TYPE_GUILD == skillType:
                import guild
                skillGrade = 0
                skillLevel = guild.GetSkillLevel(Position)

            else:
                skillGrade = player.GetSkillGrade(Position)
                skillLevel = player.GetSkillLevel(Position)

            self.tooltipSkill.SetSkillNew(Position, skillIndex, skillGrade, skillLevel)
            self.tooltipItem.HideToolTip()

    def OverOutItem(self):
        if 0 != self.tooltipItem:
            self.tooltipItem.HideToolTip()
        if 0 != self.tooltipSkill:
            self.tooltipSkill.HideToolTip()

    def OnUpdate(self):
        if app.GetGlobalTime() - self.lastUpdateQuickSlot > 500:
            self.lastUpdateQuickSlot = app.GetGlobalTime()
            self.RefreshQuickSlot()

        if TRUE == self.hpGaugeBoard.IsIn():
            self.tooltipHP.Show()
        else:
            self.tooltipHP.Hide()

        if TRUE == self.mpGaugeBoard.IsIn():
            self.tooltipSP.Show()
        else:
            self.tooltipSP.Hide()

        if TRUE == self.stGaugeBoard.IsIn():
            self.tooltipST.Show()
        else:
            self.tooltipST.Hide()

        if TRUE == self.expGauge.IsIn():
            self.tooltipEXP.Show()
            self.tooltipEXP.SetTop()
        else:
            self.tooltipEXP.Hide()
     
    ## Skill
    def ToggleLeftMouseButtonModeWindow(self):

        wndMouseButtonMode = self.mouseModeButtonList[self.MOUSE_BUTTON_LEFT]

        if TRUE == wndMouseButtonMode.IsShow():

            wndMouseButtonMode.Hide()

        else:
            wndMouseButtonMode.Show()

    def ToggleRightMouseButtonModeWindow(self):

        wndMouseButtonMode = self.mouseModeButtonList[self.MOUSE_BUTTON_RIGHT]

        if TRUE == wndMouseButtonMode.IsShow():

            wndMouseButtonMode.Hide()
            self.CloseSelectSkill()

        else:
            wndMouseButtonMode.Show()
            self.OpenSelectSkill()

    def OpenSelectSkill(self):

        PAGE_SLOT_COUNT = 6

        (xSkillButton, y) = self.curSkillButton.GetGlobalPosition()
        y -= (37 + 32 + 1)

        for key in self.skillCategoryNameList:

            appendCount = 0
            startNumber = self.skillPageStartSlotIndexDict[key]
            x = xSkillButton

            getSkillIndex=player.GetSkillIndex
            getSkillLevel=player.GetSkillLevel
            for i in xrange(PAGE_SLOT_COUNT):

                skillIndex = getSkillIndex(startNumber+i)
                skillLevel = getSkillLevel(startNumber+i)

                if 0 == skillIndex:
                    continue
                if 0 == skillLevel:
                    continue
                if skill.IsStandingSkill(skillIndex):
                    continue

             
                skillButton = self.SkillButton()
                skillButton.SetSkill(startNumber+i)
                skillButton.SetPosition(x, y)
                skillButton.SetSkillEvent(ui.__mem_func__(self.CloseSelectSkill), startNumber+i+1)
                skillButton.SetSkillToolTip(self.tooltipSkill)
                skillButton.SetTop()
                skillButton.Show()
                self.selectSkillButtonList.append(skillButton)

                appendCount += 1
                x -= 32

            if appendCount > 0:
                y -= 32

    def CloseSelectSkill(self, slotIndex=-1):

        self.mouseModeButtonList[self.MOUSE_BUTTON_RIGHT].Hide()
        for button in self.selectSkillButtonList:
            button.Destroy()

        self.selectSkillButtonList = []

        if -1 != slotIndex:
            self.curSkillButton.Show()
            self.curMouseModeButton[self.MOUSE_BUTTON_RIGHT].Hide()
            player.SetMouseFunc(player.MBT_RIGHT, player.MBF_SKILL)
            player.ChangeCurrentSkillNumberOnly(slotIndex-1)
        else:
            self.curSkillButton.Hide()
            self.curMouseModeButton[self.MOUSE_BUTTON_RIGHT].Show()

    def SelectMouseButtonEvent(self, dir, event):
        SetMouseButtonSetting(dir, event)

        self.CloseSelectSkill()
        self.mouseModeButtonList[dir].Hide()

        btn = 0
        type = self.NONE
        func = self.NONE
        tooltip_text = ""    
     
        if self.MOUSE_BUTTON_LEFT == dir:
            type = player.MBT_LEFT

        elif self.MOUSE_BUTTON_RIGHT == dir:
            type = player.MBT_RIGHT

        if self.EVENT_MOVE == event:
            btn = self.mouseModeButtonList[dir].GetChild("button_move")
            func = player.MBF_MOVE
            tooltip_text = localeInfo.TASKBAR_MOVE
        elif self.EVENT_ATTACK == event:
            btn = self.mouseModeButtonList[dir].GetChild("button_attack")
            func = player.MBF_ATTACK
            tooltip_text = localeInfo.TASKBAR_ATTACK
        elif self.EVENT_AUTO == event:
            btn = self.mouseModeButtonList[dir].GetChild("button_auto_attack")
            func = player.MBF_AUTO
            tooltip_text = localeInfo.TASKBAR_AUTO
        elif self.EVENT_MOVE_AND_ATTACK == event:
            btn = self.mouseModeButtonList[dir].GetChild("button_move_and_attack")
            func = player.MBF_SMART
            tooltip_text = localeInfo.TASKBAR_ATTACK
        elif self.EVENT_CAMERA == event:
            btn = self.mouseModeButtonList[dir].GetChild("button_camera")
            func = player.MBF_CAMERA
            tooltip_text = localeInfo.TASKBAR_CAMERA
        elif self.EVENT_SKILL == event:
            btn = self.mouseModeButtonList[dir].GetChild("button_skill")
            func = player.MBF_SKILL
            tooltip_text = localeInfo.TASKBAR_SKILL

        if 0 != btn:
            self.curMouseModeButton[dir].SetToolTipText(tooltip_text, 0, -18)
            self.curMouseModeButton[dir].SetUpVisual(btn.GetUpVisualFileName())
            self.curMouseModeButton[dir].SetOverVisual(btn.GetOverVisualFileName())
            self.curMouseModeButton[dir].SetDownVisual(btn.GetDownVisualFileName())
            self.curMouseModeButton[dir].Show()

        player.SetMouseFunc(type, func)

    def OnChangeCurrentSkill(self, skillSlotNumber):
        self.curSkillButton.SetSkill(skillSlotNumber)
        self.curSkillButton.Show()
        self.curMouseModeButton[self.MOUSE_BUTTON_RIGHT].Hide()

# a=TaskBar()
# a.Show()
uiscript dosyanızın yedeğini atıyor musunuz?
 
uiscript dosyanızın yedeğini atıyor musunuz?
Kusura bakma buyrun.


benim taskbar.py:
import uiScriptLocale
import app

ROOT = "d:/ymir work/ui/game/"
BASE = "d:/ymir work/interface/taskbar/"

Y_ADD_POSITION = 0

window = {
    "name" : "TaskBar",

    "x" : 0,
    "y" : SCREEN_HEIGHT - 48,

    "width" : SCREEN_WIDTH,
    "height" : 158,

    "children" :
    (   
    
        ## Board
        {
            "name" : "Base_Board_01",
            "type" : "expanded_image",

            "x" : (SCREEN_WIDTH-1193)/2,
            "y" : -110,

            "image" : BASE+"bg.tga"
        },
        {
            "name" : "LeftMouseButton",
            "type" : "button",

            "x" : (SCREEN_WIDTH/2)-230-15+15+3,
            "y" :123-110,

            "default_image" : BASE + "btn_attacknormal_01_normal.tga",
            "over_image" : BASE + "btn_attacknormal_02_hover.tga",
            "down_image" : BASE + "btn_attacknormal_03_active.tga",
        },
        {
            "name" : "button_horse",
            "type" : "button",

            "x" : SCREEN_WIDTH - 178,
            "y" : 3 + Y_ADD_POSITION,

            "tooltip_text" : "Pet Menusu",

            #"default_image" : "d:/ymir work/ui/pet_up.tga",
            #"over_image" : "d:/ymir work/ui/pet_over.tga",
            #"down_image" : "d:/ymir work/ui/pet_down.tga",
        },   
        {
            "name" : "VectorsHzl",
            "type" : "button",
 
            "x" : SCREEN_WIDTH - 248,
            "y" : 3 + Y_ADD_POSITION,
 
            "tooltip_text" : "Hizli Ekipman",
 
            #"default_image" : "d:/ymir work/ui/hzl.tga",
            #"over_image" : "d:/ymir work/ui/hzl2.tga",
            #"down_image" : "d:/ymir work/ui/hzl.tga",
        },
        {
            "name" : "DarkmmoBalikButton",
            "type" : "button",

            "x" : SCREEN_WIDTH - 280,
            "y" : 3 + Y_ADD_POSITION,

            "tooltip_text" : "Balik Botu",

            #"default_image" : "d:/ymir work/ui/balik_01.tga",
            #"over_image" : "d:/ymir work/ui/balik_02.tga",
            #"down_image" : "d:/ymir work/ui/balik_02.tga",
        },
        {
            "name" : "VectorsEfsunButton",
            "type" : "button",

            "x" : SCREEN_WIDTH - 212,
            "y" : 3 + Y_ADD_POSITION,

            "tooltip_text" : "Efsun Botu",


            #"default_image" : "d:/ymir work/ui/YesilEfsun1.tga",
            #"over_image" : "d:/ymir work/ui/YesilEfsun2.tga",
            #"down_image" : "d:/ymir work/ui/YesilEfsun1.tga",
        },       
        {
            "name" : "RightMouseButton",
            "type" : "button",

            "x" : SCREEN_WIDTH/2 + 128 + 66 + +10+5,
            "y" : 183-110,

            "default_image" : BASE + "btn_camera_01_normal.tga",
            "over_image" : BASE + "btn_camera_02_hover.tga",
            "down_image" : BASE + "btn_camera_03_active.tga",
        },
        

        ## Mouse Button


        ## QuickBar
        {
            "name" : "quickslot_board",
            "type" : "window",

            "x" : SCREEN_WIDTH/2 - 128 + 32 + 10-120+18,
            "y" : 115-110,

            "width" : 256 + 14 + 2 + 11+100+10,
            "height" : 37,

            "children" :
            (
                {

                    "name" : "ChatButton",
                    "type" : "button",

                    "x" : 128+45+4,
                    "y" : 13,
                    "tooltip_text" : "Chat",
                    
                    
                    "default_image" : BASE + "btn_chat_01_normal.tga",
                    "over_image" : BASE + "btn_chat_02_hover.tga",
                    "down_image" : BASE + "btn_chat_03_active.tga",
                },
                {
                    "name" : "quick_slot_1",
                    "type" : "grid_table",

                    "start_index" : 0,

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

                    "x_count" : 4,
                    "y_count" : 1,
                    "x_step" : 32,
                    "y_step" : 32,
                    "x_blank" : 10,

                    "image_r" : 1.0,
                    "image_g" : 1.0,
                    "image_b" : 1.0,
                    "image_a" : 1.0,

                    "children" :
                    (
                        { "name" : "slot_1", "type" : "image", "x" : 3, "y" : 3, "image" : "d:/ymir work/ui/game/taskbar/1.sub", },
                        { "name" : "slot_2", "type" : "image", "x" : 35+10, "y" : 3, "image" : "d:/ymir work/ui/game/taskbar/2.sub", },
                        { "name" : "slot_3", "type" : "image", "x" : 67+20, "y" : 3, "image" : "d:/ymir work/ui/game/taskbar/3.sub", },
                        { "name" : "slot_4", "type" : "image", "x" : 99+30, "y" : 3, "image" : "d:/ymir work/ui/game/taskbar/4.sub", },
                    ),
                },
                {
                    "name" : "quick_slot_2",
                    "type" : "grid_table",

                    "start_index" : 4,

                    "x" : 128 + 14+60+17+1,
                    "y" : 3,

                    "x_count" : 4,
                    "y_count" : 1,
                    "x_step" : 32,
                    "y_step" : 32,
                    "x_blank" : 10,

                    "image_r" : 1.0,
                    "image_g" : 1.0,
                    "image_b" : 1.0,
                    "image_a" : 1.0,

                    "children" :
                    (
                        { "name" : "slot_5", "type" : "image", "x" : 3, "y" : 3, "image" : "d:/ymir work/ui/game/taskbar/f1.sub", },
                        { "name" : "slot_6", "type" : "image", "x" : 35+10, "y" : 3, "image" : "d:/ymir work/ui/game/taskbar/f2.sub", },
                        { "name" : "slot_7", "type" : "image", "x" : 67+22, "y" : 3, "image" : "d:/ymir work/ui/game/taskbar/f3.sub", },
                        { "name" : "slot_8", "type" : "image", "x" : 99+32, "y" : 3, "image" : "d:/ymir work/ui/game/taskbar/f4.sub", },
                    ),
                },
                {
                    "name" : "QuickSlotBoard",
                    "type" : "window",

                    "x" : 128+14+128+2+116,
                    "y" : -6,
                    "width" : 11,
                    "height" : 37,
                    "children" :
                    (

                        {
                            "name" : "QuickPageNumber",
                            "type" : "image",                             
                            "x" : -6, "y" : 15, "image" : "d:/ymir work/ui/game/taskbar/1.sub",
                        },
                        {
                            "name" : "QuickPageDownButton",
                            "type" : "button",
                            "tooltip_text" : uiScriptLocale.TASKBAR_NEXT_QUICKSLOT,

                            "x" : 1,
                            "y" : 25,

                            "default_image" :"d:/ymir work/interface/taskbar/switch.tga",
                            "over_image" : "d:/ymir work/interface/taskbar/switch.tga",
                            "down_image" : "d:/ymir work/interface/taskbar/switch.tga",
                        },
    
                    ),
                },
            ),
        },

    ),
}


benim taskbar_left2.py:
import uiScriptLocale
import app

ROOT = "d:/ymir work/ui/game/"
BASE = "d:/ymir work/interface/taskbar/"

Y_ADD_POSITION = 0

window = {
    "name" : "TaskBar",

    "x" : SCREEN_WIDTH - 240,
    "y" : SCREEN_HEIGHT - 55,

    "width" : 255,
    "height" : 158,


    "children" :
    (   
    

        {
            "name" : "BG",
            "type" : "image",

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

            "width" : 128,
            "height" : 128,
            
            "image" :"d:/ymir work/interface/taskbar/new_right.tga",   

        },
        {
            "name" : "SystemButton",
            "type" : "button",

            "x" : 200,
            "y" : 12,

            "tooltip_text" : uiScriptLocale.TASKBAR_SYSTEM,

            "default_image" : BASE + "buttons/option_normal.tga",
            "over_image" : BASE + "buttons/option_hover.tga",
            "down_image" : BASE + "buttons/option_active.tga",
        },

        {
            "name" : "InventoryButton",
            "type" : "button",

            "x" : 124,
            "y" : 12,

            "tooltip_text" : uiScriptLocale.TASKBAR_INVENTORY,

            "default_image" : BASE + "buttons/inventory_normal.tga",
            "over_image" : BASE + "buttons/inventory_hover.tga",
            "down_image" : BASE + "buttons/inventory_active.tga",
        },
        {
            "name" : "MessengerButton",
            "type" : "button",

            
            "x" : 163,
            "y" : 12,
            
            "tooltip_text" : uiScriptLocale.TASKBAR_MESSENGER,

            "default_image" : BASE + "buttons/messenger_normal.tga",
            "over_image" : BASE + "buttons/messenger_hover.tga",
            "down_image" : BASE + "buttons/messenger_active.tga",
        },
        
    ),
}


benim taskbar_left.py:
import uiScriptLocale
import app

ROOT = "d:/ymir work/ui/game/"
BASE = "d:/ymir work/interface/taskbar/"

Y_ADD_POSITION = 0

window = {
    "name" : "TaskBar",
    
    "x" : 0,
    "y" : SCREEN_HEIGHT - 124,

    "width" : 165,
    "height" : 158,

    "children" :
    (   
        {
            "name" : "Window1",
            "type" : "window",

            "x" : 48,
            "y" : -33,

            "width" : 110,
            "height" : 108,
            

        },
        {
            "name" : "BG",
            "type" : "image",

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

            "image" : "d:/ymir work/interface/taskbar/new_left_side.tga"

        },
        
        {
            "name" : "MiniMapWindow2",
            "type" : "window",

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

            "width" : 110,
            "height" : 108,
            

        },
        
        {
            "name" : "EXPGauge_01",
            "type" : "expanded_image_vertical",

            "x" : 151,
            "y" : 92,

            "image" : BASE+"progress_exp_full.tga",
            # "tooltip_text" : "Experiencia",

        },
        
        {
            "name" : "CharacterButton",
            "type" : "button",

            "x" : 10,
            "y" : 35,

            "tooltip_text" : uiScriptLocale.TASKBAR_CHARACTER,

            "default_image" : BASE + "btn_characterinfo_01_normal.tga",
            "over_image" : BASE + "btn_characterinfo_02_hover.tga",
            "down_image" : BASE + "btn_characterinfo_03_active.tga",
        },
        
        {
            "name" : "ItemShopButton",
            "type" : "button",

            "x" : 12,
            "y" : 65,

            "tooltip_text" : "ItemShop",

            "default_image" : BASE + "btn_inventory_01_normal.tga",
            "over_image" : BASE + "btn_inventory_02_hover.tga",
            "down_image" : BASE + "btn_inventory_03_active.tga",
        },
    ),
}
 
Kusura bakma buyrun.


benim taskbar.py:
import uiScriptLocale
import app

ROOT = "d:/ymir work/ui/game/"
BASE = "d:/ymir work/interface/taskbar/"

Y_ADD_POSITION = 0

window = {
    "name" : "TaskBar",

    "x" : 0,
    "y" : SCREEN_HEIGHT - 48,

    "width" : SCREEN_WIDTH,
    "height" : 158,

    "children" :
    (   
    
        ## Board
        {
            "name" : "Base_Board_01",
            "type" : "expanded_image",

            "x" : (SCREEN_WIDTH-1193)/2,
            "y" : -110,

            "image" : BASE+"bg.tga"
        },
        {
            "name" : "LeftMouseButton",
            "type" : "button",

            "x" : (SCREEN_WIDTH/2)-230-15+15+3,
            "y" :123-110,

            "default_image" : BASE + "btn_attacknormal_01_normal.tga",
            "over_image" : BASE + "btn_attacknormal_02_hover.tga",
            "down_image" : BASE + "btn_attacknormal_03_active.tga",
        },
        {
            "name" : "button_horse",
            "type" : "button",

            "x" : SCREEN_WIDTH - 178,
            "y" : 3 + Y_ADD_POSITION,

            "tooltip_text" : "Pet Menusu",

            #"default_image" : "d:/ymir work/ui/pet_up.tga",
            #"over_image" : "d:/ymir work/ui/pet_over.tga",
            #"down_image" : "d:/ymir work/ui/pet_down.tga",
        },   
        {
            "name" : "VectorsHzl",
            "type" : "button",
 
            "x" : SCREEN_WIDTH - 248,
            "y" : 3 + Y_ADD_POSITION,
 
            "tooltip_text" : "Hizli Ekipman",
 
            #"default_image" : "d:/ymir work/ui/hzl.tga",
            #"over_image" : "d:/ymir work/ui/hzl2.tga",
            #"down_image" : "d:/ymir work/ui/hzl.tga",
        },
        {
            "name" : "DarkmmoBalikButton",
            "type" : "button",

            "x" : SCREEN_WIDTH - 280,
            "y" : 3 + Y_ADD_POSITION,

            "tooltip_text" : "Balik Botu",

            #"default_image" : "d:/ymir work/ui/balik_01.tga",
            #"over_image" : "d:/ymir work/ui/balik_02.tga",
            #"down_image" : "d:/ymir work/ui/balik_02.tga",
        },
        {
            "name" : "VectorsEfsunButton",
            "type" : "button",

            "x" : SCREEN_WIDTH - 212,
            "y" : 3 + Y_ADD_POSITION,

            "tooltip_text" : "Efsun Botu",


            #"default_image" : "d:/ymir work/ui/YesilEfsun1.tga",
            #"over_image" : "d:/ymir work/ui/YesilEfsun2.tga",
            #"down_image" : "d:/ymir work/ui/YesilEfsun1.tga",
        },       
        {
            "name" : "RightMouseButton",
            "type" : "button",

            "x" : SCREEN_WIDTH/2 + 128 + 66 + +10+5,
            "y" : 183-110,

            "default_image" : BASE + "btn_camera_01_normal.tga",
            "over_image" : BASE + "btn_camera_02_hover.tga",
            "down_image" : BASE + "btn_camera_03_active.tga",
        },
        

        ## Mouse Button


        ## QuickBar
        {
            "name" : "quickslot_board",
            "type" : "window",

            "x" : SCREEN_WIDTH/2 - 128 + 32 + 10-120+18,
            "y" : 115-110,

            "width" : 256 + 14 + 2 + 11+100+10,
            "height" : 37,

            "children" :
            (
                {

                    "name" : "ChatButton",
                    "type" : "button",

                    "x" : 128+45+4,
                    "y" : 13,
                    "tooltip_text" : "Chat",
                    
                    
                    "default_image" : BASE + "btn_chat_01_normal.tga",
                    "over_image" : BASE + "btn_chat_02_hover.tga",
                    "down_image" : BASE + "btn_chat_03_active.tga",
                },
                {
                    "name" : "quick_slot_1",
                    "type" : "grid_table",

                    "start_index" : 0,

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

                    "x_count" : 4,
                    "y_count" : 1,
                    "x_step" : 32,
                    "y_step" : 32,
                    "x_blank" : 10,

                    "image_r" : 1.0,
                    "image_g" : 1.0,
                    "image_b" : 1.0,
                    "image_a" : 1.0,

                    "children" :
                    (
                        { "name" : "slot_1", "type" : "image", "x" : 3, "y" : 3, "image" : "d:/ymir work/ui/game/taskbar/1.sub", },
                        { "name" : "slot_2", "type" : "image", "x" : 35+10, "y" : 3, "image" : "d:/ymir work/ui/game/taskbar/2.sub", },
                        { "name" : "slot_3", "type" : "image", "x" : 67+20, "y" : 3, "image" : "d:/ymir work/ui/game/taskbar/3.sub", },
                        { "name" : "slot_4", "type" : "image", "x" : 99+30, "y" : 3, "image" : "d:/ymir work/ui/game/taskbar/4.sub", },
                    ),
                },
                {
                    "name" : "quick_slot_2",
                    "type" : "grid_table",

                    "start_index" : 4,

                    "x" : 128 + 14+60+17+1,
                    "y" : 3,

                    "x_count" : 4,
                    "y_count" : 1,
                    "x_step" : 32,
                    "y_step" : 32,
                    "x_blank" : 10,

                    "image_r" : 1.0,
                    "image_g" : 1.0,
                    "image_b" : 1.0,
                    "image_a" : 1.0,

                    "children" :
                    (
                        { "name" : "slot_5", "type" : "image", "x" : 3, "y" : 3, "image" : "d:/ymir work/ui/game/taskbar/f1.sub", },
                        { "name" : "slot_6", "type" : "image", "x" : 35+10, "y" : 3, "image" : "d:/ymir work/ui/game/taskbar/f2.sub", },
                        { "name" : "slot_7", "type" : "image", "x" : 67+22, "y" : 3, "image" : "d:/ymir work/ui/game/taskbar/f3.sub", },
                        { "name" : "slot_8", "type" : "image", "x" : 99+32, "y" : 3, "image" : "d:/ymir work/ui/game/taskbar/f4.sub", },
                    ),
                },
                {
                    "name" : "QuickSlotBoard",
                    "type" : "window",

                    "x" : 128+14+128+2+116,
                    "y" : -6,
                    "width" : 11,
                    "height" : 37,
                    "children" :
                    (

                        {
                            "name" : "QuickPageNumber",
                            "type" : "image",                             
                            "x" : -6, "y" : 15, "image" : "d:/ymir work/ui/game/taskbar/1.sub",
                        },
                        {
                            "name" : "QuickPageDownButton",
                            "type" : "button",
                            "tooltip_text" : uiScriptLocale.TASKBAR_NEXT_QUICKSLOT,

                            "x" : 1,
                            "y" : 25,

                            "default_image" :"d:/ymir work/interface/taskbar/switch.tga",
                            "over_image" : "d:/ymir work/interface/taskbar/switch.tga",
                            "down_image" : "d:/ymir work/interface/taskbar/switch.tga",
                        },
    
                    ),
                },
            ),
        },

    ),
}


benim taskbar_left2.py:
import uiScriptLocale
import app

ROOT = "d:/ymir work/ui/game/"
BASE = "d:/ymir work/interface/taskbar/"

Y_ADD_POSITION = 0

window = {
    "name" : "TaskBar",

    "x" : SCREEN_WIDTH - 240,
    "y" : SCREEN_HEIGHT - 55,

    "width" : 255,
    "height" : 158,


    "children" :
    (   
    

        {
            "name" : "BG",
            "type" : "image",

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

            "width" : 128,
            "height" : 128,
            
            "image" :"d:/ymir work/interface/taskbar/new_right.tga",   

        },
        {
            "name" : "SystemButton",
            "type" : "button",

            "x" : 200,
            "y" : 12,

            "tooltip_text" : uiScriptLocale.TASKBAR_SYSTEM,

            "default_image" : BASE + "buttons/option_normal.tga",
            "over_image" : BASE + "buttons/option_hover.tga",
            "down_image" : BASE + "buttons/option_active.tga",
        },

        {
            "name" : "InventoryButton",
            "type" : "button",

            "x" : 124,
            "y" : 12,

            "tooltip_text" : uiScriptLocale.TASKBAR_INVENTORY,

            "default_image" : BASE + "buttons/inventory_normal.tga",
            "over_image" : BASE + "buttons/inventory_hover.tga",
            "down_image" : BASE + "buttons/inventory_active.tga",
        },
        {
            "name" : "MessengerButton",
            "type" : "button",

            
            "x" : 163,
            "y" : 12,
            
            "tooltip_text" : uiScriptLocale.TASKBAR_MESSENGER,

            "default_image" : BASE + "buttons/messenger_normal.tga",
            "over_image" : BASE + "buttons/messenger_hover.tga",
            "down_image" : BASE + "buttons/messenger_active.tga",
        },
        
    ),
}


benim taskbar_left.py:
import uiScriptLocale
import app

ROOT = "d:/ymir work/ui/game/"
BASE = "d:/ymir work/interface/taskbar/"

Y_ADD_POSITION = 0

window = {
    "name" : "TaskBar",
    
    "x" : 0,
    "y" : SCREEN_HEIGHT - 124,

    "width" : 165,
    "height" : 158,

    "children" :
    (   
        {
            "name" : "Window1",
            "type" : "window",

            "x" : 48,
            "y" : -33,

            "width" : 110,
            "height" : 108,
            

        },
        {
            "name" : "BG",
            "type" : "image",

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

            "image" : "d:/ymir work/interface/taskbar/new_left_side.tga"

        },
        
        {
            "name" : "MiniMapWindow2",
            "type" : "window",

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

            "width" : 110,
            "height" : 108,
            

        },
        
        {
            "name" : "EXPGauge_01",
            "type" : "expanded_image_vertical",

            "x" : 151,
            "y" : 92,

            "image" : BASE+"progress_exp_full.tga",
            # "tooltip_text" : "Experiencia",

        },
        
        {
            "name" : "CharacterButton",
            "type" : "button",

            "x" : 10,
            "y" : 35,

            "tooltip_text" : uiScriptLocale.TASKBAR_CHARACTER,

            "default_image" : BASE + "btn_characterinfo_01_normal.tga",
            "over_image" : BASE + "btn_characterinfo_02_hover.tga",
            "down_image" : BASE + "btn_characterinfo_03_active.tga",
        },
        
        {
            "name" : "ItemShopButton",
            "type" : "button",

            "x" : 12,
            "y" : 65,

            "tooltip_text" : "ItemShop",

            "default_image" : BASE + "btn_inventory_01_normal.tga",
            "over_image" : BASE + "btn_inventory_02_hover.tga",
            "down_image" : BASE + "btn_inventory_03_active.tga",
        },
    ),
}
estağfurullah ama burda verdiği hatada bi child göremedim. PercentExp'i tüm root ve uiscript dosyalarınız içinde aratır mısınız
 
Benim Kafam bayağı uçmuş Tekrar kontrol ettimde syseri taskbardan değil :D uicharacter .py üzerinden veriyor bayağı paslanmışız ezbere iş yapmaktan :D sana zahmet olmazsa uicharacter py alabilir miyim
 
estağfurullah ama burda verdiği hatada bi child göremedim. PercentExp'i tüm root ve uiscript dosyalarınız içinde aratır mısınız
Benim Kafam bayağı uçmuş Tekrar kontrol ettimde syseri taskbardan değil :D uicharacter .py üzerinden veriyor bayağı paslanmışız ezbere iş yapmaktan :D sana zahmet olmazsa uicharacter py alabilir miyim
Linkleri görebilmek için giriş yap veya kayıt ol.
Bunun içerisinde PercentExp var Dediğin gibi büyük ihtimal buradan kaynaklanıyor.
 
Linkleri görebilmek için giriş yap veya kayıt ol.
Bunun içerisinde PercentExp var Dediğin gibi büyük ihtimal buradan kaynaklanıyor.
uicharacter.py de 888. satıra yorum # şunu koyarsanız çözülür diğer çektiği ( PercentExp ) bu kod her yerde kapalı 888. satırda açık olduğu için hata alıyor ve oyuna sokmuyor sizi yorum satırı yapabilirsin ("#") istersen komple satırıda silebilirsin sorunun büyük ihtimalle çözülmüş olacaktır :)
 
uicharacter.py de 888. satıra yorum # şunu koyarsanız çözülür diğer çektiği ( PercentExp ) bu kod her yerde kapalı 888. satırda açık olduğu için hata alıyor ve oyuna sokmuyor sizi yorum satırı yapabilirsin ("#") istersen komple satırıda silebilirsin sorunun büyük ihtimalle çözülmüş olacaktır :)
Aynı şekilde oyundan attı ;


0312 19:59:37428 :: File "uiCharacter.py", line 1964, in OnUpdate

0312 19:59:37429 :: File "ui.py", line 120, in __call__

0312 19:59:37429 :: File "ui.py", line 102, in __call__

0312 19:59:37430 :: File "uiCharacter.py", line 890, in Refreshing

0312 19:59:37430 :: File "ui.py", line 5725, in GetChild

0312 19:59:37430 :: KeyError
0312 19:59:37430 :: :
0312 19:59:37430 :: 'LevelText'
0312 19:59:37430 ::

0312 19:59:42850 :: Unknown packet header: 200, last: 251 250

Syserr bu

birde aldığım files'de uicharacter'de # bunlar olmamasına rağmen sorunsuz giriyor :D
 
uiscript/CharacterWindow.py
Adlı dosya içinde

LevelText Adlı Blogu görmüyor oraya eklemeyi geçerseniz syser ortadan kalkar diğer syseriniz çözülmüş görüldüğü kadarıyla sanırım siz değiştirirken eksik değiştirmişsiniz ondandır dosyaları tam değiştirirseniz probleminiz kalmaz diye düşünüyorum :)
 
uiscript/CharacterWindow.py
Adlı dosya içinde

LevelText Adlı Blogu görmüyor oraya eklemeyi geçerseniz syser ortadan kalkar diğer syseriniz çözülmüş görüldüğü kadarıyla sanırım siz değiştirirken eksik değiştirmişsiniz ondandır dosyaları tam değiştirirseniz probleminiz kalmaz diye düşünüyorum :)
{
"name":"LevelSlot",
"type":"image",
"x":25,
"y":5,
"image":"d:/ymir work/interface/character/level_round.tga",
"children":
(
{"name":"LevelText","type":"text","text":"|cfff8d09099","x":0,"y":-1,"all_align":"center",},
),
},

Gördüğünüz gibi ekli.
 
Aynı şekilde oyundan attı ;


0312 19:59:37428 :: File "uiCharacter.py", line 1964, in OnUpdate

0312 19:59:37429 :: File "ui.py", line 120, in __call__

0312 19:59:37429 :: File "ui.py", line 102, in __call__

0312 19:59:37430 :: File "uiCharacter.py", line 890, in Refreshing

0312 19:59:37430 :: File "ui.py", line 5725, in GetChild

0312 19:59:37430 :: KeyError
0312 19:59:37430 :: :
0312 19:59:37430 :: 'LevelText'
0312 19:59:37430 ::

0312 19:59:42850 :: Unknown packet header: 200, last: 251 250

Syserr bu

birde aldığım files'de uicharacter'de # bunlar olmamasına rağmen sorunsuz giriyor :D
Şurada # yok demiştin ya eskiye çevirip # bu olan az önceki yerleri kareleri silip giriş yapmayı denesene acaba ondan mı merak ettim
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst