|
You last visited: Today at 06:47
Advertisement
[HowTo]Mehre Seiten in einer Quest
Discussion on [HowTo]Mehre Seiten in einer Quest within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.
10/01/2012, 15:36
|
#1
|
elite*gold: 47
Join Date: Feb 2012
Posts: 2,282
Received Thanks: 2,579
|
[HowTo]Mehre Seiten in einer Quest
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:
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
Wenn der NPC xxxxx angesprochen wird, wird diese Funktion aufgerufen:
PHP Code:
drei_seiten.show_menu()
Diese Funktion wurde hier deklariert:
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
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:
PHP Code:
drei_seiten.show_seite1()
Dadurch wechselt man auf Seite 1, die hier deklariert wurde:
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
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:
PHP Code:
drei_seiten.show_menu()
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:
PHP Code:
drei_seiten.show_seite2()
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!
|
|
|
10/01/2012, 15:43
|
#2
|
elite*gold: 0
Join Date: Oct 2010
Posts: 880
Received Thanks: 409
|
Nice Danke
|
|
|
10/01/2012, 15:50
|
#3
|
elite*gold: 399
Join Date: Sep 2011
Posts: 5,323
Received Thanks: 3,937
|
Eig. ziemlich nützlich. Vorallem, weil ich gerade questen lerne! Danke
|
|
|
10/01/2012, 15:52
|
#4
|
elite*gold: 0
Join Date: Apr 2010
Posts: 1,712
Received Thanks: 1,075
|
Quote:
Originally Posted by Prusias
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:
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
Wenn der NPC xxxxx angesprochen wird, wird diese Funktion aufgerufen:
PHP Code:
drei_seiten.show_menu()
Diese Funktion wurde hier deklariert:
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
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:
PHP Code:
drei_seiten.show_seite1()
Dadurch wechselt man auf Seite 1, die hier deklariert wurde:
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
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:
PHP Code:
drei_seiten.show_menu()
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:
PHP Code:
drei_seiten.show_seite2()
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!
|
Ich bin jetz kein Questgott aber ist das nicht genau das selbe wie als wenn du einfach einem 3 Auswahlmöglichkeiten gibst...
also zum Beispiel so hier:
Code:
say("2 verschiedene Antwort möglichkeiten!")
local s=select("Antwort1","Antwort2")
if s==1 then
say("Du hast die Antwort 1 gewählt.")
elseif s==2 then
say("Du hast Antwort2 gewählt.")
Wenn ja verstehe ich den Sinn hinter dem HowTo nicht da man das eigentlich können sollte als Quester oder auch als non-Quester
|
|
|
10/01/2012, 15:52
|
#5
|
elite*gold: 32
Join Date: Mar 2012
Posts: 6,716
Received Thanks: 2,737
|
Lol, nice, und danke.
|
|
|
10/01/2012, 15:59
|
#6
|
elite*gold: 20
Join Date: Jun 2011
Posts: 2,901
Received Thanks: 3,341
|
Ähm is zwar nett gemeint und auch hübsch geschrieben aber eigentlich reicht ein simples neusetzen des Titels oO
oder wait()
|
|
|
10/01/2012, 16:03
|
#7
|
elite*gold: 5
Join Date: Aug 2011
Posts: 1,130
Received Thanks: 512
|
@xCPx
Das ist nicht das was du denkst^^
Das ist so was wie ein "zurück" button, anstatt dieses doofe "Abbrechen".
Also von "Seite1" zu "Seite2", und dann kann man von der "Seite2" aus wieder auf die "Seite1" , das die ganze zeit.
|
|
|
10/01/2012, 16:04
|
#8
|
elite*gold: 47
Join Date: Feb 2012
Posts: 2,282
Received Thanks: 2,579
|
Quote:
Originally Posted by .Hiro
Ich bin jetz kein Questgott aber ist das nicht genau das selbe wie als wenn du einfach einem 3 Auswahlmöglichkeiten gibst...
also zum Beispiel so hier:
Code:
say("2 verschiedene Antwort möglichkeiten!")
local s=select("Antwort1","Antwort2")
if s==1 then
say("Du hast die Antwort 1 gewählt.")
elseif s==2 then
say("Du hast Antwort2 gewählt.")
Wenn ja verstehe ich den Sinn hinter dem HowTo nicht da man das eigentlich können sollte als Quester oder auch als non-Quester
|
Nein, denn mit meiner Lösung, kannst du unendlich oft hin- und herblättern. Mit deinem Weg, kann man nur einmal auswählen und kann dann nicht Met beispielsweise zurück Blättern.
Mfg
|
|
|
10/01/2012, 16:41
|
#9
|
elite*gold: 32
Join Date: Dec 2010
Posts: 1,294
Received Thanks: 862
|
Mit ner while oder repeat Schleife kannste alles noch viel kürzer machen. Wenn man's richtig macht.
|
|
|
10/01/2012, 17:06
|
#10
|
elite*gold: 47
Join Date: Feb 2012
Posts: 2,282
Received Thanks: 2,579
|
Quote:
Originally Posted by √π.
Mit ner while oder repeat Schleife kannste alles noch viel kürzer machen. Wenn man's richtig macht.
|
Hm...Die Methode kenne ich nicht. Könntest du sie mir mal freundlicherweise per Privater Nachricht schicken?
MfG
|
|
|
10/01/2012, 17:58
|
#11
|
elite*gold: 191
Join Date: May 2009
Posts: 1,214
Received Thanks: 2,597
|
Mit Coroutinen ginge das noch einfacher
|
|
|
10/01/2012, 17:59
|
#12
|
elite*gold: 394
Join Date: Jul 2011
Posts: 503
Received Thanks: 558
|
Quote:
Originally Posted by Mijago
Mit Coroutinen ginge das noch einfacher 
|
Dürfte ich um ein Beispiel bitten? :P
Regards
|
|
|
10/01/2012, 20:55
|
#13
|
elite*gold: 99
Join Date: Aug 2009
Posts: 4,295
Received Thanks: 5,091
|
Quote:
Originally Posted by ɑɀe'
Dürfte ich um ein Beispiel bitten? :P
Regards
|
Quote:
|
Coroutinen stammen ursprünglich aus der Assemblerwelt, denn dort war Speicher knapp. Sie sind allgemeiner gehaltene Subroutinen und haben mehrere Startpunkte. Coroutinen sind in den populären Programmiersprachen nicht bekannt. Der erste Teil dieser zweiteiligen Serie erklärt Coroutinen und die Umsetzung in C.
|
Weiterlesen auf (Quelle):
|
|
|
10/01/2012, 21:08
|
#14
|
elite*gold: 47
Join Date: Feb 2012
Posts: 2,282
Received Thanks: 2,579
|
Quote:
Originally Posted by Unoptanium
Aus Inforge
Aber schon eine tolle Sache
|
Nein. Selfmade (ausgedacht). Ich bin nicht auf Indorge
An alle anderen: Ich bin durch etwas nachdenken daraufgekommen und wusste erst seit ca. Einem halben Jahr und bis vor 3 Monaten ohne Anleitung (aus anderen Quasts gelernt)
Mfg
|
|
|
10/01/2012, 21:59
|
#15
|
elite*gold: 0
Join Date: Jun 2011
Posts: 3,382
Received Thanks: 1,792
|
Soweit ich mich errinere kannse ne neue Seite auch mit
wait()
machen.
So gehts zumindest bei mir
|
|
|
 |
|
Similar Threads
|
Metin2 Ring Quest [Wie füge ich ein Boni in einer Quest ein?]
04/13/2012 - Metin2 Private Server - 1 Replies
Habe die aktuellen Ringe von Metin2 DE in meinen Server eingefügt mit einer Quest. Aber jetzt ist die Frage wie man für jeden Ring ein Bonis hinzufügen kann?
|
Quest in Mehre Sprachen ?
11/18/2011 - Metin2 Private Server - 12 Replies
Hallo
Kann mir einer Helfen wie kann ich machen das Questes in Mehren Sprachen sind so das man Deutsch,English, und Rumänisch auswählen kann ?
|
Quest Status aus einer anderen Quest abfragen!
02/13/2011 - Metin2 Private Server - 0 Replies
Gibt es eine Möglichkeit in einer Quest abzufragen, was der Spieler in einer bestimmten anderen Quest im local_select ausgewählt hat?
also zb. erste quest:
auswahlmöglichkeiten: 1,2,3
zweite quest:
when pc.wählt 1 in der quest "blabla" begin
nur damit ihr es versteht :D
|
[HowTo] Große Bilder ingame (z.B. bei einer Quest) anzeigen lassen
11/14/2010 - Metin2 PServer Guides & Strategies - 24 Replies
Hi,
da ich es mittlerweile oft gefragt wurde, zeige ich euch mal, wie ihr soetwas darstellen könnt:
http://www5.pic-upload.de/07.11.10/bt5mafef2i8r.j pg
Geht folgendermaßen vor:
Clientside:
Ihr erstellt natürlich zuerst ein Bild, dieses speichert ihr dann als "NUMMER.tga" ab. Der Name des Bildes darf keine Buchstaben enthalten!
(In meinem Fall benutze ich den Namen "100009.tga"
|
Warrock seiten Off?? ( sry wenn es schon einer gepostet hat)
02/14/2010 - WarRock - 4 Replies
Also ich wollte eigentlich jetzt was amchen aber erst hatten ja die server probleme und nun ist warrock.net ops.warrock.net und gamersfirst offline?
stimmt das oder geht es bei euch??
kommt da jetzt das neue clansystem wollte nämlich im forum nachschauen warum server probleme gibt. Jetzt habe ich erfahren server schon wieder down??
|
All times are GMT +1. The time now is 06:48.
|
|