[SERVICE] Die Questkontrolle

03/05/2013 23:26 xSany#7696
PHP Code:
        when 71118.use begin 
            
if pc.get_level() >=1 then 
                chat
("Du hast nun einen Weißen Löwen als Reittier!") 
                
affect.remove_collect()  
                
pc.mount(20114, 200000) 
                
pc.mount_bonus(apply.ATT_GRADE_BONUS,250,200000)
                
pc.removeitem(71120, 1) 
            else 
                
chat("Du bist noch zu jung!Versuch es mit lvl 85 wieder!") 
            
end 
        end 
Möchte mir jemand sagen warum es nicht verschwindet nach dem benutzen? :s
03/06/2013 01:40 ©by Noa#7697
Quote:
Originally Posted by xSany View Post
PHP Code:
        when 71118.use begin 
            
if pc.get_level() >=1 then 
                chat
("Du hast nun einen Weißen Löwen als Reittier!") 
                
affect.remove_collect()  
                
pc.mount(20114, 200000) 
                
pc.mount_bonus(apply.ATT_GRADE_BONUS,250,200000)
                
pc.removeitem(71120, 1) 
            else 
                
chat("Du bist noch zu jung!Versuch es mit lvl 85 wieder!") 
            
end 
        end 
Möchte mir jemand sagen warum es nicht verschwindet nach dem benutzen? :s
weil ein anderes item in pc.remove_item steht
03/06/2013 10:30 xSany#7698
Quote:
Originally Posted by ©by Noa View Post
weil ein anderes item in pc.remove_item steht
Gott bin ich dumm ~.~
Vielen dank hab ich ja gar nicht drauf geachtet ^^
03/06/2013 18:17 selomelox3#7699
Hey habe bei dem kriegskeiler den boni Stark gegen Monster eingestellt 400 %.

Aber ügent wie übernimmt der den Boni nicht habe auch mit 1 % gestestet aber genau gleiche DMG.

Hier mal die Quest.
PHP Code:
quest Kriegskeiler begin   
     state start begin   
         when 71125.
use begin 
            affect
.remove_collect()           
            
pc.mount(20115,28800)
            
pc.mount_bonus(apply.ATT_BONUS_TO_MONSTER,400,28800)
            
pc.remove_item(71125,1)  
         
end  
      end   
end 
03/07/2013 11:56 xNyor#7700
Quote:
Originally Posted by selomelox3 View Post
Hey habe bei dem kriegskeiler den boni Stark gegen Monster eingestellt 400 %.

Aber ügent wie übernimmt der den Boni nicht habe auch mit 1 % gestestet aber genau gleiche DMG.

Hier mal die Quest.
PHP Code:
quest Kriegskeiler begin   
     state start begin   
         when 71125.
use begin 
            affect
.remove_collect()           
            
pc.mount(20115,28800)
            
pc.mount_bonus(apply.ATT_BONUS_TO_MONSTER,400,28800)
            
pc.remove_item(71125,1)  
         
end  
      end   
end 

PHP Code:
quest reiter begin  
    state start begin  
        when Code
.use begin
            
if not pc.is_mount() then
                chat
("Dein Reittier bringt dir zusätzlich 70 Angriffswert")
                
horse.ride()
                
affect.remove_collect()
                
pc.mount(Code, 99999)
                
affect.add_collect(apply.ATT_BONUS_TO_MONSTER, 70, 60*60*24*365*60)
            else
                
pc.unmount()
                
affect.remove_collect(apply.ATT_BONUS_TO_MONSTER, 70, 60*60*24*365*60)
            
end
        end    
    end    
end 
Da :P

Zum anderen willst du ja nicht das sie die Bonis aufstocken können oder ?
Verwende einfach diese Quest und du bist auf dem richtigen weg.
03/07/2013 15:36 teamspirit#7701
Hey.
Ich habe einen eigenes run gemacht, aber etwas ist nicht ok.


qc:
Code:
syntax error : [string "start]:5: ')' expected near '121'
afterrun.quest:175:Abort (core dumped)
03/08/2013 02:04 selomelox3#7702
Hey habe die Quest eingefügt aber wenn ich die Quest in der Machine reloade kommt... Error occured on compile fünfshops.quest

Hier mal die Quest.
PHP Code:
quest fünfshops begin
state start begin
when 9002.chat
."Krieger" begin
say_title
("Allure2:")
say("")
say("Möchtest du den Krieger Shop öffnen?")
local s = select("Ja", "Nein")

if 
s == 1 then
npc
.open_shop(100)
else
return
end
end
end

when 9002.chat
."Ninja" begin
say_title
("Allure2:")
say("")
say("Möchtest du den Ninja Shop öffnen?")
local s = select("Ja", "Nein")

if 
s == 1 then
npc
.open_shop(101)
else
return
end
end
end

when 9002.chat
."Sura" begin
say_title
("Allure2:")
say("")
say("Möchtest du den Sura Shop öffnen?")
local s = select("Ja", "Nein")

if 
s == 1 then
npc
.open_shop(102)
else
return
end
end
end

when 9002.chat
."Schamanen" begin
say_title
("Allure2:")
say("")
say("Möchtest du den Schamanen Shop öffnen?")
local s = select("Ja", "Nein")

if 
s == 1 then
npc
.open_shop(103)
else
return
end
end
end

when 9002.chat
."Schmuck" begin
say_title
("Allure2:")
say("")
say("Möchtest du den Schmuck Shop öffnen?")
local s = select("Ja", "Nein")

if 
s == 1 then
npc
.open_shop(104)
else
return
end
end
end 
03/08/2013 09:44 Меtіn2#7703
Quote:
Originally Posted by selomelox3 View Post
Hey habe die Quest eingefügt aber wenn ich die Quest in der Machine reloade kommt... Error occured on compile fünfshops.quest

Hier mal die Quest.
PHP Code:
quest fünfshops begin
state start begin
when 9002.chat
."Krieger" begin
say_title
("Allure2:")
say("")
say("Möchtest du den Krieger Shop öffnen?")
local s = select("Ja", "Nein")

if 
s == 1 then
npc
.open_shop(100)
else
return
end
end
end

when 9002.chat
."Ninja" begin
say_title
("Allure2:")
say("")
say("Möchtest du den Ninja Shop öffnen?")
local s = select("Ja", "Nein")

if 
s == 1 then
npc
.open_shop(101)
else
return
end
end
end

when 9002.chat
."Sura" begin
say_title
("Allure2:")
say("")
say("Möchtest du den Sura Shop öffnen?")
local s = select("Ja", "Nein")

if 
s == 1 then
npc
.open_shop(102)
else
return
end
end
end

when 9002.chat
."Schamanen" begin
say_title
("Allure2:")
say("")
say("Möchtest du den Schamanen Shop öffnen?")
local s = select("Ja", "Nein")

if 
s == 1 then
npc
.open_shop(103)
else
return
end
end
end

when 9002.chat
."Schmuck" begin
say_title
("Allure2:")
say("")
say("Möchtest du den Schmuck Shop öffnen?")
local s = select("Ja", "Nein")

if 
s == 1 then
npc
.open_shop(104)
else
return
end
end
end 
Dir fehlen zwei end's, wegen der quest und dem state am Anfang!
03/08/2013 12:46 LikeCranK™#7704
#Erledigt
03/09/2013 00:22 blackbanana#7705
wollte mein warpring/multiring mal bisschen umgestalten, also die auswahl neu anordnen (also nichts hinzufügen), hab aber wenig ahnung von quest´s.
ich bekomm` jetzt halt einen error ... (siehe anhang ;))

PHP Code:
quest multiring begin
    state start begin
        when 70007.
use begin
            say_title
("Warpring:")
            
local main=select("Warpring-Funktion", "Lager-Funktion", "Shopping-Funktion", "GM.Chat-Funktion", "Tastensperre")
            if 
1==main then
                say_title
("Warpring-Funktion:")
                
local s=select("Map1", "Map2", "Orktal (Mitte)", "Eisland (Mitte)", "Wüste (Oase)", "Weitere", "Beenden")
                if 
1==s then
                    say_title
("Warpring-Funktion:")
                    
local a=select ("Rotes", "Gelbes", "Blaues", "Beenden")
                    if 
1==a then
                        pc
.warp(474086, 954540)
                    elseif 
2==a then
                        pc
.warp(63098, 166617)
                    elseif 
3==a then
                        pc
.warp(960054, 268807)
                    elseif 
4==a then
                        
return
                    
end
                
elseif 2==s then
                    say_title
("Warpring-Funktion:")
                    
local b=select ("Rotes", "Gelbes", "Blaues", "Beenden")
                    if 
1==b then
                        pc
.warp(353003, 882460)
                    elseif 
2==b then
                        pc
.warp(145582, 240227)
                    elseif 
3==b then
                        pc
.warp(863589, 246139)
                    elseif 
4==b then
                        
return
                    
end
                
elseif 3==s then
                    pc
.warp(332885, 745737)
                elseif 
4==s then
                    pc
.warp(435705, 215084)
                elseif 
5==s then
                    pc
.warp(296758, 547724)
                elseif 
6==s then
                    
if pc.get_level() >= 30 then    
                        say_title
("Weitere Maps:")
                        
local ab=select ("Feuerland (Teleporter)", "Spinnendungeon", "Dämonenturm", "Seelengrotte", "Areal der Steine", "Beenden")
                        if 
1==ab then
                            pc
.warp(600813, 687144)
                        elseif 
2==ab then
                            say_title
("Warping-Funktion:")
                            
local sd = select ("Spinnendungeon 1", "Spinnendungeon 2", "Spinnenwald", "Beenden")
                            if 
1==sd then
                                pc
.warp(51200, 486400)
                            elseif 
2==sd then
                                pc
.warp(665600, 435200)
                            elseif 
3==sd then
                                pc
.warp(4168320, 4173180)
                            elseif 
4==sd then
                                
return
                            
end
                        
elseif 3==ab then
                            pc
.warp(590516, 110606)
                        elseif 
4==ab then
                            say_reward
("In welche Seelengrotte möchtest du denn?")
                            
local c=select ("Seelengrotte 1", "Seelengrotte 2", "Beenden")
                            if 
1==c then
                                pc
.warp(10086, 1213190)
                            elseif 
2==c then
                                pc
.warp(241682, 1275028)
                            elseif 
3==c then
                                
return
                            
end
                        
elseif 5==ab then
                            pc
.warp(44445978, 44445878)
                        elseif 
6==ab then
                            
return
                        
end
                    
elseif pc.get_level() >= 75 then
                        say_title
("Weitere Maps:")
                        
local ac=select ("Feuerland (Teleporter)", "Spinnendungeon", "Dämonenturm", "Seelengrotte", "Weitere", "Beenden")
                        if 
1==ac then
                            pc
.warp(600813, 687144)
                        elseif 
2==ac then
                            say_title
("Warping-Funktion:")
                            
local sd = select ("Spinnendungeon 1", "Spinnendungeon 2", "Spinnenwald", "Beenden")
                            if 
1==sd then
                                pc
.warp(51200, 486400)
                            elseif 
2==sd then
                                pc
.warp(665600, 435200)
                            elseif 
3==sd then
                                pc
.warp(4168320, 4173180)
                            elseif 
4==sd then
                                
return
                            
end
                        
elseif 3==ac then
                            pc
.warp(590516, 110606)
                        elseif 
4==ac then
                            say_reward
("In welche Seelengrotte möchtest du denn?")
                            
local d=select ("Seelengrotte 1", "Seelengrotte 2", "Beenden")
                            if 
1==d then
                                pc
.warp(10086, 1213190)
                            elseif 
2==d then
                                pc
.warp(241682, 1275028)
                            elseif 
3==d then
                                
return
                            
end
                        
elseif 5==ac then
                            say_title
("Warpring-Funktion:")
                            
local e=select ( "Areal der Steine", "Königsraum", "Beenden")
                        elseif 
1==e then
                            pc
.warp(44445978, 44445878)
                        elseif 
2==e then
                            pc
.warp(92110, 97047)
                        elseif 
3==e then
                            
return
                        
end
                        
elseif 6==ac then
                            
return
                        
end
                    
elseif pc.get_level() >= 100 then
                        say_title
("Weitere Maps:")
                        
local ad=select ("Feuerland (Teleporter)", "Spinnendungeon", "Dämonenturm", "Seelengrotte", "Weitere", "Beenden")
                        if 
1==ad then
                            pc
.warp(600813, 687144)
                        elseif 
2==ad then
                            say_title
("Warping-Funktion:")
                            
local sd = select ("Spinnendungeon 1", "Spinnendungeon 2", "Spinnenwald", "Beenden")
                            if 
1==sd then
                                pc
.warp(51200, 486400)
                            elseif 
2==sd then
                                pc
.warp(665600, 435200)
                            elseif 
3==sd then
                                pc
.warp(4168320, 4173180)
                            elseif 
4==sd then
                                
return
                            
end
                        
elseif 3==ad then
                            pc
.warp(590516, 110606)
                        elseif 
4==ad then
                            say_reward
("In welche Seelengrotte möchtest du denn?")
                            
local f=select ("Seelengrotte 1", "Seelengrotte 2", "Beenden")
                            if 
1==f then
                                pc
.warp(10086, 1213190)
                            elseif 
2==f then
                                pc
.warp(241682, 1275028)
                            elseif 
3==f then
                                
return
                            
end
                        
elseif 5==ad then
                            say_title
("Warpring-Funktion:")
                            
local c=select ("Areal der Steine", "Königsraum", "Verkommenes Land", "Beenden")
                            if 
1==g then
                                pc
.warp(44445978, 44445878)
                            if 
2==g then
                                pc
.warp(92110, 97047)
                            if 
3==g then
                                pc
.warp(2206207, 2231958)
                            elseif 
2==g then
                                
return
                            
end
                        
elseif 6==ad then
                            
return
                        
end
                    
elseif pc.get_level() >= 130 then
                        say_title
("Weitere Maps:")
                        
local ae=select ("Feuerland (Teleporter)", "Spinnenmaps", "Dämonenturm", "Seelengrotte", "Weitere", "Beenden")
                        if 
1==a then
                            pc
.warp(600813, 687144)
                        elseif 
2==ae then
                            say_title
("Warping-Funktion:")
                            
local sd = select ("Spinnendungeon 1", "Spinnendungeon 2", "Spinnenwald", "Beenden")
                            if 
1==sd then
                                pc
.warp(51200, 486400)
                            elseif 
2==sd then
                                pc
.warp(665600, 435200)
                            elseif 
3==sd then
                                pc
.warp(4168320, 4173180)
                            elseif 
4==sd then
                                
return
                            
end
                        
elseif 3==ae then
                            pc
.warp(590516, 110606)
                        elseif 
4==ae then
                            say_reward
("In welche Seelengrotte möchtest du denn?")
                            
local h=select ("Seelengrotte 1", "Seelengrotte 2", "Beenden")
                            if 
1==h then
                                pc
.warp(10086, 1213190)
                            elseif 
2==h then
                                pc
.warp(241682, 1275028)
                            elseif 
3==h then
                                
return
                            
end
                        
elseif 5==ae then
                            say_title
("Warpring-Funktion:")
                            
local i=select ("Areal der Steine", "Königsraum", "Verkommenes Land", "Orkberg", "Beenden")
                            if 
1==i then
                                pc
.warp(44445978, 44445878)
                            if 
2==i then
                                pc
.warp(92110, 97047)
                            if 
3==i then
                                pc
.warp(2206207, 2231958)
                            elseif 
4==i then
                                pc
.warp(35039765, 35085766)
                            elseif 
5==i then
                                
return
                            
end
                        
elseif 6==ae then
                            
return
                        
end
                    end
                
elseif 7==s then
                    
return
                
end 
03/09/2013 12:32 Kriegergeist^^#7706
Habe paar fragen zu 3 Quest befehlen.




Wäre wirklich nett wen jemand weiterhelfen könnte :handsdown:

MfG
Kriegergeist^^
03/10/2013 03:18 Manticore08#7707
I know this can be annoying and many ppl also asks for fixing this quest but even when i did sit on it over 3 hours i wasnt able to fix this
PHP Code:
quest monarch begin
        state start begin

                when electionman1
.chat."GM: Emperor election adjustments"
                
or  electionman2.chat."GM: Emperor election adjustments"
                
or electionman3.chat."GM: Emperor election adjustments" with pc.is_gm()  begin

                        
if game.get_event_flag("Emperor Election") == 1 then
                                say
("Here you can end the Emperor election.")
                                
say("Do you want to end the Emperor election now?")
                                
local s = select("End.","Don't end")

                                if 
s == 1 then
                                        game
.set_event_flag("Emperor",0)
                                
end
                        
else
                                
say("Here you can start the Emperor election.")
                                
say("Do you want to start the Emperor election now?")
                                
local s = select("Start","Don't start")

                                if 
s == 1 then
                                        game
.set_event_flag("Emperor",1)
                                
end

                        end

                end

                when electionman1
.chat."GM: Emperor election adjustments"
                
or  electionman2.chat."GM: Emperor election adjustments"
                
or electionman3.chat."GM: Emperor election adjustments" with pc.is_gm()  begin

                        
if game.get_event_flag("Emperor election") == 1 then
                                say
("Here you can end the Emperor election.")
                                
say("Do you want to end the Emperor election now?")
                                
local s = select("End.","Don't end")

                                if 
s == 1 then
                                        game
.set_event_flag("Emperor election",0)
                                
end
                        
else
                                
say("Here you can start the Emperor election.")
                                
say("Do you want to start the Emperor election now?")
                                
local s = select("Start","Don't start")

                                if 
s == 1 then
                                        game
.set_event_flag("Emperor election",1)
                                
end

                        end

                end


                when electionman1
.chat."Select an Emperor"
                
or electionman2.chat."Select an Emperor"
                
or electionman3.chat."Select an Emperor"  begin


                        
if  game.get_event_flag("Emperor election") != 1 then


                                say
("The election has not started yet.")
                                
say("Please try again when the elections have started.")
                                return
                        
end
                        local g 
= oh.candidacy_list()
                        
local gname_table = {}

                        
table.foreachi(g,
                        function(
n, p)
                                
gname_table[n] = n.."."..oh.candidacy_name(n-1)
                        
end)

                        if 
table.getn(g) == 0 then
                                
-- no currently war
                                say
("There are no candidates")
                        else
                                
gname_table[table.getn(g)+1] = locale.cancel
                                say
("Here you can vote for an Emperor.")
                                
say("During the Emperor elections the nations leave aside their own differences.")
                                
say("Please vote carefully.")
                                
say("You can only vote once.")
                                
say("Please vote on one of the candidates")
                                
wait()
                                
local s = select_table(gname_table)

                                if 
s == table.getn(gname_table) then
                                        
return;
                                else
                                        
ret = oh.election( s -1 )

                                        
say(oh.candidacy_name(s-1).."You voted")
                                
end
                        end
                end
                when electionman1
.chat."Show the Emperor candidates"
                
or electionman2.chat."Show the Emperor candidates"
                
or electionman3.chat."Show the Emperor candidates"  begin

                        
if  game.get_event_flag("Emperor") != 1 then
                                say
("The following requirements are necessary for")
                                
say("an Emperor.")
                                
say("")
                                
say_reward("1. An election fee of 1 million Gold.")
                                
say_reward("2. You have to be Guild leader or 2nd Guild leader")
                                
say_reward("3. Level 50 must be reached.")

                                
say("")
                                
say("But the election period has not yet started.")
                                
say("Return when it has begun.")
                                return
                        
end
                        say
("You are able to participate in the elections,")
                        
say("but as a candidate you need the following requirements:")
                        
say("")
                        
say_reward("1. An election fee of 1 million Gold.")
                        
say_reward("2. You have to be Guild leader or 2nd Guild leader")
                        
say_reward("3. Level 50 must be reached.")

                        
say("")
                        
say("Do you want to participate in the election?")

                    
local s = select("Yes, I want to participate. ","No thanks")

                        
local NEED_MONEY = 100000000

                        
if s == 1 then
                                
if oh.candidacycount() >= 8 then
                                        say
("We are sorry.")
                                        
say("We have enough candidates.")
                                        
say("Try again at the next election.")
                                        return
                                
end
                                
if pc.get_gold() >= NEED_MONEY and pc.get_level() >= 50 and oh.isguildmaster() == 1 then

                                        pc
.change_gold(-NEED_MONEY);
                                        
oh.candidacy();
                                
end
                        end
                end
        end
end 
seems like few functions are not specified or crossed with something. because when i activate as GM this quest. it wont let me do anything after first part. means mainly for players its bugged ( second part of quest ). It doesnt write in database nor anything and as i checked core with IDA better say both cores even database one. all query codes are set right and also tables correspond to queries, but quest doesnt do anything to database.


PHP Code:
SYSERR: Mar  9 13:03:35 :: RunState: LUA_ERROR: [string "monarch"]:6: attempt to call field `candidacy_list' (a nil value)
SYSERR: Mar  9 13:03:35 :: WriteRunningStateToSyserr: LUA_ERROR: quest monarch.start click
SYSERR: Mar  9 13:03:44 :: RunState: LUA_ERROR: [string "monarch"]:23: attempt to call field 
`candidacycount' (a nil value)
SYSERR: Mar  9 13:03:44 :: WriteRunningStateToSyserr: LUA_ERROR: quest monarch.start click 
i know its quest problem but as noob in lua am trying to figure out WTH went wrong with it. If you can help i would appreciate it.

Thank you for any help given
03/10/2013 22:31 tornado.maus#7708
Hallo Leute,
ich habe folgendes Problem:

Quote:
quest geldspeichertogo begin
state start begin
when letter begin
send_letter("Geldspeicher-to-go")
end
when info or button begin
say_title("Geldspeicher-to-go")
say("Hier kannst du Geldspeicher kaufen")
say("Du kannst das Geld, was du für sie ausgibst")
say("wieder bekommen indem du rechtsklick auf")
say("den Geldspeicher machst")
say("")
say("")
local a = select ("500kk Geldspeicher", "Abbrechen")
if a == 2 then
return
else
if pc.money>500000000 then
pc.changemoney(-500000000)
pc.give_item2(80008, 1)
end
end
end
end
end


Damit wollte ich erzielen, dass man, wenn man mehr als 1,9kkk im Invi hat,
automatisch einen 500kk Yangspeicher(30253) bekommt.
Allerdings klappt das nicht...habe die quest richtig eingefügt (quest_list und
in der VirtualBOX aktiviert)
Mann bekommt nur durch quest.

Bitte schnell um Hilfe
03/10/2013 23:23 ©by Noa#7709
PHP Code:
quest geldspeichertogo begin
    state start begin
        when login with pc
.get_money() > 20e9-1 begin
            pc
.changemoney(-5e8)
            
pc.give_item2(80008, 1)
            
chat("Du hast Automatisch ein "..item_name(80008).." bekommen")
        
end
    end
end 
glaube das müsste so auch gehen
03/12/2013 00:28 Antigene#7710
Quote:
Originally Posted by blackbanana View Post
wollte mein warpring/multiring mal bisschen umgestalten, also die auswahl neu anordnen (also nichts hinzufügen), hab aber wenig ahnung von quest´s.
ich bekomm` jetzt halt einen error ... (siehe anhang ;))

PHP Code:
quest multiring begin
    state start begin
        when 70007.
use begin
            say_title
("Warpring:")
            
local main=select("Warpring-Funktion", "Lager-Funktion", "Shopping-Funktion", "GM.Chat-Funktion", "Tastensperre")
            if 
1==main then
                say_title
("Warpring-Funktion:")
                
local s=select("Map1", "Map2", "Orktal (Mitte)", "Eisland (Mitte)", "Wüste (Oase)", "Weitere", "Beenden")
                if 
1==s then
                    say_title
("Warpring-Funktion:")
                    
local a=select ("Rotes", "Gelbes", "Blaues", "Beenden")
                    if 
1==a then
                        pc
.warp(474086, 954540)
                    elseif 
2==a then
                        pc
.warp(63098, 166617)
                    elseif 
3==a then
                        pc
.warp(960054, 268807)
                    elseif 
4==a then
                        
return
                    
end
                
elseif 2==s then
                    say_title
("Warpring-Funktion:")
                    
local b=select ("Rotes", "Gelbes", "Blaues", "Beenden")
                    if 
1==b then
                        pc
.warp(353003, 882460)
                    elseif 
2==b then
                        pc
.warp(145582, 240227)
                    elseif 
3==b then
                        pc
.warp(863589, 246139)
                    elseif 
