Çözüldü Deneme Yanılma

  • Konuyu açan Konuyu açan SaaVaaa
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 23
  • Gösterim Gösterim 2K
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ı.

SaaVaaa

MT Üye
MT Üye
Mesaj
157
Çözümler
5
Beğeni
101
Puan
734
Ticaret Puanı
0
Öncelikle Selamın Aleyküm istediğimle biraz kod yazmayı denedim ama pek sonuç almadım yavaş yavaş inşallah başaracağım öncelikle konuya geçeyim Fısıltıda girilen mesaj karakter ve Kaç karakter kaldığını göstermek amaçlı 1-2 bir şey denedim ama ekranda yazı çıkıyor ama kalan mesaj karakterini göstermiyor

fısıltı duzenleme.jpg

Ekranda Gönder butonu oldugu yerde yazı kalıyor öyle mesaj karakter sayısını göstermiyor

Denediğim Kodlar

Python:
Genişlet Daralt Kopyala
self.KarakterSayisi = 212

self.SetText("0/%d" % (self.KarakterSayisi))
self.SetMax(self.KarakterSayisi)


    def KarakterSayisi(self):
        self.ChatLine.SetText("")
        self.ChatLine.SetText("0/%d" % (self.KarakterSayisi))

Bu şekilde yapılandırdım doğru mu yanlış mı bilemedim
 
Çözüm
Bilgisayar, programları çalıştırırken gerizekalı gibi davranır. Bu yüzden yapılacak her işlemi ayrıntılı ve hatasız bir şekilde belirtmeniz lazım ki düzgün sonuçlar versin. Syserr vermemesi kodun düzgün çalıştığı anlamına gelmez. Syserr sadece syntax hatalarını verir. Burada pek syntax hatası yok. Algoritma kısmında hata var. Programı çalıştıran bilgisayar zeki bir varlık olmadığı için algoritma hatalarını tahmin edemez.

Bu isimle zaten label tanımlanmış bu yüzden
Python:
Genişlet Daralt Kopyala
self.KalanKarakter = 512
şu şekilde değiştiriniz;
Python:
Genişlet Daralt Kopyala
self.KarakterSayisi = 512


Burada direk fonkiyonu yazı olarak atamaya çalışmışsınız ama SetText fonksiyonu string değerler alır. Bu yüzden
Python:
Genişlet Daralt Kopyala
self.KalanKarakter.SetText(self.KarakterSayisi)
şu şekilde...
Her yazı yazdığınız sürece güncellenmesini istiyorsanız OnUpdate fonksiyonunu kullanabilirsiniz.

Güzel düşünmüş bir özellik ama sistemi yazarken uyguladığınız adımlar yanlış.
ChatLine objesi mevcut yazıların yazıldığı bölge için kullanılıyor. Bu yüzden bu değerleri bu bölgeye ekleyemezsiniz. uiscript üzerinden yeni bir label ekleyin ve bilgileri ona yazdırmayı deneyin.

Ek olarak % işaretinden sonra parentez kullanmanıza gerek yok. Çünkü tek bir değer yazdırıyorsunuz.
Şu şekilde de olabilir;
Python:
Genişlet Daralt Kopyala
self.SetText("0/%d" % self.KarakterSayisi)

Ya da şu şekilde de kullanabilirsiniz.
Python:
Genişlet Daralt Kopyala
self.SetText("0/"+str(self.KarakterSayisi))
 
Vegasın contact sistemininde OnUptade bölümü yok. Kendim oluşturursam bir problem olmaz sanırsam. Genede yanıtınız için teşekkür ederim Admin bey.
 
@Whistle Öncelikle Denedim dediğinizi ama bir sorun alıyorum paylaşmak istedim eğer zamanınız varsa yardımcı olabilir misiniz

Bu Seferde Hiç Syser Alamıyorum whisperi paste olarak paylaşmak istedim acaba doğru mu yanlış mı yapıyorum yardımcı olabilme imkanız var mı Her halukaarda Teşekkür ederim :)

Linkleri görebilmek için giriş yap veya kayıt ol.
 
self.SetText diye atama yapmışsınız bu şekilde olmaz.
Mesela uiscriptten bir label ekleyeceksiniz daha sonra şuna benzer bir şekilde atama yapacaksınız.
Python:
Genişlet Daralt Kopyala
self.KalanKarakter = GetObject("Kalan_Karakter")

Label bilgisini atadıktan sonra SetText fonksiyonunu kullanabilirsiniz. Örnek;
Python:
Genişlet Daralt Kopyala
self.KalanKarakter.SetText("%d/%d" % (len(text), self.KarakterSayisi))

Eğer bu anlatılanları anlayamıyorsanız eğitim serisinin 5. ünite kısmına göz gezdirebilirsiniz. Son yayınladığım bölümde yazı eklemeyi gösterdim.

 
Bu biçimde Denedim Aslında Bir öncekinde bu şekilde syser Atıyor
global name 'text' is not defined

şu şekilde ama çözüm olarak şunu kullandım hatta

text = self.GetText()

gene bir fayda sağlayamadım ben mi sıkıntı yaşıyorum yoksa anlamadım bu arada label olarakta eklıyorum zaten karşılık olarak
 
O şekilde çalışmaz. Bir önceki mesajım da nedenini söylemiştim. Kodlara göz gezdirerek neyin nasıl yapıldığını öğrenebilirsiniz.

Uiscript/whisperdialog.py ve root/uiwhisper.py dosyasında son yazdığınız kodları paylaşabilir misiniz?
Birde mesaja eklediğim rehber videosunu izlediniz mi? Orada da labelin nasıl ekleneceğini tek tek gösterdim.
Kod kısmı karışık olabiliyor. Öğrenmek uğraştırıcı bir süreç.
 
O şekilde çalışmaz. Bir önceki mesajım da nedenini söylemiştim. Kodlara göz gezdirerek neyin nasıl yapıldığını öğrenebilirsiniz.

Uiscript/whisperdialog.py ve root/uiwhisper.py dosyasında son yazdığınız kodları paylaşabilir misiniz?
Birde mesaja eklediğim rehber videosunu izlediniz mi? Orada da labelin nasıl ekleneceğini tek tek gösterdim.
Kod kısmı karışık olabiliyor. Öğrenmek uğraştırıcı bir süreç.

Öncelikle videoyu izledim ama gene de uiscript labele bildiğim şekilde ekledim acaba ben dikkatsizce bakıp fark etmıyor muyum anlayamadım ya da bilgi eksikliğimden ötürü yapamıyor muyum çözmedim çok önemli birşey değil sistem ben sadece başarmak istediğim için biraz fazla üstünde duruyorum sizide yoruyorsam kusura bakmayın lütfen sonuçta ilgilenmek zorunda değilsiniz genede ilgilendiğiniz için gercekten teşekkür ederim

whisper
Python:
Genişlet Daralt Kopyala
import ui,net,chat,player,app,localeInfo,ime,chr,savasp,time
if app.YENILENMIS_FISILTI_SISTEMI:
    import uiContact
class WhisperButton(ui.Button):
    def __init__(self):
        ui.Button.__init__(self, "TOP_MOST")

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

    def SetToolTipText(self, text, x=0, y = 32):
        ui.Button.SetToolTipText(self, text, x, y)
        self.ToolTipText.Show()

    def SetToolTipTextWithColor(self, text, color, x=0, y = 32):
        ui.Button.SetToolTipText(self, text, x, y)
        self.ToolTipText.SetPackedFontColor(color)
        self.ToolTipText.Show()

    def ShowToolTip(self):
        if 0 != self.ToolTipText:
            self.ToolTipText.Show()

    def HideToolTip(self):
        if 0 != self.ToolTipText:
            self.ToolTipText.Show()

class WhisperDialog(ui.ScriptWindow):

    class TextRenderer(ui.Window):
        def SetTargetName(self, targetName):
            self.targetName = targetName

        def OnRender(self):
            (x, y) = self.GetGlobalPosition()
            chat.RenderWhisper(self.targetName, x, y)

    class ResizeButton(ui.DragButton):

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

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

        def OnMouseOverIn(self):
            app.SetCursor(app.HVSIZE)

        def OnMouseOverOut(self):
            app.SetCursor(app.NORMAL)

    def __init__(self, eventMinimize, eventClose):
        print "NEW WHISPER DIALOG  ----------------------------------------------------------------------------"
        ui.ScriptWindow.__init__(self)
        ui.Window.__init__(self)
        self.KalanKarakter = 512
        self.targetName = ""
        self.eventMinimize = eventMinimize
        self.eventClose = eventClose
        self.eventAcceptTarget = None
        if app.YENILENMIS_FISILTI_SISTEMI:
            self.InitializeProfileData()
      
    def __del__(self):
        print "---------------------------------------------------------------------------- DELETE WHISPER DIALOG"
        ui.ScriptWindow.__del__(self)      

    def LoadDialog(self):
        try:
            pyScrLoader = ui.PythonScriptLoader()
            pyScrLoader.LoadScriptFile(self, "UIScript/WhisperDialog.py")
        except:
            import exception
            exception.Abort("WhisperDialog.LoadDialog.LoadScript")

        try:
            GetObject = self.GetChild
            self.scrollBar = GetObject("scrollbar")
            self.titleNameEdit = GetObject("Baslik_Adi_Duzeltme")
          
            if not app.YENILENMIS_FISILTI_SISTEMI:
                self.Fisiltinin_Basligini_Halay_cek = GetObject("Fisiltinin_Basligini_Halay_cek")
                self.ignoreButton = GetObject("ignorebutton")
                self.Fisilti_Dugmesi = GetObject("Fisilti_Dugmesi")
                self.Kapatma_Dugmesi = GetObject("Kapatma_Dugmesi")

            if app.YENILENMIS_FISILTI_SISTEMI:
                self.titleNameEditBar = GetObject("Isim_Girme_Cubugu")

            self.Sohbet_Hatti = GetObject("Sohbet_Hatti")
            self.Fisilti_Kucultme_Butonu = GetObject("Fisilti_Kucultme_Butonu")
            self.Mesaj_Gonder = GetObject("Mesaj_Gonder")
            self.board = GetObject("board")
            self.editBar = GetObject("editbar")
            self.GM_Simgesi = GetObject("GM_Simgesi")
            self.Kabul_Et = GetObject("Kabul_Et")
            self.KalanKarakter = GetObject("Kalan_Karakter")
          
            if app.YENILENMIS_FISILTI_SISTEMI:
                self.Fisilti_karakter_iconlari = GetObject("Fisilti_karakter_iconlari")
                self.Fisilti_Bayrak_Iconu = GetObject("Fisilti_Bayrak_Iconu")
                self.Fisilti_Dil_Iconu = GetObject("Fisilti_Dil_Iconu")
                self.Fisilti_Isim = GetObject("Fisilti_Isim")
                self.Fisilti_Level = GetObject("Fisilti_Level")
                self.Fisilti_Durum = GetObject("Fisilti_Durum")
                self.Fisilti_Lonca = GetObject("Fisilti_Lonca")
                self.Fisilti_Dogum_Gunu = GetObject("Fisilti_Dogum_Gunu")
                self.Fisilti_Konum_Yer = GetObject("Fisilti_Konum_Yer")          
        except:
            import exception
            exception.Abort("DialogWindow.LoadDialog.BindObject")

        self.titleNameEdit.SetText("")
        self.GM_Simgesi.Hide()
        self.Fisilti_Kucultme_Butonu.SetEvent(ui.__mem_func__(self.Minimize))
        self.board.SetCloseEvent(ui.__mem_func__(self.Close))
      
        self.scrollBar.SetPos(1.0)
        self.scrollBar.SetScrollEvent(ui.__mem_func__(self.OnScroll))
        self.Sohbet_Hatti.SetReturnEvent(ui.__mem_func__(self.Mesaji_Gonder))
        self.Sohbet_Hatti.SetEscapeEvent(ui.__mem_func__(self.Minimize))
        self.Sohbet_Hatti.SetMultiLine()
        self.Sohbet_Hatti.OnIMEKeyDown = ui.__mem_func__(self.OnIMEKeyDown)
      
        self.Mesaj_Gonder.SetEvent(ui.__mem_func__(self.Mesaji_Gonder))
        self.titleNameEdit.SetReturnEvent(ui.__mem_func__(self.AcceptTarget))
        self.titleNameEdit.SetEscapeEvent(ui.__mem_func__(self.Close))
        self.Kabul_Et.SetEvent(ui.__mem_func__(self.AcceptTarget))
        self.KalanKarakter.SetText(self.KarakterSayisi)

        self.textRenderer = self.TextRenderer()
        self.textRenderer.SetParent(self)
        self.textRenderer.SetPosition(20, 28)
        self.textRenderer.SetTargetName("")
        self.textRenderer.Show()
      
        if not app.YENILENMIS_FISILTI_SISTEMI:
            self.Fisiltinin_Basligini_Halay_cek.SetText("")
            self.Kapatma_Dugmesi.SetEvent(ui.__mem_func__(self.Close))
            self.ignoreButton.SetToggleDownEvent(ui.__mem_func__(self.IgnoreTarget))
            self.ignoreButton.SetToggleUpEvent(ui.__mem_func__(self.IgnoreTarget))
            self.Fisilti_Dugmesi.SetEvent(ui.__mem_func__(self.ReportViolentWhisper))
          
            self.resizeButton = self.ResizeButton()
            self.resizeButton.SetParent(self)
            self.resizeButton.SetSize(20, 20)
            self.resizeButton.SetPosition(280, 180)
            self.resizeButton.SetMoveEvent(ui.__mem_func__(self.ResizeWhisperDialog))
            self.resizeButton.Show()
          
            self.ResizeWhisperDialog()

        if app.YENILENMIS_FISILTI_SISTEMI:
            self.SetWhisperDialogSize(410, 280)
            self.emoticonsDict = {}
            for objectEmoticons in xrange(len(uiContact.DICTIONARY['EMOTICONS_NAME_LIST'])):
                self.emoticonsDict.update({objectEmoticons : [uiContact.EmoticonDialog(self.board, 10 + (objectEmoticons * 20), 205, lambda argument = objectEmoticons: self.OnSelectEmoticon(argument), objectEmoticons)]})

    def Destroy(self):
        self.eventMinimize = None
        self.eventClose = None
        self.eventAcceptTarget = None

        if app.YENILENMIS_FISILTI_SISTEMI:
            self.InitializeProfileData()

        self.ClearDictionary()
        self.scrollBar.Destroy()
        self.titleNameEdit = None
        self.titleNameEditBar = None
        self.Kabul_Et = None
        self.scrollBar = None
        self.Sohbet_Hatti = None
        self.Mesaj_Gonder = None
        self.Fisilti_Kucultme_Butonu = None
        self.textRenderer = None
        self.board = None
        self.editBar = None
      
        if not app.YENILENMIS_FISILTI_SISTEMI:
            self.ignoreButton = None
            self.Fisilti_Dugmesi = None
            self.Kabul_Et = None
            self.resizeButton = None
            self.Kapatma_Dugmesi = None
            self.Fisiltinin_Basligini_Halay_cek = None

    if not app.YENILENMIS_FISILTI_SISTEMI:
        def ResizeWhisperDialog(self): #Fisiltiyi Yeniden Boyutlandir İletisim Kutusu
            (xPos, yPos) = self.resizeButton.GetLocalPosition()
            if xPos < 280:
                self.resizeButton.SetPosition(280, yPos)
                return
            if yPos < 150:
                self.resizeButton.SetPosition(xPos, 150)
                return
            self.SetWhisperDialogSize(xPos + 20, yPos + 20)

    def SetWhisperDialogSize(self, width, height): #Kordinat Belirleme Yeri
        try:
            max = int((width - 90) / 6) * 3 - 6

            self.board.SetSize(width, height)
            self.scrollBar.SetPosition(width - 25, 35)
            self.scrollBar.SetScrollBarSize(height - 100)
            self.scrollBar.SetPos(1.0)
            self.editBar.SetSize(width - 18, 50)
            self.Sohbet_Hatti.SetSize(width - 90, 40)
            self.Sohbet_Hatti.SetLimitWidth(width-90)
            self.SetSize(width, height)

            if 0 != self.targetName:
                chat.SetWhisperBoxSize(self.targetName, width - 50, height - 90)          
          
            if localeInfo.IsARABIC():
                self.textRenderer.SetPosition(width - 20, 28)
                self.scrollBar.SetPosition(width - 25 + self.scrollBar.GetWidth(), 35)
                self.editBar.SetPosition(10 + self.editBar.GetWidth(), height - 60)
                self.Mesaj_Gonder.SetPosition(width - 80 + self.Mesaj_Gonder.GetWidth(), 10)
                self.Fisilti_Kucultme_Butonu.SetPosition(width - 42 + self.Fisilti_Kucultme_Butonu.GetWidth(), 12)  
                if not app.YENILENMIS_FISILTI_SISTEMI:
                    self.Kapatma_Dugmesi.SetPosition(width - 24 + self.Kapatma_Dugmesi.GetWidth(), 12)
                self.Sohbet_Hatti.SetPosition(5 + self.Sohbet_Hatti.GetWidth(), 5)
                self.board.SetPosition(self.board.GetWidth(), 0)
            else:
                self.textRenderer.SetPosition(20, 28)
                self.scrollBar.SetPosition(width - 25, 35)
                self.editBar.SetPosition(10, height - 60)
                self.Mesaj_Gonder.SetPosition(width - 80, 10)

                if app.YENILENMIS_FISILTI_SISTEMI:
                    self.Fisilti_Kucultme_Butonu.SetPosition(width - 44, 10)
                else:
                    self.Fisilti_Kucultme_Butonu.SetPosition(width - 42, 12)
              
                if not app.YENILENMIS_FISILTI_SISTEMI:
                    self.Kapatma_Dugmesi.SetPosition(width - 24, 12)

            self.Sohbet_Hatti_Maksk(max)
        except:
            import exception
            exception.Abort("WhisperDialog.SetWhisperDialogSize.BindObject")

    def Sohbet_Hatti_Maksk(self, max):
        self.Sohbet_Hatti.SetMax(max)
        from grpText import GetSplitingTextLine
        text = self.Sohbet_Hatti.GetText()
        if text:
            self.Sohbet_Hatti.SetText(GetSplitingTextLine(text, max, 0))

    def OpenWithTarget(self, targetName): #Hedefle Ac
        if app.YENILENMIS_FISILTI_SISTEMI:
            net.SendRequestContactProfilePacket(targetName, 1, "")
        chat.CreateWhisper(targetName)

        if app.YENILENMIS_FISILTI_SISTEMI:
            chat.SetWhisperBoxSize(targetName, self.GetWidth() - 60, self.GetHeight() - 110)
            self.titleNameEditBar.Hide()
            self.SetPosition(170, 0)
        else:
            chat.SetWhisperBoxSize(targetName, self.GetWidth() - 60, self.GetHeight() - 90)
          
        if not app.YENILENMIS_FISILTI_SISTEMI:
            self.Fisiltinin_Basligini_Halay_cek.SetText(targetName)
            self.ignoreButton.Hide()
            if app.IsDevStage():
                self.Fisilti_Dugmesi.Show()
            else:
                self.Fisilti_Dugmesi.Hide()

        self.Sohbet_Hatti.SetFocus()
        self.targetName = targetName
        self.textRenderer.SetTargetName(targetName)
        self.GM_Simgesi.Hide()
        self.Fisilti_Kucultme_Butonu.Show()
        self.titleNameEdit.Hide()
        self.Kabul_Et.Hide()

        if    savasp.goruldu == 0:
            if "#"+str(self.targetName)+"#" in savasp.Goruldu_Listesi:
                goruldu_renk2 = {
                    1: '|cFF00FFFF|H|h'
                }
                goruldu_yazi2 = str(goruldu_renk2[1])
                localtime = time.strftime("%H:%M:%S") #|cFF00FFFF|H|h
                net.SendWhisperPacket(self.targetName, "" + goruldu_yazi2 + localeInfo.FISILTI_GORULDU + "(" + str(localtime) + ")")
                savasp.Goruldu_Listesi.remove("#"+str(self.targetName)+"#")
        else:
            pass

    def OpenWithoutTarget(self, event): #Hedef olmadan Ac
        if app.YENILENMIS_FISILTI_SISTEMI:
            self.titleNameEditBar.Show()
            self.SetPosition(250, 0)

        self.eventAcceptTarget = event
        self.Fisilti_Kucultme_Butonu.Hide()
        self.GM_Simgesi.Hide()
        self.titleNameEdit.SetText("")
        self.titleNameEdit.SetFocus()
        self.targetName = 0
        self.titleNameEdit.Show()
        self.Kabul_Et.Show()
      
        if not app.YENILENMIS_FISILTI_SISTEMI:
            self.Fisiltinin_Basligini_Halay_cek.SetText("")
            self.Fisilti_Kucultme_Butonu.Hide()
            self.GM_Simgesi.Hide()
            self.ignoreButton.Hide()
            self.Fisilti_Dugmesi.Hide()

    def SetGameMasterLook(self): #Gm Goster Gizle
        self.GM_Simgesi.Show()

    def Minimize(self):
        self.titleNameEdit.KillFocus()
        if app.YENILENMIS_FISILTI_SISTEMI:
            self.titleNameEditBar.Hide()
            self.Kabul_Et.Hide()
        self.Sohbet_Hatti.KillFocus()
        self.Hide()
        if None != self.eventMinimize:
            if app.YENILENMIS_FISILTI_SISTEMI:
                self.eventMinimize(self.targetName, self.job, self.level, self.empire, self.guild, self.language, self.status, self.location, self.year, self.month, self.day)
            else:
                self.eventMinimize(self.targetName)

    def KarakterSayisi(self):
        text = self.GetText()
        self.KalanKarakter.SetText("%d/%d" % (len(text), self.Kalan_Karakter))


    def Close(self): #Kapatma
        chat.ClearWhisper(self.targetName)
        self.titleNameEdit.KillFocus()
        if app.YENILENMIS_FISILTI_SISTEMI:
            self.titleNameEditBar.Hide()
            self.Kabul_Et.Hide()
        self.Sohbet_Hatti.KillFocus()
        self.Hide()

        if None != self.eventClose:
            self.eventClose(self.targetName)

    def ReportViolentWhisper(self): #Fisilti Bildir
        net.SendChatPacket("/reportviolentwhisper " + self.targetName)

    def IgnoreTarget(self):
        net.SendChatPacket("/ignore " + self.targetName)

    def AcceptTarget(self):
        name = self.titleNameEdit.GetText()
        if len(name) <= 0:
            self.Close()
            return

        if None != self.eventAcceptTarget:
            self.titleNameEdit.KillFocus()
            self.eventAcceptTarget(name)

    def OnScroll(self):
        chat.SetWhisperPosition(self.targetName, self.scrollBar.GetPos())
      
    if app.YENILENMIS_FISILTI_SISTEMI:
        def InitializeProfileData(self):
            self.job = -1
            self.level = -1
            self.empire = -1
            self.guild = ""
            self.language = ""
            self.status = ""
            self.location = ""
            self.year = ""
            self.month = ""
            self.day = ""
            self.lastSentenceStack = []
            self.lastSentencePos = 0

        def OnIMEKeyDown(self, key):
            if app.VK_UP == key:
                self.__PrevLastSentenceStack()
                return TRUE

            if app.VK_DOWN == key:
                self.__NextLastSentenceStack()              
                return TRUE
              
            return FALSE
          
        def __PrevLastSentenceStack(self):
            if self.lastSentenceStack and self.lastSentencePos < len(self.lastSentenceStack):
                self.lastSentencePos += 1
                lastSentence = self.lastSentenceStack[- self.lastSentencePos]
                self.Sohbet_Hatti.SetText(lastSentence)              
                self.Sohbet_Hatti.SetEndPosition()

        def __NextLastSentenceStack(self):
            if self.lastSentenceStack and self.lastSentencePos > 1:
                self.lastSentencePos -= 1
                lastSentence = self.lastSentenceStack[- self.lastSentencePos]
                self.Sohbet_Hatti.SetText(lastSentence)              
                self.Sohbet_Hatti.SetEndPosition()

        def __PushLastSentenceStack(self, text):      
            if len(text) <= 0:
                return
              
            LAST_SENTENCE_STACK_SIZE = 32
            if len(self.lastSentenceStack) > LAST_SENTENCE_STACK_SIZE:
                self.lastSentenceStack.pop(0)

            self.lastSentenceStack.append(text)
          
        def OnSelectEmoticon(self, key):
            self.Sohbet_Hatti.SetText("%s %s" % (self.Sohbet_Hatti.GetText(), uiContact.DICTIONARY['EMOTICONS_KEY_LIST'][key]))
            self.Sohbet_Hatti.OnSetFocus()

        def RecvWhisperProfile(self, job, level, empire, guild, language, status, location, year, month, day):
            def get(text):
                if not text:
                    return localeInfo.PROFILE_SELECT_DEFAULT
                return text

            self.job = job
            self.level = level
            self.empire = empire
            self.guild = guild
            self.language = language
            self.status = status
            self.location = location
            self.year = year
            self.month = month
            self.day = day

            if empire in uiContact.DICTIONARY['EMPIRE_IMAGE_LIST']:
                self.Fisilti_Bayrak_Iconu.LoadImage(uiContact.DICTIONARY['EMPIRE_IMAGE_LIST'][empire])

            if job in uiContact.DICTIONARY['FACE_IMAGE_LIST']:
                self.Fisilti_karakter_iconlari.LoadImage(uiContact.DICTIONARY['FACE_IMAGE_LIST'][job])
              
            if language:
                self.Fisilti_Dil_Iconu.LoadImage(uiContact.DICTIONARY['LANGUAGE_IMAGE_STRING'] % (language))

            self.Fisilti_Isim.SetText(str(self.targetName))
            self.Fisilti_Level.SetText(str(level))
            self.Fisilti_Lonca.SetText(str(guild))
            self.Fisilti_Dogum_Gunu.SetText("%s/%s/%s" % (get(year), get(month), get(day)))      
          
            if len(location) > 19:
                location = location[:16] + "..."
            if len(status) > 19:
                status = status[:16] + "..."          
              
            self.Fisilti_Konum_Yer.SetText(str(location))
            self.Fisilti_Durum.SetText(str(status))

    def Mesaji_Gonder(self):
        text = self.Sohbet_Hatti.GetText()
        textLength = len(text)

        if textLength > 0:
            if net.IsInsultIn(text):
                chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.CHAT_INSULT_STRING)
                return
          
            net.SendWhisperPacket(self.targetName, text)
            self.Sohbet_Hatti.SetText("")
          
            if app.YENILENMIS_FISILTI_SISTEMI:
                self.__PushLastSentenceStack(text)
                chat.AppendWhisper(chat.WHISPER_TYPE_CHAT, self.targetName, "%s %s : %s" % (uiContact.GetWhisperSendedTime(), player.GetName(), text))
            else:
                chat.AppendWhisper(chat.WHISPER_TYPE_CHAT, self.targetName, player.GetName() + " : " + text)

    def OnTop(self):
        if self.Sohbet_Hatti:
            self.Sohbet_Hatti.SetFocus()
      
    def BindInterface(self, interface):
        self.interface = interface
      
    def OnMouseLeftButtonDown(self):
        hyperlink = ui.GetHyperlink()
        if hyperlink:
            if app.IsPressed(app.DIK_LALT):
                link = chat.GetLinkFromHyperlink(hyperlink)
                ime.PasteString(link)
            else:
                self.interface.MakeHyperlinkTooltip(hyperlink)

if "__main__" == __name__:
    import uiTest

    class TestApp(uiTest.App):
        def OnInit(self):
            wnd = WhisperDialog(self.OnMax, self.OnMin)
            wnd.LoadDialog()
            wnd.OpenWithoutTarget(self.OnNew)
            wnd.SetPosition(0, 0)
            wnd.Show()

            self.wnd = wnd

        def OnMax(self):
            pass

        def OnMin(self):
            pass

        def OnNew(self):
            pass

    TestApp().MainLoop()
Linkleri görebilmek için giriş yap veya kayıt ol.


uiscript
Python:
Genişlet Daralt Kopyala
                {
                    "name" : "Kalan_Karakter",
                    "type" : "text",
                    "x" : 30,
                    "y" : 235,
                    "text" : "",
                },
Linkleri görebilmek için giriş yap veya kayıt ol.


Son yaptığım şekil bunlar istediğiniz py dosyaları kisi sayısını kalan karakter olarak düzelttim galiba yapamadıgımdan ötürü biraz kurcaladım iyi mi oldu kötümü çözemedim :s20::)
 
En son bir moderatör tarafından düzenlenmiş:
Kodlarınızı inceledim ve uiscript kısmı doğru gözüküyor. Değişkenlerin kullanımında hata tespit ettim.
Bir de kodları direk sitemizin kod blogunu kullanarak ekleyebilirsiniz.ek

Python:
Genişlet Daralt Kopyala
    def KarakterSayisi(self):
        text = self.GetText()
        self.KalanKarakter.SetText("%d/%d" % (len(text), self.Kalan_Karakter))

Burada iki hata mevcut. self.GetText yazmışsınız ama neyin textini alıyorsunuz? Bu şekilde kullanamazsınız. Yazı tanımlanmış olan objenin yazılarını alabilirsiniz. Kodlara baktığıma göre whisper pencereniz varsayılan değil. Baya eklemeler yapılmış.
Mesaj gönderilen chatline kısmının yazılarını almak için şunu kullanabilirsiniz;
Python:
Genişlet Daralt Kopyala
self.Sohbet_Hatti.GetText()


self.Kalan_Karakter adında bir değişkeni fonksiyona göndermeye çalışıyorsunuz ama böyle bir değişken tanımlı değil. Bunu tanımlayın.

Aşağıda ki kod doğru gibi gözüküyor. En azından verdiğiniz uscript koduna bakarak bu yorumu yapabiliyorum.
Python:
Genişlet Daralt Kopyala
self.KalanKarakter = GetObject("Kalan_Karakter")
Ama benim dikkatimi çeken şu nokta oldu;
Python:
Genişlet Daralt Kopyala
self.KalanKarakter = 512

Zaten self.KalanKarakter değişkeninine bir obje tanımlıyorsunuz. Neden aynı isimle oluşturulan 2 değişkeni farklı şeyler atama yaptınız? En azından bunun adını değiştiriniz ki karışıklık olmasın.

Şu ana kadar gözüme çarpan sorunlar bunlar. Daha önce söylediğim gibi kodlara göz gezdirirseniz neyin hangi amaçla yazıldığını anlayabilirsiniz.

