Quest fehler??

11/10/2009 15:35 marcwa#1
Hi,
kann mir jemnd helfen diesen Quest fehler zu beheben:

hier is der code von der Quest datei:
Code:
quest gmstuff begin
    state start begin
		when 20095.chat."GM Stuff" with pc.is_gm() begin
			say_title("Seon-Hae:")
			say("")
			say("Ohooo, hoher Besuch!")
			say("Einen GameMaster sieht man nicht")
			say("jeden Tag. Deshalb moechte ich dir")
			say("meine besten Sachen anbieten.")
			say("")
			say_title("Moechtest du etwas kaufen?")
				
				local s = select("Ja", "Nein")
				
				if s == 1 then
					npc.open_shop()
				else
					return
				end
		end
		
		when 20095.chat."Dieser Ort" begin
			say_title("Seon-Hae:")
			say("")
			say("Dies ist ein schoener Ort,")
			say("findest du nicht auch?")
			say("Staendig scheint hier die Sonne")
			say("und es ist schoen warm.")
			say("")
			
		end
		
	    when 20095.chat."Meistern" begin
			say_title("Seon-Hae:")
			say("")
			say("Du bist nun maechtig genug,")
			say("um die Perfekten skills")
			say("zu Erlernen!")
			say("Moechtest du Perfekt-Skills erlernen?")
			say("")
			
			local s = select("Ja", "Nein")
				
				if s == 1 then
					say_title("Seon-Hae:")
					say("Waehle deine Lehre, mein Schueler!")
							local s = select("Drachenmacht", "Heilung", "Nahkampf", "Fernkampf", "Schwarze-Magie", "Magische-Waffen", "Mental", "Koerper")
				
				            if s == 1 then
							command ("setsk 91 59")
							command ("setsk 92 59")
							command ("setsk 93 59")
							command ("setsk 94 59"
							command ("setsk 95 59")
							command ("setsk 96 59")
							if s == 2 then
							command ("setsk 111 59")
							command ("setsk 110 59")
							command ("setsk 109 59")
							command ("setsk 108 59")
							command ("setsk 107 59")
							command ("setsk 106 59")
							if s == 3 then
							command ("setsk 31 59")
							command ("setsk 32 59")
							command ("setsk 33 59")
							command ("setsk 34 59")
							command ("setsk 35 59")
							if s == 4 then
							command ("setsk 36 59")
							command ("setsk 37 59")
							command ("setsk 38 59")
							command ("setsk 39 59")
							command ("setsk 40 59")
							if s == 5 then
							command ("setsk 76 59")
							command ("setsk 77 59")
							command ("setsk 78 59")
							command ("setsk 79 59")
							command ("setsk 80 59")
							command ("setsk 81 59")
							if s == 6 then
							command ("setsk 61 59")
							command ("setsk 62 59")
							command ("setsk 63 59")
							command ("setsk 64 59")
							command ("setsk 65 59")
							command ("setsk 66 59")
							if s == 7 then
							command ("setsk 16 59")
							command ("setsk 17 59")
							command ("setsk 18 59")
							command ("setsk 19 59")
							command ("setsk 20 59")
							if s == 8 then
							command ("setsk 1 59")
							command ("setsk 2 59")
							command ("setsk 3 59")
							command ("setsk 4 59")
							command ("setsk 5 59")
					end		
			else
				return			
			
		end
		
		when 20095.chat."Event Management" with pc.is_gm() begin
			say_title("Seon-Hae:")
			say("")
			say("Bei mir kannst du saemtliche Events starten.")
			say(" ")
			say_title("Waehle das zu startende oder zu beendende Event:")
			say("")
			
			local e = select("Tag / Nacht", "Weihnachts Events", "Rates einstellen", "Abbrechen")
			
				if e == 1 then
					say_title("Seon-Hae:")
					say("")
					say("Du moechtest also zwischen Tag und")
					say("Nacht wechseln ?")
					
						local f = select ("Tag" , "Nacht", "Abbrechen")
							if f == 1 then
								command ("x 0")
							elseif f == 2 then
								command ("x 1")
							elseif f == 3 then
								return
						end

									
						
				elseif e == 2 then
					say_title("Seon-Hae:")
					say("")
					say("Du moechtest also die Weihnachts Events Starten?")
							
						local f = select ("Weihnachtsbaum", "Schnee", "Weihnachtsmusik", "Weihnachtsevent starten (Alles)", "Weihnachtsevent stoppen (Alles)", "Abbrechen")
						
						
						if f == 1 then
						
							local g = select ("Weihnachtsbaum aufstellen" , "Weihnachtsbaum wegraeumen", "Abbrechen")
									if g == 1 then
										command ("e xmas_tree 1")
										notice_all ("Bei Weihnachtlicher Stimmung darf")
										notice_all ("ein Weihnachtsbaum nicht fehlen!")
										notice_all ("Euer Server Team hat diesen geschmueckt")
										notice_all ("und in der Mitte Berg Sohans aufgestellt!")
										notice_all ("Frohes Fest!")
										
										say_title("Seon-Hae:")
										say("")
										say("Es ist geschafft!")
										say("Der Weihnachtsbaum steht!")
										say("")
									elseif g == 2 then
										command ("e xmas_tree 0")
										notice_all ("Weihnachten neigt sich langsam")
										notice_all ("dem Ende! Der Weihnachtsbaum wird")
										notice_all ("nun nichtmehr benoetigt")
										notice_all ("und wir haben ihn deshalb abgebaut.")
										
										say_title("Seon-Hae:")
										say("")
										say("Es ist geschafft!")
										say("Der Weihnachtsbaum ist weg!")
										say("")
																		
									elseif g == 3 then
										return
									end
							
						elseif f == 2 then
							local h = select ("Schnee an" , "Schnee aus", "Abbrechen")
									if h == 1 then
										command("e xmas_snow 1")
									elseif h == 2 then
										command ("e xmas_snow 0")
									elseif h == 3 then
										return
									end
									
						elseif f == 3 then
							local i = select ("Musik abspielen", "Musik stoppen", "Abbrechen")
									if i == 1 then
										command("e xmas_song 1")
									elseif i == 2 then
										command("e xmas_song 0")
									elseif i == 3 then
										return
									end
						elseif f == 4 then
							say("Willst du wirklich alles aktivieren?")
							say("Also Nachtmodus, den Weihnachtsbaum,")
							say("Schnee und die Weihnachtsmusik?")
							say("")
							local g_sub = select ("Ja", "Nein")
								if g_sub == 1 then
									command("e xmas_tree 1")
									command("e xmas_song 1")
									command("e xmas_boom 1")
									command("e xmas_snow 1")
									say("Alles aktiviert!")
								elseif g_sub == 2 then
									return
								end
						elseif f == 5 then
								say("Willst du wirklich alles deaktivieren?")
								say("Also Nachtmodus, den Weihnachtsbaum,")
								say("Schnee und die Weihnachtsmusik?")
								say("")
						local g_desub = select ("Ja", "Nein")
							if g_desub == 1 then
								command("e xmas_tree 0")
								command("e xmas_song 0")
								command("e xmas_boom 0")
								command("e xmas_snow 0")
								say("Alles deaktiviert!")
							elseif g_desub == 2 then
								return
						end
									
						elseif f == 6 then
							return
						end
									
				elseif e == 3 then
					say_title("Seon-Hae:")
					say("")
					say("Du moechtest also die Rates einstellen??")
					say("")
					say_title("Waehle die zu einstellende Rate")
						local rateset = select ("EXP","Yang","Max-Yang","Gegenstaende","Abbrechen")
						if rateset == 1 then
							say_title("Seon-Hae:")
							say("")
							say("Wie hoch soll die EXP-Rate werden?")
								local w =select ("100","200","500","1000","Abbrechen") 
									if w == 1 then
										command("priv_empire 0 4:exp 100 24")
									elseif w == 2 then
										command("priv_empire 0 4:exp 200 24")
									elseif w == 3 then
										command("priv_empire 0 4:exp 500 24")
									elseif w == 4 then
										command("priv_empire 0 4:exp 1000 24")
									elseif w == 5 then
										return
									end
							
						elseif rateset == 2 then
							say_title("Seon-Hae:")
							say("")
							say("Wie hoch soll die Yangdrop-Rate werden?")
								local x =select ("100","200","500","1000","Abbrechen") 
									if x == 1 then
										command("priv_empire 0 2:gold_drop 100 24")
									elseif x == 2 then
										command("priv_empire 0 2:gold_drop 200 24")
									elseif x == 3 then
										command("priv_empire 0 2:gold_drop 500 24")
									elseif x == 4 then
										command("priv_empire 0 2:gold_drop 1000 24")
									elseif x == 5 then
										return
									end
						elseif rateset == 3 then
							say_title("Seon-Hae:")
							say("")
							say("Wie hoch soll die MaxYang-Drop-Rate werden?")
								local y =select ("100","200","500","1000","Abbrechen") 
									if y == 1 then
										command("priv_empire 0 3:gold10_drop 100 24")
									elseif y == 2 then
										command("priv_empire 0 3:gold10_drop 200 24")
									elseif y == 3 then
										command("priv_empire 0 3:gold10_drop 500 24")
									elseif y == 4 then
										command("priv_empire 0 3:gold10_drop 1000 24")
									elseif y == 5 then
										return
									end
						elseif rateset == 4 then
							say_title("Seon-Hae:")
							say("")
							say("Wie hoch soll die Gegenstandsdrop-Rate werden?")
							local z =select ("100","200","500","1000","Abbrechen") 
									if z == 1 then
										command("priv_empire 0 1:item_drop 100 24")
									elseif z == 2 then
										command("priv_empire 0 1:item_drop 200 24")
									elseif z == 3 then
										command("priv_empire 0 1:item_drop 500 24")
									elseif z == 4 then
										command("priv_empire 0 1:item_drop 1000 24")
									elseif z == 5 then
										return
									end
						elseif rateset == 5 then
							return
						end
					
				elseif e == 4 then
					return
				end
		end
		
	end
end
bitte helft mir ;)

Der fehler muss i wo bei ("Meistern") liegen <.<

Lg,
m.w
11/10/2009 15:43 blackout85#2
Du musst jede einzelne Schleife Schließen glaube ich, bin mir aber nicht sicher.

Gruß Black
11/10/2009 15:44 marcwa#3
jede? auch die bei locale s? ^^
11/10/2009 15:48 blackout85#4
Ich meine das hier,

PHP Code:
if == 1 then
                    say_title
("Seon-Hae:")
                    
say("Waehle deine Lehre, mein Schueler!")
                            
local s select("Drachenmacht""Heilung""Nahkampf""Fernkampf""Schwarze-Magie""Magische-Waffen""Mental""Koerper")
                
                            if 
== 1 then
                            command 
("setsk 91 59")
                            
command ("setsk 92 59")
                            
command ("setsk 93 59")
                            
command ("setsk 94 59"
                            
command ("setsk 95 59")
                            
command ("setsk 96 59")
                            if 
== 2 then
                            command 
("setsk 111 59")
                            
command ("setsk 110 59")
                            
command ("setsk 109 59")
                            
command ("setsk 108 59")
                            
command ("setsk 107 59")
                            
command ("setsk 106 59")
                            if 
== 3 then
                            command 
("setsk 31 59")
                            
command ("setsk 32 59")
                            
command ("setsk 33 59")
                            
command ("setsk 34 59")
                            
command ("setsk 35 59")
                            if 
== 4 then
                            command 
("setsk 36 59")
                            
command ("setsk 37 59")
                            
command ("setsk 38 59")
                            
command ("setsk 39 59")
                            
command ("setsk 40 59")
                            if 
== 5 then
                            command 
("setsk 76 59")
                            
command ("setsk 77 59")
                            
command ("setsk 78 59")
                            
command ("setsk 79 59")
                            
command ("setsk 80 59")
                            
command ("setsk 81 59")
                            if 
== 6 then
                            command 
("setsk 61 59")
                            
command ("setsk 62 59")
                            
command ("setsk 63 59")
                            
command ("setsk 64 59")
                            
command ("setsk 65 59")
                            
command ("setsk 66 59")
                            if 
== 7 then
                            command 
("setsk 16 59")
                            
command ("setsk 17 59")
                            
command ("setsk 18 59")
                            
command ("setsk 19 59")
                            
command ("setsk 20 59")
                            if 
== 8 then
                            command 
("setsk 1 59")
                            
command ("setsk 2 59")
                            
command ("setsk 3 59")
                            
command ("setsk 4 59")
                            
command ("setsk 5 59")
                    
end        
            
else
                return            
            
        
end 
Schau einfach mal wieviele Schleifen du auf machst und wie wenige du schließt.

Gruß Black
11/10/2009 15:57 marcwa#5
habs jetzt mal so gemacht geht aba immernoch ned:
Code:
quest gmstuff begin
    state start begin
		when 20095.chat."GM Stuff" with pc.is_gm() begin
			say_title("Seon-Hae:")
			say("")
			say("Ohooo, hoher Besuch!")
			say("Einen GameMaster sieht man nicht")
			say("jeden Tag. Deshalb moechte ich dir")
			say("meine besten Sachen anbieten.")
			say("")
			say_title("Moechtest du etwas kaufen?")
				
				local s = select("Ja", "Nein")
				
				if s == 1 then
					npc.open_shop()
				else
					return
				end
		end
		
		when 20095.chat."Dieser Ort" begin
			say_title("Seon-Hae:")
			say("")
			say("Dies ist ein schoener Ort,")
			say("findest du nicht auch?")
			say("Staendig scheint hier die Sonne")
			say("und es ist schoen warm.")
			say("")
			
		end
		
	    when 20095.chat."Meistern" begin
			say_title("Seon-Hae:")
			say("")
			say("Du bist nun maechtig genug,")
			say("um die Perfekten skills")
			say("zu Erlernen!")
			say("Moechtest du Perfekt-Skills erlernen?")
			say("")
			
			local s = select("Ja", "Nein")
				
				if s == 1 then
					    say_title("Seon-Hae:")
					    say("Waehle deine Lehre, mein Schueler!")
							local s = select("Drachenmacht", "Heilung", "Nahkampf", "Fernkampf", "Schwarze-Magie", "Magische-Waffen", "Mental", "Koerper")
				
				            if s == 1 then
							command ("setsk 91 59")
							command ("setsk 92 59")
							command ("setsk 93 59")
							command ("setsk 94 59"
							command ("setsk 95 59")
							command ("setsk 96 59")
							if s == 2 then
							command ("setsk 111 59")
							command ("setsk 110 59")
							command ("setsk 109 59")
							command ("setsk 108 59")
							command ("setsk 107 59")
							command ("setsk 106 59")
							if s == 3 then
							command ("setsk 31 59")
							command ("setsk 32 59")
							command ("setsk 33 59")
							command ("setsk 34 59")
							command ("setsk 35 59")
							if s == 4 then
							command ("setsk 36 59")
							command ("setsk 37 59")
							command ("setsk 38 59")
							command ("setsk 39 59")
							command ("setsk 40 59")
							if s == 5 then
							command ("setsk 76 59")
							command ("setsk 77 59")
							command ("setsk 78 59")
							command ("setsk 79 59")
							command ("setsk 80 59")
							command ("setsk 81 59")
							if s == 6 then
							command ("setsk 61 59")
							command ("setsk 62 59")
							command ("setsk 63 59")
							command ("setsk 64 59")
							command ("setsk 65 59")
							command ("setsk 66 59")
							if s == 7 then
							command ("setsk 16 59")
							command ("setsk 17 59")
							command ("setsk 18 59")
							command ("setsk 19 59")
							command ("setsk 20 59")
							if s == 8 then
							command ("setsk 1 59")
							command ("setsk 2 59")
							command ("setsk 3 59")
							command ("setsk 4 59")
							command ("setsk 5 59")
						end	
					end	
				end	
			else
				return			
			end
		end
		
		when 20095.chat."Event Management" with pc.is_gm() begin
			say_title("Seon-Hae:")
			say("")
			say("Bei mir kannst du saemtliche Events starten.")
			say(" ")
			say_title("Waehle das zu startende oder zu beendende Event:")
			say("")
			
			local e = select("Tag / Nacht", "Weihnachts Events", "Rates einstellen", "Abbrechen")
			
				if e == 1 then
					say_title("Seon-Hae:")
					say("")
					say("Du moechtest also zwischen Tag und")
					say("Nacht wechseln ?")
					
						local f = select ("Tag" , "Nacht", "Abbrechen")
							if f == 1 then
								command ("x 0")
							elseif f == 2 then
								command ("x 1")
							elseif f == 3 then
								return
						end

									
						
				elseif e == 2 then
					say_title("Seon-Hae:")
					say("")
					say("Du moechtest also die Weihnachts Events Starten?")
							
						local f = select ("Weihnachtsbaum", "Schnee", "Weihnachtsmusik", "Weihnachtsevent starten (Alles)", "Weihnachtsevent stoppen (Alles)", "Abbrechen")
						
						
						if f == 1 then
						
							local g = select ("Weihnachtsbaum aufstellen" , "Weihnachtsbaum wegraeumen", "Abbrechen")
									if g == 1 then
										command ("e xmas_tree 1")
										notice_all ("Bei Weihnachtlicher Stimmung darf")
										notice_all ("ein Weihnachtsbaum nicht fehlen!")
										notice_all ("Euer Server Team hat diesen geschmueckt")
										notice_all ("und in der Mitte Berg Sohans aufgestellt!")
										notice_all ("Frohes Fest!")
										
										say_title("Seon-Hae:")
										say("")
										say("Es ist geschafft!")
										say("Der Weihnachtsbaum steht!")
										say("")
									elseif g == 2 then
										command ("e xmas_tree 0")
										notice_all ("Weihnachten neigt sich langsam")
										notice_all ("dem Ende! Der Weihnachtsbaum wird")
										notice_all ("nun nichtmehr benoetigt")
										notice_all ("und wir haben ihn deshalb abgebaut.")
										
										say_title("Seon-Hae:")
										say("")
										say("Es ist geschafft!")
										say("Der Weihnachtsbaum ist weg!")
										say("")
																		
									elseif g == 3 then
										return
									end
							
						elseif f == 2 then
							local h = select ("Schnee an" , "Schnee aus", "Abbrechen")
									if h == 1 then
										command("e xmas_snow 1")
									elseif h == 2 then
										command ("e xmas_snow 0")
									elseif h == 3 then
										return
									end
									
						elseif f == 3 then
							local i = select ("Musik abspielen", "Musik stoppen", "Abbrechen")
									if i == 1 then
										command("e xmas_song 1")
									elseif i == 2 then
										command("e xmas_song 0")
									elseif i == 3 then
										return
									end
						elseif f == 4 then
							say("Willst du wirklich alles aktivieren?")
							say("Also Nachtmodus, den Weihnachtsbaum,")
							say("Schnee und die Weihnachtsmusik?")
							say("")
							local g_sub = select ("Ja", "Nein")
								if g_sub == 1 then
									command("e xmas_tree 1")
									command("e xmas_song 1")
									command("e xmas_boom 1")
									command("e xmas_snow 1")
									say("Alles aktiviert!")
								elseif g_sub == 2 then
									return
								end
						elseif f == 5 then
								say("Willst du wirklich alles deaktivieren?")
								say("Also Nachtmodus, den Weihnachtsbaum,")
								say("Schnee und die Weihnachtsmusik?")
								say("")
						local g_desub = select ("Ja", "Nein")
							if g_desub == 1 then
								command("e xmas_tree 0")
								command("e xmas_song 0")
								command("e xmas_boom 0")
								command("e xmas_snow 0")
								say("Alles deaktiviert!")
							elseif g_desub == 2 then
								return
						end
									
						elseif f == 6 then
							return
						end
									
				elseif e == 3 then
					say_title("Seon-Hae:")
					say("")
					say("Du moechtest also die Rates einstellen??")
					say("")
					say_title("Waehle die zu einstellende Rate")
						local rateset = select ("EXP","Yang","Max-Yang","Gegenstaende","Abbrechen")
						if rateset == 1 then
							say_title("Seon-Hae:")
							say("")
							say("Wie hoch soll die EXP-Rate werden?")
								local w =select ("100","200","500","1000","Abbrechen") 
									if w == 1 then
										command("priv_empire 0 4:exp 100 24")
									elseif w == 2 then
										command("priv_empire 0 4:exp 200 24")
									elseif w == 3 then
										command("priv_empire 0 4:exp 500 24")
									elseif w == 4 then
										command("priv_empire 0 4:exp 1000 24")
									elseif w == 5 then
										return
									end
							
						elseif rateset == 2 then
							say_title("Seon-Hae:")
							say("")
							say("Wie hoch soll die Yangdrop-Rate werden?")
								local x =select ("100","200","500","1000","Abbrechen") 
									if x == 1 then
										command("priv_empire 0 2:gold_drop 100 24")
									elseif x == 2 then
										command("priv_empire 0 2:gold_drop 200 24")
									elseif x == 3 then
										command("priv_empire 0 2:gold_drop 500 24")
									elseif x == 4 then
										command("priv_empire 0 2:gold_drop 1000 24")
									elseif x == 5 then
										return
									end
						elseif rateset == 3 then
							say_title("Seon-Hae:")
							say("")
							say("Wie hoch soll die MaxYang-Drop-Rate werden?")
								local y =select ("100","200","500","1000","Abbrechen") 
									if y == 1 then
										command("priv_empire 0 3:gold10_drop 100 24")
									elseif y == 2 then
										command("priv_empire 0 3:gold10_drop 200 24")
									elseif y == 3 then
										command("priv_empire 0 3:gold10_drop 500 24")
									elseif y == 4 then
										command("priv_empire 0 3:gold10_drop 1000 24")
									elseif y == 5 then
										return
									end
						elseif rateset == 4 then
							say_title("Seon-Hae:")
							say("")
							say("Wie hoch soll die Gegenstandsdrop-Rate werden?")
							local z =select ("100","200","500","1000","Abbrechen") 
									if z == 1 then
										command("priv_empire 0 1:item_drop 100 24")
									elseif z == 2 then
										command("priv_empire 0 1:item_drop 200 24")
									elseif z == 3 then
										command("priv_empire 0 1:item_drop 500 24")
									elseif z == 4 then
										command("priv_empire 0 1:item_drop 1000 24")
									elseif z == 5 then
										return
									end
						elseif rateset == 5 then
							return
						end
					
				elseif e == 4 then
					return
				end
		end
		
	end
end
11/10/2009 16:41 .flauschi.#6
Ich finde kein Problem
11/10/2009 17:10 blackout85#7
Versuch mal jeden Block einzeln:

PHP Code:
if == 1 then
command 
("setsk 91 59")
command ("setsk 92 59")
command ("setsk 93 59")
command ("setsk 94 59")
command ("setsk 95 59")
command ("setsk 96 59")
end 
In PHP muss auch jede Schleife einzeln beendet werden.

Beispiel:

PHP Code:
if (bedingung == ergebnis){
Code für die Bedingung

die Klammer zu } ist in dem Fall das end

Gruß Black

PS. was auch noch zu beachten ist : command ("setsk 94 59"
11/10/2009 17:30 marcwa#8
ich glaub so gehts wie du gesagt hast black aber jetzt kommt folgende meldung:

expecting 'state'
gmstuff.quest:118:Abort trap (core dumped)

weisste vll was ich noch verändern muss? ^^
muss ich es vll extr in nem neuen state machen?

Lg,
m.w
11/11/2009 05:38 blackout85#9
Haste deinen Schreibfehler im Code behoben?

Gruß Black
11/11/2009 12:09 marcwa#10
ja also das ) hab ich eingefügt^^
11/11/2009 12:13 Daunenjacke#11
Du versuchst auf einen state zuzugreifen der nicht Exestiert...
11/11/2009 19:59 marcwa#12
wo hab ich den den fehler?
11/11/2009 21:22 KillerTitus2#13
Kann ich deine quest übernehmen? Und wo muss ich es einfügen?
11/12/2009 16:21 marcwa#14
übernehmen kanns sie.. wenn ich nur wüsste wie man sie so macht das sie geht.. :D