[RELEASE]Securitate Inventar Funcţional !!!!

Ghiduri şi tutoriale despre cum să vă îmbunătăţiţi serverul/clientul dv. de metin2.
Deconectat
Avatar utilizator
SpaimaTa
Nivel 1
Nivel 1
Mesaje: 66
Membru din: 30 Noi 2015
Status: Sunt bine mersi ^.^
Server Metin2: Sunt bine mersi ^.^
Mulțumiri acordate: 0
Mulțumiri primite: 1

[RELEASE]Securitate Inventar Funcţional !!!!

Mesajde SpaimaTa » 21 Dec 2015, 14:03

Root constinfo.py
Adăugam la inceput

Cod: Selectaţi tot

SECURIATE_QUESTINDEX = 0
NegotFereastraNume = 0
SECURIATE_CONT = 1
INPUT_IGNORE = 0

Root uiinventory.py
Căutăm

Cod: Selectaţi tot

def __del__(self):
      ui.ScriptWindow.__del__(self)

Adaugam mai jos (Pentru cei fara costume) Mai jos aveti pentru cei cu costume !

Cod: Selectaţi tot

def ParolaInventarWnd(self):
      self.ParolaInventar = ui.BoardWithTitleBar()
      self.ParolaInventar.SetSize(180, 100)
      self.ParolaInventar.SetCenterPosition()
      self.ParolaInventar.AddFlag('movable')
      self.ParolaInventar.AddFlag('float')
      self.ParolaInventar.SetTitleName('Inventar')
      self.ParolaInventar.SetCloseEvent(self.InchidereParolaInventar)
      self.ParolaInventar.Show()
               
      self.TextParola = ui.TextLine()
      self.TextParola.SetParent(self.ParolaInventar)
      self.TextParola.SetDefaultFontName()
      self.TextParola.SetPosition(15, 35)
      self.TextParola.SetFeather()
      self.TextParola.SetText("Parola inventar:")
      self.TextParola.SetOutline()
      self.TextParola.Show()
      
      self.SlotParola = ui.SlotBar()
      self.SlotParola.SetParent(self.ParolaInventar)
      self.SlotParola.SetSize(60, 15)
      self.SlotParola.SetPosition(30, 35)
      self.SlotParola.SetWindowHorizontalAlignCenter()
      self.SlotParola.Show()

      self.CampParola = ui.EditLine()
      self.CampParola.SetParent(self.SlotParola)
      self.CampParola.SetSize(60, 15)
      self.CampParola.SetPosition(4, 1)
      self.CampParola.SetMax(4)
      self.CampParola.SetNumberMode()
      self.CampParola.SetFocus()      
      self.CampParola.Show()
      
      self.ButonParolaOK = ui.Button()
      self.ButonParolaOK.SetParent(self.ParolaInventar)
      self.ButonParolaOK.SetEvent(self.VerificareParola)
      self.ButonParolaOK.SetPosition(46, 67)
      self.ButonParolaOK.SetUpVisual("d:/ymir work/ui/public/large_button_01.sub")
      self.ButonParolaOK.SetOverVisual("d:/ymir work/ui/public/large_button_02.sub")
      self.ButonParolaOK.SetDownVisual("d:/ymir work/ui/public/large_button_03.sub")
      self.ButonParolaOK.SetText("Deblocare")
      self.ButonParolaOK.Show()
      
      self.CampParola.SetReturnEvent(ui.__mem_func__(self.VerificareParola))
      
   def VerificareParola(self):
      self.ParolaInventar.Hide()
      activare_skill2 = constInfo.SECURIATE_QUESTINDEX
      constInfo.NegotFereastraNume = self.CampParola.GetText()
      event.QuestButtonClick(activare_skill2)
      
   def InchidereParolaInventar(self):
      self.ParolaInventar.Hide()

   def Show(self):
      if constInfo.SECURIATE_CONT == 0:
         self.__LoadWindow()

         ui.ScriptWindow.Show(self)
      else:
         self.ParolaInventarWnd()

Sau asta (pentru cei cu costume)

Cod: Selectaţi tot

def ParolaInventarWnd(self):
      self.ParolaInventar = ui.BoardWithTitleBar()
      self.ParolaInventar.SetSize(180, 100)
      self.ParolaInventar.SetCenterPosition()
      self.ParolaInventar.AddFlag('movable')
      self.ParolaInventar.AddFlag('float')
      self.ParolaInventar.SetTitleName('Inventar')
      self.ParolaInventar.SetCloseEvent(self.InchidereParolaInventar)
      self.ParolaInventar.Show()
               
      self.TextParola = ui.TextLine()
      self.TextParola.SetParent(self.ParolaInventar)
      self.TextParola.SetDefaultFontName()
      self.TextParola.SetPosition(15, 35)
      self.TextParola.SetFeather()
      self.TextParola.SetText("Parola inventar:")
      self.TextParola.SetOutline()
      self.TextParola.Show()
      
      self.SlotParola = ui.SlotBar()
      self.SlotParola.SetParent(self.ParolaInventar)
      self.SlotParola.SetSize(60, 15)
      self.SlotParola.SetPosition(30, 35)
      self.SlotParola.SetWindowHorizontalAlignCenter()
      self.SlotParola.Show()

      self.CampParola = ui.EditLine()
      self.CampParola.SetParent(self.SlotParola)
      self.CampParola.SetSize(60, 15)
      self.CampParola.SetPosition(4, 1)
      self.CampParola.SetMax(4)
      self.CampParola.SetNumberMode()
      self.CampParola.SetFocus()      
      self.CampParola.Show()
      
      self.ButonParolaOK = ui.Button()
      self.ButonParolaOK.SetParent(self.ParolaInventar)
      self.ButonParolaOK.SetEvent(self.VerificareParola)
      self.ButonParolaOK.SetPosition(46, 67)
      self.ButonParolaOK.SetUpVisual("d:/ymir work/ui/public/large_button_01.sub")
      self.ButonParolaOK.SetOverVisual("d:/ymir work/ui/public/large_button_02.sub")
      self.ButonParolaOK.SetDownVisual("d:/ymir work/ui/public/large_button_03.sub")
      self.ButonParolaOK.SetText("Deblocare")
      self.ButonParolaOK.Show()
      
      self.CampParola.SetReturnEvent(ui.__mem_func__(self.VerificareParola))
      
   def VerificareParola(self):
      self.ParolaInventar.Hide()
      activare_skill2 = constInfo.SECURIATE_QUESTINDEX
      constInfo.NegotFereastraNume = self.CampParola.GetText()
      event.QuestButtonClick(activare_skill2)
      
   def InchidereParolaInventar(self):
      self.ParolaInventar.Hide()

      
   def Show(self):
      if constInfo.SECURIATE_CONT == 0:
         self.__LoadWindow()

         ui.ScriptWindow.Show(self)
         
         if self.isOpenedCostumeWindowWhenClosingInventory and self.wndCostume:
            self.wndCostume.Show()
         if self.wndBelt:
            self.wndBelt.Show(self.isOpenedBeltWindowWhenClosingInventory)
      else:
         self.ParolaInventarWnd()


root game.py
Cautam "PlayMusic" : self.__PlayMusic,
adaugam mai jos !

Cod: Selectaţi tot

#DASH
            "getinputbegin"            : self.__Input_Get_Dash_1,
            "getinputend"            : self.__Input_Get_Dash_2,
            "getinput"            : self.__Input_Get_Dash_3,
         "securitate_index"      : self.SecuriateQuestIndex,
         "sistem_negot_verificare_nume"      : self.__Sistem_negot_verificare_nume,
         "securiate_cont"            : self.SecuriateCont,
         "activareinv"               : self.ActivareInv,
         #DASH         

La final game.py adaugam

Cod: Selectaţi tot

#DASH
   def __Input_Get_Dash_1(self):
      constInfo.INPUT_IGNORE = 1
   
   def __Input_Get_Dash_2(self):
      constInfo.INPUT_IGNORE = 0

   def __Input_Get_Dash_3(self):
      net.SendQuestInputStringPacket("1")

   def SecuriateQuestIndex(self, value):
      #chat.AppendChat(chat.CHAT_TYPE_INFO, "index %d" % int(value))
      constInfo.SECURIATE_QUESTINDEX = int(value)

   def __Sistem_negot_verificare_nume(self):
      net.SendQuestInputStringPacket(str(constInfo.NegotFereastraNume))

   def SecuriateCont(self):
      constInfo.SECURIATE_CONT = 0

   def ActivareInv(self):
      constInfo.SECURIATE_CONT = 1
   #DASH

