Çözüldü İki Farklı ETC Nasıl Birleştirilir ?

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ı.

McDynamic

MT Üye
MT Üye
Mesaj
297
Çözümler
13
Beğeni
219
Puan
744
Ticaret Puanı
0
Denemiş olduğum Files'te normal ETC dışında birde xxx_etc yapılmış bu xxx_etc'yi nasıl normal etc ile birleştirebilirim ? örnek olarak loading etc değiştirdim fakat karakter ekranın'da başlat dediğimde direk atıyor. Kodlama mı gerekiyor ekstradan veya client source'den mi ayarlamak gerekiyor çözemedim sorun nedir ? Yardımlarınızı bekliyorum.
 
Oyundan attıktan sonra clientin syserr kodlarını da konuya ekleyin. ;)
 
Kod:
1104 19:49:16291 ::
introLoading.py(line:78) Open
ui.py(line:3057) GetChild

LodingWindow.Open - LoadScriptFile Error - exceptions.KeyError:LoadingPercent_Text

1104 19:49:16291 :: ============================================================================================================
1104 19:49:16291 :: Abort!!!!
Buyrun hocam :)
 
Çok açıklayıcı bir hata gerçekten ama şunu diyor;
introloading.py 78 satırında GetChild ile çekmeye çalıştığım objeyi bulamıyorum. Uiscripten çektiği. Bi kontrol et.
 
Sormayın hocam dünden beri uğraşıyorum. uiscript'te o dosyayı bulamadım farklı bir kod denedim oldu hemen vereyim o kodu burdan.
Python:
import uiScriptLocale

window = {

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

    "width" : SCREEN_WIDTH,
    "height" : SCREEN_HEIGHT,

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

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

            "image" : "d:/ymir work/ui/intro/pattern/Line_Pattern.tga",

            "x_scale" : float(SCREEN_WIDTH) / 800.0,
            "y_scale" : float(SCREEN_HEIGHT) / 600.0,
        },
        {
            "name":"ErrorMessage",
            "type":"text", "x":10, "y":10,
            "text": uiScriptLocale.LOAD_ERROR,
        },
     
        {
            "name" : "GageBoard",
            "type" : "window",
            "style" : ("ltr",),
            "x" : float(SCREEN_WIDTH) * 400 / 800.0 - 200,
            "y" : float(SCREEN_HEIGHT) * 500 / 600.0 ,
            "width" : 400,
            "height": 80,

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


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

                    "delay" : 1,

                    "images" :
                    (
                        "d:/ymir work/ui/intro/loading/00.sub",
                        "d:/ymir work/ui/intro/loading/01.sub",
                        "d:/ymir work/ui/intro/loading/02.sub",
                        "d:/ymir work/ui/intro/loading/03.sub",
                        "d:/ymir work/ui/intro/loading/04.sub",
                        "d:/ymir work/ui/intro/loading/05.sub",
                        "d:/ymir work/ui/intro/loading/06.sub",
                        "d:/ymir work/ui/intro/loading/07.sub",
                        "d:/ymir work/ui/intro/loading/08.sub",
                        "d:/ymir work/ui/intro/loading/09.sub",
                        "d:/ymir work/ui/intro/loading/10.sub",
                        "d:/ymir work/ui/intro/loading/11.sub",                     
                        "d:/ymir work/ui/intro/loading/12.sub",
                        "d:/ymir work/ui/intro/loading/13.sub",
                        "d:/ymir work/ui/intro/loading/14.sub",
                        "d:/ymir work/ui/intro/loading/15.sub",
                        "d:/ymir work/ui/intro/loading/16.sub",
                        "d:/ymir work/ui/intro/loading/17.sub",
                        "d:/ymir work/ui/intro/loading/18.sub",
                        "d:/ymir work/ui/intro/loading/19.sub",
                        "d:/ymir work/ui/intro/loading/20.sub",
                        "d:/ymir work/ui/intro/loading/21.sub",
                        "d:/ymir work/ui/intro/loading/22.sub",
                        "d:/ymir work/ui/intro/loading/23.sub",
                    )
                },
                {
                    "name" : "BackGage",
                    "type" : "expanded_image",

                    "x" : 40,
                    "y" : 25,

                    "image" : "d:/ymir work/ui/intro/loading/gauge_empty.sub",
                },
                {
                    "name" : "FullGage",
                    "type" : "expanded_image",

                    "x" : 40,
                    "y" : 25,

                    "image" : "d:/ymir work/ui/intro/loading/gauge_full.sub",
                },
                {
                    "name" : "LoadingPercent_Text",
                    "type" : "text",

                    "x" : 200,
                    "y" : -8,

                    "text" : "",
                    "vertical_align" : "center",
                },
            ),
        },
    ),
}
Yanlız sormak istediğim şimdide loading bar kısmında yüzde olarak yüklüyor bu yüzdeyi nasıl kaldırabilirim ? Konu'da sorduğum soruyu'da cevaplarsanız çok iyi olur hocam yada gerçekten detaylı bir konuyla bilgilendirirseniz iyi olur. Çünkü pack çorba oldu 2 3 gündür aklımda sebebi'de bir sürü eklentiler çıkarmak zor eklemek kolay :D
 
Sen asıl introloading'de 78. Satırda hangi kod var onu yaz buraya..
Loading yüzdesi turkmmoda paylaşılan sistem. Oradaki yönergeleri takip ederek kaldır.
 
Öncelikle şunu belirtmek isterim bu davranışı veya konuşmayı sizden beklemezdim. Burada işçi-patron ilişkisi içerisinde değiliz benim size sen şunu yap bunu yap diye bir davranışım olmadı. Bir diğer husus ise demiş olduğunuz şeye cevabım öyle bir dosya yok demiştim ardından farklı bir şekilde hallettiğimi ve kod kısmını da paylaştım amacınız bu forumda yardım konularının genişlemesi dediğiniz için paylaştım başkaları gibi kendime saklamadım ki 2 gündür uğraşıyorum. Bu paylaşımı da sizin yardımlarınız için emeğe saygı düşüncesiyle yapıyorum umarım aynı düşünceyi sizde üyelere karşı gösterirsiniz. Saygılar. Konu kapatılabilir... Çözüme kavuşmuştur...
 
Haa yazım şeyim için mi kusura bakmayın. Emir vermek için söylemedim. Ben sorunun tam anlamıyla çözülebilmesi için introloading 78. satırda yer alan kodu istedim. O yüzden direk hazır kodları sunmak yerine sorunun nereden kaynaklandığını bulmak için.
Siz yerine sen kullanmak sempati içindir. Tanıdığın birisine genelde sen veya ismi ile hitap edebilirsin.
belki yaz kelimesinin sonuna yazar mısın demediğim için öyle hissetmişsinizdir.
Yanlış anlaşıldıysam kusura bakmayın...
Genelde chat yapınca sonuna (.) eklenince insanlar genelde kötü anımsar fakat bu yazım kuralları için.

introLoading.py dosyasını rootlarda bulabilirsiniz. Uiscripte loadingwindow gibi isimlendirmeler oluyor.
Siz eğer introloading.py içeriğini paylaşırsanız bu sorunu daha detaylı bir şekilde çözüme kavuşturalım..
 
Son düzenleme:
Bu geri dönüşünüz benim için büyük bir erdemdir. Teşekkür ederim. Demiş olduğum gibi uiscript'te kod satırı değil dosyayı bile bulamadım sonrasında araştırmaya devam ettim locale_tr'de loadingwindow.py içerisindeki kodları değiştirdim oldu onun dışında şuan yüzdeyi kaldırmayı araştırıyorum. Asıl konunun başlığında da belirttim Misal Frozen files'te Frozen_etc var bunu normal etc ile nasıl birleştirebilirim. Konu biraz kapsamlı ama ihtiyaç olduğunu düşünüyorum en azından ben ve bilmeyenler için...
 
Özrümü kabul ettiniz değil mi? Siz root dosyasına giriş yapın ve introloading.py diye bir dosya var. Oradaki kodlarıda bir paylaşın.
Zaten kullandığınız filesi biliyordum o % gösterme şeyinden kaynaklı olacağını düşündüm. O yüzden istedim. Uiscriptte zaten window filan oluyor. Ben sanırsam anlatım bozukluğu yaptım.
Tekrardan istemeden de olsa kalbinizi kırdığım için özür dilerim. Tekrar dediğim gibi emir gibi bir şey değildi.. Öyle bir anlaşılma olmuş.. Düzeltme fırsatı verdiğiniz için teşekkür ederim. :)
 
Estağfurullah haddime değil kabul edip/etmemek özür dilemek erdemliktir. Memnun oldum şahsen normalde bilirsiniz kendini bilmezler olur takmazlar böyle durumlarda. Sıkıntı yok ben teşekkür ederim :) Demiş olduğunuz yüzde (%) kısmını'da şuan hallettim. Attığım syserr'a sebebiyet veren kodu'da atıyorum hocam şimdi üstteki verdiğimle farklı.
Bu kod'la denediğimde direk syserr veriyordu sanırsam kod'da eksiklikler var ondan kaynaklandı;
Python:
import uiScriptLocale

window = {
    "name" : "LoginWindow",
    "sytle" : ("movable",),

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

    "width" : SCREEN_WIDTH,
    "height" : SCREEN_HEIGHT,

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

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

            "image" : "d:/ymir work/ui/intro/pattern/Line_Pattern.tga",

            "x_scale" : float(SCREEN_WIDTH) / 800.0,
            "y_scale" : float(SCREEN_HEIGHT) / 600.0,
        },
        {
            "name":"ErrorMessage",
            "type":"text", "x":10, "y":10,
            "text": uiScriptLocale.LOAD_ERROR,
        },
        {
            "name" : "GageBoard",
            "type" : "window",
            "x" : float(SCREEN_WIDTH) * 400 / 800.0 - 200,
            "y" : float(SCREEN_HEIGHT) * 500 / 600.0 ,
            "width" : 400,
            "height": 80,

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


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

                    "delay" : 1,

                    "images" :
                    (
                        "d:/ymir work/ui/intro/loading/00.sub",
                        "d:/ymir work/ui/intro/loading/01.sub",
                        "d:/ymir work/ui/intro/loading/02.sub",
                        "d:/ymir work/ui/intro/loading/03.sub",
                        "d:/ymir work/ui/intro/loading/04.sub",
                        "d:/ymir work/ui/intro/loading/05.sub",
                        "d:/ymir work/ui/intro/loading/06.sub",
                        "d:/ymir work/ui/intro/loading/07.sub",
                        "d:/ymir work/ui/intro/loading/08.sub",
                        "d:/ymir work/ui/intro/loading/09.sub",
                        "d:/ymir work/ui/intro/loading/10.sub",
                        "d:/ymir work/ui/intro/loading/11.sub",                      
                        "d:/ymir work/ui/intro/loading/12.sub",
                        "d:/ymir work/ui/intro/loading/13.sub",
                        "d:/ymir work/ui/intro/loading/14.sub",
                        "d:/ymir work/ui/intro/loading/15.sub",
                        "d:/ymir work/ui/intro/loading/16.sub",
                        "d:/ymir work/ui/intro/loading/17.sub",
                        "d:/ymir work/ui/intro/loading/18.sub",
                        "d:/ymir work/ui/intro/loading/19.sub",
                        "d:/ymir work/ui/intro/loading/20.sub",
                        "d:/ymir work/ui/intro/loading/21.sub",
                        "d:/ymir work/ui/intro/loading/22.sub",
                        "d:/ymir work/ui/intro/loading/23.sub",
                    )
                },
                {
                    "name" : "BackGage",
                    "type" : "expanded_image",

                    "x" : 70,
                    "y" : 25,

                    "image" : "d:/ymir work/ui/intro/loading/gauge_empty.sub",          
                },
                {
                    "name" : "FullGage",
                    "type" : "expanded_image",

                    "x" : 70,
                    "y" : 25,

                    "image" : "d:/ymir work/ui/intro/loading/gauge_full.sub",          
                },
            ),
        },
    ),
}
Bu kod'da da sorun yaşamadım;
Python:
import uiScriptLocale


