mavzermete 1
mavzermete
Bvural41 1
Bvural41
noisiv 1
noisiv
Manwe Work 1
Manwe Work
xranzei 1
xranzei
Hikaye Ekle

Yang Penceresi Yapımı...

  • Konuyu başlatan Konuyu başlatan JashinSama
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 6
  • Görüntüleme Görüntüleme 3K
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

Tekrardan merhaba arkadaşlar.
Yabancı bir forumda gördüm. Denedim çalışmakta forumdada göremedim hemencecik yeni konu açayım dedim.
Ne işe yarıyor derseniz, kasılırken çok fazla yang düşüyor bildiğiniz üzere buda sohbet akışını bozuyor. bu sistemle sohbetin yanında ufak bir açılıp kapatılabilen bir pencere ekliyoruz ve düşen yanglar orada yazıyor ve sohbet temiz kalıyor...
Bir ufak görsel bırakayım şuraya.

PD2O89.gif





Geçelim yapımına:
1.) Root packini eternexusla açalım.

2.) game.py açıp aşağıdaki kodu aratın ve bir alttaki kod ile değiştirin...
Python:
    def OnPickMoney(self, money):
        chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.GAME_PICK_MONEY % (money))

Python:
    def OnPickMoney(self, money):
        self.interface.OnPickMoneyNew(money)

3.) interfacemodule.py açın sırası ile aşağıdaki işlemleri uygulayın.
Bunu aratın
Python:
    CHARACTER_SKILL_TAB = 2
Altında boş bir yere bunu ekleyin.
Python:
    class NewGoldChat(ui.Window):
        def __init__(self, parent = None, x = 0, y = 0):
            ui.Window.__init__(self)
            self.texts = {}
            self.parent = parent
            self.SpaceBet = 14
            self.maxY = 0
            self.x = x
            self.y = y
            self.ColorValue = 0xFFFFFFFF
           
            self.show = self.Button('Show Yang', x, y+3, self.showYang, 'sanyed_yang/btn_expand_normal.tga', 'sanyed_yang/btn_expand_over.tga', 'sanyed_yang/btn_expand_down.tga')
            self.hide = self.Button('Hide Yang', x, y+3, self.hideYang, 'sanyed_yang/btn_minimize_normal.tga', 'sanyed_yang/btn_minimize_over.tga', 'sanyed_yang/btn_minimize_down.tga')
            self.show.Hide()
            self.Show()

        def Button(self, tooltipText, x, y, func, UpVisual, OverVisual, DownVisual):
            button = ui.Button()
            if self.parent != None:
                button.SetParent(self.parent)
            button.SetPosition(x, y)
            button.SetUpVisual(UpVisual)
            button.SetOverVisual(OverVisual)
            button.SetDownVisual(DownVisual)
            button.SetToolTipText(tooltipText)
            button.Show()
            button.SetEvent(func)
            return button

        def showYang(self):
            for i in xrange(len(self.texts)):
                self.texts[i].Show()
            self.hide.Show()
            self.show.Hide()
            self.Show()

        def hideYang(self):
            for i in xrange(len(self.texts)):
                self.texts[i].Hide()
            self.hide.Hide()
            self.show.Show()
            self.Hide()
           
        def GetMaxY(self):
            return self.maxY

        def AddGoldValue(self, text):
            for i in xrange(len(self.texts)):
                if len(self.texts) == 10 and i == 0:
                    self.texts[i].Hide()
                x, y = self.texts[i].GetLocalPosition()
                self.texts[i].SetPosition(x, y-self.SpaceBet)

            i = 0
            if len(self.texts) == 10:
                for i in xrange(len(self.texts)-1):
                    self.texts[i] = self.texts[i+1]
                i = 9
            else:
                i = len(self.texts)
           
            self.texts[i] = ui.TextLine("Tahoma:14")
            if self.parent != None:
                self.texts[i].SetParent(self.parent)
            self.texts[i].SetPosition(self.x, self.y)
            self.texts[i].SetPackedFontColor(self.ColorValue)
            self.texts[i].SetHorizontalAlignLeft()
            self.texts[i].SetOutline(TRUE)
            self.texts[i].SetText(text)
            if self.hide.IsShow():
                self.texts[i].Show()

            if self.hide.IsShow():
                x, y = self.texts[0].GetLocalPosition()
                x2, y2 = self.hide.GetLocalPosition()
                self.hide.SetPosition(x2, y-10)

        def ClearAll(self):
            self.Hide()
            self.texts = {}
            self.show.Hide()
            self.show = None
            self.hide.Hide()
            self.hide = None

        def OnRender(self):
            if len(self.texts) > 0 and self.hide.IsShow():
                x, y = self.hide.GetGlobalPosition()
                w, h = self.texts[0].GetTextSize()
                grp.SetColor(grp.GenerateColor(0.0, 0.0, 0.0, 0.5))
                grp.RenderBar(x, y+h-6, 108, h*len(self.texts)+4)

