[SERVICE] Die Questkontrolle

04/29/2013 21:05 G.I Duke#8011
Quote:
Originally Posted by [SA]Soyku View Post
quest ork begin
state start begin
when 20094.chat."Töte die Orks (Ab Level 50)" begin
say_size(400, 350)
say_green("Töte die Orks")
say_green("")
say_green("Die Orks. Kennst du sie auch?")
say_green("Sie überwachen uns schon seit langem ")
say_green("und wir haben jeden Tag angst, dass sie")
say_green("angreifen. Nun wollen wir aber auch mal")
say_green("Mut zeigen und sie mit ihren eigenen Waffen")
say_green("schlagen. Kannst du mir dabei helfen?")
say_green("")
say_green("Töte 150 Orks in der Mitte des Orktals!")
say_green("")
say_green("Belohnung: 48er Rüstung+8")
say("")
say_green("Willst du die Quest beginnen?")
local a = select("Ja", "Nein")
if a == 2 then
return
elseif a == 1 then
if pc.get_level() < 50 then
say_size(400, 350)
say_green("Du bist erst "..pc.get_level().."!")
else
say_size(400, 350)
say_green("Viel Erfolg!")
pc.setqf("state", 150)
q.set_counter("Ork", 150)
set_state(ork)
end
end
end
end

state ork begin
when letter begin
send_letter("Töte die Orks")
end

when button or info begin
say_size(400, 350)
say_green("Orks:")
say_green("Du musst noch "..pc.getqf("state").." von 150 töten")
say_green("")
end

when 636.kill or 637.kill or 651.kill or 652.kill or 653.kill or 654.kill or 655.kill or 656.kill or 657.kill begin
local count = pc.getqf("state") - 1
if count <= 150 then
pc.setqf("state", count)
q.set_counter("Ork", -count)
end
if count == 0 then
if pc.job() == 0 then
say_size(400, 350)
say_green("Töte die Orks")
say_green("")
say_green("Sehr schön! Du hast es geschafft.")
say_green("Nun sind wir endlich wieder sicher!")
say_green("Hier ist deine Belohnung:")
say_green("- Schuppenplattenpanzer+8")
pc.give_item2(11268, 1)
set_state(__COMPLETE__)
elseif pc.job() == 1 then
say_size(400, 350)
say_green("Töte die Orks")
say_green("")
say_green("Sehr schön! Du hast es geschafft.")
say_green("Nun sind wir endlich wieder sicher!")
say_green("Hier ist deine Belohnung:")
say_green("- Jungdrachenanzug+8")
pc.give_item2(11468, 1)
set_state(__COMPLETE__)
elseif pc.job() == 2 then
say_size(400, 350)
say_green("Töte die Orks")
say_green("")
say_green("Sehr schön! Du hast es geschafft.")
say_green("Nun sind wir endlich wieder sicher!")
say_green("Hier ist deine Belohnung:")
say_green("- Nebelplattenpanzer+8")
pc.give_item2(11268, 1)
set_state(__COMPLETE__)
elseif pc.job() == 3 then
say_size(400, 350)
say_green("Töte die Orks")
say_green("")
say_green("Sehr schön! Du hast es geschafft.")
say_green("Nun sind wir endlich wieder sicher!")
say_green("Hier ist deine Belohnung:")
say_green("- Kleidung der Moral+8")
pc.give_item2(11868, 1)
set_state(__COMPLETE__)
end
end
end
end

state __COMPLETE__ begin
end
end




Bekomme die Quest nicht fertig, die Orks sind fertig und die Quest wird nicht fertig.
Man kann sie auch nicht abgeben.
Sollte so gehn:
04/29/2013 21:22 [SA]Soyku#8012
in Putty kommt ne Fehlermeldung :

WHEN : 20094.chat ("Töte die Orks")
expecting 'when' or 'function'
orks.quest:36:Error occured on compile orks.quest
04/30/2013 13:56 G.I Duke#8013
Quote:
Originally Posted by [SA]Soyku View Post
in Putty kommt ne Fehlermeldung :