window = {

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

    "width" : SCREEN_WIDTH,
    "height" : SCREEN_HEIGHT,

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

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

            "image" : "d:/ymir work/ui/intro/pattern/Line_Pattern.tga",

            "x_scale" : float(SCREEN_WIDTH) / 800.0,
            "y_scale" : float(SCREEN_HEIGHT) / 600.0,
        },
        {
            "name":"ErrorMessage",
            "type":"text", "x":10, "y":10,
            "text": uiScriptLocale.LOAD_ERROR,
        },
       
        {
            "name" : "GageBoard",
            "type" : "window",
            "style" : ("ltr",),
            "x" : float(SCREEN_WIDTH) * 400 / 800.0 - 200,
            "y" : float(SCREEN_HEIGHT) * 500 / 600.0 ,
            "width" : 400,
            "height": 80,

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


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

                    "delay" : 1,

                    "images" :
                    (
                        "d:/ymir work/ui/intro/loading/00.sub",
                        "d:/ymir work/ui/intro/loading/01.sub",
                        "d:/ymir work/ui/intro/loading/02.sub",
                        "d:/ymir work/ui/intro/loading/03.sub",
                        "d:/ymir work/ui/intro/loading/04.sub",
                        "d:/ymir work/ui/intro/loading/05.sub",
                        "d:/ymir work/ui/intro/loading/06.sub",
                        "d:/ymir work/ui/intro/loading/07.sub",
                        "d:/ymir work/ui/intro/loading/08.sub",
                        "d:/ymir work/ui/intro/loading/09.sub",
                        "d:/ymir work/ui/intro/loading/10.sub",
                        "d:/ymir work/ui/intro/loading/11.sub",                       
                        "d:/ymir work/ui/intro/loading/12.sub",
                        "d:/ymir work/ui/intro/loading/13.sub",
                        "d:/ymir work/ui/intro/loading/14.sub",
                        "d:/ymir work/ui/intro/loading/15.sub",
                        "d:/ymir work/ui/intro/loading/16.sub",
                        "d:/ymir work/ui/intro/loading/17.sub",
                        "d:/ymir work/ui/intro/loading/18.sub",
                        "d:/ymir work/ui/intro/loading/19.sub",
                        "d:/ymir work/ui/intro/loading/20.sub",
                        "d:/ymir work/ui/intro/loading/21.sub",
                        "d:/ymir work/ui/intro/loading/22.sub",
                        "d:/ymir work/ui/intro/loading/23.sub",
                    )
                },
                {
                    "name" : "BackGage",
                    "type" : "expanded_image",

                    "x" : 40,
                    "y" : 25,

                    "image" : "d:/ymir work/ui/intro/loading/gauge_empty.sub",
                },
                {
                    "name" : "FullGage",
                    "type" : "expanded_image",

                    "x" : 40,
                    "y" : 25,

                    "image" : "d:/ymir work/ui/intro/loading/gauge_full.sub",
                },
                {
                    "name" : "LoadingPercent_Text",
                    "type" : "text",

                    "x" : 200,
                    "y" : -8,

                    "text" : "",
                    "vertical_align" : "center",
                },
            ),
        },
    ),
}
 
Yüzde (%) kaldırmak içinde bu anlatımdan faydalandım.

root > introloading.py

Arat
Kod:
self.loadingGage=self.GetChild("FullGage")

Altına Ekle
Kod:
self.loadingLoadingPercent=self.GetChild("LoadingPercent_Text")

Arat
Kod:
self.loadingGage.SetPercentage(2+98*p/100, 100)

Altına Ekle
Kod:
self.loadingLoadingPercent.SetText(str(2+98*p/100)+"%")

Locale x > locale > x > loadingwindow.py at
Linkleri görebilmek için giriş yap veya kayıt ol.
 
İstediğim bu değil. Roottaki introloading.py'i atacaksın. Bunlar script kodları.
 
Python:
import ui
import uiScriptLocale
import net
import app
import dbg
import player
import background
import wndMgr

import localeInfo
import chrmgr
import colorInfo
import constInfo

import playerSettingModule
import stringCommander
import emotion

####################################
# 빠른 실행을 위한 모듈 로딩 분담
####################################
import uiRefine
import uiToolTip
import uiAttachMetin
import uiPickMoney
import uiChat
import uiMessenger
import uiHelp
import uiWhisper
import uiPointReset
import uiShop
import uiExchange
import uiSystem
import uiOption
import uiRestart
####################################

