[SERVICE] Die Questkontrolle

03/17/2025 18:37 Niklas18#12661
Moin. Kann mir jemand helfen?

Ziel der Quest:
+ Sie soll erst beendet sein, wenn alle 4 Monster getötet worden sind.
+ Sie soll auch nicht nach dem porten oder einem erneuten LogIn von vorne beginnen.
+ Aktuell kommt eine Fehlermeldung: expecting ´when´ or ´function´

Danke!

PHP Code:
quest jagdauftrag_7 begin
    state start begin
        when login 
or levelup with pc.level>32 begin
            set_state
(talk_to_disciple_lv33)
        
end    
    end
    state talk_to_disciple_lv33 begin
        when letter begin
            local v 
find_npc_by_vnum(20354)
            if 
!= 0 then target.vid("__TARGET__"v"Stadtwächter")
            
end
            send_letter
("Hilfe für den Stadtwächter 7")
        
end
        when button 
or info begin
            say_title
("Hilfe für den Stadtwächter")
            
say("")
            
say("Der Stadtwächter benötigt deine Hilfe.")
            
say("Du findest ihn in der Stadt.")
            
say("")
            
say_reward("Sprich mit dem Stadtwächter")
            
say("")
        
end
        when __TARGET__
.target.click or 20354.chat."Die Blutgeneräle" begin
            target
.delete("__TARGET__")
            
say("Stadtwächter:")
            
say("")
            
say("Hallo Grünschnabel!")
            
say("Ich brauche erneut deine Hilfe!")
            
say("Wie ich sehe, bist du kräftiger gebaut!")
            
say("Ich denke, diese Aufgabe wird dir gefallen.")
            
say("Ich möchte, dass du die 4 Blutgeneräle auf Map2")
            
say("tötest. Sie haben folgende Namen:")
            
wait()
            
say("Mahon, Bo, Goe-Pae und Chuong.")
            
wait()
            
say("Sie sind sehr stark und immer in einer großen,")
            
say("Gruppe unterwegs. Sie sind die Kriegstreiber in Map2")
            
say("Wenn du sie erledigst, ist es um einiges ruhiger!")
            
wait()
            
say_reward("Töte 1x Mahon")
            
say_reward("Töte 1x Bo")
            
say_reward("Töte 1x Goe-Pae")
            
say_reward("Töte 1x Chuong")
            
say_reward("Du findest sie auf Map2.")
            
q.set_counter("Mahon"1)
            
q.set_counter("Bo"1)
            
q.set_counter("Goe-Pae"1)
            
q.set_counter("Chuong"1)
            
set_state(mission)
        
end
    end
    state mission begin
        when letter begin
            send_letter
("Jagdauftrag Nr. 7 Die Blutgeneräle")
        
end
        when info 
or button begin
            say_title
("Jagdauftrag Nr. 7 Die Blutgeneräle")
            
say("")
            
say("Mahon verbleibend: "..pc.getqf("state1"))
            
say("Bo verbleibend: "..pc.getqf("state2"))
            
say("Goe-Pae verbleibend: "..pc.getqf("state3"))
            
say("Chuong verbleibend: "..pc.getqf("state4"))
        
end
        when kill with npc
.get_race() == 491 begin
            
if pc.getqf("state1") > 0 then
                pc
.setqf("state1"pc.getqf("state1") - 1)
                
q.set_counter("Mahon"pc.getqf("state1"))
            
end    
        end
        when kill with npc
.get_race() == 492 begin
            
if pc.getqf("state2") > 0 then
                pc
.setqf("state2"pc.getqf("state2") - 1)
                
q.set_counter("Bo"pc.getqf("state2"))
            
end    
        end
        when kill with npc
.get_race() == 493 begin
            
if pc.getqf("state3") > 0 then
                pc
.setqf("state3"pc.getqf("state3") - 1)
                
q.set_counter("Goe-Pae"pc.getqf("state3"))
            
end    
        end
        when kill with npc
.get_race() == 494 begin
            
if pc.getqf("state4") > 0 then
                pc
.setqf("state4"pc.getqf("state4") - 1)
                
q.set_counter("Chuong"pc.getqf("state4"))
            
end
        end
        when kill begin
            say
("Aktueller Zustand: state1="..pc.getqf("state1")..", state2="..pc.getqf("state2")..", state3="..pc.getqf("state3")..", state4="..pc.getqf("state4")) 
            