Gata cu root ! Acuma partea Serverfile !
Adaugam un fiser nume securitate in quest !

adaugam in quest_functions

Cod: Selectaţi tot

citire_parola
file_exists
resetare_parola
setare_parola

Adaugam in questlib.lua

Cod: Selectaţi tot

DirectorSecuritate = get_locale_base_path().."/quest/securitate/"

function citire_parola()
   local FisierPassword = DirectorSecuritate..pc.get_name().."_securitate.txt"
   local parola   
   if io.open(FisierPassword, "r") != nil then
      io.input(FisierPassword)
      parola = tonumber(io.read())
      io.input():close()
   else
      parola = 0
   end
   return parola
end

function file_exists()
   local name = DirectorSecuritate..pc.get_name().."_securitate.txt"
   local f=io.open(name,"r")
   if f!=nil then
      io.close(f)
      return true
   else
      return false
   end
end

function setare_parola(nr_buton)
   local name = DirectorSecuritate..pc.get_name().."_securitate.txt"
   io.output(name)
   io.write(tostring(nr_buton))
   io.flush()
   io.close()

end

function resetare_parola()
   local name = DirectorSecuritate..pc.get_name().."_securitate.txt"      
   os.remove(name)
end

Adaugam questu asta !

Cod: Selectaţi tot

quest securitate_inv begin
   state start begin
      function GetPassword()
         cmdchat("getinputbegin")
         password = input(cmdchat("sistem_negot_verificare_nume"))
         cmdchat("getinputend")
         --chat("-cenzurat- mea "..password)
         return password
      end
      
      when login begin
            cmdchat("securitate_index "..q.getcurrentquestindex()) -- -cenzurat- Poate Merge
         --chat("Ai afisat Sistemul de Putere "..q.getcurrentquestindex())
         if file_exists() != true then
            cmdchat("securiate_cont")
         else
            cmdchat("activareinv")
         end
      end
      
      when button or info begin
         --chat("Ai afis123123")
         local password = securitate_inv.GetPassword()
         --chat("-cenzurat- mea "..password)
         --chat("-cenzurat- mea2 "..citire_parola())
         if tonumber(password) == tonumber(citire_parola()) then
            cmdchat("securiate_cont")
            --chat("Ai afis123123")
         end
        end
      
      when 20152.chat."Setare parola" begin
         if file_exists() != true then
            say("stati parola")
            local item_vnum = input()
            setare_parola(item_vnum)
            cmdchat("activareinv")
         else
            say("In cazul in care va uitati parola de la inventar")
            say("luati legatura cu un [Owner]Alyn !")         
         end
      end   

      when 20152.chat."Resetare parola" begin
         if file_exists() != true then
            say("Nu puteti reseta parola")
         else
            say("Introduceti parola veche")
            local item_vnum = input()
            if tonumber(item_vnum) == tonumber(citire_parola()) then
               say("introduceti parola noua")
               local item_vnum1 = input()
               resetare_parola()
               setare_parola(item_vnum1)
            else
               say("Parola este gresita")
            end
         end
      end
   end
end
   

Deconectat
Avatar utilizator
Avramescu Ioana
Nivel 1
Nivel 1
Mesaje: 70
Membru din: 19 Dec 2015
Status: Sunt bine mersi ^.^
Regat: Shinsoo
Mulțumiri acordate: 0
Mulțumiri primite: 1

Re: [RELEASE]Securitate Inventar Funcţional !!!!

Mesajde Avramescu Ioana » 21 Dec 2015, 14:04

Felicitari :D

O sa revin cu un edit , dupa ce il voi incerca

Pana in prezent multumesc , chiar cautam

Deconectat
Avatar utilizator
yobogdan
Nivel 1
Nivel 1
Mesaje: 95
Membru din: 04 Noi 2013
Status: Sunt bine mersi ^.^
Server Metin2: Metin2BDK
Regat: Jinno
Mulțumiri acordate: 0
Mulțumiri primite: 0

Re: [RELEASE]Securitate Inventar Funcţional !!!!

Mesajde yobogdan » 21 Dec 2015, 14:06

Bravo pentru munca depusa la aces quest. Il voi incerca si eu.

Deconectat
Avatar utilizator
ionel17
Nivel 1
Nivel 1
Mesaje: 134
Membru din: 28 Dec 2013
Status: Cautator
Server Metin2: Lucrez la el [JUP-M]
Regat: Jinno
Mulțumiri acordate: 0
Mulțumiri primite: 0