class LoadingWindow(ui.ScriptWindow):
    def __init__(self, stream):
        print "NEW LOADING WINDOW -------------------------------------------------------------------------------"
        ui.Window.__init__(self)
        net.SetPhaseWindow(net.PHASE_WINDOW_LOAD, self)

        self.stream=stream
        self.loadingImage=0
        self.loadingGage=0
        self.errMsg=0
        self.update=0
        self.playerX=0
        self.playerY=0
        self.loadStepList=[]

    def __del__(self):
        print "---------------------------------------------------------------------------- DELETE LOADING WINDOW"
        net.SetPhaseWindow(net.PHASE_WINDOW_LOAD, 0)
        ui.Window.__del__(self)

    def Open(self):
        print "OPEN LOADING WINDOW -------------------------------------------------------------------------------"

        #app.HideCursor()

        try:
            pyScrLoader = ui.PythonScriptLoader()
         
            if localeInfo.IsYMIR() or localeInfo.IsWE_KOREA() or localeInfo.IsCANADA() or localeInfo.IsBRAZIL() or localeInfo.IsEUROPE() or localeInfo.IsJAPAN():
                pyScrLoader.LoadScriptFile(self, uiScriptLocale.LOCALE_UISCRIPT_PATH + "LoadingWindow.py")
            else:         
                pyScrLoader.LoadScriptFile(self, "UIScript/LoadingWindow.py")
        except:
            import exception
            exception.Abort("LodingWindow.Open - LoadScriptFile Error")

        try:
            self.loadingImage=self.GetChild("BackGround")
            self.errMsg=self.GetChild("ErrorMessage")
            self.loadingGage=self.GetChild("FullGage")
        except:
            import exception
            exception.Abort("LodingWindow.Open - LoadScriptFile Error")

        self.errMsg.Hide()

        if localeInfo.IsHONGKONG():
            imgFileNameDict = {
                0 : app.GetLocalePath() + "/ui/loading/loading0.sub",
                1 : app.GetLocalePath() + "/ui/loading/loading1.sub",
                2 : app.GetLocalePath() + "/ui/loading/loading2.sub",
                3 : app.GetLocalePath() + "/ui/loading/loading3.sub",
                4 : app.GetLocalePath() + "/ui/loading/loading4.sub",
                5 : app.GetLocalePath() + "/ui/loading/loading5.sub",
                6 : app.GetLocalePath() + "/ui/loading/loading6.sub"
            }
        elif localeInfo.IsCIBN10():
            imgFileNameDict = {
                0 : app.GetLocalePath() + "/ui/loading/loading0.jpg",
                1 : app.GetLocalePath() + "/ui/loading/loading1.jpg",
                2 : app.GetLocalePath() + "/ui/loading/loading2.jpg",
                3 : app.GetLocalePath() + "/ui/loading/loading3.jpg",
                4 : app.GetLocalePath() + "/ui/loading/loading4.jpg",
                5 : app.GetLocalePath() + "/ui/loading/loading5.jpg",
                6 : app.GetLocalePath() + "/ui/loading/loading6.jpg",
                7 : app.GetLocalePath() + "/ui/loading/loading7.jpg",
            }
        elif localeInfo.IsYMIR() or localeInfo.IsWE_KOREA() or localeInfo.IsCANADA() or localeInfo.IsBRAZIL() or localeInfo.IsEUROPE() or localeInfo.IsJAPAN():
            imgFileNameDict = {
                0 : uiScriptLocale.LOCALE_UISCRIPT_PATH + "loading/loading0.sub",
                1 : uiScriptLocale.LOCALE_UISCRIPT_PATH + "loading/loading1.sub",
                2 : uiScriptLocale.LOCALE_UISCRIPT_PATH + "loading/loading2.sub",
                3 : uiScriptLocale.LOCALE_UISCRIPT_PATH + "loading/loading3.sub",

            }
        elif constInfo.SUB2_LOADING_ENABLE:
            imgFileNameDict = {
                0 : "d:/ymir work/uiloading/background_loading_warrior.sub",
                1 : "d:/ymir work/uiloading/background_loading_assassin.sub",
                2 : "d:/ymir work/uiloading/background_loading_shaman.sub",
                3 : "d:/ymir work/uiloading/background_loading_sura.sub",
                4 : "d:/ymir work/uiloading/background_loading_assassin2.sub",
                5 : "d:/ymir work/uiloading/background_loading_sura2.sub",
                6 : "d:/ymir work/uiloading/background_loading_assassin3.sub",
                7 : "d:/ymir work/uiloading/background_loading_assassin3.sub",
            }
        else:
            imgFileNameDict = {
                0 : "d:/ymir work/ui/intro/pattern/background_loading_warrior.jpg",
                1 : "d:/ymir work/ui/intro/pattern/background_loading_assassin.jpg",
                2 : "d:/ymir work/ui/intro/pattern/background_loading_shaman.jpg",
            }

        try:
            imgFileName = imgFileNameDict[app.GetRandom(0, len(imgFileNameDict) - 1)]
            self.loadingImage.LoadImage(imgFileName)

        except:
            print "LoadingWindow.Open.LoadImage - %s File Load Error" % (imgFileName)
            self.loadingImage.Hide()


        width = float(wndMgr.GetScreenWidth()) / float(self.loadingImage.GetWidth())
        height = float(wndMgr.GetScreenHeight()) / float(self.loadingImage.GetHeight())

        self.loadingImage.SetScale(width, height)
        self.loadingGage.SetPercentage(2, 100)

        self.Show()

        chrSlot=self.stream.GetCharacterSlot()
        net.SendSelectCharacterPacket(chrSlot)

        app.SetFrameSkip(0)

    def Close(self):
        print "---------------------------------------------------------------------------- CLOSE LOADING WINDOW"

        app.SetFrameSkip(1)

        self.loadStepList=[]
        self.loadingImage=0
        self.loadingGage=0
        self.errMsg=0
        self.ClearDictionary()
        self.Hide()

    def OnPressEscapeKey(self):
        app.SetFrameSkip(1)
        self.stream.SetLoginPhase()
        return True

    def __SetNext(self, next):
        if next:
            self.update=ui.__mem_func__(next)
        else:
            self.update=0

    def __SetProgress(self, p):
        if self.loadingGage:
            self.loadingGage.SetPercentage(2+98*p/100, 100)

    def DEBUG_LoadData(self, playerX, playerY):
        self.playerX=playerX
        self.playerY=playerY

        self.__RegisterSkill() ## 로딩 중간에 실행 하면 문제 발생
        self.__RegisterTitleName()
        self.__RegisterColor()
        self.__InitData()
        self.__LoadMap()
        self.__LoadSound()
        self.__LoadEffect()
        self.__LoadWarrior()
        self.__LoadAssassin()
        self.__LoadSura()
        self.__LoadShaman()
        self.__LoadSkill()
        self.__LoadEnemy()
        self.__LoadNPC()
        self.__StartGame()

    def LoadData(self, playerX, playerY):
        self.playerX=playerX
        self.playerY=playerY

        self.__RegisterDungeonMapName()
        self.__RegisterSkill() ## 로딩 중간에 실행 하면 문제 발생
        self.__RegisterTitleName()
        self.__RegisterColor()
        self.__RegisterEmotionIcon()

        self.loadStepList=[
            (0, ui.__mem_func__(self.__InitData)),
            (10, ui.__mem_func__(self.__LoadMap)),
            (30, ui.__mem_func__(self.__LoadSound)),
            (40, ui.__mem_func__(self.__LoadEffect)),
            (50, ui.__mem_func__(self.__LoadWarrior)),
            (60, ui.__mem_func__(self.__LoadAssassin)),
            (70, ui.__mem_func__(self.__LoadSura)),
            (80, ui.__mem_func__(self.__LoadShaman)),
            (90, ui.__mem_func__(self.__LoadSkill)),
            (93, ui.__mem_func__(self.__LoadEnemy)),
            (97, ui.__mem_func__(self.__LoadNPC)),

            # GUILD_BUILDING
            (98, ui.__mem_func__(self.__LoadGuildBuilding)),
            # END_OF_GUILD_BUILDING

            (100, ui.__mem_func__(self.__StartGame)),
        ]

        self.__SetProgress(0)
        #self.__SetNext(self.__LoadMap)

    def OnUpdate(self):
        if len(self.loadStepList)>0:
            (progress, runFunc)=self.loadStepList[0]

            try:
                runFunc()
            except: 
                self.errMsg.Show()
                self.loadStepList=[]

                ## 이곳에서 syserr.txt 를 보낸다.

                import dbg
                dbg.TraceError(" !!! Failed to load game data : STEP [%d]" % (progress))

                #import shutil
                #import os
                #shutil.copyfile("syserr.txt", "errorlog.txt")
                #os.system("errorlog.exe")

                app.Exit()

                return

            self.loadStepList.pop(0)

            self.__SetProgress(progress)

    def __InitData(self):
        playerSettingModule.LoadGameData("INIT")

    def __RegisterDungeonMapName(self):
        background.RegisterDungeonMapName("metin2_map_spiderdungeon")
        background.RegisterDungeonMapName("metin2_map_monkeydungeon")
        background.RegisterDungeonMapName("metin2_map_monkeydungeon_02")
        background.RegisterDungeonMapName("metin2_map_monkeydungeon_03")
        background.RegisterDungeonMapName("metin2_map_deviltower1")

    def __RegisterSkill(self):

        race = net.GetMainActorRace()
        group = net.GetMainActorSkillGroup()
        empire = net.GetMainActorEmpire()

        playerSettingModule.RegisterSkill(race, group, empire)

    def __RegisterTitleName(self):
        for i in xrange(len(localeInfo.TITLE_NAME_LIST)):
            chrmgr.RegisterTitleName(i, localeInfo.TITLE_NAME_LIST[i])

    def __RegisterColor(self):

        ## Name
        NAME_COLOR_DICT = {
            chrmgr.NAMECOLOR_PC : colorInfo.CHR_NAME_RGB_PC,
            chrmgr.NAMECOLOR_NPC : colorInfo.CHR_NAME_RGB_NPC,
            chrmgr.NAMECOLOR_MOB : colorInfo.CHR_NAME_RGB_MOB,
            chrmgr.NAMECOLOR_PVP : colorInfo.CHR_NAME_RGB_PVP,
            chrmgr.NAMECOLOR_PK : colorInfo.CHR_NAME_RGB_PK,
            chrmgr.NAMECOLOR_PARTY : colorInfo.CHR_NAME_RGB_PARTY,
            chrmgr.NAMECOLOR_WARP : colorInfo.CHR_NAME_RGB_WARP,
            chrmgr.NAMECOLOR_WAYPOINT : colorInfo.CHR_NAME_RGB_WAYPOINT,
            chrmgr.NAMECOLOR_METIN : colorInfo.CHR_NAME_RGB_METIN,

            chrmgr.NAMECOLOR_EMPIRE_MOB : colorInfo.CHR_NAME_RGB_EMPIRE_MOB,
            chrmgr.NAMECOLOR_EMPIRE_NPC : colorInfo.CHR_NAME_RGB_EMPIRE_NPC,
            chrmgr.NAMECOLOR_EMPIRE_PC+1 : colorInfo.CHR_NAME_RGB_EMPIRE_PC_A,
            chrmgr.NAMECOLOR_EMPIRE_PC+2 : colorInfo.CHR_NAME_RGB_EMPIRE_PC_B,
            chrmgr.NAMECOLOR_EMPIRE_PC+3 : colorInfo.CHR_NAME_RGB_EMPIRE_PC_C,
        }
        for name, rgb in NAME_COLOR_DICT.items():
            chrmgr.RegisterNameColor(name, rgb[0], rgb[1], rgb[2])

        ## Title
        TITLE_COLOR_DICT = (    colorInfo.TITLE_RGB_GOOD_4,
                                colorInfo.TITLE_RGB_GOOD_3,
                                colorInfo.TITLE_RGB_GOOD_2,
                                colorInfo.TITLE_RGB_GOOD_1,
                                colorInfo.TITLE_RGB_NORMAL,
                                colorInfo.TITLE_RGB_EVIL_1,
                                colorInfo.TITLE_RGB_EVIL_2,
                                colorInfo.TITLE_RGB_EVIL_3,
                                colorInfo.TITLE_RGB_EVIL_4,    )
        count = 0
        for rgb in TITLE_COLOR_DICT:
            chrmgr.RegisterTitleColor(count, rgb[0], rgb[1], rgb[2])
            count += 1

    def __RegisterEmotionIcon(self):
        emotion.RegisterEmotionIcons()

    def __LoadMap(self):
        net.Warp(self.playerX, self.playerY)

    def __LoadSound(self):
        playerSettingModule.LoadGameData("SOUND")

    def __LoadEffect(self):
        playerSettingModule.LoadGameData("EFFECT")

    def __LoadWarrior(self):
        playerSettingModule.LoadGameData("WARRIOR")

    def __LoadAssassin(self):
        playerSettingModule.LoadGameData("ASSASSIN")

    def __LoadSura(self):
        playerSettingModule.LoadGameData("SURA")

    def __LoadShaman(self):
        playerSettingModule.LoadGameData("SHAMAN")

    def __LoadSkill(self):
        playerSettingModule.LoadGameData("SKILL")

    def __LoadEnemy(self):
        playerSettingModule.LoadGameData("ENEMY")

    def __LoadNPC(self):
        playerSettingModule.LoadGameData("NPC")

    # GUILD_BUILDING
    def __LoadGuildBuilding(self):
        playerSettingModule.LoadGuildBuildingList(localeInfo.GUILD_BUILDING_LIST_TXT)
    # END_OF_GUILD_BUILDING

    def __StartGame(self):
        background.SetViewDistanceSet(background.DISTANCE0, 25600)
        """
        background.SetViewDistanceSet(background.DISTANCE1, 19200)
        background.SetViewDistanceSet(background.DISTANCE2, 12800)
        background.SetViewDistanceSet(background.DISTANCE3, 9600)
        background.SetViewDistanceSet(background.DISTANCE4, 6400)
        """
        background.SelectViewDistanceNum(background.DISTANCE0)

        app.SetGlobalCenterPosition(self.playerX, self.playerY)

        net.StartGame()
 
En son bir moderatör tarafından düzenlenmiş:
Sanırsam FullGage objesi senin script kodunda yoktu o yüzden hata verdi. Düşündüğüm gibi loading yüzde sistemi kaynaklı. :)
Bu tür durumlarda syserr kodlarına bak. Zamanla hatayı çok kolay bulacaksın. Eğer çözemediğin şeyler olursa kodlarla beraber bu forumda yardım isteyebilirsin. Geçmiş mesajınızda çözümünü paylaşmışsınız. Teşekkür ederim.
Bu da detaylı çözüm mesajı olsun. :) Böylelikle konu tam anlamıyla çözüme kavuşmuş olur.
 
Bu sorun baya uğraştırdı beni malum ilk defa pack yapısına indim. Sanırsam Puzzle'ın doğru bir parçası yerini buldu benim açımdan. Teşekkür ederim konu kapatılabilir :)
 
Çözüm
Kod kısmı daha kolay bence. Packların diğer yapısı daha karışık. :) Ama uğraştıkça öğrenirsin. Zaten eğitim serimde pack dosyalarıyla ilgili baya detaylı bilgi vereceğim bir kaç konu vardı. Ama ona daha var.
Sen uğraştıkça hatalar alacaksın. Çünkü benimde başıma geldi. Sadece şunu bilmen lazım. Ben bu hatanın nereden kaynaklandığını nasıl bulurum. İşte bu yüzden syserr istiyoruz. Çünkü ancak syserr kayıtlarından hataları öğrenebiliriz. Ha bazı durumlarda syserr veri girmiyor oda ayrı mesele. :D
Yardım Almadan Önce Bu Konuyu Okuyunuz! Syserr Nedir? bu konuyu bu yüzden açmıştım. :)
Konu bir kaç gün daha bu şekilde kalsın daha sonra çözüldü olarak işaretlerim.
 