4==b then
                        
return
                    
end
                
elseif 3==s then
                    pc
.warp(332885, 745737)
                elseif 
4==s then
                    pc
.warp(435705, 215084)
                elseif 
5==s then
                    pc
.warp(296758, 547724)
                elseif 
6==s then
                    
if pc.get_level() >= 30 then    
                        say_title
("Weitere Maps:")
                        
local ab=select ("Feuerland (Teleporter)", "Spinnendungeon", "Dämonenturm", "Seelengrotte", "Areal der Steine", "Beenden")
                        if 
1==ab then
                            pc
.warp(600813, 687144)
                        elseif 
2==ab then
                            say_title
("Warping-Funktion:")
                            
local sd = select ("Spinnendungeon 1", "Spinnendungeon 2", "Spinnenwald", "Beenden")
                            if 
1==sd then
                                pc
.warp(51200, 486400)
                            elseif 
2==sd then
                                pc
.warp(665600, 435200)
                            elseif 
3==sd then
                                pc
.warp(4168320, 4173180)
                            elseif 
4==sd then
                                
return
                            
end
                        
elseif 3==ab then
                            pc
.warp(590516, 110606)
                        elseif 
4==ab then
                            say_reward
("In welche Seelengrotte möchtest du denn?")
                            
local c=select ("Seelengrotte 1", "Seelengrotte 2", "Beenden")
                            if 
1==c then
                                pc
.warp(10086, 1213190)
                            elseif 
2==c then
                                pc
.warp(241682, 1275028)
                            elseif 
3==c then
                                
return
                            
end
                        
elseif 5==ab then
                            pc
.warp(44445978, 44445878)
                        elseif 
6==ab then
                            
return
                        
end
                    
elseif pc.get_level() >= 75 then
                        say_title
("Weitere Maps:")
                        
local ac=select ("Feuerland (Teleporter)", "Spinnendungeon", "Dämonenturm", "Seelengrotte", "Weitere", "Beenden")
                        if 
1==ac then
                            pc
.warp(600813, 687144)
                        elseif 
2==ac then
                            say_title
("Warping-Funktion:")
                            
local sd = select ("Spinnendungeon 1", "Spinnendungeon 2", "Spinnenwald", "Beenden")
                            if 
1==sd then
                                pc
.warp(51200, 486400)
                            elseif 
2==sd then
                                pc
.warp(665600, 435200)
                            elseif 
3==sd then
                                pc
.warp(4168320, 4173180)
                            elseif 
4==sd then
                                
return
                            
end
                        
elseif 3==ac then
                            pc
.warp(590516, 110606)
                        elseif 
4==ac then
                            say_reward
("In welche Seelengrotte möchtest du denn?")
                            
local d=select ("Seelengrotte 1", "Seelengrotte 2", "Beenden")
                            if 
1==d then
                                pc
.warp(10086, 1213190)
                            elseif 
2==d then
                                pc
.warp(241682, 1275028)
                            elseif 
3==d then
                                
return
                            
end
                        
elseif 5==ac then
                            say_title
("Warpring-Funktion:")
                            
local e=select ( "Areal der Steine", "Königsraum", "Beenden")
                        elseif 
1==e then
                            pc
.warp(44445978, 44445878)
                        elseif 
2==e then
                            pc
.warp(92110, 97047)
                        elseif 
3==e then
                            
return
                        
end
                        
elseif 6==ac then
                            
return
                        
end
                    
elseif pc.get_level() >= 100 then
                        say_title
("Weitere Maps:")
                        
local ad=select ("Feuerland (Teleporter)", "Spinnendungeon", "Dämonenturm", "Seelengrotte", "Weitere", "Beenden")
                        if 
1==ad then
                            pc
.warp(600813, 687144)
                        elseif 
2==ad then
                            say_title
("Warping-Funktion:")
                            
local sd = select ("Spinnendungeon 1", "Spinnendungeon 2", "Spinnenwald", "Beenden")
                            if 
1==sd then
                                pc
.warp(51200, 486400)
                            elseif 
2==sd then
                                pc
.warp(665600, 435200)
                            elseif 
3==sd then
                                pc
.warp(4168320, 4173180)
                            elseif 
4==sd then
                                
return
                            
end
                        
elseif 3==ad then
                            pc
.warp(590516, 110606)
                        elseif 
4==ad then
                            say_reward
("In welche Seelengrotte möchtest du denn?")
                            
local f=select ("Seelengrotte 1", "Seelengrotte 2", "Beenden")
                            if 
1==f then
                                pc
.warp(10086, 1213190)
                            elseif 
2==f then
                                pc
.warp(241682, 1275028)
                            elseif 
3==f then
                                
return
                            
end
                        
elseif 5==ad then
                            say_title
("Warpring-Funktion:")
                            
local c=select ("Areal der Steine", "Königsraum", "Verkommenes Land", "Beenden")
                            if 
1==g then
                                pc
.warp(44445978, 44445878)
                            if 
2==g then
                                pc
.warp(92110, 97047)
                            if 
3==g then
                                pc
.warp(2206207, 2231958)
                            elseif 
2==g then
                                
return
                            
end
                        
elseif 6==ad then
                            
return
                        
end
                    
elseif pc.get_level() >= 130 then
                        say_title
("Weitere Maps:")
                        
local ae=select ("Feuerland (Teleporter)", "Spinnenmaps", "Dämonenturm", "Seelengrotte", "Weitere", "Beenden")
                        if 
1==a then
                            pc
.warp(600813, 687144)
                        elseif 
2==ae then
                            say_title
("Warping-Funktion:")
                            
local sd = select ("Spinnendungeon 1", "Spinnendungeon 2", "Spinnenwald", "Beenden")
                            if 
1==sd then
                                pc
.warp(51200, 486400)
                            elseif 
2==sd then
                                pc
.warp(665600, 435200)
                            elseif 
3==sd then
                                pc
.warp(4168320, 4173180)
                            elseif 
4==sd then
                                
return
                            
end
                        
elseif 3==ae then
                            pc
.warp(590516, 110606)
                        elseif 
4==ae then
                            say_reward
("In welche Seelengrotte möchtest du denn?")
                            
local h=select ("Seelengrotte 1", "Seelengrotte 2", "Beenden")
                            if 
1==h then
                                pc
.warp(10086, 1213190)
                            elseif 
2==h then
                                pc
.warp(241682, 1275028)
                            elseif 
3==h then
                                
return
                            
end
                        
elseif 5==ae then
                            say_title
("Warpring-Funktion:")
                            
local i=select ("Areal der Steine", "Königsraum", "Verkommenes Land", "Orkberg", "Beenden")
                            if 
1==i then
                                pc
.warp(44445978, 44445878)
                            if 
2==i then
                                pc
.warp(92110, 97047)
                            if 
3==i then
                                pc
.warp(2206207, 2231958)
                            elseif 
4==i then
                                pc
.warp(35039765, 35085766)
                            elseif 
5==i then
                                
return
                            
end
                        
elseif 6==ae then
                            
return
                        
end
                    end
                
elseif 7==s then
                    
return
                
end 
Hier vielleicht hilft dir das das ist die Standard Warpring Quest:

PHP Code:
quest multiring begin
    state start begin
        when 70007.
use begin
            say_title
("Warpring:")
            
local main=select("Warpring-Funktion", "Lager-Funktion", "Shopping-Funktion", "GM.Chat-Funktion", "Tastensperre")
            if 
1==main then
                say_title
("Warpring-Funktion:")
                
local s=select("Map1", "Map2", "Orktal (Mitte)", "Eisland (Mitte)", "Wüste (Oase)", "Weitere", "Beenden")
                if 
1==s then
                    say_title
("Warpring-Funktion:")
                    
local a=select ("Rotes", "Gelbes", "Blaues", "Beenden")
                    if 
1==a then
                        pc
.warp(474086, 954540)
                    elseif 
2==a then
                        pc
.warp(63098, 166617)
                    elseif 
3==a then
                        pc
.warp(960054, 268807)
                    elseif 
4==a then
                        
return
                    
end
                
elseif 2==s then
                    say_title
("Warpring-Funktion:")
                    
local a=select ("Rotes", "Gelbes", "Blaues", "Beenden")
                    if 
1==a then
                        pc
.warp(353003, 882460)
                    elseif 
2==a then
                        pc
.warp(145582, 240227)
                    elseif 
3==a then
                        pc
.warp(863589, 246139)
                    elseif 
4==a then
                        
return
                    
end
                
elseif 3==s then
                    pc
.warp(332885, 745737)
                elseif 
4==s then
                    pc
.warp(435705, 215084)
                elseif 
5==s then
                    pc
.warp(296758, 547724)
                elseif 
6==s then
                    
if pc.get_level() < 75 then    
                        say_title
("Weitere Maps:")
                        
local a=select ("Feuerland (Teleporter)", "Spinnendungeon", "Dämonenturm", "Beenden")
                        if 
1==a then
                            pc
.warp(600813, 687144)
                        elseif 
2==a then
                            say_title
("Warping-Funktion:")
                            
local sd = select ("Spinnendungeon 1", "Spinnendungeon 2", "Spinnenwald", "Beenden")
                            if 
1==sd then
                                pc
.warp(51200, 486400)
                            elseif 
2==sd then
                                pc
.warp(665600, 435200)
                            elseif 
3==sd then
                                pc
.warp(4168320, 4173180)
                            elseif 
4==sd then
                                
return
                            
end
                        
elseif 3==a then
                            pc
.warp(590516, 110606)
                        elseif 
4==a then
                            
return
                        
end
                    
elseif pc.get_level() < 90 then
                        say_title
("Weitere Maps:")
                        
local a=select ("Feuerland (Teleporter)", "Spinnendungeon", "Dämonenturm", "Seelengrotte", "Areal der Steine", "Königsraum", "Beenden")
                        if 
1==a then
                            pc
.warp(600813, 687144)
                        elseif 
2==a then
                            say_title
("Warping-Funktion:")
                            
local sd = select ("Spinnendungeon 1", "Spinnendungeon 2", "Spinnenwald", "Beenden")
                            if 
1==sd then
                                pc
.warp(51200, 486400)
                            elseif 
2==sd then
                                pc
.warp(665600, 435200)
                            elseif 
3==sd then
                                pc
.warp(4168320, 4173180)
                            elseif 
4==sd then
                                
return
                            
end
                        
elseif 3==a then
                            pc
.warp(590516, 110606)
                        elseif 
4==a then
                            say_reward
("In welche Seelengrotte möchtest du denn?")
                            
local b=select ("Seelengrotte 1", "Seelengrotte 2", "Beenden")
                            if 
1==b then
                                pc
.warp(10086, 1213190)
                            elseif 
2==b then
                                pc
.warp(241682, 1275028)
                            elseif 
3==b then
                                
return
                            
end
                        
elseif 5==a then
                            pc
.warp(44445978, 44445878)
                        elseif 
6==a then
                            pc
.warp(92110, 97047)
                        elseif 
7==a then
                            
return
                        
end
                    
elseif pc.get_level() < 110 then
                        say_title
("Weitere Maps:")
                        
local a=select ("Feuerland (Teleporter)", "Spinnendungeon", "Dämonenturm", "Seelengrotte", "Areal der Steine", "Königsraum", "Weitere", "Beenden")
                        if 
1==a then
                            pc
.warp(600813, 687144)
                        elseif 
2==a then
                            say_title
("Warping-Funktion:")
                            
local sd = select ("Spinnendungeon 1", "Spinnendungeon 2", "Spinnenwald", "Beenden")
                            if 
1==sd then
                                pc
.warp(51200, 486400)
                            elseif 
2==sd then
                                pc
.warp(665600, 435200)
                            elseif 
3==sd then
                                pc
.warp(4168320, 4173180)
                            elseif 
4==sd then
                                
return
                            
end
                        
elseif 3==a then
                            pc
.warp(590516, 110606)
                        elseif 
4==a then
                            say_reward
("In welche Seelengrotte möchtest du denn?")
                            
local b=select ("Seelengrotte 1", "Seelengrotte 2", "Beenden")
                            if 
1==b then
                                pc
.warp(10086, 1213190)
                            elseif 
2==b then
                                pc
.warp(241682, 1275028)
                            elseif 
3==b then
                                
return
                            
end
                        
elseif 5==a then
                            pc
.warp(44445978, 44445878)
                        elseif 
6==a then
                            pc
.warp(92110, 97047)
                        elseif 
7==a then
                            say_title
("Warpring-Funktion:")
                            
local c=select ("Verkommenes Land", "Beenden")
                            if 
1==c then
                                pc
.warp(2206207, 2231958)
                            elseif 
2==c then
                                
return
                            
end
                        
elseif 7==a then
                            
return
                        
end
                    
elseif pc.get_level() >= 110 then
                        say_title
("Weitere Maps:")
                        
local a=select ("Feuerland (Teleporter)", "Spinnenmaps", "Dämonenturm", "Seelengrotte", "Areal der Steine", "Königsraum", "Weitere", "Beenden")
                        if 
1==a then
                            pc
.warp(600813, 687144)
                        elseif 
2==a then
                            say_title
("Warping-Funktion:")
                            
local sd = select ("Spinnendungeon 1", "Spinnendungeon 2", "Spinnenwald", "Beenden")
                            if 
1==sd then
                                pc
.warp(51200, 486400)
                            elseif 
2==sd then
                                pc
.warp(665600, 435200)
                            elseif 
3==sd then
                                pc
.warp(4168320, 4173180)
                            elseif 
4==sd then
                                
return
                            
end
                        
elseif 3==a then
                            pc
.warp(590516, 110606)
                        elseif 
4==a then
                            say_reward
("In welche Seelengrotte möchtest du denn?")
                            
local b=select ("Seelengrotte 1", "Seelengrotte 2", "Beenden")
                            if 
1==b then
                                pc
.warp(10086, 1213190)
                            elseif 
2==b then
                                pc
.warp(241682, 1275028)
                            elseif 
3==b then
                                
return
                            
end
                        
elseif 5==a then
                            pc
.warp(44445978, 44445878)
                        elseif 
6==a then
                            pc
.warp(92110, 97047)
                        elseif 
7==a then
                            say_title
("Warpring-Funktion:")
                            
local c=select ("Verkommenes Land", "Orkberg", "Beenden")
                            if 
1==c then
                                pc
.warp(2206207, 2231958)
                            elseif 
2==c then
                                pc
.warp(35039765, 35085766)
                            elseif 
3==c then
                                
return
                            
end
                        
elseif 8==a then
                            
return
                        
end
                    end
                
elseif 7==s then
                    
return
                
end
            
elseif 2==main then
                say_title
("Lager-Funktion")
                
say("Hallo und Herzlich Willkomen!")
                
say("Ich bin deine Mobile Lager-Funktion.")
                
say("Ich kann dir überall dein Lager öffnen.")
                
say_reward("Möchtest du dein Lager öffnen?")
                
local lager=select("Ja", "Nein")
                if 
1==lager then
                    say_title
("Lager-Funktion:")
                    
say("Welches Lager möchtest du denn öffnen?")
                    
local a=select("Normales Lager", "Itemshop Lager", "Beenden")
                    if 
1==a then
                        game
.open_safebox()
                    elseif 
2==a then
                        game
.open_mall()
                    elseif 
3==a then
                        
return
                    
end
                
elseif 2==lager then
                    
return
                
end
            
elseif 3==main then
                say_title
("Shopping-Funktion:")
                
say("Mit dieser Funktion kannst einen")
                
say("Multishop herbeirufen.")
                
say("Dieser Shop hat das zu bieten ,was du bestellst")
                
say("Also probier es einfach mal aus!")
                
say()
                
say("Aber denk dran:")
                
say()
                
say("Der Shop muss einmal geöffnet werden!")
                
say_reward("Sonst funktioniert das Handy nichtmehr!")
                
local s=select("Ok", "Nein")
                if 
1==s then
                    say
("Shopping-Funktion:")
                    
say_reward("Welchen Shop möchtes du öffnen?")
                    
local shop=select("Waffenhandel", "Specialshop", "Rüstungshandel", "Gemischtwarenhandel", "Schmuckhandel", "Mehr Anzeigen", "Beenden")
                    if 
1==shop then
                        mob
.spawn(20024, pc.get_local_x(),  pc.get_local_y(), 1, 1, 1)
                        
set_state(waffen)
                    elseif 
2==shop then
                        mob
.spawn(20024, pc.get_local_x(),  pc.get_local_y(), 1, 1, 1)
                        
set_state(special)
                    elseif 
3==shop then
                        mob
.spawn(20024, pc.get_local_x(),  pc.get_local_y(), 1, 1, 1)
                        
set_state(rüstung)
                    elseif 
4==shop then
                        mob
.spawn(20024, pc.get_local_x(),  pc.get_local_y(), 1, 1, 1)
                        
set_state(gemi)
                    elseif 
5==shop then
                        mob
.spawn(20024, pc.get_local_x(),  pc.get_local_y(), 1, 1, 1)
                        
set_state(schmuck)
                    elseif 
6==shop then
                        say_title
("Shopping-Funktion")
                        
say_reward("Welchen Shop möchtest du öffnen?")
                        
local shop2=select("Pfeilhandel", "Beenden")
                        if 
1==shop2 then
                            mob
.spawn(20024, pc.get_local_x(),  pc.get_local_y(), 1, 1, 1)
                            
set_state(pfeil)
                        elseif 
2==shop2 then
                            
return
                        
end
                    
elseif 7==shop then
                        
return
                    
end
                
elseif 2==s then
                    
return
                
end
            
elseif 4==main then
                
if get_time() > pc.getqf("duration") then
                    say_title
("GM.Chat-Funktion:")
                    
say("Hallo ".. pc.get_name() .." ich bin die GM.Chat-Funktion und")
                    
say("ich kann deine Nachrichten in andere Reiche")
                    
say("vermitteln. Es kostet dich auch nichts.")
                    
say("Das einzigste was du beachten musst, sind die")
                    
say("Regeln.")
                    
say("")
                    
say_reward("Klicke auf Weiter um die Regeln zu lesen.")
                    
wait()
                    
say_title("GM.Chat-Funktion:")
                    
say("Durch diese Funktion, könnt ihr in dem so-")
                    
say("gennanten GM - Chat eure Nachrichten vermitteln.")
                    
say("Ihr könnt damit durch alle 3. Reiche handeln")
                    
say("oder Fragen rund um den Server Fragen.")
                    
say("")
                    
say_title("Beachte bitte diese Regeln:")
                    
say_reward("- Du darfst / kannst maximal. 1 Nachricht")
                    
say_reward("  innerhalb einer Minute schreiben.")
                    
say_reward("- Keine Beleidigungen oder Drohungen.")
                    
say_reward("- Sinnloses Spamen führt zum Account Bann.")
                    
say_reward("- Keine rassistischen Wörter/Sprüche.")
                    
say("")
                    
wait()
                    
say_title("GM.Chat-Funktion:")
                    
say("Hast du die Regeln gelesen, so kannst du hier")
                    
say("deine Nachricht eingeben, die der ganze Server")
                    
say("lesen soll.")
                    
say("")
                    
say_reward("Bitte gebe deine Nachricht jetzt ein!")
                    
local y = input(  )
                    
say_title("GM.Chat-Funktion:")
                    
say("Möchtest du deine Nachricht wirklich senden?")
                    
local main_set = select("Nachricht senden.","Abbrechen.")
                    if 
main_set == 2 then
                        say_title
("GM.Chat-Funktion:")
                        
say("Deine Nachricht wurde nicht versendet.")
                    elseif 
main_set == 1 then
                        notice_all
("".. pc.get_name() ..":".. y .."")
                        
say_title("GM.Chat-Funktion:")
                        
say("Deine Nachricht wurde gesendet.")
                        
pc.setqf("duration",get_time()+60)
                    
end
                
else
                    
say("Du hast in dieser Minute erst eine Nachricht geschrieben.")
                    
say("Warte noch ein wenig.")
                
end
            
elseif 5==main then
                
return
            
end
        end    
    end
    state waffen begin
        when 20024.chat
."Waffenhandel" begin
            npc
.open_shop(1)
            
setskin(NOWINDOW)
            
npc.purge()
            
set_state(start)
        
end
    end
    state special begin
        when 20024.chat
."Spezialhandel" begin
            npc
.open_shop(41)
            
setskin(NOWINDOW)
            
npc.purge()
            
set_state(start)
        
end
    end
    state rüstung begin
        when 20024.chat
."Rüstungshandel" begin
            npc
.open_shop(16)
            
setskin(NOWINDOW)
            
npc.purge()
            
set_state(start)
        
end
    end
    state gemi begin
        when 20024.chat
."Gemischtwarenhandel" begin
            npc
.open_shop(3)
            
setskin(NOWINDOW)
            
npc.purge()
            
set_state(start)
        
end
    end
    state schmuck begin
        when 20024.chat
."Schmuckhandel" begin
            npc
.open_shop(17)
            
setskin(NOWINDOW)
            
npc.purge()
            
set_state(start)
        
end
    end
    state pfeil begin
        when 20024.chat
."Pfeilhandel" begin
            npc
.open_shop(15)
            
setskin(NOWINDOW)
            
npc.purge()
            
set_state(start)
        
end
    end    
end 
Die kannst du natürlich bearbeiten kann dir auch dabei weiterhelfen

Mfg

OneStyles