[SERVICE] Die Questkontrolle

12/03/2014 19:10 IceCreamx3#10696
Quote:
Originally Posted by Rofelmau View Post
Würde dir vorschlagen wenn du ein pet rufst einen qf bzw mehrere zu setzen, die "abspeiechern" welcher boni aktiviert wurde, und dann wenn ein pet weggeschitk wird rufst du ab welche bonis aktiviert sind und erntfernst sie.
beispiel
PHP Code:
when 53015.use begin 
            
if pet.is_summon() then 
                pet
.unsummon() 
                
chat("Dein Haustier verabschiedet sich nun von dir!"
                if 
pc.getqf("doppelexp40")    == 1 then
                    affect
.remove_collect(apply.EXP_DOUBLE_BONUS,40,60*60*24*365*60
pc.setqf("doppelexp40",0)  
                
end    
                
if pc.getqf("4ktp") == 1 then
                    affect
.remove_collect(apply.MAX_HP400060*60*24*365*60
pc.setqf("4ktp",0)
                
end    
            
else 
                
local old_level horse.get_level() 
                
local old_name horse.get_name() 
                
horse.set_level(26
                
horse.set_name(haustiere.get_pet_name()) 
                
pet.summon() 
                
horse.set_level(old_level
                
horse.set_name(old_name
                
affect.add_collect(apply.EXP_DOUBLE_BONUS,40,60*60*24*365*60)  
                
affect.add_collect(apply.MAX_HP400060*60*24*365*60
                
pc.setqf("doppelexp40",1)
                
pc.setqf("4ktp",1)
            
end 
        end 
und halt aber immer überall alle bonis die du vergibst abfragen, aber das sit ja nur einmal machen und dann copy & past
Danke.

Hier die vollständige.


Funktioniert aber nicht - gleicher Bug ist möglich.

Quote:
Originally Posted by PeloQ View Post
@ IceCreamx3


So müsste es gehen
Bei deiner Quest kann ich nur mein Baby Azrael Gold rufen.
Bei Klick auf die anderen Siegel passiert nichts.
12/03/2014 20:23 Rofelmau#10697
Quote:
Originally Posted by IceCreamx3 View Post
Danke.

Hier die vollständige.


Funktioniert aber nicht - gleicher Bug ist möglich.



Bei deiner Quest kann ich nur mein Baby Azrael Gold rufen.
Bei Klick auf die anderen Siegel passiert nichts.
Meinte das anders, hab es mal so gemacht wie ich das meine, probier es mal

PeleQ'Äs variante habe ich auch mal überarbeitet
Wo ist der Unterschied? Bei meiner Quest kannst du mit jedem siegel jedes pet wegschicken und der richtige boni wird entfernt, bei PeleQ'S variante kannst du pets nur mit dem siegel entfernen mit dem es auch gerufen wurde
12/04/2014 09:43 Shikarox3#10698
Hi,
normal sollte nach dem Prestige Quest man wieder ab level1 starten aber es geht nicht kann mir wer weiter helfen? tabs habe ich eingefügt sieht man hier aber ned

12/04/2014 14:13 IceCreamx3#10699
Wieder ich.

Folgendes Problem:
Bei meiner Mondiquest funktioniert die Zeitangabe nicht, sprich wenn ich IG eingebe, dass das Event 1h laufen soll, läuft es einfach weiter bzw. endet nicht.

PHP Code:
quest mondi begin
    state start begin
        when 20011.chat
."Mondlichttruhen-Event" with pc.is_gm() begin
            
if game.get_event_flag("event_2") != 1 then
                say_title
("Mondlichttruhen-Event")
                
say("")
                
say_reward("Das Mondlichttruhen Event ist Aus")
                
say_reward("Möchtest du es Starten?")
                
local a select("Ja""Nein")
                if 
== 1 then
                    say_title
("Mondlichttruhen-Event")
                    
say_reward("Wie lange soll das Event gehen?")
                    
say_reward("Länge in Stunden eingeben: ")
                    
zeit input()
                    if 
zeit == '' then
                        
return
                    else
                    
zeit_h tonumber(zeit)
                    
say_title("Mondlichttruhen Event")
                    
say("")
                    
say_reward("Möchtest du das Event für "..zeit_h.." Stunden laufen lassen?")
                    
local b select("Ja""Nein")
                        if 
== 1 then
                            server_timer
("event_zeit"zeit_h*60*60)
                            
game.set_event_flag("event_2"1)
                            
notice_all("Das Mondlichttruhen-Event hat gestartet")
                        else
                            return
                        
end
                    end
                
else
                    return
                
end
            
else
                
say_title("Mondlichttruhen-Event")
                
say("")
                
say_reward("Das Mondlichttruhen-Event ist An")
                
say_reward("Möchtest du es Anhalten?")
                
local c select("Ja""Nein")
                if 
== 1 then
                game
.set_event_flag("event_2"0)
                
notice_all("Das Mondlichttruhen-Event wurde beendet")
                else
                    return
                
end
            end
        end
        when event_zeit
.server_timer with game.get_event_flag("event_2") != 0 begin
            game
.set_event_flag("event_2"0)
            
notice_all("Das Mondlichttruhen-Event wurde beendet")
        
end
        when kill with game
.get_event_flag("event_2") == and not npc.is_pc() begin
            local s
=number(1250)
            if 
== s then
            game
.drop_item_with_ownership(50011,1)
            
end
        end
    end
end 
12/04/2014 16:30 -Icetea-#10700
folgendes Problem bei der Quest im Endraum vor dem EisRazador
Spawnt der Eis Razador alleine, und dannach 3 schichten von Mobs,
und ih möchte das so das die 3 Schichten von Mobs vor dem Razador kommen und der eis Razador mit mobs dann Spwant und man dann nach 30 sek in die jeweilge stadt geportet wird


Code:
quest icecrown_citadell begin
	state start begin


		-- Coords vor Geist = 1902,12325
		function setting()
			return 
			{
			["map_main_coords"] = {5120,1536}, -- Globale koordinaten der Map 0,0
			["map_index"] = {220}, -- Mpa-Index
			["min_level"] = {1}, -- Benötigtes Level um den Dungeon zu betreten
			
			-- Lokale Koordinaten der einzelnen Ebenen
			["base1"] = {848,692},
			["base2"] = {571,703},
			["base3"] = {303,717},
			["base4"] = {746,539},
			["base5"] = {420,536},
			["base6"] = {173,531},
			["base7"] = {761,271},
			["base8"] = {421,266},
			["base9"] = {171,277},
			["base10"] = {927,390},
			
			-- Base 1 settings
			["base1_stone"] = {8055}, -- Metin Vnum von Ebene 1
			["base1_stone_coords"] = {570,640}, -- Koordinaten vom metin auf der ersten Ebene
			["base1_stone_max_tp"] = {999999}, -- MaxTP des Metins
			["pillar_vnum"] = {4516}, -- VNum der Siegel von Ebene 1
			["pillar_coords"] = {{584,636},{557,635},{557,662},{584,662}}, -- Koordinaten der Siegel von Ebene 1
			-- 557,635
			-- Base 2 settings
			--["pillar_base2_coords"] = {{287,671},{557,635},{318,642},{318,672}}, -- Koordinaten der Siegel von Ebene 1
			
			
			}
		end
--[[		
		when login with pc.is_gm() begin
			send_letter("icecrown_citadell")
		end
		
		when button or info begin
			pc.warp(596800,222800)
		end
]]	
		when 30122.chat."Können wir dir helfen?" with pc.get_map_index() == 220 begin
			pc.remove_polymorph()
			local settings = icecrown_citadell.setting()
			say_title("Geist von Arthas")
			if pc.get_level() >= settings.min_level[1] then
				say("Ja das könnt ihr, vor 300 Jahren wurde ich vom")
				say("Frostlord getötet und kann diesen Ort nicht verlass-")
				say("en um endlich frieden zu finden...")
				say("")
				if pc.is_party_and_leader_or_no_party_and_gm() then
					say_reward("Werdet ihr mir helfen endlich ruhe zu finden?")
					local s = select("Ja, lass uns aufbrechen!","Nein, wir haben keine Zeit!")
					if s == 1 then
						say_title("Geist von Arthas")
						say("Doch seit gewarnt! Die Kälte in der Zitadelle")
						say("wird an euch zähren und euch schließlich töten")
						say("solltet ihr zu lange in der Zitadelle sein!")
						say("")
						wait()
						local s = select("All","Group")
						if s == 1 then
							syschat(settings.map_index[1]..","..settings.map_main_coords[1] + settings.base2[1]..","..settings.map_main_coords[2] + settings.base2[2])
							d.new_jump_all(settings.map_index[1],settings.map_main_coords[1] + settings.base2[1],settings.map_main_coords[2] + settings.base2[2])
						else
							syschat(settings.map_index[1]..","..settings.map_main_coords[1] + settings.base2[1]..","..settings.map_main_coords[2] + settings.base2[2])
							d.new_jump_party(settings.map_index[1],settings.map_main_coords[1] + settings.base2[1],settings.map_main_coords[2] + settings.base2[2])
						end
					end
				end

			else
				say_reward("Für diese Schlacht musst du stärker werden!")
			end
		end

		when login with pc.get_map_index() >= 220*10000 and pc.get_map_index() <= (220+1)*10000 begin
			if pc.is_party_and_leader_or_no_party_and_gm() then
				
				--d.notice("login1")
				local settings = icecrown_citadell.setting()
				d.set_warp_location(settings.map_index[1],settings.map_main_coords[1] + settings.base1[1],settings.map_main_coords[2] + settings.base1[2])
				--d.notice("login2")
				d.setf("time_for_citadell",time_min_to_sec(60)+get_time())
				--d.notice("login3")
				--server_timer("leave_icecrown_citadell",time_min_to_sec(60),pc.get_map_index())
				--d.notice("login4")
				--server_loop_timer("noticetime_icecrown_citadell",time_min_to_sec(5),pc.get_map_index())
				--d.notice("login5")
				d.notice_time(d.getf("time_for_citadell"))
				--d.notice("login6")
				d.setf("siegel_drop_chance",70)
				--d.notice("login7")
				d.setf("base1_purge_stone",80)
				--d.notice("login8")
				server_loop_timer("controll_to_of_stone",5,pc.get_map_index())
				--d.notice("login9")
				d.set_unique("main_metin",d.spawn_mob(8055, 570, 640))
				--d.notice("login10")
				d.set_regen_file("data/dungeon/icecrown_citadell/regen_01.txt")
				--d.notice("login11")
				d.setf("icecrown_citadell_level",1)
				--d.notice("login12")
				for i = 1, 4 do
					--d.notice("login13_"..i)
					d.spawn_mob(settings.pillar_vnum[1], settings.pillar_coords[i][1], settings.pillar_coords[i][2])
					--d.notice(settings.pillar_vnum[1]..","..settings.pillar_coords[i][1]..","..settings.pillar_coords[i][2])
				end
				--d.notice("login14")
				
			end
			loop_timer("controll_if_it_is_time_to_poly",1)
		end
		
		when controll_to_of_stone.server_timer begin
			if d.select(get_server_timer_arg()) then
				if d.getf("block_abgabe") == 0 then
					if d.unique_get_hp_perc("main_metin") < d.getf("base1_purge_stone") then
						if d.getf("base1_purge_stone") > 0 then
							d.setf("base1_purge_stone",d.getf("base1_purge_stone")-20)
							--d.notice(d.getf("base1_purge_stone"))
							d.setf("siegel_drop_chance",d.getf("siegel_drop_chance")-10)
							--d.notice(d.getf("siegel_drop_chance"))
							d.purge_unique("main_metin")
							d.setf("base1_can_drop_siegel",1)
							d.setf("block_abgabe",1)
						else
							clear_server_timer("controll_to_of_stone",get_server_timer_arg())
						end
					end
				end
			end
		end
		
			
		when kill with pc.is_in_dungeon(220) begin
			if npc.get_race() >= 6101 and npc.get_race() <= 6109 and d.getf("icecrown_citadell_level") == 1 and d.getf("base1_can_drop_siegel") == 1 then
				if number(0,100) < 10 then
					d.setf("base1_can_drop_siegel",0)
					game.drop_item_with_ownership(19,1)
				end
			elseif npc.get_race() == 8055 and d.getf("icecrown_citadell_level") == 1 then
				d.clear_regen()
				d.kill_all()
				
				d.notice("Geist von Arthas")
				d.notice("Nun könne wir zur 2.Kammer der Eiskronen-Zitadelle!")
				timer("icc_warp_to_stage2",5)
			elseif npc.get_race() == 6109 and d.getf("icecrown_citadell_level") == 4 then
				d.set_unique("konfuzius",d.spawn_mob(20381,pc.get_local_x()+number(3,6),pc.get_local_y()))
				d.notice("Konfuzius")
				d.notice("Wisst ihr eigentlich wem ihr da helft? Arthas ist der Frostlord er hat")
				d.notice("euch nur benutzt um zum Frostthron zu gelangen damit er wieder eine")
				d.notice("Körperliche Form annehmen kann!")
				d.kill_all()
				d.clear_regen()
				server_timer("last_dialog_stage4",2,pc.get_map_index())
			elseif npc.get_race() == 6191 and d.getf("icecrown_citadell_level") == 5 then
				clear_server_timer("icc_spawn_new_mobs_boos")
				d.notice("Frostlord Arthas")
				d.notice("NEEEEEEIN!!!! Ich war so nah dran diesen Ort zu verlassen....")
				d.kill_all()
			end
		end
		
		when 4516.take with pc.is_in_dungeon(220) and item.get_vnum() == 19 and d.getf("block_abgabe") == 1 begin
			pc.remove_item(19,1)
			local settings = icecrown_citadell.setting()
			npc.kill()
			d.setf("block_abgabe",0)
			d.set_unique("main_metin",d.spawn_mob(settings.base1_stone[1], settings.base1_stone_coords[1], settings.base1_stone_coords[2]))
			d.unique_set_maxhp("main_metin",settings.base1_stone_max_tp[1])
			d.unique_set_hp("main_metin",get_percentage(settings.base1_stone_max_tp[1],d.getf("base1_purge_stone")+20))
			--d.notice(get_percentage(settings.base1_stone_max_tp[1],d.getf("base1_purge_stone")+20))
		end
		
		when icc_warp_to_stage2.timer begin
			local settings = icecrown_citadell.setting()
			d.jump_all(settings.map_main_coords[1] + settings.base3[1],settings.map_main_coords[2] + settings.base3[2])
			timer("first_dialog",3)
			d.set_unique("konfuzius",d.spawn_mob_dir(20381,302,688,1))
			d.setf("icecrown_citadell_level",2)
			d.spawn_mob_dir(30122,310,717,6)
			d.spawn_mob_dir(20361,303,664,1)
			d.set_regen_file("data/dungeon/icecrown_citadell/regen_02.txt")
		end
		
		when first_dialog.timer begin
			d.notice("Konfuzius")
			d.notice("HALT! Kehrt sofort um dieses Gebiet ist auf anweisung des Obsidianischen")
			d.notice("Orden's gesperrt! Wenn ihr nicht sofort umkehrt bin ich gezwungen euch zu töten!")
			timer("second_dialog",2)
		end
		
		when second_dialog.timer begin
			d.notice("Konfuzius")
			d.notice("Arthas?! Wieso begleitet ihr diesen abschaum? Wie auch immer dies ist euer ende...")
			d.notice("Die Eisgolems werden euch in stücke reißen!")
			d.set_regen_file("data/dungeon/icecrown_citadell/regen_02.txt")
			timer("purge_konf",2)
		end
		
		when purge_konf.timer begin
			d.purge_unique("konfuzius")
			d.notice("Geist von Arthas")
			d.notice("Los einer von euch muss die Inschrift enziffern und die anderen müssen ihn verteidigen!")
		end
		
		when 20361.click with pc.is_in_dungeon(220) and d.getf("decode_insign") == 0 begin
			d.setf("decode_insign",1)
			say_title("Inschrift entziffern")
			say_reward("[DELAY value;1500]. . . . . . . . . . .[/DELAY]")
			if pc.is_dead() then
				d.setf("decode_insign",0)
				d.notice(pc.get_name().." hat beim entziffernd er Inschrift versagt...")
				return
			else
				wait()
				npc.purge()
				d.clear_regen()
				d.kill_all()
				d.notice("Geist von Arthas")
				d.notice("Ihr habt es geschaft! Der Eingang zur 3.Ebene ist offen...")
				timer("icc_warp_to_stage3",5)
			end
		end
			
		when icc_warp_to_stage3.timer begin
			local settings = icecrown_citadell.setting()
			d.set_unique("konfuzius",d.spawn_mob_dir(20381,173,514,1))
			d.set_unique("arthas",d.spawn_mob_dir(30122,177,534,6))
			d.jump_all(settings.map_main_coords[1] + settings.base6[1],settings.map_main_coords[2] + settings.base6[2])
			timer("stage3_first_dialog",3)
			d.setf("icecrown_citadell_level",3)
			server_loop_timer("time_to_depolymorph",60,pc.get_map_index())
			d.set_regen_file("data/dungeon/icecrown_citadell/regen_03.txt")
		end		
		
		when stage3_first_dialog.timer begin
			d.notice("Konfuzius")
			d.notice("Ihr seid ja immer noch da.. Schön dann versucht euch jetzt mal zu wehren!")
			d.setqf("icc_poly_players",1)
			timer("stage3_second_dialog",3)
		end
			
		when stage3_second_dialog.timer begin
			d.purge_unique("konfuzius")
			d.notice("Geist von Arthas")
			d.notice("Versucht am leben zu bleiben, ich werde versuchen euch zurück zu verwandeln!")
			d.notice("Wenn ihr Sterbt müsst ihr die Zitadelle verlassen...")
		end
		
		when controll_if_it_is_time_to_poly.timer begin
			if pc.getqf("icc_poly_players") == 1 then
				pc.setqf("icc_poly_players",0)
				pc.polymorph(number(6102,6105),d.getf("time_for_citadell"))
			end
			if pc.getqf("icc_depoly_players") == 1 then
				pc.setqf("icc_depoly_players",0)
				pc.remove_polymorph()
			end
			if d.getf("icecrown_citadell_level") == 3 then
				if pc.is_dead() then
					pc.warp((5120+848)*100,(1536+692)*100)
				end
			end
		end
				
		when time_to_depolymorph.server_timer begin
			if d.select(get_server_timer_arg()) then		
				d.setf("time_left",d.getf("time_left")+1)
				if d.getf("time_left") == 5 then
					clear_server_timer("time_to_depolymorph",get_server_timer_arg())
					d.notice("Geist von Arthas")
					d.notice("Ich habe es geschaft! Ich verwandel euch nun zurück...")
					d.kill_all()
					d.clear_regen()
					d.setqf("icc_depoly_players",1)
					server_timer("icc_warp_to_stage_4",5,d.get_map_index())
				else
					d.notice("Geist von Arthas")
					d.notice("Haltet noch "..5-d.getf("time_left").." Minuten durch!")
				end
			end
		end
		
		when icc_warp_to_stage_4.server_timer begin
			if d.select(get_server_timer_arg()) then			
				local settings = icecrown_citadell.setting()
				d.set_unique("konfuzius",d.spawn_mob_dir(20381,171,210,1))
				d.set_unique("arthas",d.spawn_mob_dir(30122,175,265,6))
				d.jump_all(settings.map_main_coords[1] + settings.base9[1],settings.map_main_coords[2] + settings.base9[2])
				server_timer("stage4_first_dialog",3,d.get_map_index())
				d.setf("icecrown_citadell_level",4)
			end
		end
		when stage4_first_dialog.server_timer begin
			if d.select(get_server_timer_arg()) then		
				d.notice("Konfuzius")
				d.notice("Wie konntet ihr überleben? So genug der Spielchen nun werde ich euch erldedigen!")
				server_timer("stage4_second_dialog",3,d.get_map_index())
			end
		end
		when stage4_second_dialog.server_timer begin
			if d.select(get_server_timer_arg()) then	
				d.purge_unique("konfuzius")
				d.set_unique("konfuzius_mob",d.spawn_mob_dir(6109,171,210,1))
				d.set_regen_file("data/dungeon/icecrown_citadell/regen_04.txt")
				d.notice("Geist von Arthas")
				d.notice("Tötet ihn ich möchte doch nur frieden finden...")
			end
		end				
		when last_dialog_stage4.server_timer begin
			if d.select(get_server_timer_arg()) then	
				d.purge_unique("konfuzius_mob")
				--d.set_unique("konfuzius_mob",d.spawn_mob_dir(6109,302,688,1))
				d.notice("Geist von Arthas")
				d.notice("Ganz genau nun kann ich endlich wieder Zerstörung über die Welt bringen!")
				d.notice("Ihr habt mir einen großen Dienste rweisen aber nun muss ich leider los,")
				d.notice("denn ich habe eine Welt zu erobern!")
				server_timer("last_dialog2_stage4",5,d.get_map_index())
				server_timer("last_dialog2_purge_arthas_stage4",2,d.get_map_index())
			end
		end	
		
		when last_dialog2_purge_arthas_stage4.server_timer begin
			if d.select(get_server_timer_arg()) then		
				d.purge_unique("arthas")
			end
		end
		
		when last_dialog2_stage4.server_timer begin
			if d.select(get_server_timer_arg()) then	
				d.notice("Konfuzius")
				d.notice("Ihr müsst ihn aufhalten! Ich kann es nicht denn ich bin nun dem Tode nah...")
				d.notice("Mit letzter Kraft werde ich euch zum Frostthron bringen ihr müsst eure Tat")
				d.notice("wieder gut machen....")
				server_timer("icc_warp_to_end_boos_icc",5,d.get_map_index())
			end
		end	

		when icc_warp_to_end_boos_icc.server_timer begin
			if d.select(get_server_timer_arg()) then
				local settings = icecrown_citadell.setting()
				d.jump_all(settings.map_main_coords[1] + settings.base10[1],settings.map_main_coords[2] + settings.base10[2])
				server_timer("stage_end_first_dialog",3,d.get_map_index())
				d.set_unique("arthas_mob",d.spawn_mob_dir(6191,927,333,1))
				server_loop_timer("icc_spawn_new_mobs_boos",60,d.get_map_index())
				d.setf("icecrown_citadell_level",5)
			end
		end
		
		when stage_end_first_dialog.server_timer begin
			if d.select(get_server_timer_arg()) then	
				d.notice("Frostlord Arthas")
				d.notice("Geht mir aus dem Weg oder ich werde euch zermalmen!!!")
			end	
		end
		
		when icc_spawn_new_mobs_boos.server_timer begin
			if d.select(get_server_timer_arg()) then	

				local text = {"Erhebt euch meine Diener!","Helft mir diese eindringlinge zu vertreiben!","Ich brauche verstärkung!"}
				d.notice("Frostlord Arthas")
				d.notice(text[number(1,table.getn(text))])
				d.regen_file("data/dungeon/icecrown_citadell/regen_05.txt")
			end
		end
		
		--last_dialog_stage4
		
		when 30122.chat."Ebene überspringen" with pc.is_in_dungeon(220) and pc.is_gm() begin
			say_title("Level: "..d.getf("icecrown_citadell_level"))
			say("Überspringen?")
			local s = select("Ja","Nein")
			if s == 1 then
				if d.getf("icecrown_citadell_level") == 1 then
					d.clear_regen()
					d.kill_all()
					d.notice("Geist von Arthas")
					d.notice("Nun könne wir zur 2.Kammer der Eiskronen-Zitadelle!")
					timer("warp_to_stage2",5)
				elseif d.getf("icecrown_citadell_level") == 2 then
					local settings = icecrown_citadell.setting()
					d.set_unique("konfuzius",d.spawn_mob_dir(20381,302,688,1))
					d.jump_all(settings.map_main_coords[1] + settings.base6[1],settings.map_main_coords[2] + settings.base6[2])
					timer("stage3_first_dialog",3)
					d.setf("icecrown_citadell_level",3)
					server_loop_timer("time_to_depolymorph",60,pc.get_map_index())				
				end
			end
		end
		
		
		


	end
end
12/06/2014 23:08 BarⓉ™#10701
Problem wie bekomme ich da das Milligaul eingefügt? :(

Quote:
quest give_basic_weapon begin
state start begin
when login begin
if pc.getqf("basic_weapon") != 0 then
return
end

if pc.job == 0 then -- Krieger
item_vnum1 = 19 -- Schwert
item_vnum2 = 11209 -- Mönchsplattenpanzer
item_vnum3 = 12209 -- Traditioneller Helm
elseif pc.job == 1 then -- Ninja
item_vnum1 = 1009 -- Dolch
item_vnum2 = 11409 -- Azuranzug
item_vnum3 = 12349 -- Lederkapuze
elseif pc.job == 2 then -- Sura
item_vnum1 = 19 -- Schwert
item_vnum2 = 11609 -- Requiem-Plattenpanzer
item_vnum3 = 12489 -- Blutiger Helm
elseif pc.job == 3 then -- Schamane
item_vnum1 = 7009 -- Fächer
item_vnum2 = 11809 -- Purpurkleidung
item_vnum3 = 12629 -- Mönchshut
end

-- Itemverteilung
pc.give_item2(item_vnum1) -- Waffe nach Klasse
pc.give_item2(item_vnum2) -- Rüstung nach Klasse
pc.give_item2(item_vnum3) -- Helm nach Klasse

pc.give_item2(14009, 1) -- Holzarmband
pc.give_item2(15009, 1) -- Lederschuhe
pc.give_item2(16009, 1) -- Holzhalskette
pc.give_item2(17009, 1) -- Holzohrringe
pc.give_item2(13009, 1) -- Schlachtschild

pc.give_item2(70038, 200) -- Tapferkeitsumhänge
pc.give_item2(72702, 1) -- Windschuhe
pc.give_item2(71050, 200) -- Moovespeed Potts (+60)
pc.give_item2(27003, 200) -- Roter Trank (G)
pc.give_item2(27006, 50) -- Blauer Trank (G)

set_state(__COMPLETE__)

end
end
state __COMPLETE__ begin
end
end
12/07/2014 11:29 .Delta#10702
PHP Code:
quest give_basic_weapon begin 
    state start begin 
        when login begin 
            local item_vnum1
            local item_vnum2
            local item_vnum3
            
if pc.job == 0 then -- Krieger 
                item_vnum1 
19 -- Schwert 
                item_vnum2 
11209 -- Mönchsplattenpanzer 
                item_vnum3 
12209 -- Traditioneller Helm 
            
elseif pc.job == 1 then -- Ninja 
                item_vnum1 
1009 -- Dolch 
                item_vnum2 
11409 -- Azuranzug 
                item_vnum3 
12349 -- Lederkapuze 
            
elseif pc.job == 2 then -- Sura 
                item_vnum1 
19 -- Schwert 
                item_vnum2 
11609 -- Requiem-Plattenpanzer 
                item_vnum3 
12489 -- Blutiger Helm 
            
elseif pc.job == 3 then -- Schamane 
                item_vnum1 
7009 -- Fächer 
                item_vnum2 
11809 -- Purpurkleidung 
                item_vnum3 
12629 -- Mönchshut 
            end 
            
-- Itemverteilung 
            pc
.give_item2(item_vnum1) -- Waffe nach Klasse 
            pc
.give_item2(item_vnum2) -- Rüstung nach Klasse 
            pc
.give_item2(item_vnum3) -- Helm nach Klasse 

            pc
.give_item2(140091) -- Holzarmband 
            pc
.give_item2(150091) -- Lederschuhe 
            pc
.give_item2(160091) -- Holzhalskette 
            pc
.give_item2(170091) -- Holzohrringe 
            pc
.give_item2(130091) -- Schlachtschild 

            pc
.give_item2(70038200) -- Tapferkeitsumhänge 
            pc
.give_item2(727021) -- Windschuhe 
            pc
.give_item2(71050200) -- Moovespeed Potts (+60
            
pc.give_item2(27003200) -- Roter Trank (G
            
pc.give_item2(2700650) -- Blauer Trank (G
            
            --
Milligaul
            horse
.set_level(21)
            
pc.set_skill_level(13110)
            
pc.give_item2(500531)
            --

            
set_state(__COMPLETE__
        
end 
    end 
    state __COMPLETE__ begin 
    end 
end 
12/08/2014 11:29 IceCreamx3#10703
Problem:

Wie kann ich es so einstellen, dass man nicht auf die Ehemap geportet wird, sondern alles direkt bei der alten Frau geregelt wird?

PHP Code:
quest marriage_manage begin
    state start begin
        when oldwoman
.chat."Ich möchte heiraten" with not pc.is_engaged_or_married() begin
            
if not npc.lock() then
                say_title
("Alte Dame")
                 
                
say("Ich bin derzeit zu beschäftigt. Kommt")
                
say("einfach später wieder!")
                return
            
end
            
if pc.level 25 then
                say_title
("Alte Dame")
                 
                
say("Du bist noch zu jung um zu heiraten.")
                
say("Die jungen Paare werden zu oft geschieden.")
                
say("Ich möchte nicht zulassen, dass du das")
                
say("durchstehen musst.")
                
say("Geh und sammle mehr Erfahrung.")                
                
say_reward("Du kannst erst ab Level 25 heiraten.")
                 
                
npc.unlock()
                return
            
end
            local m_ring_num 
pc.countitem(70301)
            
local m_has_ring m_ring_num 0
            
if not m_has_ring then
                say_title
("Alte Dame")
                 
                
say("Du willst ohne einen Verlobungsring heiraten?")
                
say_item("Verlobungsring"70301"")
                
say("Besorge mir erst einen Ring, dann können")
                
say("wir über Hochzeit reden...")
                 
                
npc.unlock()
                return
            
end
            local m_sex 
pc.get_sex()
            if 
not marriage_manage.is_equip_wedding_dress() then
                say_title
("Alte Dame")
                 
                
say("Möchtest du wirklich so heiraten?")
                
say("Meistens ist eine Ehe für die Ewigkeit,")
                
say("da kannst du doch nicht so gekleidet auftreten.")
                if 
m_sex==0 then
                    say_item
("Smoking"marriage_manage.get_wedding_dress(pc.get_job()), "")
                    
say_reward("Wenn du heiraten möchtest brauchst du")
                    
say_reward("einen Smoking.")
                else
                    
say_item("Brautkleid"marriage_manage.get_wedding_dress(pc.get_job()), "")
                    
say_reward("Wenn du heiraten möchtest brauchst du")
                    
say_reward("ein Brautkleid.")
                
end
                 
                npc
.unlock()
                return
            
end
            local NEED_MONEY 
1000000
            
if pc.get_money() < NEED_MONEY then
                say_title
("Alte Dame")
                 
                
say("Hochzeiten kosten eine Menge Yang.")
                
say("Du besitzt leider nicht genug um deine")
                
say("zu finanzieren.")
                
say_reward("Du brauchst eine Millionen Yang")
                 
                
npc.unlock()
                return
            
end
            say_title
("Alte Dame")
             
            
say("Wie ich sehe bist du entschlossen.")
            
say("Wollen wir jetzt die Vorbereitungen treffen?")
            
say("Dann schreib jetzt bitte den Namen der Person,")
            
say("die du heiraten möchtest.")
            
local sname input()
            if 
sname == "" then
                say_title
("Alte Dame")
                 
                
say("Bist du so aufgeregt, dass du nichtmehr")
                
say("den Namen schreiben kannst? Probiers nochmal")
                 
                
npc.unlock()
                return
            
end
            local u_vid 
find_pc_by_name(sname)
            
local m_vid pc.get_vid()
            if 
u_vid == 0 then
                say_title
("Alte Dame")
                 
                
say("Du weisst nicht den Namen deines Partners?")
                
say("Bist du sicher, dass du heiraten möchtest?")                
                
say_reward(sname.." ist nicht online")
                 
                
npc.unlock()
                return
            
end
            
if not npc.is_near_vid(u_vid10then
                say_title
("Alte Dame")
                 
                
say("Dein Partner muss in der Nähe sein,")
                
say("damit ich euch trauen kann.")                
                
say_reward(sname.." ist zu weit weg")
                 
                
npc.unlock()
                return
            
end
            local old 
pc.select(u_vid)
            
local u_level pc.get_level()
            
local u_job pc.get_job()
            
local u_sex pc.get_sex()
            
local u_name pc.name
            local u_gold 
pc.get_money()
            
local u_married pc.is_married()
            
local u_has_ring pc.countitem(70301) > 0
            local u_wear 
marriage_manage.is_equip_wedding_dress()
            
pc.select(old)
            
local m_level pc.get_level()
            if 
u_vid == m_vid then
                say_title
("Alte Dame")
                 
                
say("Nicht deinen, den deines Partners!")                
                
say_reward("Du hast deinen eigenen Namen eingegeben")
                 
                
npc.unlock()
                return
            
end            
            
if u_married then
                say_title
("Alte Dame")
                 
                
say("Die Person die du heiraten möchtest ist")
                
say("bereits verheiratet. Ich glaube du musst")
                
say("dir einen neuen, unverheirateten,")
                
say("Lebensgefährten suchen.")                
                 
                
npc.unlock()
                return
            
end
            
if u_level 25 then
                say_title
("Alte Dame")
                 
                
say("Dein Partner ist noch keine 25, du kannst")
                
say("dich mit dieser Ehe strafbar machen!")
                 
                
npc.unlock()
                return
            
end
            
if m_level u_level 15 or u_level m_level 15 then
                say_title
("Alte Dame")
                 
                
say("Der Erfahrungsunterschied zwischen dir und")
                
say("dein Partner ist zu groß! So eine Ehe kann")
                
say("ich leider nicht zulassen.")                
                
say("Ihr dürft nur 15 Level unterschied haben.")               
                 
                
npc.unlock()
                return
            
end
            
if not u_has_ring then                
                say_title
("Alte Dame")
                 
                
say("Dein Partner braucht auch einen Verlobungsring.")
                
say("Kauf ihn doch in Zeichen deiner Liebe einen!")
                 
                
npc.unlock()
                return
            
end
            
if not u_wear then
                say_title
("Alte Dame")
                 
                
say("Dein Partner trägt keine Hochzeitskleidung")
                
say("Ist es dir nicht peinlich dich so mir ihn")
                
say("blicken zu lassen?")
                                 
                
npc.unlock()
                return
            
end
            local ok_sign 
confirm(u_vid"Möchtest du "..pc.name.." heiraten?"30)
            if 
ok_sign == CONFIRM_OK then
                local m_name 
pc.name
                
if pc.get_gold()>=NEED_MONEY then
                    pc
.change_gold(-NEED_MONEY)
                    
pc.removeitem(703011)
                    
pc.give_item2(703021)
                    
local old pc.select(u_vid)
                    
pc.removeitem(703011)
                    
pc.give_item2(703021)
                    
pc.select(old)
                    
say_title("Alte Dame")
                     
                    
say("So, ich denke jetzt haben wirs.")
                    
say("Ich werde euch jetzt auf die Hochzeits-")
                    
say("insel schicken. Ich wünsch euch eine lange")
                    
say("und glückliche Ehe. Gratulation!")                    
                     
                    
wait()
                    
setskin(NOWINDOW)
                    
marriage.engage_to(u_vid)
                
end
            
else
                
say_title("Alte Dame")
                 
                
say("Dein Partner möchte dich nicht heiraten.")
                
say("Klärt es lieber untereinander ab.")
                 
            
end
             
            npc
.unlock()
        
end
        when oldwoman
.chat."Zu meiner Hochzeit" with pc.is_engaged() begin
            say_title
("Alte Dame")
             
            
say("Warum bist du noch hier?")
            
say("Dein Partner vermisst dich!")
            
say("Ich begleite dich zu ihm.")
             
            
wait()
            
setskin(NOWINDOW)
            
marriage.warp_to_my_marriage_map()
        
end
        when 9011.chat
."Eheschließung" with pc.is_engaged() and marriage.in_my_wedding() begin
            
if not npc.lock() then
                say_title
("Hochzeitshelferin")
                 
                
say("Ich rede gerade mit deinen Partner,")
                
say("einen Moment bitte.")
                 
                return
            
end
            say_title
("Hochzeitshelferin")
             
            
say("Ich werde eure Ehe offiziel eintragen.")
            
say("Gib erstmal den Namen deines Partners")
            
say("ein.")
            
local sname input()
            
local u_vid find_pc_by_name(sname)
            
local m_vid pc.get_vid()
            if 
u_vid == 0 then
                say_title
("Hochzeitshelferin")
                 
                
say("Dieser Name ist nicht registriet.")
                
say("Möchtest du deine Eingabe nochmal")
                
say("überprüfen?")                
                
say_reward(sname.." ist nicht online")
                 
                
npc.unlock()
                return
            
end
            
if not npc.is_near_vid(u_vid10then
                say_title
("Hochzeitshelferin")
                 
                
say("Du musst deinen Partner herbringen.")
                
say("Ich brauch ihn um den Ehebund zu")
                
say("schließen.")              
                 
                
npc.unlock()
                return
            
end
            
if u_vid == m_vid then
                say_title
("Hochzeitshelferin")
                 
                
say("Du sollst nicht deinen, sondern den deines")                
                
say("Partners schreiben.")
                 
                
npc.unlock()
                return
            
end
            
if u_vid != marriage.find_married_vid() then
                say_title
("Hochzeitshelferin")                
                
say("Das ist nicht die Person, die du")
                
say("ursprünglich heiraten wolltest.")
                 
                
npc.unlock()
                return
            
end
            local ok_sign 
confirm(u_vid"Möchtest du "..pc.name.." heiraten?"30)
            if 
ok_sign != CONFIRM_OK then
                say_title
("Hochzeitshelferin")
                 
                
say("Dein Partner ist noch nicht für die")
                
say("Eheschließung bereit.")
                 
                
npc.unlock()
                return
            
end
            say_title
("Hochzeitshelferin")
             
            
say("Ok, alles in Ordnung. Wir können anfangen.")
            
marriage.set_to_marriage()            
            
npc.unlock()
        
end
        
function give_wedding_gift()
            
local male_item = {710727107371074}
            
local female_item = {710697107071071}
            if 
pc.get_sex() == MALE then
                pc
.give_item2(male_item[number(13)], 1)
            else
                
pc.give_item2(female_item[number(13)], 1)
            
end
        end

        when 9011.chat
."Hochzeitsmusik abspielen" with
                    
(pc.is_engaged() or pc.is_married()) and
                
marriage.in_my_wedding() and
                
not marriage.wedding_is_playing_music() begin
            marriage
.wedding_music(true"wedding.mp3")
            
setskin(NOWINDOW)
        
end
        when 9011.chat
."Hochzeitsmusik beenden" with
                    
(pc.is_engaged() or pc.is_married()) and
                
marriage.in_my_wedding() and
                
marriage.wedding_is_playing_music() begin
            marriage
.wedding_music(false"default")
            
setskin(NOWINDOW)
        
end
        when 9011.chat
."Nacht" with
            pc
.is_married() and
            
marriage.in_my_wedding() begin
            marriage
.wedding_dark(true)
            
setskin(NOWINDOW)
        
end

        when 9011.chat
."Schnee" with pc.is_married() and marriage.in_my_wedding() begin
            marriage
.wedding_snow(true)
            
setskin(NOWINDOW)
        
end

        when 9011.chat
."Hochzeit beenden" with pc.is_married() and marriage.in_my_wedding() begin
            
if not npc.lock() then
                say_title
("Hochzeitshelferin")
                 
                
say("Warte einen Moment, ich rede gerade mit")
                
say("deinen Partner.")
                 
                return
            
end
            say_title
("Hochzeitshelferin")
             
            
say("Möchtest du die Party abbrechen?")
             
            
local s select("Ja","Nein")
            if 
== 1 then
                local u_vid 
marriage.find_married_vid()                
                
say_title("Hochzeitshelferin")
                 
                
say("Wir müssen auf deinen Partner warten.")
                
say("Es liegt jetzt an ihn..")
                 
                
local ok_sign confirm(u_vid"Möchtest du die Hochzeit beenden? "30)
                if 
ok_sign == CONFIRM_OK then
                    marriage
.end_wedding()
                else
                    
say_title("Hochzeitshelferin")
                     
                    
say("Dein Partner möchte noch weiterfeiern!")
                     
                
end

                npc
.unlock()
            
end
        end


        when 11000.chat
."Scheidung einreichen" or 11002.chat."Scheidung einreichen" or 11004.chat."Scheidung einreichen " with pc.is_married() begin

            
if not marriage_manage.check_divorce_time() then
                
return
            
end

            local u_vid 
marriage.find_married_vid()
            if 
u_vid == or not npc.is_near_vid(u_vid10then
                say_title
("Wächter des Dorfplatzes")
                 
                
say("Ohne deinen Partner kannst du auf rechtlichen")
                
say("Wege nicht geschieden werden.")
                 
                return
            
end

            say_title
("Wächter des Dorfplatzes")
             
            
say("Für eine rechtlich Scheidung brauch ich")
            
say("500.000 Yang und eine Einverständniss")
            
say("von deinen Partner.")
            
say("Möchtest du dich wirklich Scheiden lassen?")
             
            
local MONEY_NEED_FOR_ONE 500000
            local s 
select("Ja""Nein")
            if 
== 1 then
                local m_enough_money 
pc.gold MONEY_NEED_FOR_ONE
                local m_have_ring 
pc.countitem(70302) > 0
                local old 
pc.select(u_vid)
                
local u_enough_money pc.gold MONEY_NEED_FOR_ONE
                local u_have_ring 
pc.countitem(70302) > 0
                pc
.select(old)
                if 
not m_have_ring then
                    say
("Ich brauche den Ehering.")
                    return
                
end
                
if not u_have_ring then
                    say
("Ich brauche den Ehering deines Partners.")
                    return
                
end
                
if not m_enough_money then
                    say_title
("Wächter des Dorfplatzes")
                     
                    
say("Du hast nicht genug Yang für die Scheidung.")
                     
                    return
                
end
                
if not u_enough_money then
                    say_title
("Wächter des Dorfplatzes")
                     
                    
say("Du hast nicht genug Yang für die Scheidung.")
                     
                    return
                
end
                say_title
("Wächter des Dorfplatzes")
                 
                
say("Möchtet ihr euch wirklich scheiden lassen?")
                
say("Vielleicht ist es einfach nur ein Missverständniss.")                
                
say("Wollt ihr es wirklich?")
                 
                
local c=select("Ja""Ich hab meine Meinung geändert")
                if 
== c then
                    say_pc_name
()
                     
                    
say("Ich hab meine Meinung geändert")
                    
say("Ich will doch nicht geschieden werden")
                     
                    
wait()
                    
say_title("Wächter des Dorfplatzes")
                     
                    
say("Es ist das beste für euch..")
                    
say("Ich wünsch euch noch eine lange und")
                    
say("glückliche Ehe.")
                    
say_reward("Die Scheidung wurde anuliert.")
                     
                    return
                
end
                local ok_sign 
confirm(u_vid"Möchtest du dich von "..pc.name.." scheiden lassen?"30)
                if 
ok_sign == CONFIRM_OK then
                    local m_enough_money 
pc.gold MONEY_NEED_FOR_ONE
                    local m_have_ring 
pc.countitem(70302) > 0
                    local old 
pc.select(u_vid)
                    
local u_enough_money pc.gold MONEY_NEED_FOR_ONE
                    local u_have_ring 
pc.countitem(70302) > 0
                    pc
.select(old)
                    if 
m_have_ring and m_enough_money and u_have_ring and u_enough_money then
                        pc
.removeitem(703021)
                        
pc.change_money(-MONEY_NEED_FOR_ONE)
                        
local old pc.select(u_vid)
                        
pc.removeitem(703021)
                        
pc.change_money(-MONEY_NEED_FOR_ONE)
                        
pc.select(old)
                        
say_title("Wächter des Dorfplatzes")
                         
                        
say("Die Scheidung ist vollbracht.")
                        
say("Du bist nun wieder ein freier Mensch.")
                        
say("Die Scheidung kann nichtmehr rückgängig")
                        
say("gemacht werden.")
                         
                        
marriage.remove()
                    else
                        
say_title("Wächter des Dorfplatzes")
                         
                        
say("Eure Unterlagen sind nicht komplett.")
                        
say("Kommt später wieder.")                        
                         
                    
end
                
else
                    
say_title("Wächter des Dorfplatzes")
                     
                    
say("Dein Partner möchte sich nicht Scheiden")
                    
say("lassen. Finde zuerst einen Grund.")                    
                     
                
end
            end
        end       
        when 11000.chat
."Einseitige Scheidung einreichen" or 11002.chat."Einseitige Scheidung einreichen" or 11004.chat."Einseitige Scheidung einreichen" with pc.is_married() begin

            
if not marriage_manage.check_divorce_time() then
                
return
            
end

            say_title
("Wächter des Dorfplatzes")
             
            
say("Du brauchst eine Millionen Yang um dich")
            
say("sofort scheiden zu lassen. Willst du es")
            
say("trotzdem machen?")
             
            
local s select("Ja""Nein")

            
local NEED_MONEY 1000000
            
if == 2 then
                
return
            
end

            
if pc.money NEED_MONEY then
                say_title
("Wächter des Dorfplatzes")
                 
                
say("Du hast nicht genug Yang für die")
                
say("einseitige Scheidung.")
                 
                return
            
end

            say_title
("Wächter des Dorfplatzes")
             
            
say("Möchtest du es wirklich machen?")
            
say("Denk nochmal drüber nach..")

            
local c select("Ja, ich will","Nein, doch nicht")

            if 
== 2 then
                say_title
("Wächter des Dorfplatzes")
                 
                
say("Na dann,")
                
say("Es ist besser so. Falls doch komm")
                
say("wieder zurück. Sei dir dann aber wirklich")
                
say("sicher dabei!")
                 
                return
            
end
            pc
.removeitem(703021)
            
pc.change_gold(-NEED_MONEY)
            
marriage.remove()
            
say_title("Wächter des Dorfplatzes")
             
            
say("Wenn du dir ganz sicher bist..")
            
say("dann mal los! Ab jetzt bist du wieder")
            
say("ein freier Mensch.")
             
        
end
        when oldwoman
.chat."Liste der Hochzeiten" with not pc.is_engaged() begin
            local t 
marriage.get_wedding_list()
            if 
table.getn(t) == 0 then
                say_title
("Alte Dame")
                 
                
say("Momentan finden keine Hochzeiten statt...")
                 
            else
                -- 
chat(table.getn(t))
                
local wedding_names = {}
                
table.foreachi(t, function(npwedding_names[n] = p[3].." Hochzeit "..p[4].." von " end)
                
wedding_names[table.getn(t)+1] = locale.confirm
                local s 
select_table(wedding_names)

                if 
!= table.getn(wedding_namesthen
                    marriage
.join_wedding(t[s][1], t[s][2])
                
end
            end
        end
        
function check_divorce_time()

            
local DIVORCE_LIMIT_TIME 86400

            
if is_test_server() then
                DIVORCE_LIMIT_TIME 
60
            end

            
if marriage.get_married_time() < DIVORCE_LIMIT_TIME then
                say_title
("Guardian of the village:")
                 
                
say("The ink is not even dry yet!")
                
say("Give yourself more time.")
                 
                return 
false
            end

            
return true
        end

        
function is_equip_wedding_dress()
            
local a pc.get_armor()
            return 
>= 11901 and <= 11904
        end
        
function get_wedding_dress(pc_job)
                if 
0==pc_job then
                    
return 11901
                
elseif 1==pc_job then
                    
return 11903
                
elseif 2==pc_job then
                    
return 11902
                
elseif 3==pc_job then
                    
return 11904
                
else
                    return 
0;
                
end
        end
    end
end 
Danke
12/08/2014 21:38 Skyui#10704
Hallo,

ich habe das Problem das keine Namen angezeigt wird. Mysql Daten sind richtig.

PHP Code:
quest rangliste begin
    state start begin
        when 20095.chat
."Rangliste" begin
            local rangliste 
mysql_query("SELECT * FROM player.player WHERE player.name NOT LIKE '[%]%' ORDER BY player.level DESC, player.exp DESC","root","...","player","...")
            
say_title("Die Top 10")
            
say("Platz 1:     Name: "..rangliste.name[1].."    Level: "..rangliste.level[1].." ")
            
say("Platz 2:     Name: "..rangliste.name[2].."    Level: "..rangliste.level[2].." ")
            
say("Platz 3:     Name: "..rangliste.name[3].."    Level: "..rangliste.level[3].." ")
            
say("Platz 4:     Name: "..rangliste.name[4].."    Level: "..rangliste.level[4].." ")
            
say("Platz 5:     Name: "..rangliste.name[5].."    Level: "..rangliste.level[5].." ")
            
say("Platz 6:     Name: "..rangliste.name[6].."    Level: "..rangliste.level[6].." ")
            
say("Platz 7:     Name: "..rangliste.name[7].."    Level: "..rangliste.level[7].." ")
            
say("Platz 8:     Name: "..rangliste.name[8].."    Level: "..rangliste.level[8].." ")
            
say("Platz 9:     Name: "..rangliste.name[9].."    Level: "..rangliste.level[9].." ")
            
say("Platz 10:     Name: "..rangliste.name[10].."    Level: "..rangliste.level[10].." ")
        
end
    end
end 
Bild:
[Only registered and activated users can see links. Click Here To Register...]
12/08/2014 22:08 rollback#10705
PHP Code:
quest starterset begin
    state start begin
        when login with pc
.getqf("starterset") == 0 then
            pc
.setqf("starterset"1)
            
note_all("Wir begrüßen ".. pc.get_name() .." auf dem Server!")
            if 
pc.get_job() == 0 then
                say_title
("Willkommen auf ...")
                
say("")
                
say("Blaalsdjaslasjlas")
                
say("sdhsakdhas")
                
say("nasdkfsdhkfkdshfkh")
                
say("")
                
say_reward("Du erhälst das Starterset für Krieger.")
                
pc.give_item2(191)
                
pc.give_item2(191)
                return
            
end
            
if pc.get_job() == 1 then
                say_title
("Willkommen auf ...")
                
say("")
                
say("Blaalsdjaslasjlas")
                
say("sdhsakdhas")
                
say("nasdkfsdhkfkdshfkh")
                
say("")
                
say_reward("Du erhälst das Starterset für Ninja.")
                
pc.give_item2(191)
                
pc.give_item2(191)
                return
            
end
            
if pc.get_job() == 2 then
                say_title
("Willkommen auf ...")
                
say("")
                
say("Blaalsdjaslasjlas")
                
say("sdhsakdhas")
                
say("nasdkfsdhkfkdshfkh")
                
say("")
                
say_reward("Du erhälst das Starterset für Sura.")
                
pc.give_item2(191)
                
pc.give_item2(191)
                return
            
end
            
if pc.get_job() == 3 then
                say_title
("Willkommen auf ...")
                
say("")
                
say("Blaalsdjaslasjlas")
                
say("sdhsakdhas")
                
say("nasdkfsdhkfkdshfkh")
                
say("")
                
say_reward("Du erhälst das Starterset für Schamanen.")
                
pc.give_item2(191)
                
pc.give_item2(191)
                return
            
end
        end
    end
end 
es passiert nichts wenn ich einen neuen char einlogge x.x
12/08/2014 22:11 www.Alesta2.de | Bizeps#10706
Quote:
Originally Posted by dogi4321 View Post
Möglich die Quest für die 40K game anzupassen?

Code:
quest guildstorage begin
	state start begin
		when login begin
			cmdchat("GUILDSTORAGE QID/"..q.getcurrentquestindex())
		end
		
		when 9005.chat."Gildenlager" begin
			if not pc.has_guild() then syschat'Du benoetigst eine Gilde um das Gildenlager benutzen zu koennen.' setskin(NOWINDOW) return end
			if not guildstorage.has_guildstorage() then guildstorage.create_guildstorage() end
			
			if pc.is_guild_master() then 
				cmdchat('GUILDSTORAGE OPEN/1')
			else
				cmdchat('GUILDSTORAGE OPEN/0')
			end
			
			guildstorage.refresh()
			pc.setqf("GUILDSTORAGE",1)
			setskin(NOWINDOW)
		end
		
		when button begin
			local cmd = guildstorage.client_command(getinput("GUILDSTORAGE QUESTCMD"))
			-- [ITEM]
			if cmd[1] == 'TAKE_ITEM' then
				if not guildstorage.get_authority(1) then syschat'Du besitzt keine Berechtigung hierfuer.' return end
				if pc.get_empty_inventory_count() < 3 then syschat'Du hast nicht genug Platz im Inventar, du brauchst mindestens drei freie Plaetze' return end
				local slot = tonumber(cmd[2])+120*tonumber(cmd[3])
				local item = guildstorage.get_slot_item(slot)
				if guildstorage.slot_empty(slot) then syschat'Dieses Item befindet sich an einer anderen Position, oder wurde schon rausgenommen' return end
				guildstorage.remove_item(slot)
				guildstorage.give_item(item)
			elseif cmd[1] == 'MOVE_ITEM' then
				if not guildstorage.get_authority(0) then syschat'Du besitzt keine Berechtigung hierfuer.' return end
				--possible to store the item? antiflag/flag
				
				if cmd[2] == 'INVENTORY' then
					if not guildstorage.slot_empty(tonumber(cmd[4])+120*tonumber(cmd[5])) then syschat'Dieser Slot ist bereits belegt.' return end
					guildstorage.insert_item(tonumber(cmd[3]),tonumber(cmd[4]),tonumber(cmd[5]))
				elseif cmd[2] == 'GUILDSTORAGE' then
					if not guildstorage.slot_empty(tonumber(cmd[5])+120*tonumber(cmd[6])) then syschat'Dieser Slot ist bereits belegt, oder das Item existiert nichtmehr.' return end
					guildstorage.move_item(tonumber(cmd[3])+120*tonumber(cmd[4]),tonumber(cmd[5])+120*tonumber(cmd[6]))
				end
			-- [MONEY]
			elseif cmd[1] == 'TAKE_MONEY' then
				if not guildstorage.get_authority(3) then syschat'Du besitzt keine Berechtigung hierfuer.' return end
				local old_money = guildstorage.get_money()
				if old_money < tonumber(cmd[2]) then syschat'Soviel Yang ist nicht im Gildenlager.' return end 
				local new_money = tonumber(cmd[2])
				if new_money+pc.get_money() >= 1999999999 then syschat'Du kannst nicht mehr wie 2.000.000.000 Yang bei dir haben.' return end
				guildstorage.change_money(-new_money)
				pc.change_money(new_money)
				guildstorage.add_log(pc.get_name(),'Yang','abheben',new_money)
				cmdchat('GUILDSTORAGE REFRESH_MONEY/'..(old_money-new_money))
			elseif cmd[1] == 'GIVE_MONEY' then
				if not guildstorage.get_authority(2) then syschat'Du besitzt keine Berechtigung hierfuer.' return end
				local old_money = guildstorage.get_money()
				local new_money = tonumber(cmd[2])
				if new_money > pc.get_money() then syschat'Soviel Yang besitzt du nicht' return end
				pc.change_money(-new_money)
				guildstorage.change_money(new_money)
				guildstorage.add_log(pc.get_name(),'Yang','einzahlen',new_money)
				cmdchat('GUILDSTORAGE REFRESH_MONEY/'..(old_money+new_money))
			elseif cmd[1] == 'GETGUILDSTORAGEMONEY' then
				cmdchat('GUILDSTORAGE REFRESH_GUILDWINDOW_MONEY/'..guildstorage.get_money())
			-- [MEMBER]
			elseif cmd[1] == 'ADD_MEMBER' then
				if not pc.is_guild_master() then syschat'Cheese. ;p' return end
				local members = guildstorage.get_members()
				if table.getn(members) >= 64 then syschat'Du kannst maximal nur 64 Member eintragen.' return end
				guildstorage.add_member(cmd[2])
				cmdchat('GUILDSTORAGE MEMBER_COMPLETE')
			elseif cmd[1] == 'DELETE_MEMBER' then
				if not pc.is_guild_master() then syschat'Cheese. ;p' return end
				guildstorage.delete_member(cmd[2])
				cmdchat('GUILDSTORAGE MEMBER_COMPLETE')
			elseif cmd[1] == 'AUTHORITY' then
				if not pc.is_guild_master() then syschat'Cheese. ;p' return end
				guildstorage.set_authority(cmd[2],tonumber(cmd[3]),cmd[4])
			elseif cmd[1] == 'GETMEMBERLIST' then
				if not pc.is_guild_master() then syschat'Cheese. ;p' return end
				local members = guildstorage.get_members()
				for i = 1, table.getn(members) do
					-- id, membername, authority 1-4
					cmdchat('GUILDSTORAGE_ADDMEMBER '..(i-1)..' '..members[i][1]..' '..members[i][2]..' '..members[i][3]..' '..members[i][4]..' '..members[i][5])
				end
				cmdchat('GUILDSTORAGE REFRESH_MEMBERS')
			elseif cmd[1] == 'UPDATE' then
				guildstorage.refresh_tempslots()
			elseif cmd[1] == 'LOAD_LOGS' then
				if not pc.is_guild_master() then syschat'Cheese. ;p' return end
				local logs = guildstorage.load_logs()
				local logsLen = table.getn(logs)
				for i = 0, logsLen-1 do
					local var = (logsLen-i)
					cmdchat('GUILDSTORAGE_ADDLOG '..(var-1)..' '..logs[var][1]..' '..logs[var][2]..' '..logs[var][3]..' '..logs[var][4]..' '..logs[var][5])
				end
			elseif cmd[1] == 'DELETE_LOGS' then
				if not pc.is_guild_master() then syschat'Cheese. ;p' return end
				guildstorage.clear_logs()
				
			elseif cmd[1] == 'BUTTON' then
				if cmd[2] == "0" then
					setskin(NOWINDOW)
					game.open_mall()
				elseif cmd[2] == "1" then
					setskin(NOWINDOW)
					game.open_safebox()
				elseif cmd[2] == "2" then
					if not pc.has_guild() then syschat'Du benoetigst eine Gilde um das Gildenlager benutzen zu koennen.' setskin(NOWINDOW) return end
					if not guildstorage.has_guildstorage() then guildstorage.create_guildstorage() end
					
					if pc.is_guild_master() then 
						cmdchat('GUILDSTORAGE OPEN/1')
					else
						cmdchat('GUILDSTORAGE OPEN/0')
					end
					
					guildstorage.refresh()
					pc.setqf("GUILDSTORAGE",1)
					setskin(NOWINDOW)
				end
			end
		end
		
		function item_can_store(itemvnum)
			local antiflags = guildstorage.item_get_real_antiflags(guildstorage.item_antiflag(itemvnum))
			for i = 1 , table.getn(antiflags) do
				if antiflags[i] == 128 or antiflags[i] == 131072 or antiflags[i] == 8192 or antiflags[i] == 64 then return false end
				-- Wenn das item die Antiflag hat wird es nicht eingelagert.
			end
			return true
		end
		
		function item_get_real_antiflags(antiflag_)
			antiflags = {131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64,32,16,8,4,2,1}
			tab2 = {}
			table.foreach(antiflags,function(_,v) if antiflag_ >= v then table.insert(tab2,v) antiflag_ = antiflag_ - v end end)
			return tab2
		end

		function item_antiflag(item_vnum)
			local result = mysql_query("SELECT antiflag from player.item_proto where vnum = "..item_vnum..";")
			return result.antiflag[1]
		end
		
		----------------------
		--LOGS START
		----------------------
		
		function load_logs()
			local logs = {}
			local gs_logs = io.open(guildstorage_path.."Guildstorage/"..pc.get_guild().."/logs.txt", "r")
			for line in gs_logs:lines() do
				table.insert(logs,guildstorage.split_(line,"#"))
			end
			return logs
		end
		
		function clear_logs()
			local gs_log = io.open(guildstorage_path.."Guildstorage/"..pc.get_guild().."/logs.txt", "w+")
			gs_log:flush()
			gs_log:close()
		end
		
		function add_log(name_,type_,do_,desc_)
			local gs_log = io.open(guildstorage_path.."Guildstorage/"..pc.get_guild().."/logs.txt", "a+")
			local date_ = os.date()
			date_ = string.gsub(date_," ", "+-+")
			desc_ = string.gsub(desc_," ", "+-+")
			gs_log:write(name_..'#'..date_..'#'..type_..'#'..do_..'#'..desc_..'\\n')
			gs_log:flush()
			gs_log:close()
		end
		
		----------------------
		--LOGS END
		----------------------
		
		----------------------
		--MEMBER & AUTHORITY START
		----------------------
		-- Auth 0 = einlagern
		-- Auth 1 = rausnehmen
		-- Auth 2 = einzahlen
		-- Auth 3 = auszahlen
		
		function get_members()
			local members = {}
			local gs_member = io.open(guildstorage_path.."Guildstorage/"..pc.get_guild().."/authority.txt", "r")
			for line in gs_member:lines() do
				table.insert(members,guildstorage.split_(line,"#"))
			end
			return members
		end
		
		function get_authority(authID)
			if pc.is_guild_master() then return true end
			local members = guildstorage.get_members()
			for i = 1, table.getn(members) do
				if members[i][1] == pc.get_name() then
					if tonumber(members[i][authID+2]) == 0 then return false else return true end
				end
			end
			return false
		end
		
		function set_authority(member,authID,auth)
			local members = guildstorage.get_members()

			for i = 1, table.getn(members) do
				if members[i][1] == member then 
					members[i][authID+2] = auth
					break
				end
			end
			
			local gs_member = io.open(guildstorage_path.."Guildstorage/"..pc.get_guild().."/authority.txt", "w+")
			
			for i = 1, table.getn(members) do
				gs_member:write(members[i][1]..'#'..members[i][2]..'#'..members[i][3]..'#'..members[i][4]..'#'..members[i][5]..'\\n')
			end
			gs_member:flush()
			gs_member:close()
		end
		
		function add_member(member)
			local members = guildstorage.get_members()

			for i = 1, table.getn(members) do
				if members[i][1] == member then 
					syschat'Member ist schon eingetragen.' 
					return
				end
			end
			
			local gs_member = io.open(guildstorage_path.."Guildstorage/"..pc.get_guild().."/authority.txt", "a+")
			gs_member:write(member..'#0#0#0#0\\n')
			gs_member:flush()
			gs_member:close()
		end
		
		function delete_member(member)
			local members = guildstorage.get_members()

			for i = 1, table.getn(members) do
				if members[i][1] == member then 
					table.remove(members,i)
					break
				end
			end
			
			local gs_member = io.open(guildstorage_path.."Guildstorage/"..pc.get_guild().."/authority.txt", "w+")
			
			for i = 1, table.getn(members) do
				gs_member:write(members[i][1]..'#'..members[i][2]..'#'..members[i][3]..'#'..members[i][4]..'#'..members[i][5]..'\\n')
			end
			gs_member:flush()
			gs_member:close()
		end
		
		----------------------
		--MEMBER & AUTHORITY END
		----------------------
		
		----------------------
		--MONEY START
		----------------------
		function get_money()
			local gs_money = io.open(guildstorage_path.."Guildstorage/"..pc.get_guild().."/money.txt", "r")
			if gs_money == nil then return end
			for line in gs_money:lines() do
				return tonumber(line)
			end
		end
				
		function change_money(money)
			local old_money = guildstorage.get_money()
			local gs_money = io.open(guildstorage_path.."Guildstorage/"..pc.get_guild().."/money.txt", "w+")
			
			gs_money:write(old_money+money)
			gs_money:flush()
			gs_money:close()
		end
		
		----------------------
		--MONEY END
		----------------------
		
		----------------------
		--STORAGE START
		----------------------
		
		function has_guildstorage()
			local guildstorage = io.open(guildstorage_path.."Guildstorage/"..pc.get_guild().."/storage.txt", "r")      
			if guildstorage == nil then
				return false
			else
				return true
			end
		end
		
		function give_item(itemTab)
			pc.give_item2_select(itemTab[1],itemTab[2])
			local attr,socket = {},{}
			for i = 10,23 do table.insert(attr,{itemTab[i],itemTab[i+1]}) i = i+1 end
			for i = 4,6 do table.insert(socket,itemTab[i]) end
			for i = 1, table.getn(attr) do 
				item2.set_attr(i-1, attr[i][1], attr[i][2]) 
			end 
			for i = 1, table.getn(socket) do if tonumber(socket[i]) > 0 then item.set_socket(i-1, socket[i]) end end
		end

		function get_slot_item(slot)
			local items = guildstorage.get_items()
			for i = 1, table.getn(items) do
				local item = guildstorage.split_(items[i],"#")
				if tonumber(item[3]) == slot then
					return item
				end
			end
			return 0
		end
		
		function refresh()
			cmdchat('GUILDSTORAGE REFRESH_MONEY/'..guildstorage.get_money())
			local items = guildstorage.get_items()
			if items != 0 then
				for i = 1, table.getn(items) do
					local item = guildstorage.split_(items[i],"#")
					-- chat(table.getn(item))
					cmdchat('GUILDSTORAGE_ADDITEM '..item[3]..' '..item[1]..' '..item[2]..' '..item[4]..' '..item[5]..' '..item[6]..' '..item[7]..' '..item[8]..' '..item[9]..' '..item[10]..' '..item[11]..' '..item[12]..' '..item[13]..' '..item[14]..' '..item[15]..' '..item[16]..' '..item[17]..' '..item[18]..' '..item[19]..' '..item[20]..' '..item[21]..' '..item[22]..' '..item[23])
				end
			end
			cmdchat('GUILDSTORAGE REFRESH')
		end
		
		function refresh_tempslots()
			cmdchat('GUILDSTORAGE REFRESH_MONEY/'..guildstorage.get_money())
			cmdchat('GUILDSTORAGE CLEAR_TEMPSLOTS')
			local items = guildstorage.get_items()
			if items != 0 then
				for i = 1, table.getn(items) do
					local item = guildstorage.split_(items[i],"#")
					cmdchat('GUILDSTORAGE_ADDTEMPSLOT '..item[3]..' '..item[1]..' '..item[2]..' '..item[4]..' '..item[5]..' '..item[6]..' '..item[7]..' '..item[8]..' '..item[9]..' '..item[10]..' '..item[11]..' '..item[12]..' '..item[13]..' '..item[14]..' '..item[15]..' '..item[16]..' '..item[17]..' '..item[18]..' '..item[19]..' '..item[20]..' '..item[21]..' '..item[22]..' '..item[23])
				end
			end
			cmdchat('GUILDSTORAGE COMPARE_TEMPSLOTS')
		end
		
		function slot_empty(slot)
			local itemList = guildstorage.get_items()
			
			for i = 1 , table.getn(itemList) do
				local item = guildstorage.split_(itemList[i],"#")
				if tonumber(item[3]) == slot then
					return false
				end
			end
			return true
		end
		
		function create_guildstorage()
			os.execute("mkdir "..guildstorage_path.."Guildstorage/"..pc.get_guild())
			local guildstorage = io.open(guildstorage_path.."Guildstorage/"..pc.get_guild().."/storage.txt", "w+")
			local guildstorage = io.open(guildstorage_path.."Guildstorage/"..pc.get_guild().."/money.txt", "w+")
			guildstorage:write("0")
			guildstorage:close()
			local guildstorage = io.open(guildstorage_path.."Guildstorage/"..pc.get_guild().."/authority.txt", "w+")
			local guildstorage = io.open(guildstorage_path.."Guildstorage/"..pc.get_guild().."/logs.txt", "w+")
			
			guildstorage:close()
		end
		
		function insert_item(cell,slot,tab)
			item.select_cell(cell)
			local attr = {{item2.get_attr(0)}, {item2.get_attr(1)}, {item2.get_attr(2)}, {item2.get_attr(3)},{item2.get_attr(4)},{item2.get_attr(5)}, {item2.get_attr(6)}}
			local socket, itemVnum, itemCount = {item.get_socket(0), item.get_socket(1), item.get_socket(2),item.get_socket(3),item.get_socket(4),item.get_socket(5)}, item.get_vnum(), item.get_count()     
			if not guildstorage.item_can_store(itemVnum) then syschat'Dieses Item kann nicht gelagert werden.' return end
			item.remove()
			-- chat('GUILDSTORAGE_ADDITEMSLOT '..slot..' '..tab..' '..itemVnum..' '..itemCount..' '..socket[1]..' '..socket[2]..' '..socket[3]..' '..socket[4]..' '..socket[5]..' '..socket[6]..' '..attr[1][1]..' '..attr[1][2]..' '..attr[2][1]..' '..attr[2][2]..' '..attr[3][1]..' '..attr[3][2]..' '..attr[4][1]..' '..attr[4][2]..' '..attr[5][1]..' '..attr[5][2]..' '..attr[6][1]..' '..attr[6][2]..' '..attr[7][1]..' '..attr[7][2])
			
			cmdchat('GUILDSTORAGE_ADDITEMSLOT '..slot..' '..tab..' '..itemVnum..' '..itemCount..' '..socket[1]..' '..socket[2]..' '..socket[3]..' '..socket[4]..' '..socket[5]..' '..socket[6]..' '..attr[1][1]..' '..attr[1][2]..' '..attr[2][1]..' '..attr[2][2]..' '..attr[3][1]..' '..attr[3][2]..' '..attr[4][1]..' '..attr[4][2]..' '..attr[5][1]..' '..attr[5][2]..' '..attr[6][1]..' '..attr[6][2]..' '..attr[7][1]..' '..attr[7][2])
			guildstorage.add_log(pc.get_name(),'Item','einlagern',item_name(itemVnum)..' ('..itemCount..')')
			local guildstorage = io.open(guildstorage_path.."Guildstorage/"..pc.get_guild().."/storage.txt", "a+")
			guildstorage:write(itemVnum.."#"..itemCount.."#"..(slot+120*tab).."#"..socket[1].."#"..socket[2].."#"..socket[3].."#"..socket[4].."#"..socket[5].."#"..socket[6].."#"..attr[1][1].."#"..attr[1][2].."#"..attr[2][1].."#"..attr[2][2].."#"..attr[3][1].."#"..attr[3][2].."#"..attr[4][1].."#"..attr[4][2].."#"..attr[5][1].."#"..attr[5][2].."#"..attr[6][1].."#"..attr[6][2].."#"..attr[7][1].."#"..attr[7][2].."\\n")
			guildstorage:flush()
			guildstorage:close()
		end
		
		function remove_item(slot)
			local gsPath = guildstorage_path.."Guildstorage/"..pc.get_guild().."/storage.txt"
			local items = {}
			local itemList = guildstorage.get_items()
			
			for i = 1 , table.getn(itemList) do
				table.insert(items,guildstorage.split_(itemList[i],"#"))
			end
			
			for i = 1, table.getn(items) do
				if items[i][3] == tostring(slot) then 
					guildstorage.add_log(pc.get_name(),'Item','rausnehmen',item_name(items[i][1])..' ('..items[i][2]..')')
					table.remove(items,i)
					break
				end
			end
			local gs = io.open(gsPath, "w+")
			for i = 1, table.getn(items) do
				gs:write(items[i][1]..'#'..items[i][2]..'#'..items[i][3]..'#'..items[i][4]..'#'..items[i][5]..'#'..items[i][6]..'#'..items[i][7]..'#'..items[i][8]..'#'..items[i][9]..'#'..items[i][10]..'#'..items[i][11]..'#'..items[i][12]..'#'..items[i][13]..'#'..items[i][14]..'#'..items[i][15]..'#'..items[i][16]..'#'..items[i][17]..'#'..items[i][18]..'#'..items[i][19]..'#'..items[i][20]..'#'..items[i][21]..'#'..items[i][22]..'#'..items[i][23]..'\\n')
			end
			gs:flush()
			gs:close()
		end
		
		function get_items()
			local guildstorageTab = {}
			local guildstorage = io.open(guildstorage_path.."Guildstorage/"..pc.get_guild().."/storage.txt", "r")
			for item in guildstorage:lines() do
				table.insert(guildstorageTab,item)
			end
			return guildstorageTab or 0
		end
		
		function move_item(from,to)
			local gsPath = guildstorage_path.."Guildstorage/"..pc.get_guild().."/storage.txt"
			
			local items = {}
			local itemList = guildstorage.get_items()
			
			for i = 1 , table.getn(itemList) do
				table.insert(items,guildstorage.split_(itemList[i],"#"))
			end
			
			for i = 1, table.getn(items) do
				if items[i][3] == tostring(from) then items[i][3] = tostring(to) end
			end
			local gs = io.open(gsPath, "w+")
			for i = 1, table.getn(items) do
				gs:write(items[i][1]..'#'..items[i][2]..'#'..items[i][3]..'#'..items[i][4]..'#'..items[i][5]..'#'..items[i][6]..'#'..items[i][7]..'#'..items[i][8]..'#'..items[i][9]..'#'..items[i][10]..'#'..items[i][11]..'#'..items[i][12]..'#'..items[i][13]..'#'..items[i][14]..'#'..items[i][15]..'#'..items[i][16]..'#'..items[i][17]..'#'..items[i][18]..'#'..items[i][19]..'#'..items[i][20]..'#'..items[i][21]..'#'..items[i][22]..'#'..items[i][23]..'\\n')
			end
			gs:flush()
			gs:close()
		end
		
		function getinput(par)
			cmdchat("getinputbegin")
			local ret = input(cmdchat(par))
			cmdchat("getinputend")
			return ret
		end
		
		----------------------
		--STORAGE END
		----------------------
		
		function client_command(command_)
			return guildstorage.split_(command_,"#")
		end
		
		function split_(string_,delimiter)
			local result = { }
			local from  = 1
			local delim_from, delim_to = string.find( string_, delimiter, from  )
			while delim_from do
				table.insert( result, string.sub( string_, from , delim_from-1 ) )
				from  = delim_to + 1
				delim_from, delim_to = string.find( string_, delimiter, from  )
			end
			table.insert( result, string.sub( string_, from  ) )
			return result
		end

	end
end

Ist das die Quest von Fliege?

Wenn ja, die ist grotten schlecht.


PS: Die Quest ist doch für alle Gamecores
du brauchst ledeglich in der Source die functions von der Lib von iMer ( der Lib Source wurde rlsd )
12/08/2014 22:34 Rofelmau#10707
Quote:
Originally Posted by [Sensenmann] View Post
PHP Code:
quest starterset begin
    state start begin
        when login with pc
.getqf("starterset") == 0 then
            pc
.setqf("starterset"1)
            
note_all("Wir begrüßen ".. pc.get_name() .." auf dem Server!")
            if 
pc.get_job() == 0 then
                say_title
("Willkommen auf ...")
                
say("")
                
say("Blaalsdjaslasjlas")
                
say("sdhsakdhas")
                
say("nasdkfsdhkfkdshfkh")
                
say("")
                
say_reward("Du erhälst das Starterset für Krieger.")
                
pc.give_item2(191)
                
pc.give_item2(191)
                return
            
end
            
if pc.get_job() == 1 then
                say_title
("Willkommen auf ...")
                
say("")
                
say("Blaalsdjaslasjlas")
                
say("sdhsakdhas")
                
say("nasdkfsdhkfkdshfkh")
                
say("")
                
say_reward("Du erhälst das Starterset für Ninja.")
                
pc.give_item2(191)
                
pc.give_item2(191)
                return
            
end
            
if pc.get_job() == 2 then
                say_title
("Willkommen auf ...")
                
say("")
                
say("Blaalsdjaslasjlas")
                
say("sdhsakdhas")
                
say("nasdkfsdhkfkdshfkh")
                
say("")
                
say_reward("Du erhälst das Starterset für Sura.")
                
pc.give_item2(191)
                
pc.give_item2(191)
                return
            
end
            
if pc.get_job() == 3 then
                say_title
("Willkommen auf ...")
                
say("")
                
say("Blaalsdjaslasjlas")
                
say("sdhsakdhas")
                
say("nasdkfsdhkfkdshfkh")
                
say("")
                
say_reward("Du erhälst das Starterset für Schamanen.")
                
pc.give_item2(191)
                
pc.give_item2(191)
                return
            
end
        end
    end
end 
es passiert nichts wenn ich einen neuen char einlogge x.x
PHP Code:
quest starterset begin
    state start begin
        when login with pc
.getqf("starterset") == 0 then
            pc
.setqf("starterset"1)
            
notice_all("Wir begrüßen ".. pc.get_name() .." auf dem Server!")
            if 
pc.get_job() == 0 then
                say_title
("Willkommen auf ...")
                
say("")
                
say("Blaalsdjaslasjlas")
                
say("sdhsakdhas")
                
say("nasdkfsdhkfkdshfkh")
                
say("")
                
say_reward("Du erhälst das Starterset für Krieger.")
                
pc.give_item2(191)
                
pc.give_item2(191)
                return
            
end
            
if pc.get_job() == 1 then
                say_title
("Willkommen auf ...")
                
say("")
                
say("Blaalsdjaslasjlas")
                
say("sdhsakdhas")
                
say("nasdkfsdhkfkdshfkh")
                
say("")
                
say_reward("Du erhälst das Starterset für Ninja.")
                
pc.give_item2(191)
                
pc.give_item2(191)
                return
            
end
            
if pc.get_job() == 2 then
                say_title
("Willkommen auf ...")
                
say("")
                
say("Blaalsdjaslasjlas")
                
say("sdhsakdhas")
                
say("nasdkfsdhkfkdshfkh")
                
say("")
                
say_reward("Du erhälst das Starterset für Sura.")
                
pc.give_item2(191)
                
pc.give_item2(191)
                return
            
end
            
if pc.get_job() == 3 then
                say_title
("Willkommen auf ...")
                
say("")
                
say("Blaalsdjaslasjlas")
                
say("sdhsakdhas")
                
say("nasdkfsdhkfkdshfkh")
                
say("")
                
say_reward("Du erhälst das Starterset für Schamanen.")
                
pc.give_item2(191)
                
pc.give_item2(191)
                return
            
end
        end
    end
end 
den befehl note_all gibt es nicht, jedenfalls nicht bei mir, sondern notice_all
12/08/2014 23:58 BlacKNearD#10708
Bei mir kommt immer dieser fehler: QUEST : Das
giftschwert1.quest:6:quest doesn't have begin-end clause. (Giftschwert)
Error occured on compile giftschwert1.quest

Laut einem questeditor der fehler erkennt sagt der mir das da 6 end codes fehlen.... aber wo??? bitte um hilfe.

Hier die quest:
PHP Code:
quest Das Giftschwert  begin
    state start begin
        when login 
or levelup with pc.get_level() >=1  begin
            set_state
(information)
        
end    
    end

    state information begin
        when letter begin
            local v 
find_npc_by_vnum(20041)
            if 
!= 0 then
                target
.vid("__TARGET__"v"Quest")
            
end
            send_letter
("Das Giftschwert")
        
end

        when button 
or info begin
            say_title
("Das Giftschwert")
            
say("")
            
say("Das Giftschwert ist eine einzigartige Waffe die dir das Farmen im Hight Lvl bereich")
            
say("nützlichen dienst erweisen wird. Wenn du willst kann ich dir zeigen wie man die Waffe herstellt.")
            
say("Nungut. Es bedarf an Kraft und Mut die erste aufgabe zu bewältigen.")
            
say("Die Questreihe besteht aus 5 abschnitten, bestehe jede Aufgabe und du wirst belohnt.")
            
say("Geh und besorge mir 100x Affenblut. Du bekommst das Blut vom Metin der Schlacht in Map1")
            
say("Bring das blut dem Bettler in Map1.")
            
say("")
        
end

        when __TARGET__
.target.click or
            
20041.chat."Quest" begin
            target
.delete("__TARGET__")
            
say("Betrunkener Bürger:")
            ---                                                   
l
            say
("Wie ich sehe hast du das blut gesammelt?")
            
say("Hmm lass mich sehen. Sehr schön, bring mir die restlichen auch noch.")
            
say("...")
            
say("....")
            
say(".....")
            
say(".....")
            
say("")    
            
set_state(go_to_disciple)
            
pc.setqf("collect_count",0)
            
pc.setqf("drink_drug",0
        
end
    end

    state go_to_disciple begin
        when letter begin
            send_letter
("Auftrag von Betrunkener Bürger")

        
end
        when button 
or info begin
            say_title
("Quest")
            ---                                                   
l
            say
("")
            
say("Betrunkener Bürger gab euch den Auftrag")
            
say("100 Affenblut zu sammeln!")
            
say("Das Item bekommt ihr von Metin der Schlacht.")
            
say("Viel Glueck!")
            
say("")
            
say_item_vnum(30137)
            
say_reward("   Du hast".." "..pc.getqf("collect_count").." bis jetzt gesammelt!")
            
say("")
        
end

        when 71035.
use begin --°g´bÃĤô
            
if pc.getqf("drink_drug")==1 then
                say
("")
                
say("Bessere Droppchance!")
                
say("")

                return
            
end
            
if pc.count_item(30137)==0 then
                say
("")
                
say("Du hast keine!")
                
say("Lauf los und besorg mir welche!")
                
say("")
                return
            
end
            item
.remove()    
            
pc.setqf("drink_drug",1)
        
end


        when 8003.kill begin
            
if pc.count_item(30137)<100-pc.getqf("collect_count"then
                pc
.give_item2(301371)
            
end
        end

        when 20041.chat
."Quest" with pc.count_item(30137) >0   begin
                say
("Einen Moment!")
                ---                                                   
l
                say
("Ich werde das Item")
                
say("schnell mal ueberpruefen.")
                
say("Hoffentlich klappt alles!")
                
say("")
                
pc.remove_item(301371)
                
wait()

                
local pass_percent
                
if pc.getqf("drink_drug")==0 then
                    pass_percent
=30091
                
else        
                    
pass_percent=30091
                end

                local s
number(1,100)
            if 
s<= pass_percent  then
               
if pc.getqf("collect_count")< 99 then     --5*Ó¥H¤U 
                        local index 
=pc.getqf("collect_count")+
                        pc
.setqf("collect_count",index)     --¨ú±o¤@*Ӯɠ+1
                        say
("Betrunkener Bürger:")
                        
say("Perfekt! Das Item ist in Ordnung")
                        
say("Du hast bis jetzt ".." "..100-pc.getqf("collect_count").. " abgegeben!")
                        
say("Bring mir die restlichen!")
                        
say("")
                        
pc.setqf("drink_drug",0)     --ÃĤôªì©l¤Æ
                        
return
                    
end
                    say
("Betrunkener Bürger:")
                    
say("Yuhu! Du hast mir")
                    
say("alles gebracht!")
                    
say("Dafür werde ich dich wie versprochen")
                    
say("belohnen!")
                    
say("")
                    
say_reward("Du bekommst ein Kriegersymbol!")
                    
say_reward("Du bekommst 5000000 Yang!")nzahl Erfahrung!")
                    pc.setqf("
collect_count",0)
                    pc.setqf("
drink_drug",0)
                    clear_letter()
                    set_state(__complete)

                    pc.give_item2(30091)
                    pc.change_money(5000000)
                    set_quest_state("
levelup","run")


                    return
                else                                
                say("
Betrunkener Bürger:")
                say("
Dieses Item ist von schlechter Qualität!")
                say("
Es kann nicht verwendet werden.")
                say("
Hole mir ein neues!")
                say("")
                pc.setqf("
drink_drug",0)     --ÃĤôªì©l¤Æ
                return
                end
    end
end


        
    state __complete begin
    end
end 
12/09/2014 06:33 Noa_#10709
Quote:
Originally Posted by BlacKNearD View Post
Bei mir kommt immer dieser fehler: QUEST : Das
giftschwert1.quest:6:quest doesn't have begin-end clause. (Giftschwert)
Error occured on compile giftschwert1.quest

Laut einem questeditor der fehler erkennt sagt der mir das da 6 end codes fehlen.... aber wo??? bitte um hilfe.

Hier die quest:
PHP Code:
quest Das Giftschwert  begin
    state start begin
        when login 
or levelup with pc.get_level() >=1  begin
            set_state
(information)
        
end    
    end

    state information begin
        when letter begin
            local v 
find_npc_by_vnum(20041)
            if 
!= 0 then
                target
.vid("__TARGET__"v"Quest")
            
end
            send_letter
("Das Giftschwert")
        
end

        when button 
or info begin
            say_title
("Das Giftschwert")
            
say("")
            
say("Das Giftschwert ist eine einzigartige Waffe die dir das Farmen im Hight Lvl bereich")
            
say("nützlichen dienst erweisen wird. Wenn du willst kann ich dir zeigen wie man die Waffe herstellt.")
            
say("Nungut. Es bedarf an Kraft und Mut die erste aufgabe zu bewältigen.")
            
say("Die Questreihe besteht aus 5 abschnitten, bestehe jede Aufgabe und du wirst belohnt.")
            
say("Geh und besorge mir 100x Affenblut. Du bekommst das Blut vom Metin der Schlacht in Map1")
            
say("Bring das blut dem Bettler in Map1.")
            
say("")
        
end

        when __TARGET__
.target.click or
            
20041.chat."Quest" begin
            target
.delete("__TARGET__")
            
say("Betrunkener Bürger:")
            ---                                                   
l
            say
("Wie ich sehe hast du das blut gesammelt?")
            
say("Hmm lass mich sehen. Sehr schön, bring mir die restlichen auch noch.")
            
say("...")
            
say("....")
            
say(".....")
            
say(".....")
            
say("")    
            
set_state(go_to_disciple)
            
pc.setqf("collect_count",0)
            
pc.setqf("drink_drug",0
        
end
    end

    state go_to_disciple begin
        when letter begin
            send_letter
("Auftrag von Betrunkener Bürger")

        
end
        when button 
or info begin
            say_title
("Quest")
            ---                                                   
l
            say
("")
            
say("Betrunkener Bürger gab euch den Auftrag")
            
say("100 Affenblut zu sammeln!")
            
say("Das Item bekommt ihr von Metin der Schlacht.")
            
say("Viel Glueck!")
            
say("")
            
say_item_vnum(30137)
            
say_reward("   Du hast".." "..pc.getqf("collect_count").." bis jetzt gesammelt!")
            
say("")
        
end

        when 71035.
use begin --°g´bÃĤô
            
if pc.getqf("drink_drug")==1 then
                say
("")
                
say("Bessere Droppchance!")
                
say("")

                return
            
end
            
if pc.count_item(30137)==0 then
                say
("")
                
say("Du hast keine!")
                
say("Lauf los und besorg mir welche!")
                
say("")
                return
            
end
            item
.remove()    
            
pc.setqf("drink_drug",1)
        
end


        when 8003.kill begin
            
if pc.count_item(30137)<100-pc.getqf("collect_count"then
                pc
.give_item2(301371)
            
end
        end

        when 20041.chat
."Quest" with pc.count_item(30137) >0   begin
                say
("Einen Moment!")
                ---                                                   
l
                say
("Ich werde das Item")
                
say("schnell mal ueberpruefen.")
                
say("Hoffentlich klappt alles!")
                
say("")
                
pc.remove_item(301371)
                
wait()

                
local pass_percent
                
if pc.getqf("drink_drug")==0 then
                    pass_percent
=30091
                
else        
                    
pass_percent=30091
                end

                local s
number(1,100)
            if 
s<= pass_percent  then
               
if pc.getqf("collect_count")< 99 then     --5*Ó¥H¤U 
                        local index 
=pc.getqf("collect_count")+
                        pc
.setqf("collect_count",index)     --¨ú±o¤@*Ӯɠ+1
                        say
("Betrunkener Bürger:")
                        
say("Perfekt! Das Item ist in Ordnung")
                        
say("Du hast bis jetzt ".." "..100-pc.getqf("collect_count").. " abgegeben!")
                        
say("Bring mir die restlichen!")
                        
say("")
                        
pc.setqf("drink_drug",0)     --ÃĤôªì©l¤Æ
                        
return
                    
end
                    say
("Betrunkener Bürger:")
                    
say("Yuhu! Du hast mir")
                    
say("alles gebracht!")
                    
say("Dafür werde ich dich wie versprochen")
                    
say("belohnen!")
                    
say("")
                    
say_reward("Du bekommst ein Kriegersymbol!")
                    
say_reward("Du bekommst 5000000 Yang!")nzahl Erfahrung!")
                    pc.setqf("
collect_count",0)
                    pc.setqf("
drink_drug",0)
                    clear_letter()
                    set_state(__complete)

                    pc.give_item2(30091)
                    pc.change_money(5000000)
                    set_quest_state("
levelup","run")


                    return
                else                                
                say("
Betrunkener Bürger:")
                say("
Dieses Item ist von schlechter Qualität!")
                say("
Es kann nicht verwendet werden.")
                say("
Hole mir ein neues!")
                say("")
                pc.setqf("
drink_drug",0)     --ÃĤôªì©l¤Æ
                return
                end
    end
end


        
    state __complete begin
    end
end 
PHP Code:
quest Das Giftschwert  begin 
    state start begin 
        when login 
or levelup with pc.get_level() >=1  begin 
            set_state
(information
        
end     
    end 

    state information begin 
        when letter begin 
            local v 
find_npc_by_vnum(20041
            if 
!= 0 then 
                target
.vid("__TARGET__"v"Quest"
            
end 
            send_letter
("Das Giftschwert"
        
end 

        when button 
or info begin 
            say_title
("Das Giftschwert"
            
say(""
            
say("Das Giftschwert ist eine einzigartige Waffe die dir das Farmen im Hight Lvl bereich"
            
say("nützlichen dienst erweisen wird. Wenn du willst kann ich dir zeigen wie man die Waffe herstellt."
            
say("Nungut. Es bedarf an Kraft und Mut die erste aufgabe zu bewältigen."
            
say("Die Questreihe besteht aus 5 abschnitten, bestehe jede Aufgabe und du wirst belohnt."
            
say("Geh und besorge mir 100x Affenblut. Du bekommst das Blut vom Metin der Schlacht in Map1"
            
say("Bring das blut dem Bettler in Map1."
            
say(""
        
end 

        when __TARGET__
.target.click or 
            
20041.chat."Quest" begin 
            target
.delete("__TARGET__"
            
say("Betrunkener Bürger:"
            ---                                                   

            say
("Wie ich sehe hast du das blut gesammelt?"
            
say("Hmm lass mich sehen. Sehr schön, bring mir die restlichen auch noch."
            
say("..."
            
say("...."
            
say("....."
            
say("....."
            
say("")     
            
set_state(go_to_disciple
            
pc.setqf("collect_count",0
            
pc.setqf("drink_drug",0)  
        
end 
    end 

    state go_to_disciple begin 
        when letter begin 
            send_letter
("Auftrag von Betrunkener Bürger"
        
end 
        when button 
or info begin 
            say_title
("Quest"
            ---                                                   

            say
(""
            
say("Betrunkener Bürger gab euch den Auftrag"
            
say("100 Affenblut zu sammeln!"
            
say("Das Item bekommt ihr von Metin der Schlacht."
            
say("Viel Glueck!"
            
say(""
            
say_item_vnum(30137
            
say_reward("Du hast "..pc.getqf("collect_count").." bis jetzt gesammelt!"
            
say(""
        
end 

        when 71035.
use begin --°g´bÃĤô 
            
if pc.getqf("drink_drug")==1 then 
                say
(""
                
say("Bessere Droppchance!"
                
say(""
                return 
            
end 
            
if pc.count_item(30137)==0 then 
                say
(""
                
say("Du hast keine!"
                
say("Lauf los und besorg mir welche!"
                
say(""
                return 
            
end 
            item
.remove()     
            
pc.setqf("drink_drug",1
        
end 


        when kill with npc
.get_race()==8003 begin 
            
if pc.count_item(30137)<100-pc.getqf("collect_count"then 
                pc
.give_item2(301371
            
end 
        end 

        when 20041.chat
."Quest" with pc.count_item(30137) >0   begin 
            say
("Einen Moment!"
            ---                                                   

            say
("Ich werde das Item"
            
say("schnell mal ueberpruefen."
            
say("Hoffentlich klappt alles!"
            
say(""
            
pc.remove_item(301371
            
wait() 
            
local pass_percent 
            
if pc.getqf("drink_drug")==0 then 
                pass_percent
=25 
            
else         
                
pass_percent=50 
            end 
            local s
number(1,100
            if 
s<= pass_percent  then 
                
if pc.getqf("collect_count")< 99 then     --5*Ó¥H¤U  
                    local index 
=pc.getqf("collect_count")+1  
                    pc
.setqf("collect_count",index)     --¨ú±o¤@*Ӯɠ+
                    say
("Betrunkener Bürger:"
                    
say("Perfekt! Das Item ist in Ordnung"
                    
say("Du hast bis jetzt "..(100-pc.getqf("collect_count")).." abgegeben!"
                    
say("Bring mir die restlichen!"
                    
say(""
                    
pc.setqf("drink_drug",0)     --ÃĤôªì©l¤Æ 
                    
return 
                
end 
                say
("Betrunkener Bürger:"
                
say("Yuhu! Du hast mir"
                
say("alles gebracht!"
                
say("Dafür werde ich dich wie versprochen"
                
say("belohnen!"
                
say(""
                
say_reward("Du bekommst ein Kriegersymbol!"
                
say_reward("Du bekommst 5000000 Yang!")
                
pc.setqf("collect_count",0
                
pc.setqf("drink_drug",0
                
clear_letter() 
                
set_state(__complete
                
pc.give_item2(30091
                
pc.change_money(5000000
                
set_quest_state("levelup","run"
            else                                 
                
say("Betrunkener Bürger:"
                
say("Dieses Item ist von schlechter Qualität!"
                
say("Es kann nicht verwendet werden."
                
say("Hole mir ein neues!"
                
say(""
                
pc.setqf("drink_drug",0)     --ÃĤôªì©l¤Æ 
            end 
        end 
    end 
    state __complete begin 
    end 
end 
12/09/2014 11:40 rollback#10710
kann ich eine variable bei der funktion mysql_query von mijago eintragen? also so:

local abfrage = mysql_query("select X, Y, Z from ...")
local s = select("A", "B", "C")

abfrage.X[s]

normalerweise wird das ja so aufgerufen:
abfrage.X[1]
also für das erste ergebnis des selects

Also wenn man A anklickt wird das erste Ergebnis des selects angezeigt, wenn man B anklickt das zweite, wenn man C anklickt das dritte ...

würde das so funktionieren?

und in welchem fall muss man ".. .." machen?