[PY] Premium Affect Göster/Gizle

  • Konuyu açan Konuyu açan therasmus
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 8
  • Gösterim Gösterim 2K

therasmus

Üye
Üye
Mesaj
119
Çözümler
10
Beğeni
68
Puan
729
Ticaret Puanı
0
Sol üstteki iconları gösterip gizlemeye yarar.

root/game.py içinde

arat;
Python:
Genişlet Daralt Kopyala
player.SetGameWindow(self)

altına ekle;
Python:
Genişlet Daralt Kopyala
        self.AffectShowHideBtn = ui.CheckBox()
        self.AffectShowHideBtn.SetEvent(ui.__mem_func__(self.__AffectShow), "ON_CHECK", True)
        self.AffectShowHideBtn.SetEvent(ui.__mem_func__(self.__AffectHide), "ON_UNCKECK", False)
        self.AffectShowHideBtn.SetCheckStatus(constInfo.AffectShowHide)
        self.AffectShowHideBtn.SetPosition(0, 0)
        self.AffectShowHideBtn.Show()

game.py en alta ya da müsait bir yere ekle;
Python:
Genişlet Daralt Kopyala
    def __AffectShow(self):
        constInfo.AffectShowHide = 1
        if constInfo.AffectShowHide == 1:
            self.affectShower.Show()
        chat.AppendChat(chat.CHAT_TYPE_INFO, "<Sistem> Ikonlar gosterildi.")

    def __AffectHide(self):
        constInfo.AffectShowHide = 0
        if constInfo.AffectShowHide == 0:
            self.affectShower.Hide()
        chat.AppendChat(chat.CHAT_TYPE_INFO, "<Sistem> Ikonlar gizlendi.")

root/costinfo.py müsait bir yere ekle;
Python:
Genişlet Daralt Kopyala
AffectShowHide = 1

KANIT;

17-AffectShow.PNG


17-AffectHide.PNG


Dosyalarınızda CheckBox ekli olmayabilir. ui.py'de CheckBox'ı aratıp kontrol edebilirsiniz.
Eğer yoksa altan dosyayı indirip ekleyin.

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

Linkleri görebilmek için giriş yap veya kayıt ol.
 
En son bir moderatör tarafından düzenlenmiş:
Bunun bana chat'ı gizlemelisi lazım :D basınca sohbet satırı gizlenecek basınca açılacak
 
çok basit. chat gizleme zaten oyun seçeneklerinde var. kodlara bakarak checkbox a entegre et
self.viewChatButtonList.append(GetObject("view_chat_on_button"))
self.viewChatButtonList.append(GetObject("view_chat_off_button")) Bunları buldum da oraya affectShower yerine ne yazacağım viewChat mı?
 
Bu sistemi eklemeye çalışıyorum ancak checkbox hatası alıyorum ve link kırık yenileyebilecek varmı acaba ?
 
Bu sistemi eklemeye çalışıyorum ancak checkbox hatası alıyorum ve link kırık yenileyebilecek varmı acaba ?
ui.py'ye bunu ekle image yolunu kendine göre ayarla.
Python:
Genişlet Daralt Kopyala
class CheckBox(Window):
    def __init__(self):
        Window.__init__(self)
        
        self.backgroundImage = None
        self.checkImage = None

        self.eventFunc = { "ON_CHECK" : None, "ON_UNCKECK" : None, }
        self.eventArgs = { "ON_CHECK" : None, "ON_UNCKECK" : None, }
    
        self.CreateElements()
        
    def __del__(self):
        Window.__del__(self)
        
        self.backgroundImage = None
        self.checkImage = None
        
        self.eventFunc = { "ON_CHECK" : None, "ON_UNCKECK" : None, }
        self.eventArgs = { "ON_CHECK" : None, "ON_UNCKECK" : None, }
        
    def CreateElements(self):
        self.backgroundImage = ImageBox()
        self.backgroundImage.SetParent(self)
        self.backgroundImage.AddFlag("not_pick")
        self.backgroundImage.LoadImage("d:/ymir work/ui/NitridCustom/refine/checkbox.tga")
        self.backgroundImage.Show()
        
        self.checkImage = ImageBox()
        self.checkImage.SetParent(self)
        self.checkImage.AddFlag("not_pick")
        self.checkImage.SetPosition(0, -4)
        self.checkImage.LoadImage("d:/ymir work/ui/NitridCustom/refine/checked.tga")
        self.checkImage.Hide()
        
        self.textInfo = TextLine()
        self.textInfo.SetParent(self)
        self.textInfo.SetPosition(20, -2)
        self.textInfo.Show()
        
        self.SetSize(self.backgroundImage.GetWidth() + self.textInfo.GetTextSize()[0], self.backgroundImage.GetHeight() + self.textInfo.GetTextSize()[1])
        
    def SetTextInfo(self, info):
        if self.textInfo:
            self.textInfo.SetText(info)
            
        self.SetSize(self.backgroundImage.GetWidth() + self.textInfo.GetTextSize()[0], self.backgroundImage.GetHeight() + self.textInfo.GetTextSize()[1])
        
    def SetCheckStatus(self, flag):
        if flag:
            self.checkImage.Show()
        else:
            self.checkImage.Hide()
    
    def GetCheckStatus(self):
        if self.checkImage:
            return self.checkImage.IsShow()
            
        return False
        
    def SetEvent(self, func, *args) :
        result = self.eventFunc.has_key(args[0])       
        if result :
            self.eventFunc[args[0]] = func
            self.eventArgs[args[0]] = args
        else :
            print "[ERROR] ui.py SetEvent, Can`t Find has_key : %s" % args[0]
    def OnMouseLeftButtonUp(self):
        if self.checkImage:
            if self.checkImage.IsShow():
                self.checkImage.Hide()

                if self.eventFunc["ON_UNCKECK"]:
                    apply(self.eventFunc["ON_UNCKECK"], self.eventArgs["ON_UNCKECK"])
            else:
                self.checkImage.Show()

                if self.eventFunc["ON_CHECK"]:
                    apply(self.eventFunc["ON_CHECK"], self.eventArgs["ON_CHECK"])

rardaki tgaları da istediğin bi yere atıp o yolu yazarsın.
 

Dosya Eklentileri

ui.py'ye bunu ekle image yolunu kendine göre ayarla.
Python:
Genişlet Daralt Kopyala
class CheckBox(Window):
    def __init__(self):
        Window.__init__(self)
      
        self.backgroundImage = None
        self.checkImage = None

        self.eventFunc = { "ON_CHECK" : None, "ON_UNCKECK" : None, }
        self.eventArgs = { "ON_CHECK" : None, "ON_UNCKECK" : None, }
  
        self.CreateElements()
      
    def __del__(self):
        Window.__del__(self)
      
        self.backgroundImage = None
        self.checkImage = None
      
        self.eventFunc = { "ON_CHECK" : None, "ON_UNCKECK" : None, }
        self.eventArgs = { "ON_CHECK" : None, "ON_UNCKECK" : None, }
      
    def CreateElements(self):
        self.backgroundImage = ImageBox()
        self.backgroundImage.SetParent(self)
        self.backgroundImage.AddFlag("not_pick")
        self.backgroundImage.LoadImage("d:/ymir work/ui/NitridCustom/refine/checkbox.tga")
        self.backgroundImage.Show()
      
        self.checkImage = ImageBox()
        self.checkImage.SetParent(self)
        self.checkImage.AddFlag("not_pick")
        self.checkImage.SetPosition(0, -4)
        self.checkImage.LoadImage("d:/ymir work/ui/NitridCustom/refine/checked.tga")
        self.checkImage.Hide()
      
        self.textInfo = TextLine()
        self.textInfo.SetParent(self)
        self.textInfo.SetPosition(20, -2)
        self.textInfo.Show()
      
        self.SetSize(self.backgroundImage.GetWidth() + self.textInfo.GetTextSize()[0], self.backgroundImage.GetHeight() + self.textInfo.GetTextSize()[1])
      
    def SetTextInfo(self, info):
        if self.textInfo:
            self.textInfo.SetText(info)
          
        self.SetSize(self.backgroundImage.GetWidth() + self.textInfo.GetTextSize()[0], self.backgroundImage.GetHeight() + self.textInfo.GetTextSize()[1])
      
    def SetCheckStatus(self, flag):
        if flag:
            self.checkImage.Show()
        else:
            self.checkImage.Hide()
  
    def GetCheckStatus(self):
        if self.checkImage:
            return self.checkImage.IsShow()
          
        return False
      
    def SetEvent(self, func, *args) :
        result = self.eventFunc.has_key(args[0])     
        if result :
            self.eventFunc[args[0]] = func
            self.eventArgs[args[0]] = args
        else :
            print "[ERROR] ui.py SetEvent, Can`t Find has_key : %s" % args[0]
    def OnMouseLeftButtonUp(self):
        if self.checkImage:
            if self.checkImage.IsShow():
                self.checkImage.Hide()

                if self.eventFunc["ON_UNCKECK"]:
                    apply(self.eventFunc["ON_UNCKECK"], self.eventArgs["ON_UNCKECK"])
            else:
                self.checkImage.Show()

                if self.eventFunc["ON_CHECK"]:
                    apply(self.eventFunc["ON_CHECK"], self.eventArgs["ON_CHECK"])

rardaki tgaları da istediğin bi yere atıp o yolu yazarsın.
Hocam aslında bende checkbox varmış anladığım kadarıyla otomatik refine sistemi için eklenmiş ama checkbox2 olarak eklenmiş senin paylaştığın anlatımda checkbox yazan yerleri checkbox2 şeklinde düzenlesem bir sorun çıkarırmı acaba ?

Edit : Yukarı da bahsettiğim gibi yaptım bir sorun çıkmadı teşekkür ederim konu için.
 
Son düzenleme:
Üst