Hallo liebe Community,
da mir vorhin die Frage, wie man mehrere Seiten in eine Quest bekommt, entgegengeflattert ist, erkläre ich nun, wie das funktioniert.
Beispielsquest:
Wenn der NPC xxxxx angesprochen wird, wird diese Funktion aufgerufen:
Diese Funktion wurde hier deklariert:
Im Menü, kann man dann auswählen, auf welche Seite, man wechseln möchte (3 Seiten stehen zur Verfügung). Wenn man die erste Seite aufruft, wird diese Funktion ausgeführt:
Dadurch wechselt man auf Seite 1, die hier deklariert wurde:
Hier hat man wieder die Wahl, dass man entweder auf Seite 2, Seite 3 oder ins Menü wechseln will (oder eben Abbrechen möchte).
Sagen wir, wir gehen wieder ins Menü. Nun wird wieder diese Funktion aufgerufen:
Und das Menü wird angezeigt. Hier kann man wieder auf Seite 1, Seite 2 oder Seite 3 wechseln. Wenn man jetzt beispielsweise auf Seite 2 wechselt, dann wird diese Funktion aufgerufen:
welche auch oben deklariert wurde und aus der man auch wieder ins Menü, auf Seite 1 oder auf Seite 3 wechseln kann. Wenn man alle 3 Seiten und das Menü deklariert hat, dann kann man unendlich oft die Seiten wechseln, ohne dass man das alles in der Quest schreiben muss.
MfG
Prusias
P.S: Bitte seit nicht zu streng mit mir, da es mein erstes HOWTO ist. Kritik ist dennoch gerne gesehen.
#EDIT: Fehler beseitigt!
da mir vorhin die Frage, wie man mehrere Seiten in eine Quest bekommt, entgegengeflattert ist, erkläre ich nun, wie das funktioniert.
Beispielsquest:
PHP Code:
-- ------------------------------
-- -- BY PRUSIAS @ ELITEPVPERS --
-- ------------------------------
quest drei_seiten begin
state start begin
when xxxxx.chat begin
drei_seiten.show_menu()
function show_menu()
say_title("Menü")
say("")
say("Seitenwahl:")
local menu = select("Seite1", "Seite2", "Seite3", "Abbrechen")
if menu == 4 then
return
end
if menu == 1 then
drei_seiten.show_seite1()
end
if menu == 2 then
drei_seiten.show_seite2()
end
if menu == 1 then
drei_seiten.show_seite3()
end
end
function show_seite1()
say_title("Seite1")
say("")
say("Seitenwahl:")
local seite_1 = select("Menü", "Seite2", "Seite3", "Abbrechen")
if seite_1 == 4 then
return
end
if seite_1 == 1 then
drei_seiten.show_menu()
end
if seite_1 == 2 then
drei_seiten.show_seite2()
end
if seite_1 == 3 then
drei_seiten.show_seite3()
end
end
function show_seite2()
say_title("Seite2")
say("")
say("Seitenwahl:")
local seite_2 = select("Menü", "Seite1", "Seite3", "Abbrechen")
if seite_2 == 4 then
return
end
if seite_2 == 1 then
drei_seiten.show_menu()
end
if seite_2 == 2 then
drei_seiten.show_seite1()
end
if seite_2 == 3 then
drei_seiten.show_seite3()
end
end
function show_seite3()
say_title("Seite1")
say("")
say("Seitenwahl:")
local seite_3 = select("Menü", "Seite1", "Seite2", "Abbrechen")
if seite_3 == 4 then
return
end
if seite_3 == 1 then
drei_seiten.show_menu()
end
if seite_3 == 2 then
drei_seiten.show_seite1()
end
if seite_3 == 3 then
drei_seiten.show_seite2()
end
end
end
end
end
PHP Code:
drei_seiten.show_menu()
PHP Code:
function show_menu()
say_title("Menü")
say("")
say("Seitenwahl:")
local menu = select("Seite1", "Seite2", "Seite3", "Abbrechen")
if menu == 4 then
return
end
if menu == 1 then
drei_seiten.show_seite1()
end
if menu == 2 then
drei_seiten.show_seite2()
end
if menu == 1 then
drei_seiten.show_seite3()
end
end
PHP Code:
drei_seiten.show_seite1()
PHP Code:
function show_seite1()
say_title("Seite1")
say("")
say("Seitenwahl:")
local seite_1 = select("Menü", "Seite2", "Seite3", "Abbrechen")
if seite_1 == 4 then
return
end
if seite_1 == 1 then
drei_seiten.show_menu()
end
if seite_1 == 2 then
drei_seiten.show_seite2()
end
if seite_1 == 3 then
drei_seiten.show_seite3()
end
end
Sagen wir, wir gehen wieder ins Menü. Nun wird wieder diese Funktion aufgerufen:
PHP Code:
drei_seiten.show_menu()
PHP Code:
drei_seiten.show_seite2()
MfG
Prusias
P.S: Bitte seit nicht zu streng mit mir, da es mein erstes HOWTO ist. Kritik ist dennoch gerne gesehen.
#EDIT: Fehler beseitigt!