Çözüldü Fısıltı Paneli Arkadaş Ekleme Tuşu Sabitleme

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

sharap

MT Üye
MT Üye
Mesaj
301
Çözümler
15
Beğeni
142
Puan
529
Ticaret Puanı
0
Arkadaşlar Merhaba forumlarda olan fısıltı panelinde Arkadaş ekleme butonunu ekledim eklediğim kodlar;

Arkadaş Ekle Buton:
Genişlet Daralt Kopyala
        if not messenger.IsFriendByName(self.targetName):
            self.friendButton = ui.Button()
            self.friendButton.SetParent(self.board)
            self.friendButton.SetPosition(119, 10)
            self.friendButton.SetUpVisual("d:/ymir work/ui/game/windows/messenger_add_friend_01.sub")
            self.friendButton.SetOverVisual("d:/ymir work/ui/game/windows/messenger_add_friend_02.sub")
            self.friendButton.SetDownVisual("d:/ymir work/ui/game/windows/messenger_add_friend_03.sub")
            self.friendButton.SetText("")
            self.friendButton.SetEvent(ui.__mem_func__(self.AddFrind))
            self.friendButton.Show()
            
    def AddFrind(self):
        if app.ENABLE_PM_ALL_SEND_SYSTEM:
            if self.targetName == "[SYSTEM]":
                return;
        net.SendMessengerAddByNamePacket(self.targetName)
        self.friendButton.Hide()


Butonda Sorun yok her şey düzgün çalışıyor ama butona basıyorum arkadaşlık gönderiyor sonra kayboluyor fısıltıyı tazeleyince ekli olmasına rağmen tekrar geliyor. Şöyle düşündüm butonu sabitlersek bir sorun kalmayacak buton arkadaşlık gönderse de orda yerinde dursun kaybolmasın diye bir şey yapabilirmiyiz acaba yada bu tarzda yazılmış bir sistem varsa örnek alabileceğim önerebilirseniz çok sevinirim.

Şimdiden Yorum yapan herkese Teşekkür ederim İyi Forumlar. :)
 
Son düzenleme:
whisperdialog uiscript dosyasına ekleme yaparsan istediğin olur. Onu yaptıktan sonra uimessenger kısmındada kodun çalışması için eklemeler yapman lazım. Ben bunları yaparken genelde gf nasıl yaptıysa o şekilde yapıyorum sen uğraşmak istemiyorsan uiscript kullanmadanda yapabilirsin..
 
Son düzenleme:
Bunun anlatım konusunda bir de fonksiyon kodu var, onu ekledin mi? Burda gösterdiğin kod eksik. Ayrıca kaybolduktan sonra clientte syserr var mı?
 
Python:
Genişlet Daralt Kopyala
    def AddFrind(self):
        net.SendMessengerAddByNamePacket(self.targetName)
        self.friendButton.Hide()

bu satırı sil
self.friendButton.Hide()
 
Çözüm
Bunun anlatım konusunda bir de fonksiyon kodu var, onu ekledin mi? Burda gösterdiğin kod eksik. Ayrıca kaybolduktan sonra clientte syserr var mı?

Konuya Ekledim Hocam.


whisperdialog uiscript dosyasına ekleme yaparsan istediğin olur. Onu yaptıktan sonra uimessenger kısmındada kodun çalışması için eklemeler yapman lazım. Ben bunları yaparken genelde gf nasıl yaptıysa o şekilde yapıyorum sen uğraşmak istemiyorsan uiscript kullanmadanda yapabilirsin..

Normalde bende uiscripten yapmayı düşünüyordum ama bu blok daha mantıklı geldi bana hem daha kolay diye bunu tercih ettim yoksa orjinale sadık kalmak benimde işime geliyor aslında. Biraz daha bilgi veritseniz uğraşmaya çalışırım bağlantıları daha tam öğrenemedim aslında.
Örnek Olarak sizin dediğinizi şöyle açıklayayım yanlışım varsa düzeltin lütfen.

uiMessenger.py Butonların çalışabilmesi için gerekli noktalara kodları atamam gerek örnek vereceksem

Örnek kod::
Genişlet Daralt Kopyala
self.arkadasekle = GetObject("arkadasekle")


self.arkadasekle.SetEvent(ui.__mem_func__(self.arkadaseklebutton))

def arkadaseklebutton(self):
    chat.SendMessengerAddBlockByNamePacket(self.targetName)
    self.Hide()


Buna benzer birşeyden bahsediyorsunuz muhtamelen sonra tuşuda dediğiniz gibi whisperdialog ekleyince konum ve sub'ları tanıtınca olay burdakine dönecektir. Yukarıdaki kodlarda yanlışlıklar olabilir. Acemiyim kusuruma bakmayın düzeltirseniz sevinirim.


Python:
Genişlet Daralt Kopyala
    def AddFrind(self):
        net.SendMessengerAddByNamePacket(self.targetName)
        self.friendButton.Hide()

bu satırı sil
self.friendButton.Hide()

Bu tam işimi gördü artık buton yok olmuyor.


Yorumlarınız için tekrardan teşekkür ederim. Konuyu işaretlemeden önce cevap bekleyeceğim.
 
Arkadaş listesinde kullanıldığı için zaten AddFriendButton tanımlanmış bunu whisperdialog kısmına eklersen başka kod eklemeden çalıştırabilirsin bi dene istersen tab ayarları farklılık gösterebilir.

Python:
Genişlet Daralt Kopyala
            {
                "name" : "AddFriendButton",
                "type" : "button",

                "x" : 280 - 135,
                "y" : 12,

                "tooltip_text" : uiScriptLocale.MESSENGER_ADD_FRIEND,
                "tooltip_x" : 0,
                "tooltip_y" : 35,

                "default_image" : "d:/ymir work/ui/game/windows/messenger_add_friend_01.sub",
                "over_image"    : "d:/ymir work/ui/game/windows/messenger_add_friend_02.sub",
                "down_image"    : "d:/ymir work/ui/game/windows/messenger_add_friend_03.sub",
                "disable_image" : "d:/ymir work/ui/game/windows/messenger_add_friend_04.sub",
            },
 
Arkadaş listesinde kullanıldığı için zaten AddFriendButton tanımlanmış bunu whisperdialog kısmına eklersen başka kod eklemeden çalıştırabilirsin bi dene istersen tab ayarları farklılık gösterebilir.

Python:
Genişlet Daralt Kopyala
            {
                "name" : "AddFriendButton",
                "type" : "button",

                "x" : 280 - 135,
                "y" : 12,

                "tooltip_text" : uiScriptLocale.MESSENGER_ADD_FRIEND,
                "tooltip_x" : 0,
                "tooltip_y" : 35,

                "default_image" : "d:/ymir work/ui/game/windows/messenger_add_friend_01.sub",
                "over_image"    : "d:/ymir work/ui/game/windows/messenger_add_friend_02.sub",
                "down_image"    : "d:/ymir work/ui/game/windows/messenger_add_friend_03.sub",
                "disable_image" : "d:/ymir work/ui/game/windows/messenger_add_friend_04.sub",
            },
Şuan dışardayım geçince hemen bakacağım.
 
Arkadaş listesinde kullanıldığı için zaten AddFriendButton tanımlanmış bunu whisperdialog kısmına eklersen başka kod eklemeden çalıştırabilirsin bi dene istersen tab ayarları farklılık gösterebilir.

Python:
Genişlet Daralt Kopyala
            {
                "name" : "AddFriendButton",
                "type" : "button",

                "x" : 280 - 135,
                "y" : 12,

                "tooltip_text" : uiScriptLocale.MESSENGER_ADD_FRIEND,
                "tooltip_x" : 0,
                "tooltip_y" : 35,

                "default_image" : "d:/ymir work/ui/game/windows/messenger_add_friend_01.sub",
                "over_image"    : "d:/ymir work/ui/game/windows/messenger_add_friend_02.sub",
                "down_image"    : "d:/ymir work/ui/game/windows/messenger_add_friend_03.sub",
                "disable_image" : "d:/ymir work/ui/game/windows/messenger_add_friend_04.sub",
            },

Denedim ve mevzuyu anladım şimdi çok teşekkür ederim tekrardan ilginiz mükemmel. <3
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Üst