[SERVICE] Die Questkontrolle

02/26/2012 01:33 Blackboy112#4876
Ist die Quest richtig geschrieben?:

PHP Code:
quest Hilf der Biologen  begin
    state start begin
        when login 
or levelup with pc.get_level() >=160  begin
            set_state
(information)
        
end    
    end

    state information begin
        when letter begin
            local v 
find_npc_by_vnum(20084)
            if 
!= 0 then
                target
.vid("__TARGET__"v"Quest")
            
end
            send_letter
("Hilf der Biologen")
        
end

        when button 
or info begin
            say_title
("Hilf der Biologen")
            
say("")
            
say("Biologe Chaegirab braucht deine Hilfe.")
            
say("Geh zu ihm und kassiere eine gute Belohnung.")
            
say("")
            
say("")
            
say("")
            
say("")
            
say("")
        
end

        when __TARGET__
.target.click or
            
20084.chat."Quest" begin
            target
.delete("__TARGET__")
            
say("Biologe Chaegirab:")
            ---                                                   
l
            say
("Sei gegruest Reisender, hilfst du mir in meiner Not?")
            
say("Du wirst eine sehr gute Belohnung bekommen, dass versprech ich dir.")
            
say("Besorg mir 3 Blutrote Perlen.")
            
say("Die Perlen bekommst du im DaemonenTurm.")
            
say("Vom Blauen Tod.")
            
say("Viel Glück auf deiner Reise wünsche ich dir.")
            
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 Biologe Chaegirab")

        
end
        when button 
or info begin
            say_title
("Quest")
            ---                                                   
l
            say
("")
            
say("Biologe Chaegirab gab euch den Auftrag")
            
say("3 Blutrote Perle zu sammeln!")
            
say("Das Item bekommt ihr von Blauer Tod.")
            
say("Viel Glueck!")
            
say("")
            
say_item_vnum(27994)
            
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(27994)==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 1095.kill begin
            
if pc.count_item(27994)<3-pc.getqf("collect_count"then
                pc
.give_item2(279941)
            
end
        end

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

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

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

                    
pc.give_item2(Value)
                    
pc.give_item2(Value)
                    
pc.give_item2(Value)
                    
pc.change_money(1000000000)
                    
pc.give_exp2(Anzahl)
                    
set_quest_state("levelup","run")


                    return
                else                                
                
say("Biologe Chaegirab:")
                
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 
02/26/2012 02:22 xxalbanxx3#4877
Quote:
Originally Posted by xxalbanxx3 View Post
PHP Code:
quest drachnraum begin
    state start begin        
        when 9010.chat
."Drachenraum" begin  --NPC zum Starten
            say_title
(mob_name(9010)) --NPC zum Starten
            say
("Hallo Abenteurer,")
            
say("ich habe längst verlassene Gänge und")
            
say("Schluchten entdeckt, wo Ungeheuer ihr")
            
say("unwesen treiben. Nur die stärksten")
            
say("Krieger halten denen Stand!")
            if 
pc.count_item(30227) == 0 then
                say
("Du benötigst einen Drachenraum-Key um passieren zu können.")
                
say_item_vnum(30227)
                return
            
end
            say
("Soll ich dich dahin bringen?")
            
local s=select("Ja""Nein")
            if 
s==2 then return end
            
if pc.count_item(30227) > 0 then
                pc
.remove_item(302271)
                
pc.warp(8432001066800)
            
end
        end
        when login with pc
.get_map_index() == 308 begin
            say
("Die Brücke ist kaputt gegangen.")
            
say("Jetzt gibt es kein zurück mehr!")
        
end
    end
end 
Also eine frage die quest hier funktioniert aber ich möchte die so haben das wenn der Drache gekillt wird 2493 das es alles die da grade drinne sind raus portet.
Kann mir da jemand helfen?
Mhm
02/26/2012 03:38 RealMadrid94rk#4878
PHP Code:
when 2493.kill begin
war_all_to_village
()
end 
einfach einfügen

solltest eventuell noch einen timer setzen, sodass sie erst nach 30 sekunden geportet werden.
02/26/2012 11:24 omonoia#4879
Kann ich anti_exp quest pls
02/26/2012 11:28 .Delta#4880
Quote:
Originally Posted by omonoia View Post
Kann ich anti_exp quest pls
wenn du sie selber schreibst dann ja ;)
Das hier ist die Kontrolle deiner nicht funktionierenden Quests.

Nutz doch mal die Suchfunktion im Forum, bin sicher, da gabs mal n release.
02/26/2012 11:34 xxalbanxx3#4881
Quote:
Originally Posted by omonoia View Post
Kann ich anti_exp quest pls
PHP Code:
quest anti begin
    state start begin
        when 72501.
use begin
        
if pc.getqf("antiexp") == 0 then
            pc
.setqf("antiexp"1)
            
chat("Anti EXP aktiviert. Deine Erfahrungspunkte werden jede Sekunde auf 0 gesetzt!")
            
local ep pc.get_exp()
            
pc.give_exp2(-ep)
            
timer("erfahrung"1)
        elseif 
pc.getqf("antiexp") == 1 then
            pc
.setqf("antiexp"0)
            
chat("Anti EXP deaktiviert. Viel Spaß auf Blue-Fire!")
            
end
        end    
                    
        when erfahrung
.timer with pc.getqf("antiexp") == 1 begin
            local ep 
pc.get_exp()
            
pc.give_exp2(-ep)
            
timer("erfahrung1"1)
            
pc.setqf("antiexp"1)
        
end    
            
        when erfahrung1
.timer with pc.getqf("antiexp") == 1 begin
            local ep 
pc.get_exp()
            
pc.give_exp2(-ep)
            
timer("erfahrung"1)
            
pc.setqf("antiexp"1)            
        
end
        
        when login with pc
.getqf("antiexp") == 1 begin
            local ep 
pc.get_exp()
            
pc.give_exp2(-ep)
            
timer("erfahrung"1)
            
pc.setqf("antiexp"1)    
        
end    
    end
end 
Quote:
Originally Posted by RealMadrid94rk View Post
PHP Code:
when 2493.kill begin
war_all_to_village
()
end 
einfach einfügen

solltest eventuell noch einen timer setzen, sodass sie erst nach 30 sekunden geportet werden.
PHP Code:
quest drachnraum begin
    state start begin        
        when 9010.chat
."Drachenraum" begin  --NPC zum Starten
            say_title
(mob_name(9010)) --NPC zum Starten
            say
("Hallo Abenteurer,")
            
say("ich habe längst verlassene Gänge und")
            
say("Schluchten entdeckt, wo Ungeheuer ihr")
            
say("unwesen treiben. Nur die stärksten")
            
say("Krieger halten denen Stand!")
            if 
pc.count_item(30227) == 0 then
                say
("Du benötigst einen Drachenraum-Key um passieren zu können.")
                
say_item_vnum(30227)
                return
            
end
            say
("Soll ich dich dahin bringen?")
            
local s=select("Ja""Nein")
            if 
s==2 then return end
            
if pc.count_item(30227) > 0 then
                pc
.remove_item(302271)
                
pc.warp(8432001066800)
            
end
        end
        when login with pc
.get_map_index() == 308 begin
            say
("Die Brücke ist kaputt gegangen.")
            
say("Jetzt gibt es kein zurück mehr!")
        
when 2493.kill begin 
        war_all_to_village
() 
        
end
        end
    end
end 
einfach so?
02/26/2012 11:41 Hamolos#4882
PHP Code:
quest der_handel begin
    state start begin
        when 9003.chat
."Der Handel" with pc.get_level() >=25 begin
            say_title 
("Der Handel")
            
say("")
            
say("Bist du auf der Suche nach einem Abenteuer?")
            
say("Mein Nachbar, der Schmied. Braucht drinngend")
            
say("deine Hilfe, ich denke er hat auch eine")
            
say("gute Belohnung für dich vor Ort.")
            
say("Wirst du ihn aufsuchen?")
            
local s select ("Ja""Nein")
        
when 20016.chat."Der Handel"
            
say_title ("Der Handel")
            
say("")
            
say("Ach, junger Abenteuer. Die alte Hexe")
            
say("von nebenan hat dir wohl über mein")
            
say("Problem erzählt. Nunja, ich bin sehr")
            
say("Krank und brauche drinngend eine")
            
say("Kakiblüte für meine Genesung.")
            
say("Diese erhälst du von den Weißen Eid")
            
say("Ich wäre dir sehr dankbar, wenn du")
            
say("mir helfen würdest."

bin neu darin und würde gerne eine Quest schreiben wo man erst mit der Gemischtwarenhändlerin und dann mit dem Schmied reden muss, bis man die Quest bekommt, wo fügt man dann die Mob id etc. ein
02/26/2012 12:07 .HC'Destrox#4883
Also, erstmal solltest du (meiner Meinung nach) verschiedene "States" benutzten,
wenn du etwas nacheinander machen willst, und es auch nur in dieser
Reihenfolge ablaufen soll.

Also von der Logik her:
Code:
quest Laufen begin
	state start begin
		-- Zur Gemi
	end
	state Auftrag begin
		-- Zum Waffi
	end
end
Die Befehle etc. sind im Code erklärt; Die Quest würde dann etwa so aussehen:
Code:
--[[
# INFORMATION #
# Es wird immer zuerst der state "start" ausgeführt! #
# Solange der state "start" ausgeführt wird, werden jegliche Befehle von anderen States ignoriert. #
# Genauso ist es auch bei anderen States. #
--]]
quest Laufen begin
	state start begin -- 1. State
		when letter with pc.get_level() >= 50 begin -- Questrolle anzeigen, wenn man level 50 oder höher ist
			local v = find_npc_by_vnum(9003) -- NPC suchen zum markieren
			if v != 0 then -- Wenn er gefunden wurde
				target.vid("__TARGET__", v, "Gemischt") -- Markierung festlegen; Syntax: target.vid(name, npc, eigene_hilfsinformation)
			end
			send_letter("Gehe zur Gemischtwarenhändlerin") -- Text der Questrolle festlegen
		end
		when button or info with pc.get_level() >= 50 begin -- Wenn auf die Questrolle links oder im Quest-Fenster geklickt wird mit Level 50+
			say_title("Gehe zur Gemischtwarenhändlerin") -- Text...
			say("Die Gemischtwarenhändlerin hat einen neuen Auftrag")
			say("für dich! Gehe zu ihr, um ihn zu erhalten.")
			say("")
		end
		when __TARGET__.target.click with pc.get_level() >= 50 begin -- Wenn auf den NPC geklickt worden ist mit 50+ (hier muss bei "__TARGET__" der name stehen den man bei "target.vid" definiert hat)
			target.delete("__TARGET__") -- Lösche Markierung
			say_title(mob_name(9003)..":") -- Text..
			say("Blablabla")
			say("Blablabla")
			say("Gehe zum Waffenhändler!")
			say("")
			set_state("Auftrag") -- Nächster State : Auftrag
		end
	end
	state Auftrag begin -- 2. State: Auftrag
		when letter begin
			local v = find_npc_by_vnum(9001)
			if v != 0 then
				target.vid("__TARGET__", v, "Waffenhändler")
			end
			send_letter("Gehe zum Waffenhändler")
		end
		when button or info begin
			say_title("Bla")
			say("text")
			say("")
		end
		when __TARGET__.target.click begin
			target.delete("__TARGET__")
			say_title(mob_name(9001)..":")
			say("Da bist du ja !")
			say("Hier ist deine Belohnung!")
			say("")
			pc.give_item2(72702, 1)
			-- Hier kannst du "restart_quest()" machen, damit man die Quest erneut erhält, oder "complete_quest()" damit man sie nicht erneut erhält.
			restart_quest() -- Damit würdest du die Quest erneut erhalten
			complete_quest() -- Damit nicht
		end
	end
	state __COMPLETE__ begin -- Leerer State, auf den mit complete_quest() gegangen wird, damit nichts mehr gemacht wird
	end
end
Mfg, Destroyer446
02/26/2012 12:15 Hamolos#4884
Ich möchte aber das man sie suchen muss und nicht das die Quest gleich bei dem lvl aufschaut, soll erst ab dem lvl leuchten bzw. da sein, aber noch nicht angenommen.
02/26/2012 12:24 RealMadrid94rk#4885
Quote:
Originally Posted by xxalbanxx3 View Post
PHP Code:
quest drachnraum begin
    state start begin        
        when 9010.chat
."Drachenraum" begin  --NPC zum Starten
            say_title
(mob_name(9010)) --NPC zum Starten
            say
("Hallo Abenteurer,")
            
say("ich habe längst verlassene Gänge und")
            
say("Schluchten entdeckt, wo Ungeheuer ihr")
            
say("unwesen treiben. Nur die stärksten")
            
say("Krieger halten denen Stand!")
            if 
pc.count_item(30227) == 0 then
                say
("Du benötigst einen Drachenraum-Key um passieren zu können.")
                
say_item_vnum(30227)
                return
            
end
            say
("Soll ich dich dahin bringen?")
            
local s=select("Ja""Nein")
            if 
s==2 then return end
            
if pc.count_item(30227) > 0 then
                pc
.remove_item(302271)
                
pc.warp(8432001066800)
            
end
        end
        when login with pc
.get_map_index() == 308 begin
            say
("Die Brücke ist kaputt gegangen.")
            
say("Jetzt gibt es kein zurück mehr!")
                
end
        when 2493.kill begin 
        warp_all_to_village
() 
        
end
    end
end 
einfach so?
so jetzt dürfte es gehen. Hattest ein "end" falsch gesetzt und habe einen rechtschreibfehler gehabt bei warp_all_to_village
02/26/2012 12:38 xxalbanxx3#4886
Quote:
Originally Posted by RealMadrid94rk View Post
so jetzt dürfte es gehen. Hattest ein "end" falsch gesetzt und habe einen rechtschreibfehler gehabt bei warp_all_to_village
Ok es kommt kein fehler aber wenn ich den Drachen kille dann wird niemand geportet warum auch immer
02/26/2012 13:05 Hamolos#4887
Quote:
Originally Posted by Destroyer446 View Post
Also, erstmal solltest du (meiner Meinung nach) verschiedene "States" benutzten,
wenn du etwas nacheinander machen willst, und es auch nur in dieser
Reihenfolge ablaufen soll.

Also von der Logik her:
Code:
quest Laufen begin
	state start begin
		-- Zur Gemi
	end
	state Auftrag begin
		-- Zum Waffi
	end
end
Die Befehle etc. sind im Code erklärt; Die Quest würde dann etwa so aussehen:
Code:
--[[
# INFORMATION #
# Es wird immer zuerst der state "start" ausgeführt! #
# Solange der state "start" ausgeführt wird, werden jegliche Befehle von anderen States ignoriert. #
# Genauso ist es auch bei anderen States. #
--]]
quest Laufen begin
	state start begin -- 1. State
		when letter with pc.get_level() >= 50 begin -- Questrolle anzeigen, wenn man level 50 oder höher ist
			local v = find_npc_by_vnum(9003) -- NPC suchen zum markieren
			if v != 0 then -- Wenn er gefunden wurde
				target.vid("__TARGET__", v, "Gemischt") -- Markierung festlegen; Syntax: target.vid(name, npc, eigene_hilfsinformation)
			end
			send_letter("Gehe zur Gemischtwarenhändlerin") -- Text der Questrolle festlegen
		end
		when button or info with pc.get_level() >= 50 begin -- Wenn auf die Questrolle links oder im Quest-Fenster geklickt wird mit Level 50+
			say_title("Gehe zur Gemischtwarenhändlerin") -- Text...
			say("Die Gemischtwarenhändlerin hat einen neuen Auftrag")
			say("für dich! Gehe zu ihr, um ihn zu erhalten.")
			say("")
		end
		when __TARGET__.target.click with pc.get_level() >= 50 begin -- Wenn auf den NPC geklickt worden ist mit 50+ (hier muss bei "__TARGET__" der name stehen den man bei "target.vid" definiert hat)
			target.delete("__TARGET__") -- Lösche Markierung
			say_title(mob_name(9003)..":") -- Text..
			say("Blablabla")
			say("Blablabla")
			say("Gehe zum Waffenhändler!")
			say("")
			set_state("Auftrag") -- Nächster State : Auftrag
		end
	end
	state Auftrag begin -- 2. State: Auftrag
		when letter begin
			local v = find_npc_by_vnum(9001)
			if v != 0 then
				target.vid("__TARGET__", v, "Waffenhändler")
			end
			send_letter("Gehe zum Waffenhändler")
		end
		when button or info begin
			say_title("Bla")
			say("text")
			say("")
		end
		when __TARGET__.target.click begin
			target.delete("__TARGET__")
			say_title(mob_name(9001)..":")
			say("Da bist du ja !")
			say("Hier ist deine Belohnung!")
			say("")
			pc.give_item2(72702, 1)
			-- Hier kannst du "restart_quest()" machen, damit man die Quest erneut erhält, oder "complete_quest()" damit man sie nicht erneut erhält.
			restart_quest() -- Damit würdest du die Quest erneut erhalten
			complete_quest() -- Damit nicht
		end
	end
	state __COMPLETE__ begin -- Leerer State, auf den mit complete_quest() gegangen wird, damit nichts mehr gemacht wird
	end
end
Mfg, Destroyer446
Ich möchte das man da iwie einstellt, das man nen Mob töten muss und der die Kakiblüte dann droppt^^

Bin jetzt soweit:
Code:
quest der_handel begin
	state start begin
		when letter with pc.get_level() >= 15 begin
			local v = find_npc_by_vnum(9003)
				if v != 0 then
					target.vid("Gemischtwarenhändlerin", v, "Gemischt")
				end
					send_letter("Gehe zur Gemischtwarenhändlerin")
				end	
				when button or info with pc.get_level() >= 15 begin
					say_title ("Gehe zur Gemischtwarenhändlerin")
					say("Die Gemischtwarenhändlerin braucht deine")
					say("Hilfe. Gehe zu ihr um ihr zu helfen.")
					say("")
				end
				when Gemischtwarenhändlerin.target.click with pc.get_level() >= 15 begin
					target.delete("Gemischtwarenhändlerin")
					say_title("Gemischtwarenhändlerin")
					say("")
					say("Bist du auf der Suche nach einem Abenteuer?")
					say("Mein Nachbar, der Schmied. Braucht drinngend")
					say("deine Hilfe, ich denke er hat auch eine")
					say("gute Belohnung für dich vor Ort.")
					say("Wirst du ihn aufsuchen?")
					say("")
					set_state("Auftrag")
				end
			end
			state Auftrag begin
				when letter begin
					local v = find_npc_by_vnum(20016)
					if v!= 0 then
						target.vid("Schmied", v, "Schmied")
					end
					send_letter("Gehe zum Schmied")
				end
				when button or info begin
					say_title ("Der Handel")
					say("")
					say("Ach, junger Abenteuer. Die alte Hexe")
					say("von nebenan hat dir wohl über mein")
					say("Problem erzählt. Nunja, ich bin sehr")
					say("Krank und brauche drinngend eine")
					say("Kakiblüte für meine Genesung.")
					say("Diese erhälst du von den Weißen Tigern.")
					say("Ich wäre dir sehr dankbar, wenn du")
					say("mir helfen würdest.")
02/26/2012 13:15 Blackboy112#4888
So letzter versuch hilft mir mal bitte :

PHP Code:
quest Hilf dem Biologen Chaegirab begin
    state start begin
        when login with pc
.level >= 150 begin
            set_state
(information)
        
end
    end

    state information begin
        when letter begin
            send_letter
("Hilf dem Biologen")
        
end

        when info 
or button begin
            say
("Hilf dem Biologen")
            
say("Hey du, ja du, komm mal her.")
            
say("Die finsterin Metins warten auf dich. Ich habe Riesen Angst von ihnen.")
            
say("Bitte HILF mir und du wirst gut Belohnt.")
            
say_reward("Töte 100 Metin der Schlacht und du bekommst eine gute Belohnung")
            
say("")
            
pc.setqf("state"100)
            
q.set_counter("Metin der Schlacht"100)
        
end

        when 8003.kill begin
            local count 
pc.getqf("state") - 1
            
if count <= 100 then
                pc
.setqf("state"count)
                
q.set_counter("Metin der Schlacht"count)
            
end
            
if count == 0 then
                say_title
("Hilf dem Biologen")
                
say("Du hast die Quest erfolgreich abgeschlossen!")
                
say("Du erhälst:")
                
say_reward("5.000.000 Erfahrung")
                
pc.give_exp2()
                
clear_letter()
                
set_state(__COMPLETE__)

            
end
        end
    end

    state __COMPLETE__ begin
    end
end 
02/26/2012 13:43 RealMadrid94rk#4889
schau mal ob du nach dem kill das wort "test" im chat siehst.

PHP Code:
quest drachnraum begin
    state start begin        
        when 9010.chat
."Drachenraum" begin  --NPC zum Starten
            say_title
(mob_name(9010)) --NPC zum Starten
            say
("Hallo Abenteurer,")
            
say("ich habe längst verlassene Gänge und")
            
say("Schluchten entdeckt, wo Ungeheuer ihr")
            
say("unwesen treiben. Nur die stärksten")
            
say("Krieger halten denen Stand!")
            if 
pc.count_item(30227) == 0 then
                say
("Du benötigst einen Drachenraum-Key um passieren zu können.")
                
say_item_vnum(30227)
                return
            
end
            say
("Soll ich dich dahin bringen?")
            
local s=select("Ja""Nein")
            if 
s==2 then return end
            
if pc.count_item(30227) > 0 then
                pc
.remove_item(302271)
                
pc.warp(8432001066800)
            
end
        end
        when login with pc
.get_map_index() == 308 begin
            say
("Die Brücke ist kaputt gegangen.")
            
say("Jetzt gibt es kein zurück mehr!")
                
end
        when 2493.kill begin 
notice_in_map
("Test")
        
warp_all_to_village() 
        
end
    end
end 

PHP Code:
quest Hilf_dem_Biologen_Chaegirab begin 
    state start begin 
        when login with pc
.level >= 150 begin 
            set_state
(information
        
end 
    end 

    state information begin 
        when letter begin 
            send_letter
("Hilf dem Biologen"
        
end 

        when info 
or button begin 
            say
("Hilf dem Biologen"
            
say("Hey du, ja du, komm mal her."
            
say("Die finsterin Metins warten auf dich. Ich habe Riesen Angst von ihnen."
            
say("Bitte HILF mir und du wirst gut Belohnt."
            
say_reward("Töte 100 Metin der Schlacht und du bekommst eine gute Belohnung"
            
say(""
            
pc.setqf("state"100
            
q.set_counter("Metin der Schlacht"100
        
end 
when kill begin
        
if npc.get_race() == 8003 begin 
            local count 
pc.getqf("state") - 
            
if count <= 100 then 
                pc
.setqf("state"count
                
q.set_counter("Metin der Schlacht"count
            
end 
            
if count == 0 then 
                say_title
("Hilf dem Biologen"
                
say("Du hast die Quest erfolgreich abgeschlossen!"
                
say("Du erhälst:"
                
say_reward("5.000.000 Erfahrung"
                
pc.give_exp2() 
                
clear_letter() 
                
set_state(__COMPLETE__

            
end 
        end 
end
    end 

    state __COMPLETE__ begin 
    end 
end 
02/26/2012 14:01 .xD1997™#4890
Quote:
Originally Posted by Blackboy112 View Post
So letzter versuch hilft mir mal bitte :

PHP Code:
quest Hilf dem Biologen Chaegirab begin
    state start begin
        when login with pc
.level >= 150 begin
            set_state
(information)
        
end
    end

    state information begin
        when letter begin
            send_letter
("Hilf dem Biologen")
        
end

        when info 
or button begin
            say
("Hilf dem Biologen")
            
say("Hey du, ja du, komm mal her.")
            
say("Die finsterin Metins warten auf dich. Ich habe Riesen Angst von ihnen.")
            
say("Bitte HILF mir und du wirst gut Belohnt.")
            
say_reward("Töte 100 Metin der Schlacht und du bekommst eine gute Belohnung")
            
say("")
            
pc.setqf("state"100)
            
q.set_counter("Metin der Schlacht"100)
        
end

        when 8003.kill begin
            local count 
pc.getqf("state") - 1
            
if count <= 100 then
                pc
.setqf("state"count)
                
q.set_counter("Metin der Schlacht"count)
            
end
            
if count == 0 then
                say_title
("Hilf dem Biologen")
                
say("Du hast die Quest erfolgreich abgeschlossen!")
                
say("Du erhälst:")
                
say_reward("5.000.000 Erfahrung")
                
pc.give_exp2()
                
clear_letter()
                
set_state(__COMPLETE__)

            
end
        end
    end

    state __COMPLETE__ begin
    end
end 
Meine Version davon würde so aussehen:
PHP Code:
quest bio_1 begin
    state start begin
        when login with pc
.level >= 150 begin
            set_state
(information)
        
end
    end

    state information begin
        when letter begin
            send_letter
("Hilf dem Biologen")
        
end

        when info 
or button begin
            say_title
("Hilf dem Biologen")
            
say("Der Biologe Chaegirab braucht dringend deine Hilfe.")
            
say("Geh zu ihm, und frage, was er braucht.")
            
say("")
            
            
local v find_npc_by_vnum(20084)
            
target.vid("__TARGET__"v"Biologe Chaegirab")
            
            
set_state(goto)
        
end
    end
    
    state 
goto begin
        when __TARGET__
.target.click begin
            target
.delete("__TARGET__")
            
            
say_title("Biologe Chaegirab")
            
say("Hey du, ja du, komm mal her.")
            
say("Die finsterin Metins warten auf dich. Ich habe Riesen Angst von ihnen.")
            
say("Bitte HILF mir und du wirst gut Belohnt.")
            
say_reward("Töte 100 Metin der Schlacht und du bekommst eine gute Belohnung")
            
say("")
            
            
pc.setqf("state"100)
            
q.set_counter("Metin der Schlacht"100)
            
            
set_state(kill)
        
end
    end
    
    state kill begin
        when letter begin
            send_letter
("Der Auftrag des Biologen")
        
end
        
        when info 
or button begin
            say_title
("Der Auftrag des Biologen")
            
say("Der Biologe Chaegirab hat dir folgenden Auftrag gegeben:")
            
say("")
            
say_reward("Zerstöre 100 Metin der Schlacht")
            
say("")
        
end
        
        when 8003.kill begin
            local count 
pc.getqf("state") - 1
            
if count <= 100 then
                pc
.setqf("state"count)
                
q.set_counter("Metin der Schlacht"count)
            
end
            
if count == 0 then
                set_state
(information2)
            
end
        end
    end
    
    state information2 begin
        when letter begin
            send_letter
("Auftrag abgeschlossen")
        
end
        
        when info 
or button begin
            say_title
("Auftrag abgeschlossen")
            
say("Du hast 100 Metin der Schlacht zerstört.")
            
say("Gehe zurück zum Biologen, und erstatte ihm Bericht!")
            
say("")
            
            
local v find_npc_by_vnum(20084)
            
target.vid("__TARGET__"v"Biologe Chaegirab")
            
            
set_state(backto)
        
end
    end
    
    state backto begin
        when __TARGET__
.target.click begin
            target
.delete("__TARGET__")
            
            
say_title("Biologe Chaegirab")
            
say("Was? Schon fertig?")
            
say("Hier ist deine Belohnung!")
            
say("")
            
say_reward("5.000.000 Erfahrung erhalten")

            
pc.give_exp2(5000000)
            
clear_letter()
            
set_state(__COMPLETE__)
        
end
    end

    state __COMPLETE__ begin
    end
end