WHEN : 20094.chat ("Töte die Orks")
expecting 'when' or 'function'
orks.quest:36:Error occured on compile orks.quest
PHP Code:
quest ork begin 
state start begin  
when 20094.chat
."Töte die Orks (Ab Level 50)" begin 
say_size
(400350
say_green("Töte die Orks"
say_green(""
say_green("Die Orks. Kennst du sie auch?"
say_green("Sie überwachen uns schon seit langem "
say_green("und wir haben jeden Tag angst, dass sie"
say_green("angreifen. Nun wollen wir aber auch mal"
say_green("Mut zeigen und sie mit ihren eigenen Waffen"
say_green("schlagen. Kannst du mir dabei helfen?"
say_green(""
say_green("Töte 150 Orks in der Mitte des Orktals!"
say_green(""
say_green("Belohnung: 48er Rüstung+8"
say(""
say_green("Willst du die Quest beginnen?"
local a select("Ja""Nein"
if 
== 2 then 
return
end
elseif == 1 then 
if pc.get_level() <= 50 then 
say_size
(400350
say_green("Du bist erst "..pc.get_level().."!"
else 
say_size(400350
say_green("Viel Erfolg!"
pc.setqf("state"150
q.set_counter("Ork"150
set_state(ork
end 
end 
end 

state ork begin 
when letter begin 
send_letter
("Töte die Orks"
end 

when button 
or info begin 
say_size
(400350
say_green("Orks:"
say_green("Du musst noch "..pc.getqf("state").." von 150 töten"
say_green(""
end 

when 636.kill 
or 637.kill or 651.kill or 652.kill or 653.kill or 654.kill or 655.kill or 656.kill or 657.kill begin 
local count 
pc.getqf("state") - 
if count <= 150 then 
pc
.setqf("state"count
q.set_counter("Ork", -count
end 
if count == and pc.job() == 0 then 
say_size
(400350
say_green("Töte die Orks"
say_green(""
say_green("Sehr schön! Du hast es geschafft."
say_green("Nun sind wir endlich wieder sicher!"
say_green("Hier ist deine Belohnung:"
say_green("- Schuppenplattenpanzer+8"
pc.give_item2(112681
set_state(__COMPLETE__
elseif 
count == and pc.job() == 1 then 
say_size
(400350
say_green("Töte die Orks"
say_green(""
say_green("Sehr schön! Du hast es geschafft."
say_green("Nun sind wir endlich wieder sicher!"
say_green("Hier ist deine Belohnung:"
say_green("- Jungdrachenanzug+8"
pc.give_item2(114681
set_state(__COMPLETE__
elseif 
count == and pc.job() == 2 then 
say_size
(400350
say_green("Töte die Orks"
say_green(""
say_green("Sehr schön! Du hast es geschafft."
say_green("Nun sind wir endlich wieder sicher!"
say_green("Hier ist deine Belohnung:"
say_green("- Nebelplattenpanzer+8"
pc.give_item2(112681
set_state(__COMPLETE__
elseif 
count == and pc.job() == 3 then 
say_size
(400350
say_green("Töte die Orks"
say_green(""
say_green("Sehr schön! Du hast es geschafft."
say_green("Nun sind wir endlich wieder sicher!"
say_green("Hier ist deine Belohnung:"
say_green("- Kleidung der Moral+8"
pc.give_item2(118681
set_state(__COMPLETE__
end     
end 
end 
end 

state __COMPLETE__ begin 
end 
end 
04/30/2013 21:00 Chikyou#8014
Sorry, but i need an answer please s:
Quote:
Originally Posted by Chikyou View Post
Hi!
The devilscave.quest that .Nove posted, doesn't work for me, because when i login in the third level, i go back to city.
So, i created my own devil's catacomb quest, without d.s/getf. In fact, the quest isn't a dungeon, but, when finally i kill Charon (vnum 2597), it teleports me to the azrael's level, but, it send me to town too!
And... i don't know why.. if i change d.new_jump_all with pc.warp, it works!
But... a lot of persons killing Charon to go to the last level, it's.. i mean, it's not what i want.

Here the quest.
I hope someone can help me s:

Code:
quest catacumbas begin
	state start begin
		when 20367.chat."As Catacumbas do Demónio" begin
			say_title("Guarda das Catacumbas:")
			say("Por um momento chegas a acreditar que")
			say("o Fantasma da Morte foi derrotado. Mas")
			say("assim que cruzas a entrada para as")
			say("Catacumbas do Demónio, um ar gélido abate-se")
			say("sobre ti. Imediatamente consegues senti-lo:")
			say("a morte reina aqui nas profundezas. Como sempre.")
			say("Os gritos das almas amaldiçoadas acompanham")
			say("cada passo teu. Apreensivo, ergues a tua arma:")
			say("derrotas o Fantasma da Morte uma vez e irás")
			say("fazê-lo novamente!")
			wait()
			say_title("Guarda das Catacumbas:")
			say("Deves ser nível 75 para entrares.")
			say("Precisas de um Grupo.")
			say("")
			wait()
			if pc.get_level() >= 75 then
				say_title("Guarda das Catacumbas:")
				say("Sim... vejo que estás preparado")
				say("como para entrares nesta nova aventura.")
				say("Agora a decisão é tua: Queres entrar?")
				local a = select ("Sim", "Não")
				if a == 1 then
					--if party.is_party() then
						say_title("Guarda das Catacumbas:")
						say("Serás teleportado.")
						say("Boa sorte.")
						wait()
						pc.warp(415200, 4209200)
						pc.setqf("piso", 1)
						pc.setqf("droparchave", 1)
					--else
						--say_title("Guarda das Catacumbas:")
						--say("Lamento, precisas de ter um grupo")
						--say("para entrares nas catacumbas.")
					--end
				end
			else
				say_title("Guarda das Catacumbas:")
				say("Desculpa, não és forte o suficiente")
				say("como para entrares nas catacumbas.")
			end
		end
		when 2501.kill or 2502.kill or 2503.kill or 2505.kill begin
			if pc.getqf("piso") == 1 then
				local chave = math.random(1, 500)
				if chave >= 490 and pc.getqf("droparchave") == 1 then
					pc.setqf("droparchave", 0)
					game.drop_item("30311", 1)
				end
			end
		end
		when 30101.take with item.get_vnum() == 30311 begin
			say_title("Estátua de Kud")
			say("Serás teleportado.")
			wait()
			item.remove()
			pc.warp(463200, 4208200)
			pc.setqf("piso", 2)
		end
		when 30103.click begin
			say_title("Tartaruga de Rocha")
			say("Serás teleportado ao terceiro andar.")
			wait()
			pc.warp(542700, 4228200)
			pc.setqf("piso", 3)
		end
		when mverdadeira.timer begin
			if pc.getqf("piso") == 3 then
				say_title("As Catacumbas do Demónio")
				say("Serás teleportado.")
				wait()
				d.new_jump_all(209, 3143, 12657)
				pc.setqf("piso", 4)
			end
		end
		when 30104.click begin
			if pc.getqf("piso") == 4 then
				say_title("Estaca com Runas")
				say("Serás teleportado.")
				wait()
				d.new_jump_all(209, 4917, 42925)
				pc.setqf("piso", 5)
			end
		end
		when 2591.kill begin
			game.drop_item("30312", 1)
		end
		when 8038.kill begin
			local sorte = math.random(1, 7)
			if sorte == 1 then
				pc.setqf("mverdadeira1", 1)
				if pc.getqf("mverdadeira1") == 1 then
					timer("mverdadeira", 3)
					notice("Destruiram a metin verdadeira.")
				else
					notice("Destruiram uma metin falsa.")
				end
			elseif sorte == 2 then
				pc.setqf("mverdadeira2", 2)
				if pc.getqf("mverdadeira2") == 2 then
					timer("mverdadeira", 3)
					notice("Destruiram a metin verdadeira.")
				else
					notice("Destruiram uma metin falsa.")
				end
			elseif sorte == 3 then
				pc.setqf("mverdadeira3", 3)
				if pc.getqf("mverdadeira3") == 3 then
					timer("mverdadeira", 3)
					notice("Destruiram a metin verdadeira.")
				else
					notice("Destruiram uma metin falsa.")
				end
			elseif sorte == 4 then
				pc.setqf("mverdadeira2", 4)
				if pc.getqf("mverdadeira4") == 4 then
					timer("mverdadeira", 3)
					notice("Destruiram a metin verdadeira.")
				else
					notice("Destruiram uma metin falsa.")
				end
			elseif sorte == 5 then
				pc.setqf("mverdadeira5", 2)
				if pc.getqf("mverdadeira5") == 5 then
					timer("mverdadeira", 3)
					notice("Destruiram a metin verdadeira.")
				else
					notice("Destruiram uma metin falsa.")
				end
			elseif sorte == 6 then
				pc.setqf("mverdadeira2", 6)
				if pc.getqf("mverdadeira6") == 6 then
					timer("mverdadeira", 3)
					notice("Destruiram a metin verdadeira.")
				else
					notice("Destruiram uma metin falsa.")
				end
			elseif sorte == 7 then
				pc.setqf("mverdadeira2", 7)
				if pc.getqf("mverdadeira7") == 7 then
					timer("mverdadeira", 3)
					notice("Destruiram a metin verdadeira.")
				else
					notice("Destruiram uma metin falsa.")
				end
			end
		end
		when 30102.take with item.get_vnum() == 30312 begin
			say_title("Obelisco de Basalto")
			say("Serás teleportado.")
			wait()
			item.remove()
			pc.setqf("piso", 6)
			pc.warp(542200, 4278200)
		end
		when 2597.kill begin
			timer("piso7", 3)
		end
		when piso7.timer begin
			if pc.getqf("piso") == 6 then
				say_title("As Catacumbas do Demónio")
				say("Serão teleportados.")
				wait()
				d.new_jump_all(209, 4147, 43191)
				pc.setqf("piso", 7)
			end
		end
		when 2598.kill begin
			if pc.getqf("piso") == 7 then
				notice_all("O Grupo de "..pc.get_name().." matou o Azrael!")
				timer("mandar_cidade", 30)
			end
		end
		when mandar_cidade.timer begin
			say_title("As Catacumbas do Demónio")
			say("Parabéns por completarem as Catacumbas!")
			say("Agora serão teleportados às vossas cidades.")
			wait()
			warp_to_village()
			pc.setqf("piso", 0)
			pc.setqf("droparchave", 0)
		end
		when 45minutos.timer begin
			say_title("As Catacumbas do Demónio")
			say("Aventureiros, o tempo esgotou-se.")
			say("Serão teleportados às vossas cidades.")
			wait()
			warp_to_village()
		end
		when login with pc.get_map_index() == 209 begin
			if pc.getqf("piso") == 1 then
				say_title("As Catacumbas do Demónio")
				say("Neste primeiro piso, deves matar os monstros")
				say("até encontrares a Chave de Azurite.")
				say_item_vnum(30311)
				say("Quando a possuires, tens que a colocar na ")
				say("Estátua de Kud, localizada no final deste mesmo")
				say("Piso. Tens 45 minutos para completares o mapa todo")
				say("por isso, apressa-te! Boa sorte!")
				timer("45minutos", 2700)
			elseif pc.getqf("piso") == 2 then
				say_title("As Catacumbas do Demónio")
				say("Parabéns, Chegaste ao segundo piso.")
				say("Aqui terás que encontrar o caminho até à ")
				say("Tartaruga de Rocha. Ela levar-te-á até ao ")
				say("piso seguinte.")
			elseif pc.getqf("piso") == 3 then
				say_title("As Catacumbas do Demónio")
				say("Neste terceiro piso, deverás descobrir")
				say("qual a Metin verdadeira, destruindo todas")
				say("as Metins da Desforra que vires.")
				say("Quando a verdadeira for destruída, ")
				say("passarão para o piso 4.")
			elseif pc.getqf("piso") == 4 then
				say_title("As Catacumbas do Demónio")
				say("Aqui no Labirinto, deverão encontrar")
				say("o caminho correto para chegar à Estaca ")
				say("com Runas. Deverão seguir uma combinação")
				say("correta, através dos portais, para chegar a ela.")
			elseif pc.getqf("piso") == 5 then
				 say_title("As Catacumbas do Demónio")
				 say("No quinto andar das catacumbas, devem matar")
				 say("o Boss Tártaros, de modo a obter o Totem de Rosto.")
				 say_item_vnum(30312)
				 say("Uma vez que possuam este item, deverão mete-lo no")
				 say("Obelisco de Basalto.")
			elseif pc.getqf("piso") == 6 then
				say_title("As Catacumbas do Demónio")
				say("Mata o Boss Charon e chegarás ao último")
				say("andar das Catacumbas.")
			elseif pc.getqf("piso") == 7 then
				notice("Último andar das Catacumbas.")
				notice("Matem o Azrael.")
			end
		end
	end
end
04/30/2013 23:07 baris1000#8015
Devils catacomb Quest: Nachdem ich azrael besiegt habe werde ich statt in die stadt wieder in den Azrael raum teleportiert .. Der rest klappt einwandfrei. Könnte mir jemand helfen? Habe bisher vieles versucht.

Skype: reflexx59 :)

HTML Code:
quest devilcave begin 
    state start begin 
--DC Status Reset 
        when 20351.chat."DC Status Zurücksetzen!" with pc.is_gm begin 
            say_title("Wächter der Katakombe") 
            say("") 
            say_reward("Status zurückgesetzt!") 
            say("") 
            game.set_event_flag("dc_versuche",1) 
            game.set_event_flag("dcgamer",0) 
            game.set_event_flag("dc_geschaft",0) 
        end     
--Configuration     
        when 20351.chat."DC Configuration!" with game.get_event_flag("block_dc_config") == 0 and pc.is_gm begin 
            game.set_event_flag("dc_is_ok",1) 
            game.set_event_flag("block_dc_config",1) 
            game.set_event_flag("dc_versuche",1) 
        end 
--FaiL... Entry 
        --when 20351.chat."The Devils Catacomb" with game.get_event_flag("dc_is_ok") == 1 and pc.getqf("can_in_dc") == 0 and pc.get_level() > 80 begin 
            --say_title("Wächter der Katakombe") 
            --say("") 
            --say_reward("Du darfst noch nicht in die Devils Catacomb!") 
            --say("") 
            --say_reward("Bring mir ein Sensenmannrelikt zieh es einfach auf mich!") 
            --say_reward("und du darfst Passieren!") 
        --end 
        --when 20351.chat."Devils Catacomb (lv.80)" with game.get_event_flag("dc_is_ok") == 1 and pc.getqf("can_in_dc") == 1 and pc.get_level() < 80 begin 
            --say_title("Wächter der Katakombe") 
            --say("") 
            --say_reward("Du bist noch zu Schwach!") 
            --say("") 
        --end 
--Sensenmannrelikt Abgabe! 
        --when 20351.take with item.vnum == 30122 and pc.getqf("can_in_dc") == 0 begin 
            --if pc.get_level() < 80 then 
                --say_title("Wächter der Katakombe") 
                --say("") 
                --say_reward("Du musst lv.80 sein um ein Sensenmannrelikt abzugeben!") 
                --say("") 
            --else 
                --item.remove() 
                --say_title("Wächter der Katakombe") 
                --say("") 
                --say_reward("Du darfst nun die Devils Catacomb betreten!") 
                --say("") 
                --pc.setqf("can_in_dc", 1) 
            --end 
        --end 
--Entry     
        when 20351.chat."The Devils Catacomb" with game.get_event_flag("dc_is_ok") == 1 and pc.getqf("can_in_dc") == 0 begin 
            if pc.get_level() < 80 then  
                say_title("Wächter der Katakombe") 
                say("") 
                say_reward("Du bist noch zu schwach für die Katakomben!") 
                say("") 
            else 
                say_title("Wächter der Katakombe") 
                say("") 
                say("Bisher haben "..game.get_event_flag("dcgamer").." Soldaten es versucht ") 
                say("und "..game.get_event_flag("dc_geschaft").." haben es tatsächlich geschaft") 
                say("Azrael zu besiegen!") 
                wait() 
                say_title("Wächter der Katakombe") 
                say("") 
                say_reward("Willst du es versuchen?") 
                say_reward("du wärst der "..game.get_event_flag("dc_versuche")..". Kämpfer der es") 
                say_reward("versucht!") 
                say("") 
                pc.setqf("Ebene", 1) 
                local dc_login = select("Betreten", "Abbrechen") 
                if dc_login == 1 then 
                    pc.warp(415200, 4209200) 
                elseif dc_login == 2 then 
                    return 
                end 
            end 
        end             
--Ebene 1         

         
        when login with pc.get_map_index() == 209 begin 
            game.set_event_flag(("dcgamer"), game.get_event_flag("dcgamer")+1) 
            game.set_event_flag(("dc_versuche"), game.get_event_flag("dc_versuche")+1) 
            if pc.getqf("Ebene") == 1 then 
            say_title("Devils Catacomb") 
            say("Um in die 2.Ebene zu kommen, musst du") 
            say_item("Seelenkristall-Schlüssel", 30311, "") --Die "--" vor say_item entfernen wenn beim Login text das Item als Bild angezeigt werden soll das man braucht 
            say("auf die Statue des Kud ziehen!") 
            say("Du droppst ihn bei den Monstern.") 
            say("Ihr habt ingesamt 90 Minuten Zeit!") 
            say("") 
            say_reward("Viel Glück!") 
            say("") 
            timer("dc10", 600) 
            pc.setqf("sksgedroppt", 0) 
        else 
            warp_all_to_village() 
            end 
        end 
        when kill with not npc.is_pc() and pc.get_map_index() == 209 begin  
            local sks = number(1,15) 
            if sks==1 and pc.getqf("sksgedroppt")==0 then 
                pc.setqf("sksgedroppt", 1) 
                chat("Du hast den Seelenkristall-Schlüssel gedroppt!") 
                game.drop_item(30311, 1) 
            else 
                chat("Dieses Monster hatte keinen Schlüssel.") 
            end 
        end 
        when 30101.take with item.vnum == 30311 begin 
            chat("Du wirst jetzt in die 2. Ebene gebracht.") 
            pc.remove_item("30311") 
            d.new_jump_all(209, 4632, 42082) 
            d.regen_file("data/dungeon/dc/dc_regen_ebene2.txt") 
            d.regen_file("data/dungeon/dc/dc_regen_tore_unten.txt") 
            d.regen_file("data/dungeon/dc/dc_regen_tore_left.txt") 
            d.spawn_mob(30103, 741, 221) 
            d.setf("Ebene", 2) 
        end     
         
        when login with pc.in_dungeon() begin 
            if d.getf("Ebene") == 2 then 
            chat("Ihr befindet euch jetzt in der 2. Ebene!") 
            chat("Schlagt euch zum Schildkrötenfels durch!") 
            chat("Ihr habt nur 10 minuten Zeit!") 
            timer("dc1", 600) 
        end 
            if d.getf("Ebene") == 3 then 
            chat("Findet und zerstört den richtigen Metin der Vergeltung.") 
            chat("Ihr habt 20 Minuten Zeit.") 
            timer("dc2", 1200) 
        end 
            if d.getf("Ebene") == 4 then 
            chat("Findet den Weg aus dem Labyrinth.") 
            chat("Und findet die Inschrift am Runenpfahl.") 
            chat("Ihr habt 15 Minuten Zeit.") 
            timer("dc3", 900) 
            d.spawn_mob(30104, 500, 800) 
            d.spawn_mob(10800, 328, 779) 
            d.spawn_mob(10801, 70, 672) 
            d.spawn_mob(10802, 142, 865) 
            d.spawn_mob(10803, 433, 935) 
            d.spawn_mob(10804, 243, 854) 
            d.spawn_mob(10805, 182, 667) 
        end 
            if d.getf("Ebene") == 5 then 
            chat("Findet und tötet Tartaros um das Fratzen-Totem zu bekommen!") 
            chat("Zieht es anschließend auf den Basalt-Obelisk auf dem Berg.") 
            chat("Ihr habt 15 Minuten Zeit.") 
            timer("dc4", 900) 
            d.spawn_mob(30104, 500, 800) 
        end 
            if d.getf("Ebene") == 6 then 
            chat("Tötet Charon um zur letzten Ebene zu kommen!") 
            chat("Ihr habt 15 Minuten Zeit.") 
            timer("dc5", 900) 
            d.spawn_mob(30104, 500, 800) 
        end 
            if d.getf("Ebene") == 7 then 
            chat("Tötet Azrael und setzt dem Unheil ein Ende!") 
            chat("Ihr habt 15 Minuten Zeit!") 
            timer("dc6", 900) 
            d.spawn_mob(30104, 500, 800) 
        end 
        end 
         
         
        when dc1.timer begin 
            chat("Die Zeit ist Abgelaufen!") 
            warp_all_to_village( pc.get_map_index() , 5 ) 
        end      


        when dc10.timer begin 
            chat("Ihr habt noch 80 Minuten Zeit, Azrael zu finden und zu töten!") 
            timer("dc20", 600) 
        end 
         
        when dc20.timer begin 
            chat("Ihr habt noch 70 Minuten zeit!") 
            timer("dc30", 600) 
        end     
        when dc30.timer begin 
            chat("Ihr habt noch 60 Minuten zeit!") 
            timer("dc40", 600) 
        end         
        when dc40.timer begin 
            chat("Ihr habt noch 50 Minuten zeit!") 
            timer("dc50", 600) 
        end         
        when dc50.timer begin 
            chat("Ihr habt noch 40 Minuten zeit!") 
            timer("dc60", 600) 
        end         
        when dc60.timer begin 
            chat("Ihr habt noch 30 Minuten zeit!") 
            timer("dc70", 600) 
        end         
        when dc70.timer begin 
            chat("Ihr habt noch 20 Minuten zeit!") 
            timer("dc80", 600) 
        end         
        when dc80.timer begin 
            chat("Ihr habt noch 10 Minuten zeit!") 
            timer("dc110", 600) 
        end 
        when dc110.timer begin 
            chat("Die Zeit ist Abgelaufen!") 
            warp_all_to_village( pc.get_map_index() , 5 ) 
        end                      
--Ebene 2 
        when 30103.chat."Weiter zur 3. Ebene" begin 
            npc.purge() 
            say_reward("Inschrift:") 
            say("Es ist noch ein weiter weg.") 
            wait() 
            d.new_jump_all(209, 5427, 42282) 
            d.setf("Ebene", 3) 
            d.regen_file("data/dungeon/dc/dc_regen_ebene3.txt") 
            local metindv = number(1,4) 
            if metindv==1 then 
                d.spawn_mob(8029, 1351, 348) 
                d.spawn_mob(8029, 1148, 350) 
                d.spawn_mob(8029, 1151, 155) 
                d.spawn_mob(8028, 1351, 149) 
            end 
            if metindv==2 then 
                d.spawn_mob(8029, 1351, 348) 
                d.spawn_mob(8029, 1148, 350) 
                d.spawn_mob(8028, 1151, 155) 
                d.spawn_mob(8029, 1351, 149) 
            end 
            if metindv==3 then 
                d.spawn_mob(8029, 1351, 348) 
                d.spawn_mob(8028, 1148, 350) 
                d.spawn_mob(8029, 1151, 155) 
                d.spawn_mob(8029, 1351, 149) 
            end 
            if metindv==4 then 
                d.spawn_mob(8028, 1351, 348) 
                d.spawn_mob(8029, 1148, 350) 
                d.spawn_mob(8029, 1151, 155) 
                d.spawn_mob(8029, 1351, 149)  
            end 
         
        end 
         
        when 8029.kill with pc.in_dungeon() begin 
            chat("Ein Falscher Metin wurde zerstört.") 
        end 
        when 8028.kill with pc.in_dungeon() begin 
            chat("Der richtige Metin wurde zerstört.") 
            chat("Ihr kommt nun in die 4. Ebene.") 
            timer("devils_catacomb_goto_ebene4", 2) 
        end     
        when dc2.timer begin 
            chat("Die Zeit ist Abgelaufen!") 
            warp_all_to_village( pc.get_map_index() , 5 ) 
        end     

         
--Ebene 4 (Labyrinth) 
        when devils_catacomb_goto_ebene4.timer begin 
            d.new_jump_all(209, 4143, 42657) 
            d.setf("Ebene", 4) 
        end 
         
        when 30104.chat."Inschrift" with pc.in_dungeon() begin 
            say_title("Ihr seid schon ziemlich weit gekommen.") 
            timer("dc3", 6000) 
            chat("Ihr habt den richtigen Weg gefunden.") 
            chat("Ihr kommt jetzt in die 5. Ebene.") 
            timer("devils_catacomb_goto_ebene5", 5) 
        end 
        when dc3.timer begin 
            chat("Die Zeit ist Abgelaufen!") 
            warp_all_to_village( pc.get_map_index() , 5 ) 
        end     
--Ebene 6 (Tartaros) 
        when devils_catacomb_goto_ebene5.timer begin 
            d.new_jump_all(209, 4917, 42925) 
            d.spawn_mob(30102, 848, 739) 
            d.setf("Ebene", 5) 
            d.regen_file("data/dungeon/dc/dc_regen_ebene5.txt") 
            local tartaros = number(1,4) 
            if tartaros==1 then 
                d.spawn_mob(2593, 991, 848) 
            end 
            if tartaros==2 then 
                d.spawn_mob(2593, 999, 652) 
            end 
            if tartaros==3 then 
                d.spawn_mob(2593, 848, 577) 
            end 
            if tartaros==4 then 
                d.spawn_mob(2593, 703, 644) 
            end 
            if tartaros==5 then 
                d.spawn_mob(2593, 692, 817) 
            end 
        end         
         
        when 2593.kill with pc.in_dungeon() begin 
            chat("Tartaros wurde besiegt und das Fratzen-Totem wurde Fallengelassen!") 
            chat("Begebt euch mit dem Fratzen-Totem auf den Berg in der Mitte.") 
            game.drop_item(30312, 1) 
        end     
        when 30102.take with item.vnum == 30312 begin 
            timer("dc4", 6000) 
            item.remove() 
            npc.purge() 
            say_reward("...") 
            chat("Ihr werdet jetzt in die 6. Ebene gebracht.") 
            timer("devils_catacomb_goto_ebene6", 5) 
        end 
        when dc4.timer begin 
            chat("Die Zeit ist Abgelaufen!") 
            warp_all_to_village( pc.get_map_index() , 5 ) 
        end     
--Ebene 7 (Charon) 
        when devils_catacomb_goto_ebene6.timer begin 
            d.new_jump_all(209, 5422, 42782) 
            d.setf("Ebene", 6) 
            d.regen_file("data/dungeon/dc/dc_regen_ebene6.txt") 
        end 
         
        when 2597.kill with pc.in_dungeon() begin 
            timer("dc5", 6000) 
            d.kill_all() 
            chat("Ihr habt Charon besiegt!") 
            chat("Bereitet euch auf den Kampf mit Azrael vor!") 
            timer("devils_catacomb_goto_ebene7", 10) 
        end 
        when dc5.timer begin 
            chat("Die Zeit ist Abgelaufen!") 
            warp_all_to_village( pc.get_map_index() , 5 ) 
        end     
--Ebene 8 (Azrael) 
        when devils_catacomb_goto_ebene7.timer begin 
            d.new_jump_all(209, 4147, 43191) 
            d.setf("Ebene", 7) 
            d.regen_file("data/dungeon/dc/dc_regen_ebene7.txt") 
        end 
     
        when 2598.kill with pc.in_dungeon() begin 
            game.set_event_flag(("dc_geschaft"), game.get_event_flag("dc_geschaft")+1) 
            local level = pc.get_level()             
            chat("Ihr habt ihn Besiegt und das Böse vertrieben.") 
            chat("Ihr werdet in 2 Minuten herrausteleportiert!") 
            chat("Sammelt schnell die Schätze ein, bevor es zu spät ist.") 
            d.kill_all() 
            d.kill_all() 
            notice_all("Die Gruppe von "..pc.get_name().." hat Azrael besiegt!") 
            timer("goout_from_dc", 120) 
            d.spawn_mob(9012, 74, 1159)     
            --pc.give_item2(50186)  (-- Entfernen zum aktivieren)
		end 
         
        when dc6.timer begin 
            chat("Die Zeit ist Abgelaufen!") 
            warp_all_to_village( pc.get_map_index() , 5 ) 
        end 
		
        when goout_from_dc.timer begin 
            chat("Ihr werdet nun zurück Teleportiert.")
			warp_all_to_village( pc.get_map_index() , 5 )
        end 
    end 
end
04/30/2013 23:19 G.I Duke#8016
Quote:
Originally Posted by baris1000 View Post
Devils catacomb Quest: Nachdem ich azrael besiegt habe werde ich statt in die stadt wieder in den Azrael raum teleportiert .. Der rest klappt einwandfrei. Könnte mir jemand helfen? Habe bisher vieles versucht.

Skype: reflexx59 :)


PHP Code:
when dc6.timer begin 
            chat
("Die Zeit ist Abgelaufen!"
            
warp_all_to_village() 
        
end 
        
        when goout_from_dc
.timer begin 
            chat
("Ihr werdet nun zurück Teleportiert.")
            
warp_all_to_village()
        
end 
    end 
end 
04/30/2013 23:31 baris1000#8017
Die klappt auch nicht.. Aber nach den 15 min frist werde ich ohne probleme in die stadt teleportiert und wenn ich den gleichen code da auch einfüge klappts nicht... Habe alle varianten schon ausprobiert..
05/01/2013 11:45 Trabifreund#8018
hi habe ein proplem mit meiner Bio quest und zwar wenn man alle fertig hat fängt sie wieder von vorne an hier die quest

Quote:
quest biologist_sequence begin

----------------------------------
-- LvL 30 / Orkzähne
----------------------------------
state start begin
when login or levelup with pc.level>29 begin
set_state(talk_to_disciple_lv30)
end
end
state talk_to_disciple_lv30 begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then target.vid("__TARGET__", v, "Biologe")
end
send_letter("Die Forschung des Biologen")
end
when button or info begin
say_title("Die Forschung des Biologen")
say("")
say("Der Biologe benötigt deine Hilfe.")
say("Sprich mit ihm.")
say("")
say_reward("Sprich mit dem Biologen")
say("")
end
when __TARGET__.target.click or 20084.chat."Orkzähne" begin
target.delete("__TARGET__")
say("Biologe:")
say("")
say("Oh, du hilfst mir?")
say("Gut ...")
say("Ich bin übrigens der Biologe")
say("und studiere zahlreiches aus der Pflanzenwelt.")
say("Wenn du mir bei meinen Forschungen hilfst,")
say("werde ich dich reich belohnen.")
say("")
wait()
say("Biologe:")
say("Ich habe vor kurzem wieder angefangen ...")
say("Ich Forsche an einer Legende ...")
say("Doch habe ich derzeit viel zu tun,")
say("es währe also nett, wenn du mir hilfst ...")
say("")
wait()
say("Biologe:")
say("Ich benötige zehn Orkzähne für meine Forschungen.")
say("Diese sind jedoch sehr zerbrechlich,")
say("es kann also sein, dass einige bei")
say("meinen Untersuchungen kaputt gehen.")
say("Ich benötige alle zehn,")
say("um meine Forschungen vollenden zu können.")
say("")
set_state(collect_orcteeth)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
end
end
state collect_orcteeth begin
when letter begin
send_letter("Die Forschung des Biologen")
end
when button or info begin
say_title("Orkzähne")
say("")
say("Der Biologe gab euch den Auftrag,")
say("zehn Orkzähne zu sammeln.")
say("Sammelt und bringt sie dem Biologen.")
say("")
say_item_vnum(30006)
say_reward("Du hast derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
end
when 20084.chat."Orkzähne" with pc.count_item(30006)>0 begin
if get_time()>pc.getqf("duration") then
say("Einen Moment ...")
say("Vielen Dank,")
say("lasst mich schnell überprüfen")
say("ob dieser Zahn in Ordnung ist ...")
say("")
pc.remove_item("30006", 1)
pc.setqf("duration",get_time()+5)
wait()
local rand = number(0,99)
if rand<50 then
local count = pc.getqf("collect_count")+1
if count<10 then
pc.setqf("collect_count", count)
say("Biologe:")
say("Hervorragend, dieser Zahn ist in Ordnung.")
say("Bringt mir noch welche, damit ich meine")
say("Forschungen abschließen kann.")
say("")
say_reward("Ihr habt derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
else
say("Biologe:")
say("Du hast mir die 10 Stück gebracht...")
say("Nun bitte ich dich noch, mir den")
say("Jinunggyis Seelenstein zu bringen.")
say("Du bekommst ihn von Stolzen Orks ...")
say("Ich denke, dafür bist du stark genug.")
say("")
pc.setqf("collect_count",0)
pc.setqf("duration",0)
set_state(collect_jinunggyis)
end
else
say("Biologe:")
say("Es tut mir leid, aber der Zahn ist bei")
say("den Untersuchungen zerbrochen.")
say("Bitte hol mir einen neuen Orkzahn!")
say("")
end
else
say("Biologe:")
say("Entschuldige, ich habe die letzten")
say("Studien noch nicht beendet ...")
say("Bitte bring mir den Zahn später.")
say("")
end
end
end
state collect_jinunggyis begin
when letter begin
send_letter("Jinunggyis Seelenstein")
end
when button or info begin
say_title("Jinunggyis Seelenstein")
say("")
say("Ihr habt alle zehn Orkzähne gesammelt.")
say("Nun müsst ihr Jinunggyis Seelenstein erbeuten.")
say("")
say_item_vnum(30220)
say("Ob dieser Stein tatsächlich eine Seele enthält?")
say("")
end
when 635.kill or 636.kill or 637.kill begin
if pc.count_item(30220)<1 then
local rand = number(0,99)
if rand<5 then pc.give_item2(30220, 1)
end
end
end
when 20084.chat."Jinunggyis Seelenstein" begin
if pc.count_item(30220)>0 then
say("Biologe:")
say("Dank deiner Hilfe verstehe ich nun")
say("die Legende um Jinunggyis Seelenstein.")
say("Du hast hart gekämpft.")
say("Sprich mit Baek-Go, er wird dir helfen,")
say("deine inneren Kräfte zu steigern.")
say("")
pc.remove_item(30220,1)
set_state(jinunggyis_reward)
else
say("Biologe:")
say("Du hast mir die 10 Stück gebracht...")
say("Nun bitte ich dich noch, mir den")
say("Jinunggyis Seelenstein zu bringen.")
say("Du bekommst ihn von Stolzen Orks ...")
say("Ich denke, dafür bist du stark genug.")
say("")
end
end
end
state jinunggyis_reward begin
when letter begin
send_letter("Sprich mit Baek-Go")
local v = find_npc_by_vnum(20018)
if v != 0 then target.vid("__TARGET__", v, "Doktor")
end
end
when button or info begin
say("Um die Belohnung des Biologen zu erhalten")
say("suche mit den Informationen der")
say("Orkzähne und des Seelensteins Baek-Go auf.")
say("")
end
when __TARGET__.target.click or 20018.chat."Belohnung des Biologen" begin
target.delete("__TARGET__")
say_title("Baek-Go:")
say("Ich sehe ...")
say("Der Biologe hat dich zu mir geschickt.")
say("Hier ist deine Belohnung:")
say("")
say_reward("Du erhälst:")
say_reward("Bewegungsgeschwindigkeit +10% (Dauerhaft)")
say("")
affect.add_collect(apply.MOV_SPEED, 10, 60*60*24*365*60)
set_state(collect_quest_lv40)
end
end

----------------------------------
-- LvL 40 / Fluchsammlung
----------------------------------
state collect_quest_lv40 begin
when login or levelup with pc.level>39 begin
set_state(talk_to_disciple_lv40)
end
end
state talk_to_disciple_lv40 begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then target.vid("__TARGET__", v, "Biologe")
end
send_letter("Forschung des Biologen Nr. 2")
end
when button or info begin
say_title("Forschung des Biologen Nr. 2")
say("")
say("Der Biologe benötigt ein weiteres Mal Hilfe.")
say("Er meinte, er bräuchte Hilfe auf der Suche")
say("nach speziellen Gegenständen.")
say("Sprich mit ihm,")
say("um eine genauere Beschreibung zu erhalten.")
say("")
say_reward("Sprich mit dem Biologen")
say("")
end
when __TARGET__.target.click or 20084.chat."Fluchbücher" begin
target.delete("__TARGET__")
say("Biologe:")
say("Gut, dass du gekommen bist...")
say("Die Untersuchung der Orkzähne")
say("habe ich abgeschlossen.")
say("Nun habe ich neue Objekte gefunden,")
say("die ich gerne untersuchen würde.")
wait()
say("Biologe:")
say("Ich würde sie ja selber sammeln,")
say("aber ich habe zuviel zu tun...")
say("Es wäre sehr nett, wenn du dies")
say("für mich erledigen könntest.")
wait()
say("Biologe:")
say("Ich möchte die Fluchbücher untersuchen.")
say("Davon benötige ich 15 Stück.")
say("Die Bücher sind jedoch ziemlich alt,")
say("manchmal zerfallen sie einfach!")
say("")
set_state(collect_cursebook)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
end
end
state collect_cursebook begin
when letter begin
send_letter("Forschung des Biologen Nr. 2")
end
when button or info begin
say_title("Fluchsammlungen")
say("")
say("Der Biologe gab euch den Auftrag,")
say("15 Fluchsammlungen zu besorgen.")
say("Diese kannst du bei den Dunklen- und")
say("Hohen Peinigern erbeuten.")
say("")
say_item_vnum(30047)
say_reward("Du hast derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
end
when 20084.chat."Fluchsammlungen" with pc.count_item(30047)>0 begin
if get_time()>pc.getqf("duration") then
say("Einen Moment ...")
say("Vielen Dank,")
say("lasst mich schnell überprüfen")
say("ob dieser Zahn in Ordnung ist ...")
say("")
pc.remove_item("30047", 1)
pc.setqf("duration",get_time()+5)
wait()

local rand = number(0,99)
if rand<50 then
local count = pc.getqf("collect_count")+1
if count<15 then
pc.setqf("collect_count", count)
say("Biologe:")
say("Hervorragend, diese Fluchsammlung ist in Ordnung.")
say("Bringt mir noch welche, damit ich meine")
say("Forschungen abschließen kann.")
say("")
say_reward("Ihr habt derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
else
say("Biologe:")
say("Du hast mir die 15 Sammlungen gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige den Tempelseelenstein,")
say("den du von Stolzen dunklen Fanatikern,")
say("Kämpfern, sowie Obersten erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
pc.setqf("collect_count",0)
pc.setqf("duration",0)
set_state(collect_templekey)
end
else
say("Biologe:")
say("Es tut mir leid, die Fluchsammlung")
say("ist bei den Untersuchungen zerfallen.")
say("Bitte hol mir eine neue Fluchsammlung.")
end
else
say("Biologe:")
say("Entschuldige, ich habe die letzten")
say("Studien noch nicht beendet ...")
say("Bitte bring mir die Fluchsammmlung später.")
end
end
end
state collect_templekey begin
when letter begin
send_letter("Tempelseelenstein")
end
when button or info begin
say_title("Tempelseelenstein")
say("")
say("Ihr habt alle 15 Fluchsammlungen abgegeben.")
say("Nun müsst ihr den Tempelseelenstein erbeuten.")
say("")
say_item_vnum(30221)
say("Ob dieser Stein tatsächlich Seelen")
say("der Tempelanhänger enthält?")
say("")
end
when 635.kill or 636.kill or 637.kill begin
if pc.count_item(30221)<1 then
local rand = number(0,99)
if rand<5 then pc.give_item2(30221, 1)
end
end
end
when 20084.chat."Tempelseelenstein" begin
if pc.count_item(30221)>0 then
say("Biologe:")
say("Dank deiner Hilfe verstehe ich nun")
say("die Legende um den Tempelseelenstein.")
say("Du hast hart gekämpft.")
say("Sprich mit Baek-Go, er wird dir helfen,")
say("deine inneren Kräfte zu steigern.")
say("")
pc.remove_item(30221,1)
set_state(templekey_reward)
else
say("Biologe:")
say("Du hast mir die 15 Sammlungen gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige den Tempelseelenstein,")
say("den du von Stolzen dunklen Fanatikern,")
say("Kämpfern, sowie Obersten erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
end
end
end
state templekey_reward begin
when letter begin
send_letter("Sprich mit Baek-Go")
local v = find_npc_by_vnum(20018)
if v != 0 then target.vid("__TARGET__", v, "Doktor")
end
end
when button or info begin
say_title("Sprich mit Baek-Go")
say("Um die Belohnung des Biologen zu erhalten,")
say("suche mit den Informationen der")
say("Fluchsammlungen und des Seelensteins")
say("Baek-Go auf. Er befindet sich in der Stadt.")
say("")
end
when __TARGET__.target.click or 20018.chat."Belohnung des Biologen" begin
target.delete("__TARGET__")
say_title("Baek-Go:")
say("Ich sehe ...")
say("Der Biologe hat dich zu mir geschickt.")
say("Hier ist deine Belohnung:")
say("")
say_reward("Du erhälst:")
say_reward("Angriffsgeschwindigkeit +5% (Dauerhaft)")
say("")
affect.add_collect(apply.ATT_SPEED,5,60*60*24*365* 60)
set_state(collect_quest_lv50)
end
end

----------------------------------
-- LvL 50 / Dämonenandenken
----------------------------------
state collect_quest_lv50 begin
when login or levelup with pc.level>49 begin
set_state(talk_to_disciple_lv50)
end
end
state talk_to_disciple_lv50 begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then target.vid("__TARGET__", v, "Biologe")
end
send_letter("Forschung des Biologen Nr. 3")
end
when button or info begin
say_title("Forschung des Biologen Nr. 3")
say("")
say("Der Biologe benötigt ein weiteres Mal Hilfe.")
say("Er meinte, er bräuchte Hilfe auf der Suche")
say("nach speziellen Gegenständen.")
say("Sprich mit ihm,")
say("um eine genauere Beschreibung zu erhalten.")
say("")
say_reward("Sprich mit dem Biologen")
say("")
end
when __TARGET__.target.click or 20084.chat."Dämonenandenken" begin
target.delete("__TARGET__")
say("Biologe:")
say("Gut, dass du gekommen bist...")
say("Die Untersuchung der Fluchsammlungen")
say("habe ich abgeschlossen.")
say("Nun habe ich neue Objekte gefunden,")
say("die ich gerne untersuchen würde.")
wait()
say("Biologe:")
say("Ich würde sie ja selber sammeln,")
say("aber ich habe zuviel zu tun...")
say("Es wäre sehr nett, wenn du dies")
say("für mich erledigen könntest.")
wait()
say("Biologe:")
say("Ich möchte die Dämonenandenken untersuchen.")
say("Davon benötige ich 15 Stück.")
say("Diese sind jedoch ziemlich zerbrechlich,")
say("es kann also sein, dass einige bei")
say("meinen Untersuchungen kaputt gehen.")
say("")
set_state(collect_deamonitem)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
end
end
state collect_deamonitem begin
when letter begin
send_letter("Forschung des Biologen Nr. 3")
end
when button or info begin
say_title("Dämonenandenken")
say("")
say("Der Biologe gab euch den Auftrag,")
say("15 Dämonenandenken zu besorgen.")
say("Diese kannst du bei den Monstern im")
say("Dämonenturm erbeuten.")
say("")
say_item_vnum(30015)
say_reward("Du hast derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
end
when 20084.chat."Dämonenandenken" with pc.count_item(30015)>0 begin
if get_time()>pc.getqf("duration") then
say("Einen Moment ...")
say("Vielen Dank,")
say("lasst mich schnell überprüfen")
say("ob dieser Zahn in Ordnung ist ...")
say("")
pc.remove_item("30015", 1)
pc.setqf("duration", get_time()+5)
wait()
local rand = number(0,99)
if rand<50 then
local count = pc.getqf("collect_count")+1
if count<15 then
pc.setqf("collect_count", count)
say("Biologe:")
say("Hervorragend,")
say("dieses Dämonenandenken ist in Ordnung.")
say("Bringt mir noch welche, damit ich meine")
say("Forschungen abschließen kann.")
say("")
say_reward("Ihr habt derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
else
say("Biologe:")
say("Du hast mir die 15 Andenken gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige Sagyis Seelenstein,")
say("den du von den Monstern im Dämonenturm,")
say("erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
pc.setqf("collect_count",0)
pc.setqf("duration",0)
set_state(collect_sagyis)
end
else
say("Biologe:")
say("Es tut mir leid, das Andenken")
say("ist bei den Untersuchungen zerbrochen.")
say("Bitte hol mir ein Neues.")
end
else
say("Biologe:")
say("Entschuldige, ich habe die letzten")
say("Studien noch nicht beendet ...")
say("Bitte bring mir das Andenken später.")
end
end
end
state collect_sagyis begin
when letter begin
send_letter("Sagyis Seelenstein")
end
when button or info begin
say_title("Sagyis Seelenstein")
say("")
say("Ihr habt alle 15 Dämonenandenken abgegeben.")
say("Nun müsst ihr Sagyis Seelenstein erbeuten.")
say("")
say_item_vnum(30222)
say("Ob dieser Stein tatsächlich Seelen")
say("von Sagyis Adligen enthält?")
say("")
end
when 1031.kill or 1032.kill or 1033.kill or 1034.kill begin
if pc.count_item(30222)<1 then
local rand = number(0,99)
if rand<5 then pc.give_item2(30222, 1)
end
end
end
when 20084.chat."Sagyis Seelenstein" begin
target.delete("__TARGET__")
if pc.count_item(30222)>0 then
say("Biologe:")
say("Dank deiner Hilfe verstehe ich nun")
say("die Legende um Sagyis Seelenstein.")
say("Du hast hart gekämpft.")
say("Sprich mit Baek-Go, er wird dir helfen,")
say("deine inneren Kräfte zu steigern.")
say("")
pc.remove_item(30222,1)
set_state(sagyis_reward)
else
say("Biologe:")
say("Du hast mir die 15 Andenken gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige Sagyis Seelenstein,")
say("den du von den Monstern im Dämonenturm,")
say("erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
end
end
end
state sagyis_reward begin
when letter begin
send_letter("Sprich mit Baek-Go")
local v = find_npc_by_vnum(20018)
if v != 0 then target.vid("__TARGET__", v, "Doktor")
end
end
when button or info begin
say_title("Sprich mit Baek-Go")
say("Um die Belohnung des Biologen zu erhalten,")
say("suche mit den Informationen der")
say("Dämonenandenken und des Seelensteins")
say("Baek-Go auf. Er befindet sich in der Stadt.")
say("")
end
when __TARGET__.target.click or 20018.chat."Belohnung des Biologen" begin
target.delete("__TARGET__")
say_title("Baek-Go:")
say("Ich sehe ...")
say("Der Biologe hat dich zu mir geschickt.")
say("Hier ist deine Belohnung:")
say("")
say_reward("Du erhälst:")
say_reward("Verteidigung +60 (Dauerhaft)")
say("")
affect.add_collect(apply.DEF_GRADE_BONUS,60,60*60* 24*365*60)
set_state(collect_quest_lv60)
end
end

----------------------------------
-- LvL 60 / Eiskugeln
----------------------------------
state collect_quest_lv60 begin
when login or levelup with pc.level>59 begin
set_state(talk_to_disciple_lv60)
end
end
state talk_to_disciple_lv60 begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then target.vid("__TARGET__", v, "Biologe")
end
send_letter("Forschung des Biologen Nr. 4")
end
when button or info begin
say_title("Forschung des Biologen Nr. 4")
say("")
say("Der Biologe benötigt ein weiteres Mal Hilfe.")
say("Er meinte, er bräuchte Hilfe auf der Suche")
say("nach speziellen Gegenständen.")
say("Sprich mit ihm,")
say("um eine genauere Beschreibung zu erhalten.")
say("")
say_reward("Sprich mit dem Biologen")
say("")
end
when __TARGET__.target.click or 20084.chat."Eiskugeln" begin
target.delete("__TARGET__")
say("Biologe:")
say("Gut, dass du gekommen bist...")
say("Die Untersuchung der Dämonenandenken")
say("habe ich abgeschlossen.")
say("Nun habe ich neue Objekte gefunden,")
say("die ich gerne untersuchen würde.")
wait()
say("Biologe:")
say("Ich würde sie ja selber sammeln,")
say("aber ich habe zuviel zu tun...")
say("Es wäre sehr nett, wenn du dies")
say("für mich erledigen könntest.")
wait()
say("Biologe:")
say("Ich möchte die Eiskugeln untersuchen.")
say("Davon benötige ich 15 Stück.")
say("Diese sind jedoch ziemlich zerbrechlich,")
say("es kann also sein, dass einige bei")
say("meinen Untersuchungen kaputt gehen.")
say("")
set_state(collect_scoops)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
end
end
state collect_scoops begin
when letter begin
send_letter("Forschung des Biologen Nr. 4")
end
when button or info begin
say_title("Eiskugeln")
say("")
say("Der Biologe gab euch den Auftrag,")
say("15 Eiskugeln zu besorgen.")
say("Diese kannst du bei den Eisgolems auf")
say("dem Berg Sohan erbeuten.")
say("")
say_item_vnum(30050)
say_reward("Du hast derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
end
when 20084.chat."Dämonenandenken" with pc.count_item(30050)>0 begin
if get_time()>pc.getqf("duration") then
say("Einen Moment ...")
say("Vielen Dank,")
say("lasst mich schnell überprüfen")
say("ob dieser Zahn in Ordnung ist ...")
say("")
pc.remove_item("30050", 1)
pc.setqf("duration", get_time()+5)
wait()
local rand = number(0,99)
if rand<50 then
local count = pc.getqf("collect_count")+1
if count<15 then
pc.setqf("collect_count", count)
say("Biologe:")
say("Hervorragend,")
say("diese Eiskugel ist in Ordnung.")
say("Bringt mir noch welche, damit ich meine")
say("Forschungen abschließen kann.")
say("")
say_reward("Ihr habt derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
else
say("Biologe:")
say("Du hast mir die 15 Eiskugeln gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige Aurtumryus Seelenstein,")
say("den du von den Eismonstern auf dem Berg Sohan,")
say("erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
pc.setqf("collect_count",0)
pc.setqf("duration",0)
set_state(collect_aurtumryus)
end
else
say("Biologe:")
say("Es tut mir leid, die Eiskugel")
say("ist bei den Untersuchungen zerbrochen.")
say("Bitte hol mir eine Neue.")
end
else
say("Biologe:")
say("Entschuldige, ich habe die letzten")
say("Studien noch nicht beendet ...")
say("Bitte bring mir die Eiskugel später.")
end
end
end
state collect_aurtumryus begin
when letter begin
send_letter("Aurtumryus Seelenstein")
end
when button or info begin
say_title("Aurtumryus Seelenstein")
say("")
say("Ihr habt alle 15 Eiskugeln abgegeben.")
say("Nun müsst ihr Aurtumryus Seelenstein erbeuten.")
say("")
say_item_vnum(30223)
say("Ob dieser Stein tatsächlich Seelen")
say("von Aurtumryus Adligen enthält?")
say("")
end
when 1101.kill or 1102.kill or 1103.kill or 1104.kill or 1105.kill or 1106.kill or 1107.kill begin
if pc.count_item(30223)<1 then
local rand = number(0,99)
if rand<5 then pc.give_item2(30223, 1)
end
end
end
when 20084.chat."Aurtumryus Seelenstein" begin
if pc.count_item(30223)>0 then
say("Biologe:")
say("Dank deiner Hilfe verstehe ich nun")
say("die Legende um Aurtumryus Seelenstein.")
say("Du hast hart gekämpft.")
say("Sprich mit Baek-Go, er wird dir helfen,")
say("deine inneren Kräfte zu steigern.")
say("")
pc.remove_item(30223,1)
set_state(aurtumryus_reward)
else
say("Biologe:")
say("Du hast mir die 15 Eiskugeln gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige Aurtumryus Seelenstein,")
say("den du von den Eismonstern auf dem Berg Sohan,")
say("erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
end
end
end
state aurtumryus_reward begin
when letter begin
send_letter("Sprich mit Baek-Go")
local v = find_npc_by_vnum(20018)
if v != 0 then target.vid("__TARGET__", v, "Doktor")
end
end
when button or info begin
say_title("Sprich mit Baek-Go")
say("Um die Belohnung des Biologen zu erhalten,")
say("suche mit den Informationen der")
say("Eiskugeln und des Seelensteins")
say("Baek-Go auf. Er befindet sich in der Stadt.")
say("")
end
when __TARGET__.target.click or 20018.chat."Belohnung des Biologen" begin
target.delete("__TARGET__")
say_title("Baek-Go:")
say("Ich sehe ...")
say("Der Biologe hat dich zu mir geschickt.")
say("Hier ist deine Belohnung:")
say("")
say_reward("Du erhälst:")
say_reward("Angriffswert +50 (Dauerhaft)")
say("")
affect.add_collect(apply.ATT_GRADE_BONUS,50,60*60* 24*365*60)
set_state(collect_quest_lv70)
end
end

----------------------------------
-- LvL 70 / Zelkovas Holzäste
----------------------------------
state collect_quest_lv70 begin
when login or levelup with pc.level>69 begin
set_state(talk_to_disciple_lv70)
end
end
state talk_to_disciple_lv70 begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then target.vid("__TARGET__", v, "Biologe")
end
send_letter("Forschung des Biologen Nr. 5")
end
when button or info begin
say_title("Forschung des Biologen Nr. 5")
say("")
say("Der Biologe benötigt ein weiteres Mal Hilfe.")
say("Er meinte, er bräuchte Hilfe auf der Suche")
say("nach speziellen Gegenständen.")
say("Sprich mit ihm,")
say("um eine genauere Beschreibung zu erhalten.")
say("")
say_reward("Sprich mit dem Biologen")
say("")
end
when __TARGET__.target.click or 20084.chat."Zelkovas Holzäste" begin
target.delete("__TARGET__")
say("Biologe:")
say("Gut, dass du gekommen bist...")
say("Die Untersuchung der Eiskugeln")
say("habe ich abgeschlossen.")
say("Nun habe ich neue Objekte gefunden,")
say("die ich gerne untersuchen würde.")
wait()
say("Biologe:")
say("Ich würde sie ja selber sammeln,")
say("aber ich habe zuviel zu tun...")
say("Es wäre sehr nett, wenn du dies")
say("für mich erledigen könntest.")
wait()
say("Biologe:")
say("Ich möchte Zelkovas Holzäste untersuchen.")
say("Davon benötige ich 25 Stück.")
say("Diese welken jedoch ziemlich schnell,")
say("es kann also sein, dass einige für")
say("meine Untersuchungen unbrauchbar sind.")
say("")
set_state(collect_branches)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
end
end
state collect_branches begin
when letter begin
send_letter("Forschung des Biologen Nr. 5")
end
when button or info begin
say_title("Zelkovas Holzäste")
say("")
say("Der Biologe gab euch den Auftrag,")
say("25 von Zelkovas Holzästen zu besorgen.")
say("Diese kannst du bei den Monstern")
say("im Geisterwald erbeuten.")
say("")
say_item_vnum(30165)
say_reward("Du hast derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
end
when 20084.chat."Zelkovas Holzäste" with pc.count_item(30165)>0 begin
if get_time()>pc.getqf("duration") then
say("Einen Moment ...")
say("Vielen Dank,")
say("lasst mich schnell überprüfen")
say("ob dieser Holzast in Ordnung ist ...")
say("")
pc.remove_item("30165", 1)
pc.setqf("duration", get_time()+5)
wait()
local rand = number(0,99)
if rand<50 then
local count = pc.getqf("collect_count")+1
if count<25 then
pc.setqf("collect_count", count)
say("Biologe:")
say("Hervorragend,")
say("dieser Holzast ist in Ordnung.")
say("Bringt mir noch welche, damit ich meine")
say("Forschungen abschließen kann.")
say("")
say_reward("Ihr habt derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
else
say("Biologe:")
say("Du hast mir die 25 Holzäste gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige Gyimoks Seelenstein,")
say("den du ebenfalls von den Monstern")
say("im Geisterwald erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
pc.setqf("collect_count",0)
pc.setqf("duration",0)
set_state(collect_gyimoks)
end
else
say("Biologe:")
say("Es tut mir leid, der Holzast")
say("ist während des Transports verwelkt.")
say("Bitte hol mir einen Neuen.")
end
else
say("Biologe:")
say("Entschuldige, ich habe die letzten")
say("Studien noch nicht beendet ...")
say("Bitte bring mir den Holzast später.")
end
end
end
state collect_gyimoks begin
when letter begin
send_letter("Gyimoks Seelenstein")
end
when button or info begin
say_title("Gyimoks Seelenstein")
say("")
say("Ihr habt alle 15 Eiskugeln abgegeben.")
say("Nun müsst ihr Gyimoks Seelenstein erbeuten.")
say("")
say_item_vnum(30224)
say("Ob dieser Stein tatsächlich Seelen")
say("von Gyimoks Adligen enthält?")
say("")
end
when 2301.kill or 2302.kill or 2303.kill or 2304.kill or 2305.kill or 2311.kill or
2312.kill or 2313.kill or 2314.kill or 2315.kill or 2306.kill or 2307.kill begin
if pc.count_item(30224)<1 then
local rand = number(0,99)
if rand<5 then pc.give_item2(30224, 1)
end
end
end
when 20084.chat."Gyimoks Seelenstein" begin
target.delete("__TARGET__")
if pc.count_item(30224)>0 then
say("Biologe:")
say("Dank deiner Hilfe verstehe ich nun")
say("die Legende um Gyimoks Seelenstein.")
say("Du hast hart gekämpft.")
say("Sprich mit Baek-Go, er wird dir helfen,")
say("deine inneren Kräfte zu steigern.")
say("")
pc.remove_item(30224,1)
set_state(gyimoks_reward)
else
say("Biologe:")
say("Du hast mir die 25 Holzäste gebracht.")
say("Nun...ich habe noch eine Bitte.")
say("Ich benötige Gyimoks Seelenstein,")
say("den du ebenfalls von den Monstern")
say("im Geisterwald erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
end
end
end
state gyimoks_reward begin
when letter begin
send_letter("Sprich mit Baek-Go")
local v = find_npc_by_vnum(20018)
if v != 0 then target.vid("__TARGET__", v, "Doktor")
end
end
when button or info begin
say_title("Sprich mit Baek-Go")
say("Um die Belohnung des Biologen zu erhalten,")
say("suche mit den Informationen der")
say("Zelkova Holzäste und des Seelensteins")
say("Baek-Go auf. Er befindet sich in der Stadt.")
say("")
end
when __TARGET__.target.click or 20018.chat."Belohnung des Biologen" begin
target.delete("__TARGET__")
say_title("Baek-Go:")
say("Ich sehe ...")
say("Der Biologe hat dich zu mir geschickt.")
say("Hier ist deine Belohnung:")
say("")
say_reward("Du erhälst:")
say_reward("Bewegungsgeschwindigkeit +10% (Dauerhaft)")
say_reward("Schadensreduzierung +10% (Dauerhaft)")
say("")
affect.add_collect(apply.MOV_SPEED,10,60*60*24*365 *60)
affect.add_collect(apply.DEF_GRADE_BONUS,10,60*60* 24*365*60)
set_state(collect_quest_lv80)
end
end

----------------------------------
-- LvL 80 / Tugyis Tafeln
----------------------------------
state collect_quest_lv80 begin
when login or levelup with pc.level>79 begin
set_state(talk_to_disciple_lv80)
end
end
state talk_to_disciple_lv80 begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then target.vid("__TARGET__", v, "Biologe")
end
send_letter("Forschung des Biologen Nr. 6")
end
when button or info begin
say_title("Forschung des Biologen Nr. 6")
say("")
say("Der Biologe benötigt ein weiteres Mal Hilfe.")
say("Er meinte, er bräuchte Hilfe auf der Suche")
say("nach speziellen Gegenständen.")
say("Sprich mit ihm,")
say("um eine genauere Beschreibung zu erhalten.")
say("")
say_reward("Sprich mit dem Biologen")
say("")
end
when __TARGET__.target.click or 20084.chat."Tugyis Tafeln" begin
target.delete("__TARGET__")
say("Biologe:")
say("Gut, dass du gekommen bist...")
say("Die Untersuchung der Zelkova Holzäste")
say("habe ich abgeschlossen.")
say("Nun habe ich neue Objekte gefunden,")
say("die ich gerne untersuchen würde.")
wait()
say("Biologe:")
say("Ich würde sie ja selber sammeln,")
say("aber ich habe zuviel zu tun...")
say("Es wäre sehr nett, wenn du dies")
say("für mich erledigen könntest.")
wait()
say("Biologe:")
say("Ich möchte Tugyis Tafeln untersuchen.")
say("Davon benötige ich 30 Stück.")
say("Diese sind jedoch ziemlich zerbrechlich,")
say("es kann also sein, dass einige bei")
say("meinen Untersuchungen kaputt gehen.")
say("")
set_state(collect_plates)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
end
end
state collect_plates begin
when letter begin
send_letter("Forschung des Biologen Nr. 6")
end
when button or info begin
say_title("Tugyis Tafeln")
say("")
say("Der Biologe gab euch den Auftrag,")
say("30 von Tugyis Tafeln zu besorgen.")
say("Diese kannst du bei den Monstern")
say("im Land der Riesen erbeuten.")
say("")
say_item_vnum(30166)
say_reward("Du hast derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
end
when 1401.kill or 1402.kill or 1403.kill or 1601.kill or 1602.kill or 1603.kill begin
local rand = number(0,99)
if rand<5 then pc.give_item2(30166, 1)
end
end
when 20084.chat."Tugyis Tafeln" with pc.count_item(30166)>0 begin
if get_time()>pc.getqf("duration") then
say("Einen Moment ...")
say("Vielen Dank,")
say("lasst mich schnell überprüfen")
say("ob diese Tafel in Ordnung ist ...")
say("")
pc.remove_item("30166", 1)
pc.setqf("duration", get_time()+5)
wait()
local rand = number(0,99)
if rand<50 then
local count = pc.getqf("collect_count")+1
if count<30 then
pc.setqf("collect_count", count)
say("Biologe:")
say("Hervorragend,")
say("diese Tafel ist in Ordnung.")
say("Bringt mir noch welche, damit ich meine")
say("Forschungen abschließen kann.")
say("")
say_reward("Ihr habt derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
else
say("Biologe:")
say("Du hast mir die 30 Tafeln gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige Tugyis Seelenstein,")
say("den du ebenfalls von den Monstern")
say("im Land der Riesen erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
pc.setqf("collect_count",0)
pc.setqf("duration",0)
set_state(collect_tugyis)
end
else
say("Biologe:")
say("Es tut mir leid, die Tafel")
say("ist während der Untersuchung zerbrochen.")
say("Bitte hol mir eine Neue.")
end
else
say("Biologe:")
say("Entschuldige, ich habe die letzten")
say("Studien noch nicht beendet ...")
say("Bitte bring mir die Tafel später.")
end
end
end
state collect_tugyis begin
when letter begin
send_letter("Tugyis Seelenstein")
end
when button or info begin
say_title("Tugyis Seelenstein")
say("")
say("Ihr habt alle 30 Tafeln abgegeben.")
say("Nun müsst ihr Tugyis Seelenstein erbeuten.")
say("")
say_item_vnum(30225)
say("Ob dieser Stein tatsächlich Seelen")
say("von Tugyis Adligen enthält?")
say("")
end
when 1401.kill or 1402.kill or 1403.kill or 1601.kill or 1602.kill or 1603.kill begin
if pc.count_item(30225)<1 then
local rand = number(0,99)
if rand<5 then pc.give_item2(30225, 1)
end
end
end
when 20084.chat."Tugyis Seelenstein" begin
if pc.count_item(30225)>0 then
say("Biologe:")
say("Dank deiner Hilfe verstehe ich nun")
say("die Legende um Tugyis Seelenstein.")
say("Du hast hart gekämpft.")
say("Sprich mit Baek-Go, er wird dir helfen,")
say("deine inneren Kräfte zu steigern.")
say("")
pc.remove_item(30225,1)
set_state(tugyis_reward)
else
say("Biologe:")
say("Du hast mir die 30 Tafeln gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige Tugyis Seelenstein,")
say("den du ebenfalls von den Monstern")
say("im Land der Riesen erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
end
end
end
state tugyis_reward begin
when letter begin
send_letter("Sprich mit Baek-Go")
local v = find_npc_by_vnum(20018)
if v != 0 then target.vid("__TARGET__", v, "Doktor")
end
end
when button or info begin
say_title("Sprich mit Baek-Go")
say("Um die Belohnung des Biologen zu erhalten,")
say("suche mit den Informationen der")
say("Tugyis Tafeln und des Seelensteins")
say("Baek-Go auf. Er befindet sich in der Stadt.")
say("")
end
when __TARGET__.target.click or 20018.chat."Belohnung des Biologen" begin
target.delete("__TARGET__")
say_title("Baek-Go:")
say("Ich sehe ...")
say("Der Biologe hat dich zu mir geschickt.")
say("Hier ist deine Belohnung:")
say("")
say_reward("Du erhälst:")
say_reward("Angriffsgeschwindigkeit +5% (Dauerhaft)")
say_reward("Schadenserhöhung +10% (Dauerhaft)")
say("")
affect.add_collect(apply.ATT_SPEED,5,60*60*24*365* 60)
affect.add_collect_point(apply.POINT_ATT_BONUS,10, 60*60*24*365*60)
set_state(collect_quest_lv90)
end
end

----------------------------------
-- LvL 90 / Notiz der Anführer
----------------------------------
state collect_quest_lv90 begin
when login or levelup with pc.level>79 begin
set_state(talk_to_disciple_lv90)
end
end
state talk_to_disciple_lv90 begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then target.vid("__TARGET__", v, "Biologe")
end
send_letter("Forschung des Biologen Nr. 7")
end
when button or info begin
say_title("Forschung des Biologen Nr. 7")
say("")
say("Der Biologe benötigt ein weiteres Mal Hilfe.")
say("Er meinte, er bräuchte Hilfe auf der Suche")
say("nach speziellen Gegenständen.")
say("Sprich mit ihm,")
say("um eine genauere Beschreibung zu erhalten.")
say("")
say_reward("Sprich mit dem Biologen")
say("")
end
when __TARGET__.target.click or 20084.chat."Notiz der Anführer" begin
target.delete("__TARGET__")
say("Biologe:")
say("Gut, dass du gekommen bist...")
say("Die Untersuchung der Tugyis Tafeln")
say("habe ich abgeschlossen.")
say("Nun habe ich neue Objekte gefunden,")
say("die ich gerne untersuchen würde.")
wait()
say("Biologe:")
say("Ich würde sie ja selber sammeln,")
say("aber ich habe zuviel zu tun...")
say("Es wäre sehr nett, wenn du dies")
say("für mich erledigen könntest.")
wait()
say("Biologe:")
say("Ich möchte Notizen der Anführer untersuchen.")
say("Davon benötige ich 50 Stück.")
say("Es kann jedoch sein, dass sich einige")
say("Notizen als alt und unlesbar herausstellen.")
say("")
set_state(collect_notices)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
end
end
state collect_notices begin
when letter begin
send_letter("Forschung des Biologen Nr. 7")
end
when button or info begin
say_title("Notiz der Anführer")
say("")
say("Der Biologe gab euch den Auftrag,")
say("50 Notizen der Anführer zu besorgen.")
say("Diese kannst du von den Bossen")
say("wie z.B. Oberork, Königsspinne,")
say("Neunschwanz, etc. erbeuten.")
say("")
say_item_vnum(30168)
say_reward("Du hast derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
end
when 591.kill or 691.kill or 791.kill or 793.kill or 991.kill or 992.kill or 993.kill or 1091.kill or 1092.kill or 1093.kill or 1304.kill or
1403.kill or 2091.kill or 2191.kill or 2206.kill or 2207.kill or 2306.kill or 2493.kill or 2494.kill or 5001.kill or 5004.kill or
5161.kill or 5162.kill or 5163.kill begin
local rand = number(0,99)
if rand<5 then pc.give_item2(30168, 1)
end
end
when 20084.chat."Notiz der Anführer" with pc.count_item(30168)>0 begin
if get_time()>pc.getqf("duration") then
say("Einen Moment ...")
say("Vielen Dank,")
say("lasst mich schnell überprüfen")
say("ob diese Notiz lesbar ist ...")
say("")
pc.remove_item("30168", 1)
pc.setqf("duration", get_time()+5)
wait()
local rand = number(0,99)
if rand<50 then
local count = pc.getqf("collect_count")+1
if count<50 then
pc.setqf("collect_count", count)
say("Biologe:")
say("Hervorragend,")
say("diese Notiz ist in Ordnung.")
say("Bringt mir noch welche, damit ich meine")
say("Forschungen abschließen kann.")
say("")
say_reward("Ihr habt derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
else
say("Biologe:")
say("Du hast mir die 50 Notizen gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige den Seelenstein der Anführer,")
say("den du ebenfalls von den Bossen")
say("erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
pc.setqf("collect_count",0)
pc.setqf("duration",0)
set_state(collect_bossKey)
end
else
say("Biologe:")
say("Es tut mir leid, die Notiz")
say("hat sich als unlesbar herausgestellt.")
say("Bitte hol mir eine Neue.")
end
else
say("Biologe:")
say("Entschuldige, ich habe die letzten")
say("Studien noch nicht beendet ...")
say("Bitte bring mir die Notiz später.")
end
end
end
state collect_bossKey begin
when letter begin
send_letter("Seelenstein der Anführer")
end
when button or info begin
say_title("Seelenstein der Anführer")
say("")
say("Ihr habt alle 50 Notizen abgegeben.")
say("Nun müsst ihr den Seelenstein der Anführer")
say("erbeuten.")
say("")
say_item_vnum(30227)
say("Ob dieser Stein tatsächlich Seelen")
say("der Anführer enthält?")
say("")
end
when 591.kill or 691.kill or 791.kill or 793.kill or 991.kill or 992.kill or 993.kill or 1091.kill or 1092.kill or 1093.kill or 1304.kill or
1403.kill or 2091.kill or 2191.kill or 2206.kill or 2207.kill or 2306.kill or 2493.kill or 2494.kill or 5001.kill or 5004.kill or
5161.kill or 5162.kill or 5163.kill begin
if pc.count_item(30227)<1 then
local rand = number(0,99)
if rand<5 then pc.give_item2(30227, 1)
end
end
end
when 20084.chat."Seelenstein der Anführer" begin
if pc.count_item(30227)>0 then
say("Biologe:")
say("Dank deiner Hilfe verstehe ich nun")
say("die Legende um den Seelenstein der Anführer.")
say("Du hast hart gekämpft.")
say("Sprich mit Baek-Go, er wird dir helfen,")
say("deine inneren Kräfte zu steigern.")
say("")
pc.remove_item(30227,1)
set_state(bossKey_reward)
else
say("Biologe:")
say("Du hast mir die 50 Notizen gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige den Seelenstein der Anführer,")
say("den du ebenfalls von den Bossen")
say("erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
end
end
end
state bossKey_reward begin
when letter begin
send_letter("Sprich mit Baek-Go")
local v = find_npc_by_vnum(20018)
if v != 0 then target.vid("__TARGET__", v, "Doktor")
end
end
when button or info begin
say_title("Sprich mit Baek-Go")
say("Um die Belohnung des Biologen zu erhalten,")
say("suche mit den Informationen der")
say("Notizen und des Seelensteins")
say("Baek-Go auf. Er befindet sich in der Stadt.")
say("")
end
when __TARGET__.target.click or 20018.chat."Belohnung des Biologen" begin
target.delete("__TARGET__")
say_title("Baek-Go:")
say("Ich sehe ...")
say("Der Biologe hat dich zu mir geschickt.")
say("Hier ist deine Belohnung:")
say("")
say_reward("Du erhälst:")
say_reward("Bewegungsgeschwindigkeit +5% (Dauerhaft)")
say_reward("Angriffsgeschwindigkeit +5% (Dauerhaft)")
say_reward("Schadensreduzierung +5% (Dauerhaft)")
say_reward("Angriffswert +50 (Dauerhaft)")
say("")
affect.add_collect(apply.MOV_SPEED, 5, 60*60*24*365*60)
affect.add_collect(apply.ATT_SPEED, 5, 60*60*24*365*60)
affect.add_collect(apply.ATT_GRADE_BONUS,25,60*60* 24*365*60)
affect.add_collect(apply.DEF_GRADE_BONUS,5,60*60*2 4*365*60)
set_state(collect_quest_lv100)
end
end

----------------------------------
-- LvL 100 / Tofusteak
----------------------------------
state collect_quest_lv100 begin
when login or levelup with pc.level>99 begin
set_state(talk_to_disciple_lv100)
end
end
state talk_to_disciple_lv100 begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then target.vid("__TARGET__", v, "Biologe")
end
send_letter("Auftrag des Biologen")
end
when button or info begin
say_title("Auftrag des Biologen")
say("")
say("Der Biologe benötigt ein weiteres Mal Hilfe.")
say("Er meinte, er bräuchte Hilfe auf der Suche")
say("nach speziellen Gegenständen.")
say("Sprich mit ihm,")
say("um eine genauere Beschreibung zu erhalten.")
say("")
say_reward("Sprich mit dem Biologen")
say("")
end
when __TARGET__.target.click or 20084.chat."Tofusteak" begin
target.delete("__TARGET__")
say("Biologe:")
say("Gut, dass du gekommen bist...")
say("Ich habe eine Überraschungsparty für")
say("die Gemischwarenhändlerin vor,")
say("da Sie demnächst 30 Jahre alt wird.")
say("")
wait()
say("Biologe:")
say("Für die Gäste fehlen mir noch 35 Tofusteaks.")
say("Tofusteaks bekommt man von Oger Berserker")
say("im Land der Riesen.")
say("")
wait()
say("Biologe:")
say("Bedenke jedoch, dass Tofusteaks")
say("nicht lange haltbar sind.")
say("Es kann also sein, dass sich einige")
say("bei meinen Untersuchungen als")
say("unbrauchbar herausstellen.")
say("Ich brauche unbedingt 35 Stück,")
say("da auch 35 Gäste erscheinen werden.")
say("")
set_state(collect_tofu)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
end
end
state collect_tofu begin
when letter begin
send_letter("Auftrag des Biologen")
end
when button or info begin
say_title("Tofusteak")
say("")
say("Der Biologe gab euch den Auftrag,")
say("35 Tofusteaks zu besorgen.")
say("Diese kannst du von Oger Berserkern")
say("im Land der Riesen erbeuten.")
say("")
say_item_vnum(30068)
say_reward("Du hast derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
end
when 1603.kill begin
local rand = number(0,99)
if rand<5 then pc.give_item2(30068, 1)
end
end
when 20084.chat."Tofusteak" with pc.count_item(30068)>0 begin
if get_time()>pc.getqf("duration") then
say("Einen Moment ...")
say("Vielen Dank,")
say("lasst mich schnell überprüfen")
say("ob das Steak verzehrbar ist ...")
say("")
pc.remove_item("30068", 1)
pc.setqf("duration", get_time()+5)
wait()
local rand = number(0,99)
if rand<50 then
local count = pc.getqf("collect_count")+1
if count<35 then
pc.setqf("collect_count", count)
say("Biologe:")
say("Hervorragend,")
say("dieses Steak ist in Ordnung.")
say("Bringt mir noch welche, damit ich meine")
say("Party steigen lassen kann.")
say("")
say_reward("Ihr habt derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
else
say("Biologe:")
say("Du hast mir die 35 Tofusteaks gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige ein Rezept,")
say("um aus den Steaks eine saftige Mahlzeit")
say("zu bereiten.")
say("Mir ist zu Ohren gekommen, dass Tausendkämpfer")
say("solche Mahlzeiten zubereiten.")
say("Ich denke, dafür bist du stark genug.")
say("")
pc.setqf("collect_count",0)
pc.setqf("duration",0)
set_state(collect_recipe)
end
else
say("Biologe:")
say("Es tut mir leid, das Steak")
say("hat sich als unbrauchbar herausgestellt.")
say("Bitte hol mir ein Neues.")
end
else
say("Biologe:")
say("Entschuldige, ich habe das letzte")
say("Steak noch nicht verarbeitet ...")
say("Bitte bring mir das Steak später.")
end
end
end
state collect_recipe begin
when letter begin
send_letter("Rezept")
end
when button or info begin
say_title("Rezept")
say("")
say("Ihr habt alle 35 Tofusteaks abgegeben.")
say("Nun müsst ihr das Rezept erbeuten.")
say("")
say_item_vnum(50903)
end
when 1403.kill begin
if pc.count_item(50903)<1 then
local rand = number(0,99)
if rand<5 then pc.give_item2(50903, 1)
end
end
end
when 20084.chat."Rezept" begin
if pc.count_item(50903)>0 then
say("Biologe:")
say("Vielen Dank, nun kann ich die Mahlzeiten")
say("endlich zubereiten.")
say("Dank dir wird die Überraschungsparty steigen.")
say("Du hast hart gekämpft.")
say("Sprich mit Baek-Go, er wird dir helfen,")
say("deine inneren Kräfte zu steigern.")
say("")
pc.remove_item(50903,1)
set_state(recipe_reward)
else
say("Biologe:")
say("Du hast mir die 35 Tofusteaks gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige ein Rezept,")
say("um aus den Steaks eine saftige Mahlzeit")
say("zu bereiten.")
say("Mir ist zu Ohren gekommen, dass Tausendkämpfer")
say("solche Mahlzeiten zubereiten.")
say("Ich denke, dafür bist du stark genug.")
say("")
end
end
end
state recipe_reward begin
when letter begin
send_letter("Sprich mit Baek-Go")
local v = find_npc_by_vnum(20018)
if v != 0 then target.vid("__TARGET__", v, "Doktor")
end
end
when button or info begin
say_title("Sprich mit Baek-Go")
say("Um die Belohnung des Biologen zu erhalten,")
say("suche mit den Informationen der")
say("Überraschungsparty Baek-Go auf.")
say("Er befindet sich in der Stadt.")
say("")
end
when __TARGET__.target.click or 20018.chat."Belohnung des Biologen" begin
target.delete("__TARGET__")
say_title("Baek-Go:")
say("Ich sehe ...")
say("Der Biologe hat dich zu mir geschickt.")
say("Hier ist deine Belohnung:")
say("")
say_reward("Du erhälst:")
say_reward("Bewegungsgeschwindigkeit +5% (Dauerhaft)")
say_reward("Angriffsgeschwindigkeit +5% (Dauerhaft)")
say_reward("Schadensreduzierung +5% (Dauerhaft)")
say_reward("MAX. HP +2000 (Dauerhaft)")
say("")
affect.add_collect(apply.MAX_HP, 2000, 60*60*24*365*60)
complete_quest()
end
end
end
05/01/2013 22:43 KliKli1998#8019
Schon geklärt
05/02/2013 00:37 ©by Noa#8020
Quote:
Originally Posted by Trabifreund View Post
hi habe ein proplem mit meiner Bio quest und zwar wenn man alle fertig hat fängt sie wieder von vorne an hier die quest
mach mal am ende
setstate(__COMPLETE__)

und dann


PHP Code:
    state __COMPLETE__ begin
        q
.done()
    
end
end
--quest 
05/02/2013 14:38 KliKli1998#8021
PHP Code:
quest tausch1 begin 
    state start begin 
        when 20090.chat
."66er eintauschen" begin 
            say_title
("Heuk-Young:"
            
say(""
            
say("Hallo, bei mir kannst du deine Rüstung eintauschen."
            
say("Du fragst dich Welche?"
            
say("Die 66er+9 eine Truhe mit dem dazu gehörigen Schlüssel.")
            
say("Bitte beachte das deine Bonis verschwinden und der Tausch nicht")
            
say("rückgängig gemacht werden kann.")
            
say_reward("66er+9+rote Truhe+Schlüssel= Rote-Rüstung"
            
say("Welche Rüstung willst du haben?"
            
local s select("Rote""Abbrechen"
            if 
== and if pc job == 0 then
            
if pc.count_item(50150)
            if 
pc.count_item(50132)
            if 
pc.count_item(11299)
            
then 
                say_reward
("Du erhälst Rote-Rüstung."
                
pc.give_item2(420301
                
pc.remove_item(112991)
                
pc.remove_item(501501)
                
pc.remove_item(501321)
            elseif if 
pc job == 1 then
            
if pc.count_item(11499)
            if 
pc.count_item(50150)
            if 
pc.count_item(50132)
            
then 
                say_reward
("Du erhälst Rote-Rüstung."
                
pc.give_item2(440301
                
pc.remove_item(114991)
                
pc.remove_item(501501)
                
pc.remove_item(501321)
            elseif if 
pc job == 2 then
            
if pc.count_item(11699)
            if 
pc.count_item(50150)
            if 
pc.count_item(50132)
            
then 
                say_reward
("Du erhälst Rote-Rüstung."
                
pc.give_item2(460301
                
pc.remove_item(116991)
                
pc.remove_item(501501)
                
pc.remove_item(501321)
            elseif if 
pc job == 3 then
            
if pc.count_item(11899)
            if 
pc.count_item(50150)
            if 
pc.count_item(50132)
            
then 
                say_reward
("Du erhälst Rote-Rüstung."
                
pc.give_item2(480301
                
pc.remove_item(118991)
                
pc.remove_item(501501)
                
pc.remove_item(501321)
            
end 
            
if == 2 then 
                say_title
("Heuk-Young:"
                
say(""
                
say("Dann bis später."
            
end 
        end 
    end 
end 
kann mir jemand sagen was an der quest falsch ist? ://

Das ist die Fehlermeldung: qc in malloc(): error: allocation failed
Error occured on compile tausch1.quest
05/02/2013 15:13 G.I Duke#8022
Fehlermeldung? ?
05/02/2013 15:16 KliKli1998#8023
habe die fehlermeldung jetzte hingeschrieben

hier nochmal: qc in malloc(): error: allocation failed
Error occured on compile tausch1.quest
05/02/2013 16:18 MrPlayboy#8024
PHP Code:
quest tausch1 begin 
    state start begin 
        when 20090.chat
."66er eintauschen" begin 
            say_title
("Heuk-Young:"
            
say(""
            
say("Hallo, bei mir kannst du deine Rüstung eintauschen."
            
say("Du fragst dich Welche?"
            
say("Die 66er+9 eine Truhe mit dem dazu gehörigen Schlüssel.")
            
say("Bitte beachte das deine Bonis verschwinden und der Tausch nicht")
            
say("rückgängig gemacht werden kann.")
            
say_reward("66er+9+rote Truhe+Schlüssel= Rote-Rüstung"
            
say("Welche Rüstung willst du haben?"
            
local s=select("Rote","Abbrechen"
            if 
s==1 then
                
if pc.job==0 then
                    
if pc.count_item(50150)>=and pc.count_item(50132)>=and pc.count_item(11299)>=1 then          
                        say_reward
("Du erhälst Rote-Rüstung."
                        
pc.give_item2(420301
                        
pc.remove_item(112991)
                        
pc.remove_item(501501)
                        
pc.remove_item(501321)
                    
end
                
elseif pc.job==1 then
                    
if pc.count_item(11499)>=and pc.count_item(50150)>=and pc.count_item(50132)>=1 then
                        say_reward
("Du erhälst Rote-Rüstung."
                        
pc.give_item2(440301
                        
pc.remove_item(114991)
                        
pc.remove_item(501501)
                        
pc.remove_item(501321)
                    
end
                
elseif if pc job == 2 then
                    
if pc.count_item(11699)>=and pc.count_item(50150)>=and pc.count_item(50132)>=1 then
                        say_reward
("Du erhälst Rote-Rüstung."
                        
pc.give_item2(460301
                        
pc.remove_item(116991)
                        
pc.remove_item(501501)
                        
pc.remove_item(501321)
                    
end
                
elseif if pc job == 3 then
                    
if pc.count_item(11899)>=and pc.count_item(50150)>=and pc.count_item(50132)>=1 then
                        say_reward
("Du erhälst Rote-Rüstung."
                        
pc.give_item2(480301
                        
pc.remove_item(118991)
                        
pc.remove_item(501501)
                        
pc.remove_item(501321)
                    
end
                end 
            
elseif s==2 then 
                say_title
("Heuk-Young:"
                
say(""
                
say("Dann bis später."
            
end 
        end 
    end 
end 
Habs nicht getestet müsste aber so gehen

Quote:
Originally Posted by ©by Noa View Post
mach mal am ende
setstate(__COMPLETE__)

und dann


PHP Code:
    state __COMPLETE__ begin
        q
.done()
    
end
end
--quest 
Ist nicht nötig, er muss einfach bei Anfang der Quest
PHP Code:
when login with pc.get_level == ZAHL 
schreiben anstatt die ">"
05/02/2013 17:36 KliKli1998#8025
nee geht leider nicht :/ irgentwas in an der quest falsch da sie komplett in Virtual box angezeigt wird :/