Re: [RELEASE]Securitate Inventar Funcţional !!!!

Mesajde ionel17 » 23 Dec 2015, 01:19

A testat cineva acest sistem !?!!?!!?! :-\ :-\ :-\ :-\ :-\ :-\ :-\
[*][**][*][Imagine][*] [**] [*]

******************************************************************

Imagine

Deconectat
Avatar utilizator
WOASRY
Nou Venit
Nou Venit
Mesaje: 48
Membru din: 09 Feb 2014
Status: Sunt bine mersi ^.^
Server Metin2: 12414
Regat: Jinno
Mulțumiri acordate: 0
Mulțumiri primite: 0

Re: [RELEASE]Securitate Inventar Funcţional !!!!

Mesajde WOASRY » 24 Dec 2015, 11:51

De mult cautam acest sistem , multumesc !

Deconectat
Avatar utilizator
D3luxe
Nivel 2
Nivel 2
Mesaje: 194
Membru din: 28 Sep 2014
Status: Sunt bine mersi ^.^
Server Metin2: Metin2Mercenarii
Regat: Jinno
Mulțumiri acordate: 0
Mulțumiri primite: 0

Re: [RELEASE]Securitate Inventar Funcţional !!!!

Mesajde D3luxe » 25 Dec 2015, 17:41

Functional l-am testat ,multumesc :)

Conectat
Avatar utilizator
Kyoura
Nivel 4
Nivel 4
Mesaje: 542
Membru din: 15 Dec 2014
Localitate: Constanta
Status: Metin2Cybele.ro
Server Metin2: Metin2Cybele
Regat: Jinno
Mulțumiri acordate: 5
Mulțumiri primite: 13
Contact:

Re: [RELEASE]Securitate Inventar Funcţional !!!!

Mesajde Kyoura » 25 Dec 2015, 18:07

Tot nu este full :
1225 18:06:52101 :: Unknown Server Command achievementpoints 201 | achievementpoints
1225 18:06:52118 :: Unknown Server Command bonus_activ 0 | bonus_activ

Imi creeaza fisierul txt in folderul /quest/securitate cu parola dar cand o bag nu imi deschide inventarul.
WWW.METIN2CYBELE.RO

Deconectat
Avatar utilizator
D3luxe
Nivel 2
Nivel 2
Mesaje: 194
Membru din: 28 Sep 2014
Status: Sunt bine mersi ^.^
Server Metin2: Metin2Mercenarii
Regat: Jinno
Mulțumiri acordate: 0
Mulțumiri primite: 0

Re: [RELEASE]Securitate Inventar Funcţional !!!!

Mesajde D3luxe » 25 Dec 2015, 19:14

La mine a mers perfect ,a trebuie sa mai modific putin da nu e greu .
PS:Eroarea aia e de la altceva.

Conectat
Avatar utilizator
Kyoura
Nivel 4
Nivel 4
Mesaje: 542
Membru din: 15 Dec 2014
Localitate: Constanta
Status: Metin2Cybele.ro
Server Metin2: Metin2Cybele
Regat: Jinno
Mulțumiri acordate: 5
Mulțumiri primite: 13
Contact:

Re: [RELEASE]Securitate Inventar Funcţional !!!!

Mesajde Kyoura » 25 Dec 2015, 22:05

D3luxe scrie:La mine a mers perfect ,a trebuie sa mai modific putin da nu e greu .
PS:Eroarea aia e de la altceva.


Mie imi cere parola , o bag dar nu se deschide inv. skype mariankyoura te platesc
WWW.METIN2CYBELE.RO

Deconectat
Avatar utilizator
D3luxe
Nivel 2
Nivel 2
Mesaje: 194
Membru din: 28 Sep 2014
Status: Sunt bine mersi ^.^
Server Metin2: Metin2Mercenarii
Regat: Jinno
Mulțumiri acordate: 0
Mulțumiri primite: 0

Re: [RELEASE]Securitate Inventar Funcţional !!!!

Mesajde D3luxe » 25 Dec 2015, 22:10

Suportul se ofera doar pe forum,problema e ca nu e pus in uiinventory import event :P
daca te-am ajutat sa imi spui.


Înapoi la “Ghiduri şi Tutoriale”

Cine este conectat

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