say("Alle Blutgeneräle wurden erledigt! Die Quest ist abgeschlossen.")
            
set_state(fertig)
        
end
    state fertig begin
        when letter begin
            send_letter
("Jagdauftrag Nr. 7 - Belohnung")
            
local v find_npc_by_vnum(20354)
            if 
!= 0 then target.vid("__TARGET__"v"Stadtwächter")
            
end
        end
        when button 
or info begin
            say
("Um die Belohnung des Stadtwächters zu erhalten,")
            
say("solltest du ihn in der Stadt aufsuchen!")
            
say("")
        
end
        when __TARGET__
.target.click  or 20354.chat."Belohnung des Stadtwächters" begin
            target
.delete("__TARGET__")
            
say_title("Stadtwächter:")
            
say("Du hast diese Aufgabe mit Leichtigkeit geschafft!")
            
say("Sehr gut. Sei stolz auf dich.")
            
say("")
            
say("Aber noch bist du für mich ein Grünschnabel.")
            
say("Werde stärker und beweis mir deine Kraft!")
            
say("")
            
wait()
            
say("")
            
say_reward("Du hast 500.000 Yang erhalten!")
            
say_reward("Du hast 1x Erfahrungsring erhalten!")
            
say_reward("Du hast 10x Mondlichtschatztruhe erhalten!")
            
pc.give_item2(71015)
            
pc.give_item2(50011,10)
            
pc.change_money(500000)
             
clear_letter()
            
set_state(__COMPLETE__)
        
end
    end
    state __COMPLETE__ begin
    end
end 
03/18/2025 07:35 x'Radon#12662
Quote:
Originally Posted by Niklas18 View Post
Moin. Kann mir jemand helfen?

Ziel der Quest:
+ Sie soll erst beendet sein, wenn alle 4 Monster getötet worden sind.
+ Sie soll auch nicht nach dem porten oder einem erneuten LogIn von vorne beginnen.
+ Aktuell kommt eine Fehlermeldung: expecting ´when´ or ´function´

Danke!

PHP Code:
quest jagdauftrag_7 begin
    state start begin
        when login 
or levelup with pc.level>32 begin
            set_state
(talk_to_disciple_lv33)
        
end    
    end
    state talk_to_disciple_lv33 begin
        when letter begin
            local v 
find_npc_by_vnum(20354)
            if 
!= 0 then target.vid("__TARGET__"v"Stadtwächter")
            
end
            send_letter
("Hilfe für den Stadtwächter 7")
        
end
        when button 
or info begin
            say_title
("Hilfe für den Stadtwächter")
            
say("")
            
say("Der Stadtwächter benötigt deine Hilfe.")
            
say("Du findest ihn in der Stadt.")
            
say("")
            
say_reward("Sprich mit dem Stadtwächter")
            
say("")
        
end
        when __TARGET__
.target.click or 20354.chat."Die Blutgeneräle" begin
            target
.delete("__TARGET__")
            
say("Stadtwächter:")
            
say("")
            
say("Hallo Grünschnabel!")
            
say("Ich brauche erneut deine Hilfe!")
            
say("Wie ich sehe, bist du kräftiger gebaut!")
            
say("Ich denke, diese Aufgabe wird dir gefallen.")
            
say("Ich möchte, dass du die 4 Blutgeneräle auf Map2")
            
say("tötest. Sie haben folgende Namen:")
            
wait()
            
say("Mahon, Bo, Goe-Pae und Chuong.")
            
wait()
            
say("Sie sind sehr stark und immer in einer großen,")
            
say("Gruppe unterwegs. Sie sind die Kriegstreiber in Map2")
            
say("Wenn du sie erledigst, ist es um einiges ruhiger!")
            
wait()
            
say_reward("Töte 1x Mahon")
            
say_reward("Töte 1x Bo")
            
say_reward("Töte 1x Goe-Pae")
            
say_reward("Töte 1x Chuong")
            
say_reward("Du findest sie auf Map2.")
            
q.set_counter("Mahon"1)
            
q.set_counter("Bo"1)
            
q.set_counter("Goe-Pae"1)
            
q.set_counter("Chuong"1)
            
set_state(mission)
        
end
    end
    state mission begin
        when letter begin
            send_letter
("Jagdauftrag Nr. 7 Die Blutgeneräle")
        
end
        when info 
or button begin
            say_title
("Jagdauftrag Nr. 7 Die Blutgeneräle")
            
