Administrator
Administrator
  • Mesaje: 4988
    Membru din: 07 Aug 2024, 18:53
  • Reacții: 126043
  • Mesaje utile: 47
  • Status: Pe aici.. 🤠
    Server: Saga2 - Soon
  • Regat: Jinno
  • [ID Discord]
  • *Descriere:

    Acest tutorial iti arata cum sa adaugi un Bonus Board in Metin2, realizat complet in Python, fara modificari in sursa.

    Sistemul afiseaza o fereastra cu bonusurile importante ale caracterului, grupate pe categorii precum bonusuri de lupta, bonusuri contra clase, bonusuri contra rase, rezistente si bonusuri diverse.

    *Poze / Video:
    [Py] Pagina vezi Bonusuri caracter - Mesaj 1 - Imagine 1
    05-05-2026, 11-50-30.png (254.91 KiB) Vizualizat de 445 ori
    *Link download / Code:

    Deschide pack/uiscript/ si creeaza fisierul nou BonusBoard.py:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Deschide pack/root si creeaza fisierul nou uibonusboard.py:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Deschide pack/root/uiaffectshower.py si adauga sub importuri:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Deschide pack/root/uiaffectshower.py si cauta in metoda BINARY_NEW_AddAffect:

    Cod: Selectaţi tot

    		if type == chr.NEW_AFFECT_MALL:
    			affect = self.MALL_DESC_IDX_START + pointIdx
    		else:
    			affect = type
    
    Adauga sub:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Deschide pack/root/uiaffectshower.py si cauta in metoda BINARY_NEW_RemoveAffect:

    Cod: Selectaţi tot

    	def BINARY_NEW_RemoveAffect(self, type, pointIdx):
    		if type == chr.NEW_AFFECT_MALL:
    			affect = self.MALL_DESC_IDX_START + pointIdx
    		else:
    			affect = type
    
    Adauga sub:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Deschide pack/uiscript/uiscript/characterwindow.py si adauga la final, inainte de ultima paranteza de inchidere:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Deschide pack/root/uicharacter.py si cauta:

    Cod: Selectaţi tot

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


    Deschide pack/root/uicharacter.py si cauta in functia __Initialize:

    Cod: Selectaţi tot

    		self.soloEmotionSlot = None
    		self.dualEmotionSlot = None
    
    Adauga sub:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Deschide pack/root/uicharacter.py si cauta in functia __LoadWindow:

    Cod: Selectaţi tot

    		self.SetState("STATUS")
    
    Adauga sub:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Deschide pack/root/uicharacter.py si cauta in functia Destroy:

    Cod: Selectaţi tot

    	def Destroy(self):
    
    Adauga in functie:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Deschide pack/root/uicharacter.py si cauta in functia Close:

    Cod: Selectaţi tot

    		if 0 != self.toolTipSkill:
    			self.toolTipSkill.Hide()
    
    Adauga sub:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Deschide pack/root/uicharacter.py si cauta:

    Cod: Selectaţi tot

    		self.soloEmotionSlot = self.GetChild("SoloEmotionSlot")
    		self.dualEmotionSlot = self.GetChild("DualEmotionSlot")
    		self.__SetEmotionSlot()
    
    Adauga sub:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Deschide pack/root/uicharacter.py si cauta:

    Cod: Selectaţi tot

    	def SetSkillToolTip(self, toolTipSkill):
    		self.toolTipSkill = toolTipSkill
    
    Adauga deasupra:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Deschide pack/root/interfacemodule.py si cauta in functia HideAllWindow:

    Cod: Selectaţi tot

    		if self.wndCharacter:
    			self.wndCharacter.Hide()
    
    Inlocuieste cu:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Deschide pack/root/interfacemodule.py si cauta in functia ToggleCharacterWindow:

    Cod: Selectaţi tot

    		self.wndCharacter.OverOutItem()
    		self.wndCharacter.Hide()
    
    Inlocuieste cu:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Descarca atasamentul din topic si adauga fisierele in:

    Cod: Selectaţi tot

    ymir work/ui/game/belt_inventory/
    
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.
    Aceasta modificare adauga un buton nou in fereastra de caracter, prin care poti deschide Bonus Board-ul. Fereastra afiseaza bonusurile echipamentului si unele bonusuri active din affect, fara sa fie nevoie de modificari in sursa clientului.
    Fii primul care reacționează

    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
    See full signature

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

    Informații

    Utilizatori ce navighează pe acest forum: Niciun utilizator înregistrat și 4 vizitatori

    Discord ID copiat: