1 mesaj
Administrator Administrator
  • Mesaje: 4141
  • Reacții: 78379
  • Mesaje utile: 40
  • Status: Pe aici.. 🤠
  • Server: Saga2 - Soon
  • Regat: Jinno
  • [ID Discord]
  • Contact:
    *Descriere:

    Afiseaza design de tip "grid" in loc de lista cu scrollbar pentru sistemul de Mob Info Drop Target.

    *Poze / Video:

    Inainte:
    [C++/Py] Grid in loc de Scrollbar pentru Mob Drop Info - Mesaj 1 - Imagine 2
    Dupa:
    [C++/Py] Grid in loc de Scrollbar pentru Mob Drop Info - Mesaj 1 - Imagine 1

    *Link download / Code:

    Deschidem root/uitarget.py.

    Pasul 1: Construim infrastructura Grid

    Cautam in functia __init__:
    Code:
    				self.stoneImg = None
    				self.stoneVnum = None
    				self.lastStoneVnum = 0
    				self.nextStoneIconChange = 0
    
    				self.SetSize(self.BOARD_WIDTH, 0)
    
    Inlocuim cu:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Explicatie:
    In locul vechiului listbox, se construieste o grila de 49 sloturi (7x7) in care vor fi afisate drop-urile.



    Pasul 2: Curatam sloturile cand se schimba mobul

    Cautam in functia __LoadInformation:
    Code:
    				self.stoneImg = None
    				self.stoneVnum = None
    				self.nextStoneIconChange = 0
    
    				self.__LoadInformation_Default(race)
    
    Inlocuim cu:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Explicatie:
    Cand apesi pe alt mob, vechile iteme trebuie sterse din grid, altfel raman afisate peste noile drop-uri.



    Pasul 3: Adaugam functia de cautare a unui slot liber

    Cautam:
    Code:
                def __LoadInformation_Drops(self, race):
    Adaugam deasupra:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Explicatie:
    Aceasta functie cauta un loc liber in grid in functie de inaltimea itemului:
    - 1 slot
    - 2 sloturi
    - 3 sloturi



    Pasul 4: Inlocuim vechiul sistem ListBox cu Grid

    Cautam in functia __LoadInformation_Drops, in blocul else::
    Code:
                        else:
    						itemListBox = ui.ListBoxExNew(32 + 5, self.MAX_ITEM_COUNT)
    Puteti sterge tot vechiul cod din acel bloc else pana la partea cu self.AppendTextLine(localeInfo.TARGET_INFO_NO_ITEM_TEXT), apoi il inlocuim cu:

    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Explicatie:
    Aici se renunta la afisarea in lista lunga si se afiseaza itemele direct in grid, cautand pentru fiecare un slot liber potrivit.



    Pasul 5: Rezolvam problema tooltip-ului

    Cautam:
    Code:
                def OnShowItemTooltip(self, vnum):
    Adaugam deasupra:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Explicatie:
    Aceasta functie ia itemul exact din slotul pe care intri cu mouse-ul si trimite vnum-ul corect catre tooltip.



    Tot in root/uitarget.py cautam:
    Code:
    			def OnHideItemTooltip(self):
    				self.itemTooltip.HideToolTip()
    
    Inlocuim cu:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Explicatie:
    Aceasta modificare rezolva eroarea de tip:
    Code:
    OverInItem() takes exactly 2 arguments (1 given)
    Prin
    Code:
    *args
    , functia nu mai crapa daca primeste argumente suplimentare de la evenimentul UI.


    Rezultat:
    Dupa aceasta modificare:
    - drop-urile nu mai sunt afisate in listbox
    - ele vor fi afisate intr-un grid de 49 sloturi
    - itemele vor fi asezate in functie de dimensiunea lor
    - tooltip-ul va functiona corect
    - la schimbarea mobului, grid-ul va fi curatat corect

    Nou Cum descarc de pe TeraBox?

    Afișează detalii Ascunde detalii
    • Este asemănător cu Mega.nz
    • Instalați-vă clientul lor de Download de aici
    • Faceți-vă un cont (vă puteți loga cu Facebook / Google / etc)
    • Nou Dacă nu vreți să descărcați clientul de Download, folosiți acest site
    • Gata! Acum puteți descărca resursele rapid & simplu.

    De ce folosim TeraBox?

    • Este gratuit
    • Primești 1TB de spațiu gratuit la orice cont creat!
    • Este ușor de folosit și varianta premium este foarte ieftină
    • Fișierele nu sunt șterse niciodată
    TeraBox logo
    Te asteptam si pe serverul de Discord :p - aici ne-am strans toata comunitatea de Metin2 din Romania.
    Link: https://discord.gg/jWxeDSf7HP

    Suntem aproape 2000 membri! - Avem chat activ zilnic, support, cereri, resurse. :D :ymcowboy:




    See full signature

    🔥 Hai pe Discord! - Chat activ și support direct

    Te așteptăm și pe serverul de Discord - aici ne-am strâns toată comunitatea de Metin2 din România.

    Alătură-te acum!
    Suntem aproape: 
    Robot Discord
    Roboțelu'
    Anunț

    Creează-ți un cont sau autentifică-te pentru a participa la discuție

    Trebuie să fii membru pentru a răspunde

    Creează-ți un cont

    Membrii pot crea subiecte noi și pot descărca resurse Metin2 Gratuit!


    Te poți înregistra sau conecta rapid utilizând contul tău de Discord, Github sau Google.

    Înregistrare

    Autentifică-te

    Înapoi la “Îmbunătățiri”

    Informații

    Utilizatori ce navighează pe acest forum: DarkBlade, Enciu, gabita0045, metin2_lovers, pikapika17, RaKu, zade_1543 și 12 vizitatori

    Discord ID copiat: