ö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
Dann sucht ihr nach
PHP Code:
onPressKeyDict[app.DIK_F4] = lambda : self.__PressQuickSlot(7)
PHP Code:
onPressKeyDict[app.DIK_F5] = lambda : self.ShowShopGUI()
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(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):
## Shops 1. Reihe
self.Buttons_Reihe1_List = []
x = 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(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 = self.Buttons_Reihe1_Array[i]
Buttons_Reihe1.SetEvent(lambda arg = Mod: self.Buttons_Reihe1_Funktion(arg))
Buttons_Reihe1.SetEvent(lambda arg = Mod: self.Buttons_Reihe1_Funktion(arg))
self.Buttons_Reihe1_List.append(Buttons_Reihe1)
x += 65
y += 0
i += 1
## Shops 2. Reihe
self.Buttons_Reihe2_List = []
x = 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(x, y)
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 = Mod: self.Buttons_Reihe2_Funktion(arg))
Buttons_Reihe2.SetEvent(lambda arg = Mod: self.Buttons_Reihe2_Funktion(arg))
self.Buttons_Reihe2_List.append(Buttons_Reihe2)
x += 65
y += 0
i += 1
def Buttons_Reihe1_Funktion(self, mod):
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(self, mod):
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)
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
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!