Brauche Questhilfe

04/14/2011 18:12 offload01#1
Hi COM

ich brauche mal wieder eure Hilfe. Ich hab mir eine Geschichte ausgedacht
und dazu den passenden Quest. Dieser Funktioniert aber leider noch nicht.
Könntet ihr mir sagen, was ich falsch mache oder was anderes emfehlen an
einigen stellen. Danke schonmal im Vorraus.

Hier der Quest:
Code:
-----------------------------------
--Metin2 Private Server Quest
--Copyright (c) by offload01

--Quest: Weißer Lotus
--Name : weißer_lotus.quest
--ID   : 07
-----------------------------------
quest weißer_lotus begin
	state start begin
		set_state(weisserlotus)
	end
end

state weisserlotus begin
	when 20095.chat.("Hallo") begin
	
		say_title("Weißer Lotus:")
		say("Sei gegrüßt! Ich bin der Weiße Lotus.")
		say("Vielleicht hast du schon von mir")
		say("erfahren? Ich kenne FlashMt2-World")
		say("schon sehr lange und sehr gut.")
		say("Ich kenne alle Lücken und alle Tricks")
		say("und ich könnte dich in bisher")
		say("unbekannte Regionen Teleportieren!")
		say_reward("Möchtest du fortfahren?")
			
		local s = select("Ja","Nein")
			if s == 2 then
				return
			end
			if s == 1 then
				say_reward("Bitte wähle aus!")
				local s = select("Info","Fertigkeiten","Map","Abbrechen")
				if s == 4 then
					return
				end
				if s == 3 then
					say_title("Weißer Lotus:")
					say("Du möchtest also in eine unbekannte")
					say("Map teleportiert werden? Aber")
					say("sei auf der wacht, denn dort")
					say("warten Kreaturen auf dich, wie")
					say("du sie zuvor noch nicht gesehen hast!")
					say("Ich warne dich: bleib liber noch zu")
					say("Hause und werde stärker!")
					say_reward("Du musst mindestens Lv. 60 sein!")
					say_reward("Möchtest du es versuchen?")
					
						locale s = select("JA","Nein")
							if s == 2 than
								return
							end
							
								if level < 60 then
									say_title("Weißer Lotus:")
									say("Du bist noch zu schwach!")
									say("Komm wieder wenn du Lv. 60 erreicht hast!")
	  							end
								
								say_title("Weißer Lotus")
								say_reward("In welche Map möchtest du?")
								
								locale s = select("Unterwelt der Gnome und Zombies", "Tal der Bäume","Tal der Unterwelt","Abbrechen")
										if s == 1 then
											say("Viel glück bei deiner Reise!")
											locale main_set  = select("OK","Halt! Abbrechen")
												if main_set == 2 then
													return
												end
												
													pc.warp(0, 1203200)
													
										end
										if s == 2 then
											say("Viel glück bei deiner Reise!")
											locale main_set = select("OK","Halt! Abbrechen")
												if main_set == 2 then
													return
												end
												
													pc.warp(0, 1203200)
												
												
										end
										if s == 3 then
											say("Viel glück bei deiner Reise!")
											locale main_set = select("OK","Halt! Abbrechen")
												if main_set == 2 then
													return
												end
												
													pc.warp(83200, 0)
											
										end
										if s == 4 then
											return
										end
				end
				if s == 2 then
					say_title("Weißer Lotus")
					say("Ah ich sehe. Du bist stark geworden!")
					say("Ich möchte dir bei deienn Fertigkeiten")
					say("helfen.")
					say("")
					say("Die Rassen werden wie folgt besser:")
					say_reward("Krieger: aus STR skillen")
					say_reward("Ninja: auf DEX skillen")
					say_reward("Sura: auf INT skillen")
					say_reward("Schamane: auf VIT skillen")
					say("")
					say("verstanden?")
					
						locale s = selcet("Ja", "Nein")
							if s == 2
								return
							end
							if s == 1
								say_title("Weißer Lotus:")
								say("Wobei soll ich dir helfen?")
								
									local s = select("G1 auf P","Fertigkeit zurücksetzen""Abbrechen")
										if s == 3 then
											return
										end
										if s == 1 then
											say_title("Weißer Lotus:")
											say("Ah du bist" .. pc . get_skill_group ( ))
											say("")
											if get_time ( ) < pc . getqf ( "next_time" ) then 
												if pc . is_skill_book_no_delay ( ) then 
													say ( "Du möchtest deine Fertigkeiten Perfektionieren?" ) 
													say ( "Drücke weiter." ) 
													say ( "" ) 
													wait ( ) 
													say_title ( "Seelenstein" ) 
													else 
													say ( " kannst erst morgen wieder" ) 
													say ( " Seelenstein lesen!" ) 
													return 
												end 
											end 
											local result = training_grandmaster_skill . BuildGrandMasterSkillList ( pc . get_job ( ) , pc . get_skill_group ( ) ) 
											local vnum_list = result [ 1 ] 
											local name_list = result [ 2 ] 
											if table . getn ( vnum_list ) == 0 then 
												say ( "Deine Fertigkeiten sind bereits perfekt!" ) 
												return 
											end 
											say ( "Wähle einen skill aus." ) 
											say ( "" ) 
											local menu_list = { } 
												table . foreach ( name_list , function ( i , name ) table . insert ( menu_list , name ) end ) 
												table . insert ( menu_list , "Abbrechen" ) 
												local s = select_table ( menu_list ) 
												if table . getn ( menu_list ) == s then 
												return 
											end 
											local skill_name = name_list [ s ] 
											local skill_vnum = vnum_list [ s ] 
											local skill_level = pc . get_skill_level ( skill_vnum ) 
											local cur_alignment = pc . get_real_alignment ( ) 
											local title = string . format ( "Fertigkeit perfektionieren:" , skill_name , skill_level - 30 + 1 ) 
											say_title ("Wißer Lotus") 
											say("Ich kann deine Fertigkeiten schneller")
											say("und besser perfenktionieren.")
											say("Du brauchst keine Rangpunkte.")
											say("Deine Fertigkeiten sind schneller")
											say("auf P")
											say("")
											say("Du willst")
											say( title )
											say("perfektionieren?")
											
											local s = select ( "Ja" , "Abbrechen" ) 
												if s == 2 then 
													return 
												end 
												
												say_title ( string . format ( "Fertigkeit perfektionieren:" , title ) ) 
												say ( "Es ist soweit!" ) 
												say ( "Um zu trainieren" ) 
											
												if get_time ( ) < pc . getqf ( "next_time" ) then 
													if pc . is_skill_book_no_delay ( ) then 
														pc . remove_skill_book_no_delay ( ) 
													else 
														say ( "FlashMt2-World fehler (ERR CODE: 7102)" ) 
														return 
													end 
												end 
												
												pc . setqf ( "next_time" , get_time ( ) + time_hour_to_sec ( number ( 8 , 12 ) ) ) 
													if pc . learn_grand_master_skill ( skill_vnum ) then 
														say_title ( string . format ( "%s Erfolgreich!" , title ) ) 
															if 40 == pc . get_skill_level ( skill_vnum ) then 
																say ( string . format ( "Deine fertigkeit wurde erhöht!" , skill_name ) ) 
															else 
																say ( string . format ( "FlashMt2-World fehler (ERR CODE: 7102)" , skill_name , skill_level - 30 + 1 + 1 ) ) 
															end 
														say ( "" ) 
														say_reward ( "Perfektionieren erfolgreich!" ) 
														say_reward ( string . format ( "Rangpunkte verloren: %d " , need_alignment ) ) 
														say ( "" ) 
													else 
														say_title ( string . format ( "%s Fehlgeschlagen!" , title ) ) 
														say ( "Pech gehabt" ) 
														say ( "" ) 
														say_reward ( "Perfektionieren fehlgeschlagen!" ) 
														say ( "" ) 
													end
											end 
										end
										if s == 2 then
											say_title("Weißer Lotus:")
											say("Ich werde deine Fertigkeit")
											say("nun zurücksetzten.")
											say ( "" ) 
											say ( "Möchtest du fortfahren?" ) 
											say ( "" ) 
											
												local s = select ( "Ja" , "Nein" ) 
													if 2 == s then 
														return 
													end 
													
													say_title ( "Zurüksetzung: Ja!" ) 
													say ( "Bedenke bitte noch einmal," ) 
													say ( "deine Fertigkeiten werden vollkommen" ) 
													say ( "zurückgesetzt werden. Der Stand geht" ) 
													say ( "dabei verloren!")
													say ( "" )
													say ( "Bist du dir sicher?" ) 
													say ( "" ) 
													
														local c = select ( "Ja!" , "Nein, lieber nicht!" ) 
															if 2 == c then 
																return 
															end 
														
														pc . clear_skill ( ) 
														pc . set_skill_group ( 0 ) 
														
														say ( "Erfolgreiche zurücksetzung!" )
														say_reward ( "Ein relog ist notwendig!" )
														say ( "Danach kannst du andere Fertigkeiten erlernen")
														say ( "Have FUN! " )
														wait ()
														return
										end
							end
						
				end
				if s == 1 then
					return
				end
			end
	end
end
MfG offload01
12/20/2011 15:18 .NighT™#2
Pushen deiner alten Thread´s ist verboten.
Poste es doch mal hier rein: [Only registered and activated users can see links. Click Here To Register...]
Vielleicht wird dir dort jemand weiter helfen.

Greetz
.NighT™
12/20/2011 16:25 Violana#3
PHP Code:
if == 2 than 
nur mal so..
Mach ein then draus :)