Benim için bir sorun yok istediğiniz soruları sorabilirsiniz. :) Zaten çoğumuz sırf başarabilmek için uğraşıyoruz. Eğer üzerinde durursanız daha çok şey yapabileceğinize inanıyorum. :oops:
 
Son düzenleme:
Whisperi Biraz Kendimce Düzenledim ondan biraz Alt üst ettim kötü olmuş sanırsam .d Mantıken kendime göre düzenlersem en azından daha rahat yazarım zorlanmam kafasıyla hareket etmişitm ondan chatline falan değiştirdim


Python:
Genişlet Daralt Kopyala
self.Sohbet_Hatti.GetText()
bu arada şurayı nasıl görmediğime inanamadım gerçekten hiç fark etmemişim dün okadar da bakmıştım :s20:

şurada
Python:
Genişlet Daralt Kopyala
self.KalanKarakter = 512
bunu 2 label oluşturup birinde kullanabilecekleri karakter diğerinde ise kalan karakteri yazdıracaktım ondan yazmıştım biraz karıştırıcı olmuş

Bu arada adımları uyguladım ne garip ki syser almadım ben gene de bir size whisperi siz istemeden yükliyeyim

Python:
Genişlet Daralt Kopyala
import ui,net,chat,player,app,localeInfo,ime,chr,savasp,time
if app.YENILENMIS_FISILTI_SISTEMI:
    import uiContact
class WhisperButton(ui.Button):
    def __init__(self):
        ui.Button.__init__(self, "TOP_MOST")

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

    def SetToolTipText(self, text, x=0, y = 32):
        ui.Button.SetToolTipText(self, text, x, y)
        self.ToolTipText.Show()

    def SetToolTipTextWithColor(self, text, color, x=0, y = 32):
        ui.Button.SetToolTipText(self, text, x, y)
        self.ToolTipText.SetPackedFontColor(color)
        self.ToolTipText.Show()

    def ShowToolTip(self):
        if 0 != self.ToolTipText:
            self.ToolTipText.Show()

    def HideToolTip(self):
        if 0 != self.ToolTipText:
            self.ToolTipText.Show()

class WhisperDialog(ui.ScriptWindow):

    class TextRenderer(ui.Window):
        def SetTargetName(self, targetName):
            self.targetName = targetName

        def OnRender(self):
            (x, y) = self.GetGlobalPosition()
            chat.RenderWhisper(self.targetName, x, y)

    class ResizeButton(ui.DragButton):

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

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

        def OnMouseOverIn(self):
            app.SetCursor(app.HVSIZE)

        def OnMouseOverOut(self):
            app.SetCursor(app.NORMAL)

    def __init__(self, eventMinimize, eventClose):
        print "NEW WHISPER DIALOG  ----------------------------------------------------------------------------"
        ui.ScriptWindow.__init__(self)
        ui.Window.__init__(self)
        self.KalanKarakter = 512
        self.targetName = ""
        self.eventMinimize = eventMinimize
        self.eventClose = eventClose
        self.eventAcceptTarget = None
        if app.YENILENMIS_FISILTI_SISTEMI:
            self.InitializeProfileData()
    
    def __del__(self):
        print "---------------------------------------------------------------------------- DELETE WHISPER DIALOG"
        ui.ScriptWindow.__del__(self)    

    def LoadDialog(self):
        try:
            pyScrLoader = ui.PythonScriptLoader()
            pyScrLoader.LoadScriptFile(self, "UIScript/WhisperDialog.py")
        except:
            import exception
            exception.Abort("WhisperDialog.LoadDialog.LoadScript")

        try:
            GetObject = self.GetChild
            self.scrollBar = GetObject("scrollbar")
            self.titleNameEdit = GetObject("Baslik_Adi_Duzeltme")
        
            if not app.YENILENMIS_FISILTI_SISTEMI:
                self.Fisiltinin_Basligini_Halay_cek = GetObject("Fisiltinin_Basligini_Halay_cek")
                self.ignoreButton = GetObject("ignorebutton")
                self.Fisilti_Dugmesi = GetObject("Fisilti_Dugmesi")
                self.Kapatma_Dugmesi = GetObject("Kapatma_Dugmesi")

            if app.YENILENMIS_FISILTI_SISTEMI:
                self.titleNameEditBar = GetObject("Isim_Girme_Cubugu")

            self.Sohbet_Hatti = GetObject("Sohbet_Hatti")
            self.Fisilti_Kucultme_Butonu = GetObject("Fisilti_Kucultme_Butonu")
            self.Mesaj_Gonder = GetObject("Mesaj_Gonder")
            self.board = GetObject("board")
            self.editBar = GetObject("editbar")
            self.GM_Simgesi = GetObject("GM_Simgesi")
            self.Kabul_Et = GetObject("Kabul_Et")
            self.KalanKarakter = GetObject("Kalan_Karakter")
        
            if app.YENILENMIS_FISILTI_SISTEMI:
                self.Fisilti_karakter_iconlari = GetObject("Fisilti_karakter_iconlari")
                self.Fisilti_Bayrak_Iconu = GetObject("Fisilti_Bayrak_Iconu")
                self.Fisilti_Dil_Iconu = GetObject("Fisilti_Dil_Iconu")
                self.Fisilti_Isim = GetObject("Fisilti_Isim")
                self.Fisilti_Level = GetObject("Fisilti_Level")
                self.Fisilti_Durum = GetObject("Fisilti_Durum")
                self.Fisilti_Lonca = GetObject("Fisilti_Lonca")
                self.Fisilti_Dogum_Gunu = GetObject("Fisilti_Dogum_Gunu")
                self.Fisilti_Konum_Yer = GetObject("Fisilti_Konum_Yer")        
        except:
            import exception
            exception.Abort("DialogWindow.LoadDialog.BindObject")

        self.titleNameEdit.SetText("")
        self.GM_Simgesi.Hide()
        self.Fisilti_Kucultme_Butonu.SetEvent(ui.__mem_func__(self.Minimize))
        self.board.SetCloseEvent(ui.__mem_func__(self.Close))
    
        self.scrollBar.SetPos(1.0)
        self.scrollBar.SetScrollEvent(ui.__mem_func__(self.OnScroll))
        self.Sohbet_Hatti.SetReturnEvent(ui.__mem_func__(self.Mesaji_Gonder))
        self.Sohbet_Hatti.SetEscapeEvent(ui.__mem_func__(self.Minimize))
        self.Sohbet_Hatti.SetMultiLine()
        self.Sohbet_Hatti.OnIMEKeyDown = ui.__mem_func__(self.OnIMEKeyDown)
    
        self.Mesaj_Gonder.SetEvent(ui.__mem_func__(self.Mesaji_Gonder))
        self.titleNameEdit.SetReturnEvent(ui.__mem_func__(self.AcceptTarget))
        self.titleNameEdit.SetEscapeEvent(ui.__mem_func__(self.Close))
        self.Kabul_Et.SetEvent(ui.__mem_func__(self.AcceptTarget))
        self.KalanKarakter.SetText(self.KarakterSayisi)

        self.textRenderer = self.TextRenderer()
        self.textRenderer.SetParent(self)
        self.textRenderer.SetPosition(20, 28)
        self.textRenderer.SetTargetName("")
        self.textRenderer.Show()
    
        if not app.YENILENMIS_FISILTI_SISTEMI:
            self.Fisiltinin_Basligini_Halay_cek.SetText("")
            self.Kapatma_Dugmesi.SetEvent(ui.__mem_func__(self.Close))
            self.ignoreButton.SetToggleDownEvent(ui.__mem_func__(self.IgnoreTarget))
            self.ignoreButton.SetToggleUpEvent(ui.__mem_func__(self.IgnoreTarget))
            self.Fisilti_Dugmesi.SetEvent(ui.__mem_func__(self.ReportViolentWhisper))
        
            self.resizeButton = self.ResizeButton()
            self.resizeButton.SetParent(self)
            self.resizeButton.SetSize(20, 20)
            self.resizeButton.SetPosition(280, 180)
            self.resizeButton.SetMoveEvent(ui.__mem_func__(self.ResizeWhisperDialog))
            self.resizeButton.Show()
        
            self.ResizeWhisperDialog()

        if app.YENILENMIS_FISILTI_SISTEMI:
            self.SetWhisperDialogSize(410, 280)
            self.emoticonsDict = {}
            for objectEmoticons in xrange(len(uiContact.DICTIONARY['EMOTICONS_NAME_LIST'])):
                self.emoticonsDict.update({objectEmoticons : [uiContact.EmoticonDialog(self.board, 10 + (objectEmoticons * 20), 205, lambda argument = objectEmoticons: self.OnSelectEmoticon(argument), objectEmoticons)]})

    def Destroy(self):
        self.eventMinimize = None
        self.eventClose = None
        self.eventAcceptTarget = None

        if app.YENILENMIS_FISILTI_SISTEMI:
            self.InitializeProfileData()

        self.ClearDictionary()
        self.scrollBar.Destroy()
        self.titleNameEdit = None
        self.titleNameEditBar = None
        self.Kabul_Et = None
        self.scrollBar = None
        self.Sohbet_Hatti = None
        self.Mesaj_Gonder = None
        self.Fisilti_Kucultme_Butonu = None
        self.textRenderer = None
        self.board = None
        self.editBar = None
    
        if not app.YENILENMIS_FISILTI_SISTEMI:
            self.ignoreButton = None
            self.Fisilti_Dugmesi = None
            self.Kabul_Et = None
            self.resizeButton = None
            self.Kapatma_Dugmesi = None
            self.Fisiltinin_Basligini_Halay_cek = None

    if not app.YENILENMIS_FISILTI_SISTEMI:
        def ResizeWhisperDialog(self): #Fisiltiyi Yeniden Boyutlandir İletisim Kutusu
            (xPos, yPos) = self.resizeButton.GetLocalPosition()
            if xPos < 280:
                self.resizeButton.SetPosition(280, yPos)
                return
            if yPos < 150:
                self.resizeButton.SetPosition(xPos, 150)
                return
            self.SetWhisperDialogSize(xPos + 20, yPos + 20)

    def SetWhisperDialogSize(self, width, height): #Kordinat Belirleme Yeri
        try:
            max = int((width - 90) / 6) * 3 - 6

            self.board.SetSize(width, height)
            self.scrollBar.SetPosition(width - 25, 35)
            self.scrollBar.SetScrollBarSize(height - 100)
            self.scrollBar.SetPos(1.0)
            self.editBar.SetSize(width - 18, 50)
            self.Sohbet_Hatti.SetSize(width - 90, 40)
            self.Sohbet_Hatti.SetLimitWidth(width-90)
            self.SetSize(width, height)

            if 0 != self.targetName:
                chat.SetWhisperBoxSize(self.targetName, width - 50, height - 90)        
        
            if localeInfo.IsARABIC():
                self.textRenderer.SetPosition(width - 20, 28)
                self.scrollBar.SetPosition(width - 25 + self.scrollBar.GetWidth(), 35)
                self.editBar.SetPosition(10 + self.editBar.GetWidth(), height - 60)
                self.Mesaj_Gonder.SetPosition(width - 80 + self.Mesaj_Gonder.GetWidth(), 10)
                self.Fisilti_Kucultme_Butonu.SetPosition(width - 42 + self.Fisilti_Kucultme_Butonu.GetWidth(), 12)
                if not app.YENILENMIS_FISILTI_SISTEMI:
                    self.Kapatma_Dugmesi.SetPosition(width - 24 + self.Kapatma_Dugmesi.GetWidth(), 12)
                self.Sohbet_Hatti.SetPosition(5 + self.Sohbet_Hatti.GetWidth(), 5)
                self.board.SetPosition(self.board.GetWidth(), 0)
            else:
                self.textRenderer.SetPosition(20, 28)
                self.scrollBar.SetPosition(width - 25, 35)
                self.editBar.SetPosition(10, height - 60)
                self.Mesaj_Gonder.SetPosition(width - 80, 10)

                if app.YENILENMIS_FISILTI_SISTEMI:
                    self.Fisilti_Kucultme_Butonu.SetPosition(width - 44, 10)
                else:
                    self.Fisilti_Kucultme_Butonu.SetPosition(width - 42, 12)
            
                if not app.YENILENMIS_FISILTI_SISTEMI:
                    self.Kapatma_Dugmesi.SetPosition(width - 24, 12)

            self.Sohbet_Hatti_Maksk(max)
        except:
            import exception
            exception.Abort("WhisperDialog.SetWhisperDialogSize.BindObject")

    def Sohbet_Hatti_Maksk(self, max):
        self.Sohbet_Hatti.SetMax(max)
        from grpText import GetSplitingTextLine
        text = self.Sohbet_Hatti.GetText()
        if text:
            self.Sohbet_Hatti.SetText(GetSplitingTextLine(text, max, 0))

    def OpenWithTarget(self, targetName): #Hedefle Ac
        if app.YENILENMIS_FISILTI_SISTEMI:
            net.SendRequestContactProfilePacket(targetName, 1, "")
        chat.CreateWhisper(targetName)

        if app.YENILENMIS_FISILTI_SISTEMI:
            chat.SetWhisperBoxSize(targetName, self.GetWidth() - 60, self.GetHeight() - 110)
            self.titleNameEditBar.Hide()
            self.SetPosition(170, 0)
        else:
            chat.SetWhisperBoxSize(targetName, self.GetWidth() - 60, self.GetHeight() - 90)
        
        if not app.YENILENMIS_FISILTI_SISTEMI:
            self.Fisiltinin_Basligini_Halay_cek.SetText(targetName)
            self.ignoreButton.Hide()
            if app.IsDevStage():
                self.Fisilti_Dugmesi.Show()
            else:
                self.Fisilti_Dugmesi.Hide()

        self.Sohbet_Hatti.SetFocus()
        self.targetName = targetName
        self.textRenderer.SetTargetName(targetName)
        self.GM_Simgesi.Hide()
        self.Fisilti_Kucultme_Butonu.Show()
        self.titleNameEdit.Hide()
        self.Kabul_Et.Hide()

        if    savasp.goruldu == 0:
            if "#"+str(self.targetName)+"#" in savasp.Goruldu_Listesi:
                goruldu_renk2 = {
                    1: '|cFF00FFFF|H|h'
                }
                goruldu_yazi2 = str(goruldu_renk2[1])
                localtime = time.strftime("%H:%M:%S") #|cFF00FFFF|H|h
                net.SendWhisperPacket(self.targetName, "" + goruldu_yazi2 + localeInfo.FISILTI_GORULDU + "(" + str(localtime) + ")")
                savasp.Goruldu_Listesi.remove("#"+str(self.targetName)+"#")
        else:
            pass

    def OpenWithoutTarget(self, event): #Hedef olmadan Ac
        if app.YENILENMIS_FISILTI_SISTEMI:
            self.titleNameEditBar.Show()
            self.SetPosition(250, 0)

        self.eventAcceptTarget = event
        self.Fisilti_Kucultme_Butonu.Hide()
        self.GM_Simgesi.Hide()
        self.titleNameEdit.SetText("")
        self.titleNameEdit.SetFocus()
        self.targetName = 0
        self.titleNameEdit.Show()
        self.Kabul_Et.Show()
    
        if not app.YENILENMIS_FISILTI_SISTEMI:
            self.Fisiltinin_Basligini_Halay_cek.SetText("")
            self.Fisilti_Kucultme_Butonu.Hide()
            self.GM_Simgesi.Hide()
            self.ignoreButton.Hide()
            self.Fisilti_Dugmesi.Hide()

    def SetGameMasterLook(self): #Gm Goster Gizle
        self.GM_Simgesi.Show()

    def Minimize(self):
        self.titleNameEdit.KillFocus()
        if app.YENILENMIS_FISILTI_SISTEMI:
            self.titleNameEditBar.Hide()
            self.Kabul_Et.Hide()
        self.Sohbet_Hatti.KillFocus()
        self.Hide()
        if None != self.eventMinimize:
            if app.YENILENMIS_FISILTI_SISTEMI:
                self.eventMinimize(self.targetName, self.job, self.level, self.empire, self.guild, self.language, self.status, self.location, self.year, self.month, self.day)
            else:
                self.eventMinimize(self.targetName)

    def KarakterSayisi(self):
        self.Sohbet_Hatti.GetText()
        self.KalanKarakter.SetText("%d/%d" % (len(text), self.Kalan_Karakter))


    def Close(self): #Kapatma
        chat.ClearWhisper(self.targetName)
        self.titleNameEdit.KillFocus()
        if app.YENILENMIS_FISILTI_SISTEMI:
            self.titleNameEditBar.Hide()
            self.Kabul_Et.Hide()
        self.Sohbet_Hatti.KillFocus()
        self.Hide()

        if None != self.eventClose:
            self.eventClose(self.targetName)

    def ReportViolentWhisper(self): #Fisilti Bildir
        net.SendChatPacket("/reportviolentwhisper " + self.targetName)

    def IgnoreTarget(self):
        net.SendChatPacket("/ignore " + self.targetName)

    def AcceptTarget(self):
        name = self.titleNameEdit.GetText()
        if len(name) <= 0:
            self.Close()
            return

        if None != self.eventAcceptTarget:
            self.titleNameEdit.KillFocus()
            self.eventAcceptTarget(name)

    def OnScroll(self):
        chat.SetWhisperPosition(self.targetName, self.scrollBar.GetPos())
    
    if app.YENILENMIS_FISILTI_SISTEMI:
        def InitializeProfileData(self):
            self.job = -1
            self.level = -1
            self.empire = -1
            self.guild = ""
            self.language = ""
            self.status = ""
            self.location = ""
            self.year = ""
            self.month = ""
            self.day = ""
            self.lastSentenceStack = []
            self.lastSentencePos = 0

        def OnIMEKeyDown(self, key):
            if app.VK_UP == key:
                self.__PrevLastSentenceStack()
                return TRUE

            if app.VK_DOWN == key:
                self.__NextLastSentenceStack()            
                return TRUE
            
            return FALSE
        
        def __PrevLastSentenceStack(self):
            if self.lastSentenceStack and self.lastSentencePos < len(self.lastSentenceStack):
                self.lastSentencePos += 1
                lastSentence = self.lastSentenceStack[- self.lastSentencePos]
                self.Sohbet_Hatti.SetText(lastSentence)            
                self.Sohbet_Hatti.SetEndPosition()

        def __NextLastSentenceStack(self):
            if self.lastSentenceStack and self.lastSentencePos > 1:
                self.lastSentencePos -= 1
                lastSentence = self.lastSentenceStack[- self.lastSentencePos]
                self.Sohbet_Hatti.SetText(lastSentence)            
                self.Sohbet_Hatti.SetEndPosition()

        def __PushLastSentenceStack(self, text):    
            if len(text) <= 0:
                return
            
            LAST_SENTENCE_STACK_SIZE = 32
            if len(self.lastSentenceStack) > LAST_SENTENCE_STACK_SIZE:
                self.lastSentenceStack.pop(0)

            self.lastSentenceStack.append(text)
        
        def OnSelectEmoticon(self, key):
            self.Sohbet_Hatti.SetText("%s %s" % (self.Sohbet_Hatti.GetText(), uiContact.DICTIONARY['EMOTICONS_KEY_LIST'][key]))
            self.Sohbet_Hatti.OnSetFocus()

        def RecvWhisperProfile(self, job, level, empire, guild, language, status, location, year, month, day):
            def get(text):
                if not text:
                    return localeInfo.PROFILE_SELECT_DEFAULT
                return text

            self.job = job
            self.level = level
            self.empire = empire
            self.guild = guild
            self.language = language
            self.status = status
            self.location = location
            self.year = year
            self.month = month
            self.day = day

            if empire in uiContact.DICTIONARY['EMPIRE_IMAGE_LIST']:
                self.Fisilti_Bayrak_Iconu.LoadImage(uiContact.DICTIONARY['EMPIRE_IMAGE_LIST'][empire])

            if job in uiContact.DICTIONARY['FACE_IMAGE_LIST']:
                self.Fisilti_karakter_iconlari.LoadImage(uiContact.DICTIONARY['FACE_IMAGE_LIST'][job])
            
            if language:
                self.Fisilti_Dil_Iconu.LoadImage(uiContact.DICTIONARY['LANGUAGE_IMAGE_STRING'] % (language))

            self.Fisilti_Isim.SetText(str(self.targetName))
            self.Fisilti_Level.SetText(str(level))
            self.Fisilti_Lonca.SetText(str(guild))
            self.Fisilti_Dogum_Gunu.SetText("%s/%s/%s" % (get(year), get(month), get(day)))    
        
            if len(location) > 19:
                location = location[:16] + "..."
            if len(status) > 19:
                status = status[:16] + "..."        
            
            self.Fisilti_Konum_Yer.SetText(str(location))
            self.Fisilti_Durum.SetText(str(status))

    def Mesaji_Gonder(self):
        text = self.Sohbet_Hatti.GetText()
        textLength = len(text)

        if textLength > 0:
            if net.IsInsultIn(text):
                chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.CHAT_INSULT_STRING)
                return
        
            net.SendWhisperPacket(self.targetName, text)
            self.Sohbet_Hatti.SetText("")
        
            if app.YENILENMIS_FISILTI_SISTEMI:
                self.__PushLastSentenceStack(text)
                chat.AppendWhisper(chat.WHISPER_TYPE_CHAT, self.targetName, "%s %s : %s" % (uiContact.GetWhisperSendedTime(), player.GetName(), text))
            else:
                chat.AppendWhisper(chat.WHISPER_TYPE_CHAT, self.targetName, player.GetName() + " : " + text)

    def OnTop(self):
        if self.Sohbet_Hatti:
            self.Sohbet_Hatti.SetFocus()
    
    def BindInterface(self, interface):
        self.interface = interface
    
    def OnMouseLeftButtonDown(self):
        hyperlink = ui.GetHyperlink()
        if hyperlink:
            if app.IsPressed(app.DIK_LALT):
                link = chat.GetLinkFromHyperlink(hyperlink)
                ime.PasteString(link)
            else:
                self.interface.MakeHyperlinkTooltip(hyperlink)

if "__main__" == __name__:
    import uiTest

    class TestApp(uiTest.App):
        def OnInit(self):
            wnd = WhisperDialog(self.OnMax, self.OnMin)
            wnd.LoadDialog()
            wnd.OpenWithoutTarget(self.OnNew)
            wnd.SetPosition(0, 0)
            wnd.Show()

            self.wnd = wnd

        def OnMax(self):
            pass

        def OnMin(self):
            pass

        def OnNew(self):
            pass

    TestApp().MainLoop()

Syser yok. Çalışmıyor; pm açılıyor, yazı yazabiliyorum. Herhangi bir sıkıntı yaşatmıyor ama çalışmıyor. Ne sebepten acaba bir fikriniz var mı?
 
En son bir moderatör tarafından düzenlenmiş:
Bilgisayar, programları çalıştırırken gerizekalı gibi davranır. Bu yüzden yapılacak her işlemi ayrıntılı ve hatasız bir şekilde belirtmeniz lazım ki düzgün sonuçlar versin. Syserr vermemesi kodun düzgün çalıştığı anlamına gelmez. Syserr sadece syntax hatalarını verir. Burada pek syntax hatası yok. Algoritma kısmında hata var. Programı çalıştıran bilgisayar zeki bir varlık olmadığı için algoritma hatalarını tahmin edemez.

Bu isimle zaten label tanımlanmış bu yüzden
Python:
Genişlet Daralt Kopyala
self.KalanKarakter = 512
şu şekilde değiştiriniz;
Python:
Genişlet Daralt Kopyala
self.KarakterSayisi = 512


Burada direk fonkiyonu yazı olarak atamaya çalışmışsınız ama SetText fonksiyonu string değerler alır. Bu yüzden
Python:
Genişlet Daralt Kopyala
self.KalanKarakter.SetText(self.KarakterSayisi)
şu şekilde değiştiriniz;
Python:
Genişlet Daralt Kopyala
self.KalanKarakter.SetText(str(self.KarakterSayisi))

Uiscript ile tanımladığınız labelin adı ile fonksiyon adı aynı olamaz. Bu yüzden
Python:
Genişlet Daralt Kopyala
    def KarakterSayisi(self):
        self.Sohbet_Hatti.GetText()
        self.KalanKarakter.SetText("%d/%d" % (len(text), self.Kalan_Karakter))
Bunu şu şekilde değiştiriniz;
Python:
Genişlet Daralt Kopyala
    def KalanKarakterSayisi(self):
        text = self.Sohbet_Hatti.GetText()
        self.KalanKarakter.SetText("%d/%d" % (len(text), self.KarakterSayisi))
self.Kalan_Karakter isminde bir şey tanımlı değil bu yüzden 512'yi tanımladığınız değişken buraya yazdırılacak diye düşündüm.
len(text) olarak belirtmişsiniz ama fonksiyon içinde text adında tanımlı değişken yoktu.


Daha sonra OnUpdate fonksiyonu içine şunu yazın;
Python:
Genişlet Daralt Kopyala
       self.KalanKarakterSayisi()
 
Çözüm
Yukarıda Bu Şekildede Denemiştim hatırlarsanız ve bu şekilde deneyince nedensizce bu syseri atıyor

Kod:
Genişlet Daralt Kopyala
0320 22:31:21133 ::   File "uiWhisper.py", line 330, in OnUpdate

0320 22:31:21134 ::   File "uiWhisper.py", line 334, in KalanKarakterSayisi

0320 22:31:21134 :: NameError
0320 22:31:21134 :: :
0320 22:31:21134 :: global name 'text' is not defined
0320 22:31:21134 ::


bu whisper istediğiniz bir biçimde düzenleyince bu şekilde oldu

Python:
Genişlet Daralt Kopyala
import ui,net,chat,player,app,localeInfo,ime,chr,savasp,time
if app.YENILENMIS_FISILTI_SISTEMI:
    import uiContact
class WhisperButton(ui.Button):
    def __init__(self):
        ui.Button.__init__(self, "TOP_MOST")

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

    def SetToolTipText(self, text, x=0, y = 32):
        ui.Button.SetToolTipText(self, text, x, y)
        self.ToolTipText.Show()

    def SetToolTipTextWithColor(self, text, color, x=0, y = 32):
        ui.Button.SetToolTipText(self, text, x, y)
        self.ToolTipText.SetPackedFontColor(color)
        self.ToolTipText.Show()

    def ShowToolTip(self):
        if 0 != self.ToolTipText:
            self.ToolTipText.Show()

    def HideToolTip(self):
        if 0 != self.ToolTipText:
            self.ToolTipText.Show()

class WhisperDialog(ui.ScriptWindow):

    class TextRenderer(ui.Window):
        def SetTargetName(self, targetName):
            self.targetName = targetName

        def OnRender(self):
            (x, y) = self.GetGlobalPosition()
            chat.RenderWhisper(self.targetName, x, y)

    class ResizeButton(ui.DragButton):

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

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

        def OnMouseOverIn(self):
            app.SetCursor(app.HVSIZE)

        def OnMouseOverOut(self):
            app.SetCursor(app.NORMAL)

    def __init__(self, eventMinimize, eventClose):
        print "NEW WHISPER DIALOG  ----------------------------------------------------------------------------"
        ui.ScriptWindow.__init__(self)
        ui.Window.__init__(self)
        self.KarakterSayisi = 512
        self.targetName = ""
        self.eventMinimize = eventMinimize
        self.eventClose = eventClose
        self.eventAcceptTarget = None
        if app.YENILENMIS_FISILTI_SISTEMI:
            self.InitializeProfileData()
      
    def __del__(self):
        print "---------------------------------------------------------------------------- DELETE WHISPER DIALOG"
        ui.ScriptWindow.__del__(self)      

    def LoadDialog(self):
        try:
            pyScrLoader = ui.PythonScriptLoader()
            pyScrLoader.LoadScriptFile(self, "UIScript/WhisperDialog.py")
        except:
            import exception
            exception.Abort("WhisperDialog.LoadDialog.LoadScript")

        try:
            GetObject = self.GetChild
            self.scrollBar = GetObject("scrollbar")
            self.titleNameEdit = GetObject("Baslik_Adi_Duzeltme")
          
            if not app.YENILENMIS_FISILTI_SISTEMI:
                self.Fisiltinin_Basligini_Halay_cek = GetObject("Fisiltinin_Basligini_Halay_cek")
                self.ignoreButton = GetObject("ignorebutton")
                self.Fisilti_Dugmesi = GetObject("Fisilti_Dugmesi")
                self.Kapatma_Dugmesi = GetObject("Kapatma_Dugmesi")

            if app.YENILENMIS_FISILTI_SISTEMI:
                self.titleNameEditBar = GetObject("Isim_Girme_Cubugu")

            self.Sohbet_Hatti = GetObject("Sohbet_Hatti")
            self.Fisilti_Kucultme_Butonu = GetObject("Fisilti_Kucultme_Butonu")
            self.Mesaj_Gonder = GetObject("Mesaj_Gonder")
            self.board = GetObject("board")
            self.editBar = GetObject("editbar")
            self.GM_Simgesi = GetObject("GM_Simgesi")
            self.Kabul_Et = GetObject("Kabul_Et")
            self.KalanKarakter = GetObject("Kalan_Karakter")
          
            if app.YENILENMIS_FISILTI_SISTEMI:
                self.Fisilti_karakter_iconlari = GetObject("Fisilti_karakter_iconlari")
                self.Fisilti_Bayrak_Iconu = GetObject("Fisilti_Bayrak_Iconu")
                self.Fisilti_Dil_Iconu = GetObject("Fisilti_Dil_Iconu")
                self.Fisilti_Isim = GetObject("Fisilti_Isim")
                self.Fisilti_Level = GetObject("Fisilti_Level")
                self.Fisilti_Durum = GetObject("Fisilti_Durum")
                self.Fisilti_Lonca = GetObject("Fisilti_Lonca")
                self.Fisilti_Dogum_Gunu = GetObject("Fisilti_Dogum_Gunu")
                self.Fisilti_Konum_Yer = GetObject("Fisilti_Konum_Yer")          
        except:
            import exception
            exception.Abort("DialogWindow.LoadDialog.BindObject")

        self.titleNameEdit.SetText("")
        self.GM_Simgesi.Hide()
        self.Fisilti_Kucultme_Butonu.SetEvent(ui.__mem_func__(self.Minimize))
        self.board.SetCloseEvent(ui.__mem_func__(self.Close))
      
        self.scrollBar.SetPos(1.0)
        self.scrollBar.SetScrollEvent(ui.__mem_func__(self.OnScroll))
        self.Sohbet_Hatti.SetReturnEvent(ui.__mem_func__(self.Mesaji_Gonder))
        self.Sohbet_Hatti.SetEscapeEvent(ui.__mem_func__(self.Minimize))
        self.Sohbet_Hatti.SetMultiLine()
        self.Sohbet_Hatti.OnIMEKeyDown = ui.__mem_func__(self.OnIMEKeyDown)
      
        self.Mesaj_Gonder.SetEvent(ui.__mem_func__(self.Mesaji_Gonder))
        self.titleNameEdit.SetReturnEvent(ui.__mem_func__(self.AcceptTarget))
        self.titleNameEdit.SetEscapeEvent(ui.__mem_func__(self.Close))
        self.Kabul_Et.SetEvent(ui.__mem_func__(self.AcceptTarget))
        self.KalanKarakter.SetText(str(self.KarakterSayisi))

        self.textRenderer = self.TextRenderer()
        self.textRenderer.SetParent(self)
        self.textRenderer.SetPosition(20, 28)
        self.textRenderer.SetTargetName("")
        self.textRenderer.Show()
      
        if not app.YENILENMIS_FISILTI_SISTEMI:
            self.Fisiltinin_Basligini_Halay_cek.SetText("")
            self.Kapatma_Dugmesi.SetEvent(ui.__mem_func__(self.Close))
            self.ignoreButton.SetToggleDownEvent(ui.__mem_func__(self.IgnoreTarget))
            self.ignoreButton.SetToggleUpEvent(ui.__mem_func__(self.IgnoreTarget))
            self.Fisilti_Dugmesi.SetEvent(ui.__mem_func__(self.ReportViolentWhisper))
          
            self.resizeButton = self.ResizeButton()
            self.resizeButton.SetParent(self)
            self.resizeButton.SetSize(20, 20)
            self.resizeButton.SetPosition(280, 180)
            self.resizeButton.SetMoveEvent(ui.__mem_func__(self.ResizeWhisperDialog))
            self.resizeButton.Show()
          
            self.ResizeWhisperDialog()

        if app.YENILENMIS_FISILTI_SISTEMI:
            self.SetWhisperDialogSize(410, 280)
            self.emoticonsDict = {}
            for objectEmoticons in xrange(len(uiContact.DICTIONARY['EMOTICONS_NAME_LIST'])):
                self.emoticonsDict.update({objectEmoticons : [uiContact.EmoticonDialog(self.board, 10 + (objectEmoticons * 20), 205, lambda argument = objectEmoticons: self.OnSelectEmoticon(argument), objectEmoticons)]})

    def Destroy(self):
        self.eventMinimize = None
        self.eventClose = None
        self.eventAcceptTarget = None

        if app.YENILENMIS_FISILTI_SISTEMI:
            self.InitializeProfileData()

        self.ClearDictionary()
        self.scrollBar.Destroy()
        self.titleNameEdit = None
        self.titleNameEditBar = None
        self.Kabul_Et = None
        self.scrollBar = None
        self.Sohbet_Hatti = None
        self.Mesaj_Gonder = None
        self.Fisilti_Kucultme_Butonu = None
        self.textRenderer = None
        self.board = None
        self.editBar = None
      
        if not app.YENILENMIS_FISILTI_SISTEMI:
            self.ignoreButton = None
            self.Fisilti_Dugmesi = None
            self.Kabul_Et = None
            self.resizeButton = None
            self.Kapatma_Dugmesi = None
            self.Fisiltinin_Basligini_Halay_cek = None

    if not app.YENILENMIS_FISILTI_SISTEMI:
        def ResizeWhisperDialog(self): #Fisiltiyi Yeniden Boyutlandir İletisim Kutusu
            (xPos, yPos) = self.resizeButton.GetLocalPosition()
            if xPos < 280:
                self.resizeButton.SetPosition(280, yPos)
                return
            if yPos < 150:
                self.resizeButton.SetPosition(xPos, 150)
                return
            self.SetWhisperDialogSize(xPos + 20, yPos + 20)

    def SetWhisperDialogSize(self, width, height): #Kordinat Belirleme Yeri
        try:
            max = int((width - 90) / 6) * 3 - 6

            self.board.SetSize(width, height)
            self.scrollBar.SetPosition(width - 25, 35)
            self.scrollBar.SetScrollBarSize(height - 100)
            self.scrollBar.SetPos(1.0)
            self.editBar.SetSize(width - 18, 50)
            self.Sohbet_Hatti.SetSize(width - 90, 40)
            self.Sohbet_Hatti.SetLimitWidth(width-90)
            self.SetSize(width, height)

            if 0 != self.targetName:
                chat.SetWhisperBoxSize(self.targetName, width - 50, height - 90)          
          
            if localeInfo.IsARABIC():
                self.textRenderer.SetPosition(width - 20, 28)
                self.scrollBar.SetPosition(width - 25 + self.scrollBar.GetWidth(), 35)
                self.editBar.SetPosition(10 + self.editBar.GetWidth(), height - 60)
                self.Mesaj_Gonder.SetPosition(width - 80 + self.Mesaj_Gonder.GetWidth(), 10)
                self.Fisilti_Kucultme_Butonu.SetPosition(width - 42 + self.Fisilti_Kucultme_Butonu.GetWidth(), 12)  
                if not app.YENILENMIS_FISILTI_SISTEMI:
                    self.Kapatma_Dugmesi.SetPosition(width - 24 + self.Kapatma_Dugmesi.GetWidth(), 12)
                self.Sohbet_Hatti.SetPosition(5 + self.Sohbet_Hatti.GetWidth(), 5)
                self.board.SetPosition(self.board.GetWidth(), 0)
            else:
                self.textRenderer.SetPosition(20, 28)
                self.scrollBar.SetPosition(width - 25, 35)
                self.editBar.SetPosition(10, height - 60)
                self.Mesaj_Gonder.SetPosition(width - 80, 10)

                if app.YENILENMIS_FISILTI_SISTEMI:
                    self.Fisilti_Kucultme_Butonu.SetPosition(width - 44, 10)
                else:
                    self.Fisilti_Kucultme_Butonu.SetPosition(width - 42, 12)
              
                if not app.YENILENMIS_FISILTI_SISTEMI:
                    self.Kapatma_Dugmesi.SetPosition(width - 24, 12)

            self.Sohbet_Hatti_Maksk(max)
        except:
            import exception
            exception.Abort("WhisperDialog.SetWhisperDialogSize.BindObject")

    def Sohbet_Hatti_Maksk(self, max):
        self.Sohbet_Hatti.SetMax(max)
        from grpText import GetSplitingTextLine
        text = self.Sohbet_Hatti.GetText()
        if text:
            self.Sohbet_Hatti.SetText(GetSplitingTextLine(text, max, 0))

    def OpenWithTarget(self, targetName): #Hedefle Ac
        if app.YENILENMIS_FISILTI_SISTEMI:
            net.SendRequestContactProfilePacket(targetName, 1, "")
        chat.CreateWhisper(targetName)

        if app.YENILENMIS_FISILTI_SISTEMI:
            chat.SetWhisperBoxSize(targetName, self.GetWidth() - 60, self.GetHeight() - 110)
            self.titleNameEditBar.Hide()
            self.SetPosition(170, 0)
        else:
            chat.SetWhisperBoxSize(targetName, self.GetWidth() - 60, self.GetHeight() - 90)
          
        if not app.YENILENMIS_FISILTI_SISTEMI:
            self.Fisiltinin_Basligini_Halay_cek.SetText(targetName)
            self.ignoreButton.Hide()
            if app.IsDevStage():
                self.Fisilti_Dugmesi.Show()
            else:
                self.Fisilti_Dugmesi.Hide()

        self.Sohbet_Hatti.SetFocus()
        self.targetName = targetName
        self.textRenderer.SetTargetName(targetName)
        self.GM_Simgesi.Hide()
        self.Fisilti_Kucultme_Butonu.Show()
        self.titleNameEdit.Hide()
        self.Kabul_Et.Hide()

        if    savasp.goruldu == 0:
            if "#"+str(self.targetName)+"#" in savasp.Goruldu_Listesi:
                goruldu_renk2 = {
                    1: '|cFF00FFFF|H|h'
                }
                goruldu_yazi2 = str(goruldu_renk2[1])
                localtime = time.strftime("%H:%M:%S") #|cFF00FFFF|H|h
                net.SendWhisperPacket(self.targetName, "" + goruldu_yazi2 + localeInfo.FISILTI_GORULDU + "(" + str(localtime) + ")")
                savasp.Goruldu_Listesi.remove("#"+str(self.targetName)+"#")
        else:
            pass

    def OpenWithoutTarget(self, event): #Hedef olmadan Ac
        if app.YENILENMIS_FISILTI_SISTEMI:
            self.titleNameEditBar.Show()
            self.SetPosition(250, 0)

        self.eventAcceptTarget = event
        self.Fisilti_Kucultme_Butonu.Hide()
        self.GM_Simgesi.Hide()
        self.titleNameEdit.SetText("")
        self.titleNameEdit.SetFocus()
        self.targetName = 0
        self.titleNameEdit.Show()
        self.Kabul_Et.Show()
      
        if not app.YENILENMIS_FISILTI_SISTEMI:
            self.Fisiltinin_Basligini_Halay_cek.SetText("")
            self.Fisilti_Kucultme_Butonu.Hide()
            self.GM_Simgesi.Hide()
            self.ignoreButton.Hide()
            self.Fisilti_Dugmesi.Hide()

    def SetGameMasterLook(self): #Gm Goster Gizle
        self.GM_Simgesi.Show()

    def Minimize(self):
        self.titleNameEdit.KillFocus()
        if app.YENILENMIS_FISILTI_SISTEMI:
            self.titleNameEditBar.Hide()
            self.Kabul_Et.Hide()
        self.Sohbet_Hatti.KillFocus()
        self.Hide()
        if None != self.eventMinimize:
            if app.YENILENMIS_FISILTI_SISTEMI:
                self.eventMinimize(self.targetName, self.job, self.level, self.empire, self.guild, self.language, self.status, self.location, self.year, self.month, self.day)
            else:
                self.eventMinimize(self.targetName)

    def KalanKarakterSayisi(self):
        self.Sohbet_Hatti.GetText()
        self.KalanKarakter.SetText("%d/%d" % (len(text), self.Kalan_Karakter))

    def OnUpdate(self):
        self.KalanKarakterSayisi()

    def Close(self): #Kapatma
        chat.ClearWhisper(self.targetName)
        self.titleNameEdit.KillFocus()
        if app.YENILENMIS_FISILTI_SISTEMI:
            self.titleNameEditBar.Hide()
            self.Kabul_Et.Hide()
        self.Sohbet_Hatti.KillFocus()
        self.Hide()

        if None != self.eventClose:
            self.eventClose(self.targetName)

    def ReportViolentWhisper(self): #Fisilti Bildir
        net.SendChatPacket("/reportviolentwhisper " + self.targetName)

    def IgnoreTarget(self):
        net.SendChatPacket("/ignore " + self.targetName)

    def AcceptTarget(self):
        name = self.titleNameEdit.GetText()
        if len(name) <= 0:
            self.Close()
            return

        if None != self.eventAcceptTarget:
            self.titleNameEdit.KillFocus()
            self.eventAcceptTarget(name)

    def OnScroll(self):
        chat.SetWhisperPosition(self.targetName, self.scrollBar.GetPos())
      
    if app.YENILENMIS_FISILTI_SISTEMI:
        def InitializeProfileData(self):
            self.job = -1
            self.level = -1
            self.empire = -1
            self.guild = ""
            self.language = ""
            self.status = ""
            self.location = ""
            self.year = ""
            self.month = ""
            self.day = ""
            self.lastSentenceStack = []
            self.lastSentencePos = 0

        def OnIMEKeyDown(self, key):
            if app.VK_UP == key:
                self.__PrevLastSentenceStack()
                return TRUE

            if app.VK_DOWN == key:
                self.__NextLastSentenceStack()              
                return TRUE
              
            return FALSE
          
        def __PrevLastSentenceStack(self):
            if self.lastSentenceStack and self.lastSentencePos < len(self.lastSentenceStack):
                self.lastSentencePos += 1
                lastSentence = self.lastSentenceStack[- self.lastSentencePos]
                self.Sohbet_Hatti.SetText(lastSentence)              
                self.Sohbet_Hatti.SetEndPosition()

        def __NextLastSentenceStack(self):
            if self.lastSentenceStack and self.lastSentencePos > 1:
                self.lastSentencePos -= 1
                lastSentence = self.lastSentenceStack[- self.lastSentencePos]
                self.Sohbet_Hatti.SetText(lastSentence)              
                self.Sohbet_Hatti.SetEndPosition()

        def __PushLastSentenceStack(self, text):      
            if len(text) <= 0:
                return
              
            LAST_SENTENCE_STACK_SIZE = 32
            if len(self.lastSentenceStack) > LAST_SENTENCE_STACK_SIZE:
                self.lastSentenceStack.pop(0)

            self.lastSentenceStack.append(text)
          
        def OnSelectEmoticon(self, key):
            self.Sohbet_Hatti.SetText("%s %s" % (self.Sohbet_Hatti.GetText(), uiContact.DICTIONARY['EMOTICONS_KEY_LIST'][key]))
            self.Sohbet_Hatti.OnSetFocus()

        def RecvWhisperProfile(self, job, level, empire, guild, language, status, location, year, month, day):
            def get(text):
                if not text:
                    return localeInfo.PROFILE_SELECT_DEFAULT
                return text

            self.job = job
            self.level = level
            self.empire = empire
            self.guild = guild
            self.language = language
            self.status = status
            self.location = location
            self.year = year
            self.month = month
            self.day = day

            if empire in uiContact.DICTIONARY['EMPIRE_IMAGE_LIST']:
                self.Fisilti_Bayrak_Iconu.LoadImage(uiContact.DICTIONARY['EMPIRE_IMAGE_LIST'][empire])

            if job in uiContact.DICTIONARY['FACE_IMAGE_LIST']:
                self.Fisilti_karakter_iconlari.LoadImage(uiContact.DICTIONARY['FACE_IMAGE_LIST'][job])
              
            if language:
                self.Fisilti_Dil_Iconu.LoadImage(uiContact.DICTIONARY['LANGUAGE_IMAGE_STRING'] % (language))

            self.Fisilti_Isim.SetText(str(self.targetName))
            self.Fisilti_Level.SetText(str(level))
            self.Fisilti_Lonca.SetText(str(guild))
            self.Fisilti_Dogum_Gunu.SetText("%s/%s/%s" % (get(year), get(month), get(day)))      
          
            if len(location) > 19:
                location = location[:16] + "..."
            if len(status) > 19:
                status = status[:16] + "..."          
              
            self.Fisilti_Konum_Yer.SetText(str(location))
            self.Fisilti_Durum.SetText(str(status))

    def Mesaji_Gonder(self):
        text = self.Sohbet_Hatti.GetText()
        textLength = len(text)

        if textLength > 0:
            if net.IsInsultIn(text):
                chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.CHAT_INSULT_STRING)
                return
          
            net.SendWhisperPacket(self.targetName, text)
            self.Sohbet_Hatti.SetText("")
          
            if app.YENILENMIS_FISILTI_SISTEMI:
                self.__PushLastSentenceStack(text)
                chat.AppendWhisper(chat.WHISPER_TYPE_CHAT, self.targetName, "%s %s : %s" % (uiContact.GetWhisperSendedTime(), player.GetName(), text))
            else:
                chat.AppendWhisper(chat.WHISPER_TYPE_CHAT, self.targetName, player.GetName() + " : " + text)

    def OnTop(self):
        if self.Sohbet_Hatti:
            self.Sohbet_Hatti.SetFocus()
      
    def BindInterface(self, interface):
        self.interface = interface
      
    def OnMouseLeftButtonDown(self):
        hyperlink = ui.GetHyperlink()
        if hyperlink:
            if app.IsPressed(app.DIK_LALT):
                link = chat.GetLinkFromHyperlink(hyperlink)
                ime.PasteString(link)
            else:
                self.interface.MakeHyperlinkTooltip(hyperlink)

if "__main__" == __name__:
    import uiTest

    class TestApp(uiTest.App):
        def OnInit(self):
            wnd = WhisperDialog(self.OnMax, self.OnMin)
            wnd.LoadDialog()
            wnd.OpenWithoutTarget(self.OnNew)
            wnd.SetPosition(0, 0)
            wnd.Show()

            self.wnd = wnd

        def OnMax(self):
            pass

        def OnMin(self):
            pass

        def OnNew(self):
            pass

    TestApp().MainLoop()


Syser Vermemesi için

Kod:
Genişlet Daralt Kopyala
text = self.GetText()

OnUptade içine böyle bir kod blogu yerleştirdim ama bu sefer de bu şekilde syser verdi

Kod:
Genişlet Daralt Kopyala
0320 22:41:18949 ::   File "uiWhisper.py", line 333, in OnUpdate

0320 22:41:18949 :: AttributeError
0320 22:41:18949 :: :
0320 22:41:18949 :: 'WhisperDialog' object has no attribute 'GetText'
0320 22:41:18949 ::
 
Sayfayı yenileyin ve bir önceki mesajımı okuyun. Ben mesajı düzenlerken eski yazıya denk gelmişsiniz sanırsam. :)

Buradan sonrasına bakabilirsiniz.

Whisper Penceresi.jpg


Teşekkür Ederim hakkınız var baya uğraştırdım sizi hakkınızı helal edin. Dikkatsizliğim yüzümden sizi de baya uğraştırdım

Bu arada kalan karakter atıyorum 512 diyelim tekrardan 1234 yükseltmesemde 512 den geriye çevirmek istesem örnek 511 510 509 diye geriye ne yapmak istesem örnek napabilirim ? bu sadece merak için yoksa onuda kurcalamayı düşünüyorum da :D:D

Tekrardan teşekkür ederim.
 
Önemli değil. :) Bu düşündüğünüz özellik çok güzel ama. ^_^
Sitemizde hizliresim gibi harici resim sitelerinin kullanımını tavsiye etmiyoruz. Çünkü bi süre sonra resimleri siliyorlar. Bu yüzden resimleri de foruma yüklerseniz sevinirim. ^_^

1 2 3 diye gitmek yerine 512'den geriye gitmesini sağlamak için mantık çok basit ama bu size ödev olsun bence. :) Sadece matematik mantığı ile düşünün.
 
Önemli değil. :) Bu düşündüğünüz özellik çok güzel ama. ^_^
Sitemizde hizliresim gibi harici resim sitelerinin kullanımını tavsiye etmiyoruz. Çünkü bi süre sonra resimleri siliyorlar. Bu yüzden resimleri de foruma yüklerseniz sevinirim. ^_^

1 2 3 diye gitmek yerine 512'den geriye gitmesini sağlamak için mantık çok basit ama bu size ödev olsun bence. :) Sadece matematik mantığı ile düşünün.

Olur Tabi ki de fark edemedim sizin foruma resim yüklemeyi ilk başta kodlarıda sonradan fark edince siteye yükledim hatta bundan sonra siteye yüklerim direk gözünüz arkada kalmasın Ödev alınmıştır Efendim <3 Teşekkür Ederim Konu Çözüldü bu arada
 
Bu Arada Bakındım biraz Yanılmıyorsam [::-1] Şu belirttiğim kod işlemi geri çevirmeye yarıyor yanılmıyorsam uygun yeri bulup eklersem ki dediğim mantığa ulaşırım sanırsam şimdilik biraz kurcalayacağım
 
Bu Arada Bakındım biraz Yanılmıyorsam [::-1] Şu belirttiğim kod işlemi geri çevirmeye yarıyor yanılmıyorsam uygun yeri bulup eklersem ki dediğim mantığa ulaşırım sanırsam şimdilik biraz kurcalayacağım
İpucu veriyorum. :)

x = 512-y
y artarsa x azalır. y azalırsa x artar.

Düzenleyeceğiniz bölge sadece burası;
Python:
Genişlet Daralt Kopyala
self.KalanKarakter.SetText("%d/%d" % (len(text), self.KarakterSayisi))
 
Ben şöyle düşündüm


Python:
Genişlet Daralt Kopyala
        for i in self.KarakterSayisi:
            self.KalanKarakter.SetText(str(self.KarakterSayisi -i))

Not : for ilk defa denıyorum sürekli güncellendiğini düşünme mantığıyla böyle kullandım yanlışmıyım doğru mu tam emin değilim.
 
Öyle yapmaya gerek yok. O şekilde çok fazla sistem kaynağı tüketir. Şu şekilde yapmanız gerek;
Python:
Genişlet Daralt Kopyala
self.KalanKarakter.SetText("%d" % (self.KarakterSayisi - len(text)))
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Üst