say("")
            
say("Mahon verbleibend: "..pc.getqf("state1"))
            
say("Bo verbleibend: "..pc.getqf("state2"))
            
say("Goe-Pae verbleibend: "..pc.getqf("state3"))
            
say("Chuong verbleibend: "..pc.getqf("state4"))
        
end
        when kill with npc
.get_race() == 491 begin
            
if pc.getqf("state1") > 0 then
                pc
.setqf("state1"pc.getqf("state1") - 1)
                
q.set_counter("Mahon"pc.getqf("state1"))
            
end    
        end
        when kill with npc
.get_race() == 492 begin
            
if pc.getqf("state2") > 0 then
                pc
.setqf("state2"pc.getqf("state2") - 1)
                
q.set_counter("Bo"pc.getqf("state2"))
            
end    
        end
        when kill with npc
.get_race() == 493 begin
            
if pc.getqf("state3") > 0 then
                pc
.setqf("state3"pc.getqf("state3") - 1)
                
q.set_counter("Goe-Pae"pc.getqf("state3"))
            
end    
        end
        when kill with npc
.get_race() == 494 begin
            
if pc.getqf("state4") > 0 then
                pc
.setqf("state4"pc.getqf("state4") - 1)
                
q.set_counter("Chuong"pc.getqf("state4"))
            
end
        end
        when kill begin
            say
("Aktueller Zustand: state1="..pc.getqf("state1")..", state2="..pc.getqf("state2")..", state3="..pc.getqf("state3")..", state4="..pc.getqf("state4")) 
            
say("Alle Blutgeneräle wurden erledigt! Die Quest ist abgeschlossen.")
            
set_state(fertig)
        
end
    state fertig begin
        when letter begin
            send_letter
("Jagdauftrag Nr. 7 - Belohnung")
            
local v find_npc_by_vnum(20354)
            if 
!= 0 then target.vid("__TARGET__"v"Stadtwächter")
            
end
        end
        when button 
or info begin
            say
("Um die Belohnung des Stadtwächters zu erhalten,")
            
say("solltest du ihn in der Stadt aufsuchen!")
            
say("")
        
end
        when __TARGET__
.target.click  or 20354.chat."Belohnung des Stadtwächters" begin
            target
.delete("__TARGET__")
            
say_title("Stadtwächter:")
            
say("Du hast diese Aufgabe mit Leichtigkeit geschafft!")
            
say("Sehr gut. Sei stolz auf dich.")
            
say("")
            
say("Aber noch bist du für mich ein Grünschnabel.")
            
say("Werde stärker und beweis mir deine Kraft!")
            
say("")
            
wait()
            
say("")
            
say_reward("Du hast 500.000 Yang erhalten!")
            
say_reward("Du hast 1x Erfahrungsring erhalten!")
            
say_reward("Du hast 10x Mondlichtschatztruhe erhalten!")
            
pc.give_item2(71015)
            
pc.give_item2(50011,10)
            
pc.change_money(500000)
             
clear_letter()
            
set_state(__COMPLETE__)
        
end
    end
    state __COMPLETE__ begin
    end
end 