Bunu aratın.
Python:
    def __MakeChatWindow(self):

yavaşça aşağıya doğru inin.şu kodu göreceksiniz.
Python:
        self.wndChat.SetOpenChatLogEvent(ui.__mem_func__(self.ToggleChatLogWindow))
altına bunu ekleyin
Python:
        if self.yangText:
            self.yangText.Hide()
        yangText = self.NewGoldChat(None, wndMgr.GetScreenWidth()/2 - wndChat.CHAT_WINDOW_WIDTH/2 + 600, wndMgr.GetScreenHeight() - wndChat.EDIT_LINE_HEIGHT - 37 + 9)
        self.yangText = yangText
    def OnPickMoneyNew(self, money):
        self.yangText.AddGoldValue("+%s"%(localeInfo.NumberToMoneyString(money)))

Bunu aratın
Python:
    self.wndChat = None
Altına bunu ekleyin.
Python:
    self.yangText = None

Bunu aratın
Python:
        if self.wndChat:
            self.wndChat.Destroy()

Altına bunu ekleyin
Python:
        if self.yangText:
            self.yangText.ClearAll()

Bunu aratın
Python:
        del self.wndChat
Altına bunu ekleyin
Python:
        del self.yangText

Bunu aratın
Python:
        self.wndChat.Show()
Altına bunu ekleyin
Python:
        self.yangText.Show()

Bunu aratın
Python:
        if self.wndChat:
            self.wndChat.Hide()
Altına bunu ekleyin
Python:
        if self.yangText:
            self.yangText.Hide()

Bunu aratın
Python:
                        self.wndChat,\
Altına bunu ekleyin
Python:
                        self.yangText,\

4.)ui.py açın
Bunu aratın
Python:
class TextLine(Window):

aşağıya doğru yavaşça inin

Bu kodu
Python:
    def __init__(self):
Bununla değiştirin
Python:
    def __init__(self, font = None):

ve gene aşağıdaki bu kodu
Python:
        self.SetFontName(localeInfo.UI_DEF_FONT)
Bununla değiştirin.
Python:
        if font == None:
            self.SetFontName(localeInfo.UI_DEF_FONT)
        else:
            self.SetFontName(font)


Kodlarla işimiz bitti son olarak şu dosyayı indirip arşivden çıkartın ve klasör olarak root içine atın





Tamamdır bu kadar arkadaşlar. Yapamayan olursa clienti başlattığınızda çıkan popup hata ekranının resmini yorum olarak atın yardımcı olurum...​
 
Yabancı Bir Server de Görmüştüm Ancak Böyle Açmalı Kapamalı Değildi Çok Gıcık Görünüyordu Rahatsız Ediyordu Böyle Olması Daha Uygun Olmuş İsteyen Açar Bakar İsteyen Kapar Teşekkürler :)
 
Yabancı Bir Server de Görmüştüm Ancak Böyle Açmalı Kapamalı Değildi Çok Gıcık Görünüyordu Rahatsız Ediyordu Böyle Olması Daha Uygun Olmuş İsteyen Açar Bakar İsteyen Kapar Teşekkürler :)
yorum için teşekkürler genelde soru sorulmadıkça cevap yazmıyorum ama şu tm üye olayını halledeyim diyorum :)
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst