Register for your free account! | Forgot your password?

You last visited: Today at 22:12

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Release] Shop Gui (Tragbare Shops)

Discussion on [Release] Shop Gui (Tragbare Shops) within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Reply
 
Old   #1
 
CoTzRaiZ-PaiNx's Avatar
 
elite*gold: 30
Join Date: Oct 2012
Posts: 1,388
Received Thanks: 243
[Release] Shop Gui (Tragbare Shops)

Wie der Name schon sagt veröffentliche ich heute ein Gui mit dem man Shop's
öffnen kann und so die Shops egal auf welcher Map immer dabei hat.


How to zum einfügen:
Als erstes geht ihr in eure game.py und fügt ganz oben
PHP Code:
import event 
ein.

Dann sucht ihr nach
PHP Code:
onPressKeyDict[app.DIK_F4]    = lambda self.__PressQuickSlot(7
und fügt darunter
PHP Code:
onPressKeyDict[app.DIK_F5]            = lambda self.ShowShopGUI() 
ein. Falls bei euch der Hotkey F5 schon belegt ist nehmt einen anderen.

Dann geht ihr ans Ende eurer game.py und tragt
PHP Code:
class ShopGUI(ui.ScriptWindow):
    
## Buttons Inhalt
    
Buttons_Reihe1_Array = ["Spezial""Gemischt""Schmuck"]
    
Buttons_Reihe2_Array = ["Waffen""Rüstungen""Steine"]

## GUI
    
def __init__(self):
        
ui.ScriptWindow.__init__(self)
        
self.LoadDialog()

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

    
def LoadDialog(self):
        
self.LoadGUI()
        
self.LoadButtons()

    
def Close(self):
        
self.Board.Hide()
## GUI
    
def LoadGUI(self):
        
self.Board ui.BoardWithTitleBar()
        
self.Board.SetSize(22398)
        
self.Board.SetCenterPosition()
        
self.Board.AddFlag("movable")
        
self.Board.AddFlag("float")
        
self.Board.SetTitleName("Shop Gui by (_8(|) at Epvp")
        
self.Board.SetCloseEvent(self.Close)
        
self.Board.OnPressEscapeKey ui.__mem_func__(self.Close)
        
self.Board.Show()

    
def LoadButtons(self):
    
## Shops 1. Reihe
        
self.Buttons_Reihe1_List = []
        
16
        y 
35
        i 
0
        
for Buttons__Liste1 in self.Buttons_Reihe1_Array:
            
Buttons_Reihe1 ui.Button()
            
Buttons_Reihe1.SetParent(self.Board)
            
Buttons_Reihe1.SetPosition(xy)
            
Buttons_Reihe1.SetUpVisual("d:/ymir work/ui/public/middle_button_01.sub")
            
Buttons_Reihe1.SetOverVisual("d:/ymir work/ui/public/middle_button_02.sub")
            
Buttons_Reihe1.SetDownVisual("d:/ymir work/ui/public/middle_button_03.sub")
            
Buttons_Reihe1.SetText(Buttons__Liste1)
            
Buttons_Reihe1.Show()
            
Mod self.Buttons_Reihe1_Array[i]
            
Buttons_Reihe1.SetEvent(lambda arg Modself.Buttons_Reihe1_Funktion(arg))
            
Buttons_Reihe1.SetEvent(lambda arg Modself.Buttons_Reihe1_Funktion(arg))
            
self.Buttons_Reihe1_List.append(Buttons_Reihe1)
            
+= 65
            y 
+= 0
            i 
+= 1
    
## Shops 2. Reihe
        
self.Buttons_Reihe2_List = []
        
16
        y 
60
        i 
0
        
for Buttons__Liste2 in self.Buttons_Reihe2_Array:
            
Buttons_Reihe2 ui.Button()
            
Buttons_Reihe2.SetParent(self.Board)
            
Buttons_Reihe2.SetPosition(xy)
            
Buttons_Reihe2.SetUpVisual("d:/ymir work/ui/public/middle_button_01.sub")
            
Buttons_Reihe2.SetOverVisual("d:/ymir work/ui/public/middle_button_02.sub")
            
Buttons_Reihe2.SetDownVisual("d:/ymir work/ui/public/middle_button_03.sub")
            
Buttons_Reihe2.SetText(Buttons__Liste2)
            
Buttons_Reihe2.Show()
            
Mod self.Buttons_Reihe2_Array[i]
            
Buttons_Reihe2.SetEvent(lambda arg Modself.Buttons_Reihe2_Funktion(arg))
            
Buttons_Reihe2.SetEvent(lambda arg Modself.Buttons_Reihe2_Funktion(arg))
            
self.Buttons_Reihe2_List.append(Buttons_Reihe2)
            
+= 65
            y 
+= 0
            i 
+= 1

    def Buttons_Reihe1_Funktion
(selfmod):
        
Buttons_Reihe1_Array = ["Spezial""Gemischt""Schmuck"]
        if 
str(mod) == Buttons_Reihe1_Array[0]:
            
event.QuestButtonClick(1)
        
elif str(mod) == Buttons_Reihe1_Array[1]:
            
event.QuestButtonClick(2)
        
elif str(mod) == Buttons_Reihe1_Array[2]:
            
event.QuestButtonClick(3)
        
self.Board.Hide()

    
def Buttons_Reihe2_Funktion(selfmod):
        
Buttons_Reihe2_Array = ["Waffen""Rüstungen""Steine"]
        if 
str(mod) == Buttons_Reihe2_Array[0]:
            
event.QuestButtonClick(4)
        
elif str(mod) == Buttons_Reihe2_Array[1]:
            
event.QuestButtonClick(5)
        
elif str(mod) == Buttons_Reihe2_Array[2]:
            
event.QuestButtonClick(6)
        
self.Board.Hide()

    
def Show(self):
        
ui.ScriptWindow.Show(self
ein. Immer auf die Tabs achten! Am besten klickt ihr dazu bei Notepad++ auf alle Zeichen anzeigen(10. Button von Rechts in der oberen Button Leiste). Dann werden euch die Tabs als Pfeil angezeigt.

Jetzt fügt ihr die Quest's aus dem Anhang in euren Quest Ordner ein.
Zum Schluss noch GANZ OBEN in der Questlist
PHP Code:
gui1.quest
Gui2
.quest
Gui3
.quest
Gui4
.quest
Gui5
.quest
Gui6
.quest 
eintragen.
In den Quest's müsst ihr die Shop ID auf eure anpassen!
Wer sich die Quest's anschaut sieht, dass erst ein NPC gerufen wird, der den Shop öffnet. Leider geht es nicht anders, da für den Befehl npc.open_shop
immer ein Npc benötigt wird. Vielleicht kann ja jemand noch eine Funktion dazu schreiben , sodass die Shops direkt beim klick auf den Button geöffnet werden.
Naja ich hoffe es gefällt euch viel Spaß damit! Bitte das Copyright nicht entfernen!
Attached Files
File Type: rar Quests.rar (1.6 KB, 156 views)
CoTzRaiZ-PaiNx is offline  
Thanks
22 Users
Old 07/11/2013, 16:08   #2
 
elite*gold: 0
Join Date: Jun 2013
Posts: 88
Received Thanks: 26
Finde ich sehr gut!

Gruß
Bro' ken<3 is offline  
Old 07/11/2013, 16:16   #3
 
Noa_'s Avatar
 
elite*gold: 0
Join Date: May 2013
Posts: 605
Received Thanks: 580
wow echt nice, danach habe ich schon lange gesucht.
Noa_ is offline  
Old 07/11/2013, 16:30   #4

 
Dєℓicια's Avatar
 
elite*gold: 1027
Join Date: Aug 2011
Posts: 1,905
Received Thanks: 3,278
Finde ich eine Klasse Idee. Danke dafür.
Dєℓicια is offline  
Old 07/11/2013, 16:30   #5
 
Stαgє6's Avatar
 
elite*gold: 0
Join Date: Jul 2011
Posts: 2,018
Received Thanks: 1,471
Die Gui kann man sehr gut gebrauchen. Echt gute Idee
Stαgє6 is offline  
Old 07/11/2013, 16:35   #6
 
xCPx's Avatar
 
elite*gold: 20
Join Date: Jun 2011
Posts: 2,897
Received Thanks: 3,336
Code:
001A917B: 0F 90
001A917C: 8F 90
001A917D: 9A 90
001A917E: 00 90
001A917F: 00 90
001A9180: 00 90
Ist mal auf die schnelle nen fix für das, dass man nen npc braucht (untested , Game34k)


btw:
Der py code ist bissl umständlich finde ich :O
Da hätte es eine for each schleife auch getan :O


So hätte ich das mal auf die kürze umgeschrieben:
Code:
class ShopGUI(ui.ScriptWindow):
    ## Buttons Inhalt
	Buttons_Reihe1_Array = ["Spezial", "Gemischt", "Schmuck","Waffen", "Rüstungen", "Steine"]

## GUI
    def __init__(self):
        ui.ScriptWindow.__init__(self)
        self.LoadDialog()

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

    def LoadDialog(self):
        self.LoadGUI()
        self.LoadButtons()

    def Close(self):
        self.Board.Hide()
## GUI
    def LoadGUI(self):
        self.Board = ui.BoardWithTitleBar()
        self.Board.SetSize(223, 98)
        self.Board.SetCenterPosition()
        self.Board.AddFlag("movable")
        self.Board.AddFlag("float")
        self.Board.SetTitleName("Shop Gui by (_8(|) at Epvp")
        self.Board.SetCloseEvent(self.Close)
        self.Board.OnPressEscapeKey = ui.__mem_func__(self.Close)
        self.Board.Show()

    def LoadButtons(self):
        self.Buttons_Reihe1_List = []
        x = 16
        y = 35
        i = 0
        for Buttons__Liste1 in self.Buttons_Reihe1_Array:
			if i == 3:
				y += 25
				x = 16
            Buttons_Reihe1 = ui.Button()
            Buttons_Reihe1.SetParent(self.Board)
            Buttons_Reihe1.SetPosition(x, y)
            Buttons_Reihe1.SetUpVisual("d:/ymir work/ui/public/middle_button_01.sub")
            Buttons_Reihe1.SetOverVisual("d:/ymir work/ui/public/middle_button_02.sub")
            Buttons_Reihe1.SetDownVisual("d:/ymir work/ui/public/middle_button_03.sub")
            Buttons_Reihe1.SetText(Buttons__Liste1)
            Buttons_Reihe1.Show()
            Mod = i
            Buttons_Reihe1.SetEvent(lambda arg = Mod: self.Buttons_Reihe1_Funktion(arg))
            self.Buttons_Reihe1_List.append(Buttons_Reihe1)
            x += 65
            i += 1

    def Buttons_Reihe1_Funktion(self, mod):			
			event.QuestButtonClick(mod +1)
        self.Board.Hide()
		
    def Show(self):
        ui.ScriptWindow.Show(self)
xCPx is offline  
Thanks
4 Users
Old 07/11/2013, 16:45   #7
 
xMichiix's Avatar
 
elite*gold: 435
Join Date: Nov 2009
Posts: 602
Received Thanks: 195
naja ist nice aber dann steht keiner mehr in map1 oder map2 rum ^^ find ich.

aber danke

MfG
xMichiix is offline  
Old 07/11/2013, 16:54   #8
 
elite*gold: 5
Join Date: Oct 2010
Posts: 1,692
Received Thanks: 1,772
Ohne die Dif von xCPx wäre die Gui eigentlich fast nutzlos.
Ich finde auch man sollte es nicht mit den ganzen Gui's übertreiben...
DasKuchen is offline  
Thanks
1 User
Old 07/11/2013, 16:58   #9
 
elite*gold: 370
Join Date: Apr 2013
Posts: 1,848
Received Thanks: 355
Geil Geil Geil

Endlich ein sinnvoller Release.


Danke die M2 Community ist doch noch zu was instande *-*


Lg SooshHD
SooshHD is offline  
Old 07/11/2013, 17:06   #10
 
elite*gold: 0
Join Date: Mar 2013
Posts: 17
Received Thanks: 3
W'o'w Nice Thanks!
T4Umpx3 is offline  
Old 07/11/2013, 17:50   #11
 
xCPx's Avatar
 
elite*gold: 20
Join Date: Jun 2011
Posts: 2,897
Received Thanks: 3,336
Quote:
Originally Posted by DasKuchen View Post
Ohne die Dif von xCPx wäre die Gui eigentlich fast nutzlos.
Ich finde auch man sollte es nicht mit den ganzen Gui's übertreiben...
Ich fand das coolste: fragt mich einer:
Kannst du mir die PetGui, die KillGui, das BonusBoard.... einbauen(ab da hab ich nemme zugehört)
Und ich denk mit nur so:
"die dinger sehen eh alle scheiße aus, also warum damit den Clienten zumüllen?"



btw:
Das ding funktioniert so eh nicht... da die Quests im leben nie die id´s 1-6 bekommen.
du musst die questid erst übergeben
xCPx is offline  
Old 07/11/2013, 17:54   #12


 
elite*gold: 0
Join Date: Feb 2010
Posts: 7,221
Received Thanks: 6,758
Man hätte auch einfach meine Teleporter-GUI nehmen können und die Quests durch Shopquests austauschen können
#SoNiice is offline  
Old 07/11/2013, 17:55   #13
 
elite*gold: 5
Join Date: Mar 2013
Posts: 1,986
Received Thanks: 2,254
Quote:
Originally Posted by xCPx View Post
Ich fand das coolste: fragt mich einer:
Kannst du mir die PetGui, die KillGui, das BonusBoard.... einbauen(ab da hab ich nemme zugehört)
Und ich denk mit nur so:
"die dinger sehen eh alle scheiße aus, also warum damit den Clienten zumüllen?"



btw:
Das ding funktioniert so eh nicht... da die Quests im leben nie die id´s 1-6 bekommen.
du musst die questid erst übergeben
Im Prinzip, kannst du von den Zeilen in der Quest_list ausgehen, WENN (das große aber xD) in keiner .quest mehrere quest's enthalten sind also nicht so ausehen:

PHP Code:
quest xyz begin
state start begin
***
end
end

quest zyx begin
state start begin
***
end
end 
xGr33n is offline  
Old 07/11/2013, 18:03   #14


 
elite*gold: 0
Join Date: Feb 2010
Posts: 7,221
Received Thanks: 6,758
^Das hatte ich bereits getestet für ein System, das funktionierte bei mir so auf jeden Fall nicht - Leider.. Wenn es doch gehen sollte, wäre ich über eine PN erfreut ;-)
#SoNiice is offline  
Old 07/11/2013, 18:29   #15

 
LxR'EsoZiaL's Avatar
 
elite*gold: 15
Join Date: Mar 2010
Posts: 4,269
Received Thanks: 2,499
Wollte schon sagen das euer 1. Code sehr sehr sehr Mau gemacht wurde.
LxR'EsoZiaL is offline  
Reply


Similar Threads Similar Threads
[Release] Mein v19 Pvp+Shop Map+FarmMap 1st. Release !
11/15/2013 - Flyff PServer Guides & Releases - 29 Replies
Hey Epvpers Ich Release mein Erstes Werk ! PvP+Shopmap+FarmMap im v19 Style Bitte Bewertet die Map :) Da ich nicht weis wie ich die bilder in den Thread einfüge hier der Link:
[Release]AIO Shop
03/30/2012 - Rappelz Private Server - 17 Replies
hi guys this my AIO shop i wont say much just open the file and install all SQL file and but the LUA in the server script file and the shop only work with Arcadia Repack if you have it OK but if not i but the Arcadia file with the npc i will update this topic with photos of the NPC download link : Here enjoy and press "Thanks"



All times are GMT +2. The time now is 22:12.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.