Code:
quest jagdauftrag_7 begin
	state start begin
		when login or levelup with pc.level>32 begin
			set_state(talk_to_disciple_lv33)
		end    
	end
	state talk_to_disciple_lv33 begin
		when letter begin
			local v = find_npc_by_vnum(20354)
			if v != 0 then target.vid("__TARGET__", v, "Stadtwächter")
			end
			send_letter("Hilfe für den Stadtwächter 7")
		end
		when button or info begin
			say_title("Hilfe für den Stadtwächter")
			say("")
			say("Der Stadtwächter benötigt deine Hilfe.")
			say("Du findest ihn in der Stadt.")
			say("")
			say_reward("Sprich mit dem Stadtwächter")
			say("")
		end
		when __TARGET__.target.click or 20354.chat."Die Blutgeneräle" begin
			target.delete("__TARGET__")
			say("Stadtwächter:")
			say("")
			say("Hallo Grünschnabel!")
			say("Ich brauche erneut deine Hilfe!")
			say("Wie ich sehe, bist du kräftiger gebaut!")
			say("Ich denke, diese Aufgabe wird dir gefallen.")
			say("Ich möchte, dass du die 4 Blutgeneräle auf Map2")
			say("tötest. Sie haben folgende Namen:")
			wait()
			say("Mahon, Bo, Goe-Pae und Chuong.")
			wait()
			say("Sie sind sehr stark und immer in einer großen,")
			say("Gruppe unterwegs. Sie sind die Kriegstreiber in Map2")
			say("Wenn du sie erledigst, ist es um einiges ruhiger!")
			wait()
			say_reward("Töte 1x Mahon")
			say_reward("Töte 1x Bo")
			say_reward("Töte 1x Goe-Pae")
			say_reward("Töte 1x Chuong")
			say_reward("Du findest sie auf Map2.")
			pc.setqf("state1", 1)
			pc.setqf("state2", 1)
			pc.setqf("state3", 1)
			pc.setqf("state4", 1)
			q.set_counter("Mahon", 1)
			q.set_counter("Bo", 1)
			q.set_counter("Goe-Pae", 1)
			q.set_counter("Chuong", 1)
			set_state(mission)
		end
	end
	state mission begin
		when letter begin
			send_letter("Jagdauftrag Nr. 7 Die Blutgeneräle")
		end
		when info or button begin
			say_title("Jagdauftrag Nr. 7 Die Blutgeneräle")
			say("")
			say("Mahon verbleibend: "..pc.getqf("state1"))
			say("Bo verbleibend: "..pc.getqf("state2"))
			say("Goe-Pae verbleibend: "..pc.getqf("state3"))
			say("Chuong verbleibend: "..pc.getqf("state4"))
		end
		when kill with npc.get_race() begin
			if pc.getqf("state1") > 0 and npc.get_race() == 491 then
				pc.setqf("state1", pc.getqf("state1") - 1)
				q.set_counter("Mahon", pc.getqf("state1"))
			end
			if pc.getqf("state2") > 0 and npc.get_race() == 492 then
				pc.setqf("state2", pc.getqf("state2") - 1)
				q.set_counter("Bo", pc.getqf("state2"))
			end
			if pc.getqf("state3") > 0 and npc.get_race() == 493 then
				pc.setqf("state3", pc.getqf("state3") - 1)
				q.set_counter("Goe-Pae", pc.getqf("state3"))
			end
			if pc.getqf("state4") > 0 and npc.get_race() == 494 then
				pc.setqf("state4", pc.getqf("state4") - 1)
				q.set_counter("Chuong", pc.getqf("state4"))
			end
			if pc.getqf("state1") == 0 and pc.getqf("state2") == 0 and pc.getqf("state3") == 0 and pc.getqf("state4") == 0 then
				say_title("Jagdauftrag Nr. 7 Die Blutgeneräle")
				say("")
				say("Alle Blutgeneräle wurden erledigt! Die Quest ist abgeschlossen.")
				set_state(fertig)
			end
		end
	end
	state fertig begin
		when letter begin
			send_letter("Jagdauftrag Nr. 7 - Belohnung")
			local v = find_npc_by_vnum(20354)
			if v != 0 then target.vid("__TARGET__", v, "Stadtwächter")
			end
		end
		when button or info begin
			say("Um die Belohnung des Stadtwächters zu erhalten,")
			say("solltest du ihn in der Stadt aufsuchen!")
			say("")
		end
		when __TARGET__.target.click  or 20354.chat."Belohnung des Stadtwächters" begin
			target.delete("__TARGET__")
			say_title("Stadtwächter:")
			say("Du hast diese Aufgabe mit Leichtigkeit geschafft!")
			say("Sehr gut. Sei stolz auf dich.")
			say("")
			say("Aber noch bist du für mich ein Grünschnabel.")
			say("Werde stärker und beweis mir deine Kraft!")
			say("")
			wait()
			say("")
			say_reward("Du hast 500.000 Yang erhalten!")
			say_reward("Du hast 1x Erfahrungsring erhalten!")
			say_reward("Du hast 10x Mondlichtschatztruhe erhalten!")
			pc.give_item2(71015)
			pc.give_item2(50011,10)
			pc.change_money(500000)
			 clear_letter()
			set_state(__COMPLETE__)
		end
	end
	state __COMPLETE__ begin
	end
end
09/01/2025 23:04 KinqDmX_#12663
Moin Leute.

Wer eine kleine Quest braucht oder Hilfe wenn eine nicht funktioniert, könnt ihr euch gerne bei mir melden.
Helfe gegen eine kleine Spende ��

Gerne auf DC melden.

b5_quattro