Evet tamamen bu yüzde % gösterge kısmı kod'da olmadığı için hata vermiş. Siz biraz taşı oynatınca hemen çözüme ulaştım aklıma daha iyi oturdu pack yapısını daha önce yüzeysel bilirdim simdi iyi oldu. Bu arada sempati sözcüğü olduğunu düşünemedim özür dilerim ayriyeten teşekkür ederim yakın biri olarak gördüğünüz için. :) Syserr yazmamamın sebebi genel bir soru sormuştum ondan gerek olmaz sanmıştım ki sorun kalmadı :) Birde Files'le başlamadım hocam pack'le başlayıp başından öğrenim dedim bunu da frozen'in dosyalarıyla yapıyorum malum her şey eklenmiş nasıl sökerim diye çabalıyorum. Dediğim gibi eklemek kolay silmek zor :) Saygılar...
 
Zamanla oda oturacak. Kodları takip ederek silebilirsin. :) Zaten dosyayı istememdeki amaçta buydu konu daha iyi pekişsin. Hem siz hatanın nereden kaynaklandığını görün hemde bu konuyu okuyanlar görsün. :)
 
İnşallah hocam biraz daha çözdüm sanırım, ama metin2 bu daha çok iş var :) Videolarınızın devamı gelsin :)
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst