[Funcţii butoane pe inventar][Update 3#]

Metin2 Global - Un server de calitate !
Conectat
Avatar utilizator
CHULI
Miracolul Crăciunului
Miracolul Crăciunului
Mesaje: 2152
Membru din: 06 Noi 2015
Mulțumiri acordate: 38
Mulțumiri primite: 54

[Funcţii butoane pe inventar][Update 3#]

Mesajde CHULI » 25 Feb 2016, 08:09

Găsiţi aici link pentru bară pentru a pune butoane şi a face funcţii.

1. Funcţia 1 [Vezi bonusurile tale ]

Intrăm în root/uiinventory.py şi Căutăm :

Cod: Selectaţi tot

self.costumeButton = self.GetChild2("CostumeButton")


Şi sub adăugăm :

Cod: Selectaţi tot

self.Alaska_py = self.GetChild2("Alaska_py")


Căutăm tot în uiinventory.py :

Cod: Selectaţi tot

# Costume Button
      if self.costumeButton:
         self.costumeButton.SetEvent(ui.__mem_func__(self.ClickCostumeButton))


Şi sub adăugăm :

Cod: Selectaţi tot

#Bonusuri
      if self.Alaska_py:
         self.Alaska_py.SetEvent(ui.__mem_func__(self.ClickAlaska_py))


Tot în uiinventory.py căutăm :

Cod: Selectaţi tot

def ClickCostumeButton(self):
      print "Click Costume Button"
      if self.wndCostume:
         if self.wndCostume.IsShow():
            self.wndCostume.Hide()
         else:
            self.wndCostume.Show()
      else:
         self.wndCostume = CostumeWindow(self)
         self.wndCostume.Show()


Şi sub adăugăm :

Cod: Selectaţi tot

def ClickAlaska_py(self):
      import uibonuspage
      uibonuspage.BonusBoardDialog().Show()


Întraţi în root/ui.py şi căutaţi :

Cod: Selectaţi tot

   def SetText(self, text, height = 4):

      if not self.ButtonText:
         textLine = TextLine()
         textLine.SetParent(self)
         textLine.SetPosition(self.GetWidth()/2, self.GetHeight()/2)
         textLine.SetVerticalAlignCenter()
         textLine.SetHorizontalAlignCenter()
         textLine.Show()
         self.ButtonText = textLine

      self.ButtonText.SetText(text)


Şi sub adăugaţi :

Cod: Selectaţi tot

   def GetText(self):
         if not self.ButtonText:
               return# ""
         return self.ButtonText.GetText()


Intraţi in locale/inventorywindow.py şi dacă aveţi bara pe partea stângă cum am pus eu aveţi deja făcut acolo .. dar dacă aveţi pe dreapta deja ştiţi unde să puneţi , şi dacă nu vreţi deloc pe bară şi pe lângă sloturi butoane faceţi aşa

Deschideţi inventorywindow.py şi cautaţi :

Cod: Selectaţi tot

## MallButton
                  {
                     "name" : "MallButton",
                     "type" : "button",

                     "x" : 118,
                     "y" : 154,

                     "tooltip_text" : uiScriptLocale.MALL_TITLE,

                     "default_image" : "d:/ymir work/ui/game/TaskBar/Mall_Button_01.tga",
                     "over_image" : "d:/ymir work/ui/game/TaskBar/Mall_Button_02.tga",
                     "down_image" : "d:/ymir work/ui/game/TaskBar/Mall_Button_03.tga",
                  },



Şi sub adăugaţi :

Cod: Selectaţi tot

## Vezi bonusurile
            {
               "name" : "Alaska_py",
               "type" : "button",

               "x" : 5,
               "y" : 20,

               "tooltip_text" : "Vezi Bonusurile",

               "default_image" : "d:/ymir work/ui/game/1.tga",
               "over_image" : "d:/ymir work/ui/game/2.tga",
               "down_image" : "d:/ymir work/ui/game/2.tga",
            },





O să mai pun dacă mai vrea cineva... dacă mai pofteşte careva ...


Link butoane clean . !



Funcţia 2 pe inventar = Alege Gradul

Intrăm în root/uiinventory.py şi căutăm :

Cod: Selectaţi tot

self.costumeButton = self.GetChild2("CostumeButton")


Sub adăugăm :

Cod: Selectaţi tot

self.Frucht = self.GetChild2("Frucht")


Căutăm tot aici :

Cod: Selectaţi tot

# Costume Button
      if self.costumeButton:
         self.costumeButton.SetEvent(ui.__mem_func__(self.ClickCostumeButton))


Şi sub adăugăm :

Cod: Selectaţi tot

#Frucht
      if self.Frucht:
         self.Frucht.SetEvent(ui.__mem_func__(self.ClickFrucht))



Căutăm tot aici :

Cod: Selectaţi tot

   def ClickCostumeButton(self):
      print "Click Costume Button"
      if self.wndCostume:
         if self.wndCostume.IsShow():
            self.wndCostume.Hide()
         else:
            self.wndCostume.Show()
      else:
         self.wndCostume = CostumeWindow(self)
         self.wndCostume.Show()


Şi sub adăugăm :

Cod: Selectaţi tot

   #Frucht
   def ClickFrucht(self):
      import event
      qid = constInfo.Fruchtqin
      event.QuestButtonClick(qid)


Intrăm în root/game.py şi căutăm :

Cod: Selectaţi tot

# ITEM_MALL
         "CloseMall"            : self.CommandCloseMall,
         "ShowMeMallPassword"   : self.AskMallPassword,
         "item_mall"            : self.__ItemMall_Open,
         # END_OF_ITEM_MALL


Şi sub adăugăm :

Cod: Selectaţi tot

#Frucht
         "Frucht"            : self.__MakeFrucht,


Căutăm tot aici :

Cod: Selectaţi tot

         # PRIVATE_SHOP_PRICE_LIST
         "MyShopPriceList"      : self.__PrivateShop_PriceList,
         # END_OF_PRIVATE_SHOP_PRICE_LIST


Şi sub adăugăm :

Cod: Selectaţi tot

   def __MakeFrucht(self, qid):
      constInfo.Fruchtqin= int(qid)


Să fie ca aici :

Imagine

Intrăm în root/constinfo.py şi la inceput adăugăm :

Cod: Selectaţi tot

Fruchtqin = 0


Acum punem quest-ul :

Cod: Selectaţi tot

quest Frucht begin
   state start begin
      when login begin
         cmdchat("Frucht "..q.getcurrentquestindex())
      end
      when button or info begin
         say_title("Fructul vietii - Elysium")
         say("Ai la dispozitie 3 rank-uri...")
         say("- Rank pozitiv")
         say("- Rank neutru")
         say("- Rank negativ")
         say("")
         say_reward("Ce optiune de rank alegi?")
         local s = select("Rank pozitiv", "Rank neutru", "Rank negativ", "Inchide")
         if s == 1 then
            say_title("Fructul vietii - Elysium")
            say("Rank pozitiv:")
            s = ({1000,4000,8000,12000})[select("Single", "Cinefil", "DIVA", "MAFIOT", "Inchide")]
            pc.change_alignment(-pc.get_real_alignment())
            pc.change_alignment(s)
         
         elseif s == 2 then
            s = ({0})
            pc.change_alignment(-pc.get_real_alignment())
            pc.change_alignment(s)
         
         elseif s == 3 then
            say_title("Fructul vietii - Elysium")
            say("Rank negativ:")
            s = ({-3999,-7999,-11999,-20000})[select("Praduitor", "LEJIUNEA", "BADGIRL", "BADBOY", "Inchide")]
            pc.change_alignment(-pc.get_real_alignment())
            pc.change_alignment(s)
         end
      end
   end
end


Acest quest este bun , dacă ai -20000(negativ) şi vrei să iei cavaler o să iţi dea (12000) sau (11999) că rank-ul negativ scade dar e bun . Schimbaţi voi numele la grade .

Intrăm in locale/inventorywindow.py şi sub :

Cod: Selectaţi tot

## MallButton
                  {
                     "name" : "MallButton",
                     "type" : "button",

                     "x" : 118,
                     "y" : 154,

                     "tooltip_text" : uiScriptLocale.MALL_TITLE,

                     "default_image" : "d:/ymir work/ui/game/TaskBar/Mall_Button_01.tga",
                     "over_image" : "d:/ymir work/ui/game/TaskBar/Mall_Button_02.tga",
                     "down_image" : "d:/ymir work/ui/game/TaskBar/Mall_Button_03.tga",
                  },


Adăugăm :

Cod: Selectaţi tot

            ## Fructul Vietii
            {
               "name" : "Frucht",
               "type" : "button",
            
               "x" : 5,
               "y" : 152,
            
               "tooltip_text" : "Grad",
            
               "default_image" : "d:/ymir work/ui/game/7.tga",
               "over_image" : "d:/ymir work/ui/game/8.tga",
               "down_image" : "d:/ymir work/ui/game/8.tga",
            },

Acum nu ştiu dacă aţi pus bara pe stânga ca mine .. dar pentru cine vrea pe inventar pe centrul fără bară stânga sau dreapta să pună cum am zis mai sus

Funcţia 3 : Inel teleport

Intrăm în root/uiinventory.py şi căutăm :

Cod: Selectaţi tot

self.costumeButton = self.GetChild2("CostumeButton")


Sub el adăugăm:

Cod: Selectaţi tot

self.Telep = self.GetChild2("Telep")


Tot aici căutăm :

Cod: Selectaţi tot

# Costume Button
      if self.costumeButton:
         self.costumeButton.SetEvent(ui.__mem_func__(self.ClickCostumeButton))



Şi sub el adăugăm :

Cod: Selectaţi tot

#Telep
      if self.Telep:
         self.Telep.SetEvent(ui.__mem_func__(self.ClickTelep))



Căutăm tot aici :

Cod: Selectaţi tot

def ClickCostumeButton(self):
      print "Click Costume Button"
      if self.wndCostume:
         if self.wndCostume.IsShow():
            self.wndCostume.Hide()
         else:
            self.wndCostume.Show()
      else:
         self.wndCostume = CostumeWindow(self)
         self.wndCostume.Show()


Şi sub el adăugăm :

Cod: Selectaţi tot

#Telep
   def ClickTelep(self):
      import event
      qid = constInfo.Telepqin
      event.QuestButtonClick(qid)


Intrăm în root/game.py şi căutăm :

Cod: Selectaţi tot

# ITEM_MALL
         "CloseMall"            : self.CommandCloseMall,
         "ShowMeMallPassword"   : self.AskMallPassword,
         "item_mall"            : self.__ItemMall_Open,
         # END_OF_ITEM_MALL


Şi sub el adăugăm :

Cod: Selectaţi tot

         #Telep
         "Telep"               : self.__MakeTelep,



Tot aici căutăm :

Cod: Selectaţi tot

self.serverCommander=stringCommander.Analyzer()
      for serverCommandItem in serverCommandList.items():
         self.serverCommander.SAFE_RegisterCallBack(
            serverCommandItem[0], serverCommandItem[1]
         )


Şi sub punem :

Cod: Selectaţi tot

   def __MakeTelep(self, qid):
      constInfo.Telepqin= int(qid)


Exact ca aici :
Imagine

Intrăm in root/costinfo.py şi la inceput adăugăm :

Telepqin = 0

Quest inel tp :

Cod: Selectaţi tot

quest NEWTP begin
   state start begin
      when login begin
         cmdchat("Telep "..q.getcurrentquestindex())
      end
      when button or info begin
         local x
         local y
         local t
         local e = pc.get_empire()
say_title ( "Metin2-Online" )
say_title ( "Teleport:" )
say ( "Salut," )
say ( "Unde vrei sa te duci?" )
local main_set = select ("PvP MAP (MOMENTAN)","DESERTUL","GROTA (V3) INCEPUT","Urmatoarea Pagina")
if main_set == 1 then
pc.warp ( 972800 , 153600 )
elseif main_set == 2 then
pc.warp ( 344000 , 502500 )
elseif main_set == 3 then
pc.warp ( 0 , 1203200 )
elseif main_set == 4 then

local main_set2 =select ("MAP 1 ALBASTRI","MAP 2 ALBASTRI","MAP 1 GALBENI","MAP 2 GALBENI","MAP 1 ROSI","MAP 2 ROSI","Nu mai vreau, multumesc.")
if main_set2 == 1 then
pc.warp ( 959600 , 269700 )
elseif main_set2 == 2 then
pc.warp ( 863800 , 246000 )
elseif main_set2 == 3 then
pc.warp ( 63200 , 166700 )
elseif main_set2 == 4 then
pc.warp ( 145700 , 239800 )
elseif main_set2 == 5 then
pc.warp ( 473900 , 954600 )
elseif main_set2 == 6 then
pc.warp ( 352300 , 882700 )
elseif main_set2 == 7 then
return
end
end
end
end
end


Intrăm în locale/inventorywindow şi căutăm :

Cod: Selectaţi tot

## CostumeButton
                  {
                     "name" : "CostumeButton",
                     "type" : "button",

                     "x" : 78,
                     "y" : 5,

                     "tooltip_text" : uiScriptLocale.COSTUME_TITLE,

                     "default_image" : "d:/ymir work/ui/game/taskbar/costume_Button_01.tga",
                     "over_image" : "d:/ymir work/ui/game/taskbar/costume_Button_02.tga",
                     "down_image" : "d:/ymir work/ui/game/taskbar/costume_Button_03.tga",
                  },


Şi sub adăugăm :

Cod: Selectaţi tot

            ## Inel Teleport
            {
               "name" : "Telep",
               "type" : "button",

               "x" : 5,
               "y" : 119,

               "tooltip_text" : "Inel Teleport",

               "default_image" : "d:/ymir work/ui/game/9.tga",
               "over_image" : "d:/ymir work/ui/game/10.tga",
               "down_image" : "d:/ymir work/ui/game/10.tga",
            },


Atenţie x şi y trebuie poziţionate .. eu le am pe bara cara am postat o in alt topic

Este cel mai simplu de adapatat acest quest.. la pc.warp puneţi cordonatele la mapă şi etc vedeţi voi

Ziceţi şi voi ms dacă mai vreiţi fel şi fel de funcţii pe inventar
Pentru funcţii mai huh apreciaţi şi voi moldovenilor
Imagine

Deconectat
Avatar utilizator
[Brain™]
Utilizator suspendat !
Utilizator suspendat !
Mesaje: 176
Membru din: 19 Feb 2016
Status: Battle II - Adventure
Mulțumiri acordate: 0
Mulțumiri primite: 5

Re: [Funcţii butoane pe inventar]

Mesajde [Brain™] » 25 Feb 2016, 17:49

Cod: Selectaţi tot

networkModule.SetSelectCharacterPhase - <type 'exceptions.IndentationError'>:expected an indented block (uiInventory.py, line 504)


linia 504, nu exista !

Tabb-uri corecte !

EDIT : Rezolvat! ma uitam in inventorywindow:))

EDIT 2 :

Imagine
Imagine

Deconectat
Avatar utilizator
sorrellboss
Nivel 3
Nivel 3
Mesaje: 403
Membru din: 29 Iun 2014
Status: Sunt bine mersi ^.^
Server Metin2: Metin2Gorj
Regat: Shinsoo
Mulțumiri acordate: 0
Mulțumiri primite: 1

Re: [Funcţii butoane pe inventar]

Mesajde sorrellboss » 25 Feb 2016, 22:53

## Vezi bonusurile
{
"name" : "Alaska_py",
"type" : "button",

"x" : 5,
"y" : 20,

"tooltip_text" : "Vezi Bonusurile",

"default_image" : "d:/ymir work/ui/game/1.tga",
"over_image" : "d:/ymir work/ui/game/2.tga",
"down_image" : "d:/ymir work/ui/game/2.tga",
},
Am reusit sa bag butonul dar nu stiu cum sa il pun sa faca ceva.
pe linia asta "tooltip_text" : "Vezi Bonusurile", ar trebui sa vina "tooltip_text" : uiScriptLocale.X
cum creez acel X?

Conectat
Avatar utilizator
CHULI
Miracolul Crăciunului
Miracolul Crăciunului
Mesaje: 2152
Membru din: 06 Noi 2015
Mulțumiri acordate: 38
Mulțumiri primite: 54

Re: [Funcţii butoane pe inventar]

Mesajde CHULI » 25 Feb 2016, 23:06

Să pui şi arhivele in uiscript şi root .

Când apeşi pe buton trb să se deschidă

Cod: Selectaţi tot

def ClickAlaska_py(self):
      import uibonuspage
..

Merge dacă urmezi tutorialele.
Imagine

Deconectat
Avatar utilizator
testtesttest13
Nivel 3
Nivel 3
Mesaje: 342
Membru din: 29 Sep 2015
Status: Sunt bine mersi ^.^
Mulțumiri acordate: 6
Mulțumiri primite: 4

Re: [Funcţii butoane pe inventar][Update 2#]

Mesajde testtesttest13 » 27 Feb 2016, 14:52

Frumos ,elegant :>

And...

Ar fii fain daca mai realizezi un buton de teleporter ,(inel ) . :>

Conectat
Avatar utilizator
CHULI
Miracolul Crăciunului
Miracolul Crăciunului
Mesaje: 2152
Membru din: 06 Noi 2015
Mulțumiri acordate: 38
Mulțumiri primite: 54

Re: [Funcţii butoane pe inventar][Update 2#]

Mesajde CHULI » 27 Feb 2016, 15:42

testtesttest13 scrie:Frumos ,elegant :>

And...

Ar fii fain daca mai realizezi un buton de teleporter ,(inel ) . :>



Inel tp adăugat .

UP!
Imagine

Deconectat
Avatar utilizator
WashingtoN.
Nivel 5
Nivel 5
Mesaje: 859
Membru din: 05 Aug 2015
Reputație: ►Fost Helper 0,35 / 3p.
►Fost designer
►Nume anterior: (c) xLd^
Regat: Shinsoo
Mulțumiri acordate: 1
Mulțumiri primite: 13

Re: [Funcţii butoane pe inventar][Update 3#]

Mesajde WashingtoN. » 27 Feb 2016, 15:48

Frumos , elegant :>
Imagine

Deconectat
Avatar utilizator
[Cea]usescu
Utilizator interzis !
Utilizator interzis !
Mesaje: 257
Membru din: 01 Ian 2015
Localitate: Timisoara
Status: Developer of Lupus2
Server Metin2: Lupus2
Regat: Jinno
Mulțumiri acordate: 8
Mulțumiri primite: 55
Contact:

Re: [Funcţii butoane pe inventar][Update 3#]

Mesajde [Cea]usescu » 07 Mar 2016, 15:03

Frumos pentru cei incepători .
Ultima oară modificat 18 Iun 2016, 20:16 de către [Cea]usescu, modificat 1 dată în total.
Imagine
Ofer suport contracost:
-Pyton-
-Lua-
- C++ -
- Web-design-
Skype: mosualex2

Deconectat
Avatar utilizator
[Brain™]
Utilizator suspendat !
Utilizator suspendat !
Mesaje: 176
Membru din: 19 Feb 2016
Status: Battle II - Adventure
Mulțumiri acordate: 0
Mulțumiri primite: 5

Re: [Funcţii butoane pe inventar][Update 3#]

Mesajde [Brain™] » 07 Mar 2016, 16:29

al3x010 scrie:Ar fi frumos daca ai face si cu switch si schimba echipament.. :) si niste poze nu ar strica ;)

tu chiar vrei mura-n gura ?

Lucreaza frate singur, daca tot vrei sa iti deschizi un server de metin2 .
Imagine

Deconectat
Avatar utilizator
[Cea]usescu
Utilizator interzis !
Utilizator interzis !
Mesaje: 257
Membru din: 01 Ian 2015
Localitate: Timisoara
Status: Developer of Lupus2
Server Metin2: Lupus2
Regat: Jinno
Mulțumiri acordate: 8
Mulțumiri primite: 55
Contact:

Re: [Funcţii butoane pe inventar][Update 3#]

Mesajde [Cea]usescu » 08 Mar 2016, 14:54

Poate omul nu știe de ce comentezi aiurea?
Ultima oară modificat 18 Iun 2016, 20:17 de către [Cea]usescu, modificat de 2 ori în total.
Imagine
Ofer suport contracost:
-Pyton-
-Lua-
- C++ -
- Web-design-
Skype: mosualex2


Înapoi la “Altele”

Cine este conectat

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