[SERVICE] Die Questkontrolle

07/27/2014 17:01 .Delta#10396
PHP Code:
quest warp begin 
    state start begin 
        when 40002.
use begin  
            local on 
= select ("Neue Map", "bla", "Abbrechen") 
            if 
on == 1 then 
                
if pc.get_level() < 30 then
                    say
("Du bist noch nicht Level 30")
                    return
                
end
                pc
.warp(2311000, 2307000) 
            elseif 
on == 2 then 
                pc
.warp(1414100, 1231200) 
            
end 
        end 
    end 
end 
07/27/2014 21:39 Brodan#10397
Quote:
Originally Posted by Kilroy. View Post
Wie sollen die Boni auch draufbleiben, wenn man ne neue Rüstung bekommt und die alte entfernt...
Ich schreib sie dir um, allerdings benötigst du dann die folgenden quest_functions (such mal im Forum danach)
Code:
item2.set_attr
item.set_socket
item2.get_attr
item.get_socket
pc2.give_or_drop_item_and_select

# Du musst das Item nun auf den NPC ziehen.
Quest:
Wenn ich die Questfunction in der Suche eingebe, finde ich nichts, bzw. bekomme folgendes zu lesen:"Deine Suchanfrage erzielte keine Treffer. Bitte versuche es mit anderen Suchbegriffen.".
Wärst du so nett mir nen Link zu nem passenden Theard zu geben?
Stelle mich ja offensichtlich zu dumm an.. xD
07/27/2014 21:48 .Xilent#10398
Quote:
Originally Posted by Brodan View Post
Wenn ich die Questfunction in der Suche eingebe, finde ich nichts, bzw. bekomme folgendes zu lesen:"Deine Suchanfrage erzielte keine Treffer. Bitte versuche es mit anderen Suchbegriffen.".
Wärst du so nett mir nen Link zu nem passenden Theard zu geben?
Stelle mich ja offensichtlich zu dumm an.. xD
[Only registered and activated users can see links. Click Here To Register...]

Hier findest du die Questfunktionen. Diese Lib ist jedoch nur für die 34k game.

Gruß
07/27/2014 21:59 Brodan#10399
Quote:
Originally Posted by .Xilent View Post
[Only registered and activated users can see links. Click Here To Register...]

Hier findest du die Questfunktionen. Diese Lib ist jedoch nur für die 34k game.

Gruß
Danke erstmal, benutze allerdings die 2089m Revision und kann daher damit nichts anfangen, gibts nen anderen Weg um an den Inhalt ranzukommen?
07/27/2014 22:03 abcdefghijklmonp#10400

suesigkeit.quest:262:assertion failure : nested==0
Error occured on compile suesigkeit.quest

weiß einer was los ist? :D
07/27/2014 22:23 .Delta#10401
dir fehlt ein end am ende.
hab auch mal die ganzen returns rausgenommen..
PHP Code:
quest suesigkeit begin 
    state start begin 
        when 9004.chat
."Süßigkeiten!" begin 
            
if pc.count_item(50183)>4 then 
                say_title
("") 
                
say("Gib sie mir!!!") 
                
say("Los Los Los!!") 
                
say("Was nicht umsonst?") 
                
say("Ich geb dir was in meiner Hand ist für 5 Süßigkeiten!") 
                
say() 
                
say("Okay Okay wir tauschen los!!") 
                
say("Endlich ich dachte schon du gibst sie mir nie!!") 
                
say("Hier nimm das als tausch") 
                
say("und jetzt lass mich in ruhe!!") 
                
pc.removeitem("50183", 5) 
                
local r=number(1, 39) 
                if 
1>=r then 
                    pc
.give_item2("70102", 10) 
                    
say("Das Süßigkeitenmonster hat dir") 
                    
say_item(70102) 
                    
say("gegeben!")  
                elseif 
2>=r then 
                    pc
.give_item2("70102", 15) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(70102) 
                        
say("gegeben!") 
                elseif 
3>=r then 
                    pc
.give_item2("70102", 5) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(70102) 
                        
say("gegeben!") 
                elseif 
4>=r then 
                        say
("Das Süßigkeitenmonster hat dir") 
                        
say_item(70024) 
                        
say("gegeben!") 
                        
pc.give_item2("70024", 10)  
                elseif 
5>=r then 
                    pc
.give_item2("70024", 15) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(70024) 
                        
say("gegeben!") 
                elseif 
6>=r then 
                    pc
.give_item2("70024", 5) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(70024) 
                        
say("gegeben!") 
                elseif 
7>=r then 
                    pc
.give_item2("50513", 1) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(50513) 
                        
say("gegeben!")  
                elseif 
8>=r then 
                    pc
.give_item2("50513", 3) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(50513) 
                        
say("gegeben!") 
                elseif 
9>=r then 
                    pc
.give_item2("50513", 5) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(50513) 
                        
say("gegeben!") 
                elseif 
10>=r then 
                    pc
.give_item2("72723", 1) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(72723) 
                        
say("gegeben!") 
                elseif 
11>=r then 
                    pc
.give_item2("72727", 1) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(72727) 
                        
say("gegeben!") 
                elseif 
12>=r then 
                    pc
.give_item2("27987", 1) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(27987) 
                        
say("gegeben!") 
                elseif 
13>=r then 
                    pc
.give_item2("27987", 2) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(27987) 
                        
say("gegeben!") 
                elseif 
14>=r then 
                    pc
.give_item2("27987", 3) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(27987) 
                        
say("gegeben!") 
                elseif 
15>=r then 
                    pc
.give_item2("27987", 5) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(27987) 
                        
say("gegeben!") 
                elseif 
16>=r then 
                    pc
.give_item2("27933", 1) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(27933) 
                        
say("gegeben!") 
                elseif 
17>=r then 
                    pc
.give_item2("27933", 2) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(27933) 
                        
say("gegeben!") 
                elseif 
18>=r then 
                    pc
.give_item2("27933", 3) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(27933) 
                        
say("gegeben!") 
                elseif 
19>=r then 
                    pc
.give_item2("27934", 1) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(27934) 
                        
say("gegeben!") 
                elseif 
20>=r then 
                    pc
.give_item2("27934", 2) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(27934) 
                        
say("gegeben!") 
                elseif 
21>=r then 
                    pc
.give_item2("27934", 3) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(27934) 
                        
say("gegeben!") 
                elseif 
22>=r then 
                    pc
.give_item2("27932", 1) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(27932) 
                        
say("gegeben!") 
                elseif 
23>=r then 
                    pc
.give_item2("27932", 2) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(27932) 
                        
say("gegeben!") 
                elseif 
24>=r then 
                    pc
.give_item2("27932", 3) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(27932) 
                        
say("gegeben!") 
                elseif 
25>=r then 
                    pc
.give_item2("50123", 1) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(50123) 
                        
say("gegeben!")  
                elseif 
26>=r then 
                    pc
.give_item2("51001", 30) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(51001) 
                        
say("gegeben!")  
                elseif 
27>=r then 
                    pc
.give_item2("51002", 1) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(51002) 
                        
say("gegeben!") 
                elseif 
28>=r then 
                    pc
.give_item2("50513", 10) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(50513) 
                        
say("gegeben!") 
                elseif 
29>=r then 
                    pc
.give_item2("39001", 10) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(39001) 
                        
say("gegeben!") 
                elseif 
30>=r then 
                    pc
.give_item2("53005", 1) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(53005) 
                        
say("gegeben!") 
                elseif 
31>=r then 
                    pc
.give_item2("39032", 1) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(39032) 
                        
say("gegeben!") 
                elseif 
32>=r then 
                    pc
.give_item2("39035", 50) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(39035) 
                        
say("gegeben!") 
                elseif 
33>=r then 
                    pc
.give_gold("1000000") 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say("1.000.000 Yang gegeben!") 
                elseif 
34>=r then 
                    pc
.give_gold("500000") 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say("500.000 Yang gegeben!") 
                elseif 
35>=r then 
                    pc
.give_gold("50000") 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say("50.000 Yang gegeben!") 
                elseif 
36>=r then 
                    pc
.give_gold("250000") 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say("250.000 Yang gegeben!") 
                elseif 
37>=r then 
                    pc
.give_item2("50183", 1) 
                        
say() 
                        
say_title("Ihhhh gitt... Ist das lackritz?") 
                        
say("Behalt das zeug!") 
                        
say() 
                elseif 
38>=r then 
                    pc
.give_item2("50183", 1) 
                        
say() 
                        
say_title("Ihhhh gitt... Ist das Lackritz?") 
                        
say("Behalt das zeug!") 
                        
say() 
                elseif 
39>=r then 
                    pc
.give_item2("50183", 1) 
                        
say() 
                        
say_title("Ihhhh gitt... Ist das Lackritz?") 
                        
say("Behalt das zeug!") 
                
end 
            
else 
                
say("Zieh ab für weniger als 5 Bonbons kriegst du nichts!") 
            
end
        end 
    end 
end 
07/27/2014 22:28 abcdefghijklmonp#10402
Quote:
Originally Posted by .Delta View Post
dir fehlt ein end am ende.
hab auch mal die ganzen returns rausgenommen..
PHP Code:
quest suesigkeit begin 
    state start begin 
        when 9004.chat
."Süßigkeiten!" begin 
            
if pc.count_item(50183)>4 then 
                say_title
("") 
                
say("Gib sie mir!!!") 
                
say("Los Los Los!!") 
                
say("Was nicht umsonst?") 
                
say("Ich geb dir was in meiner Hand ist für 5 Süßigkeiten!") 
                
say() 
                
say("Okay Okay wir tauschen los!!") 
                
say("Endlich ich dachte schon du gibst sie mir nie!!") 
                
say("Hier nimm das als tausch") 
                
say("und jetzt lass mich in ruhe!!") 
                
pc.removeitem("50183", 5) 
                
local r=number(1, 39) 
                if 
1>=r then 
                    pc
.give_item2("70102", 10) 
                    
say("Das Süßigkeitenmonster hat dir") 
                    
say_item(70102) 
                    
say("gegeben!")  
                elseif 
2>=r then 
                    pc
.give_item2("70102", 15) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(70102) 
                        
say("gegeben!") 
                elseif 
3>=r then 
                    pc
.give_item2("70102", 5) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(70102) 
                        
say("gegeben!") 
                elseif 
4>=r then 
                        say
("Das Süßigkeitenmonster hat dir") 
                        
say_item(70024) 
                        
say("gegeben!") 
                        
pc.give_item2("70024", 10)  
                elseif 
5>=r then 
                    pc
.give_item2("70024", 15) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(70024) 
                        
say("gegeben!") 
                elseif 
6>=r then 
                    pc
.give_item2("70024", 5) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(70024) 
                        
say("gegeben!") 
                elseif 
7>=r then 
                    pc
.give_item2("50513", 1) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(50513) 
                        
say("gegeben!")  
                elseif 
8>=r then 
                    pc
.give_item2("50513", 3) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(50513) 
                        
say("gegeben!") 
                elseif 
9>=r then 
                    pc
.give_item2("50513", 5) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(50513) 
                        
say("gegeben!") 
                elseif 
10>=r then 
                    pc
.give_item2("72723", 1) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(72723) 
                        
say("gegeben!") 
                elseif 
11>=r then 
                    pc
.give_item2("72727", 1) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(72727) 
                        
say("gegeben!") 
                elseif 
12>=r then 
                    pc
.give_item2("27987", 1) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(27987) 
                        
say("gegeben!") 
                elseif 
13>=r then 
                    pc
.give_item2("27987", 2) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(27987) 
                        
say("gegeben!") 
                elseif 
14>=r then 
                    pc
.give_item2("27987", 3) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(27987) 
                        
say("gegeben!") 
                elseif 
15>=r then 
                    pc
.give_item2("27987", 5) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(27987) 
                        
say("gegeben!") 
                elseif 
16>=r then 
                    pc
.give_item2("27933", 1) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(27933) 
                        
say("gegeben!") 
                elseif 
17>=r then 
                    pc
.give_item2("27933", 2) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(27933) 
                        
say("gegeben!") 
                elseif 
18>=r then 
                    pc
.give_item2("27933", 3) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(27933) 
                        
say("gegeben!") 
                elseif 
19>=r then 
                    pc
.give_item2("27934", 1) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(27934) 
                        
say("gegeben!") 
                elseif 
20>=r then 
                    pc
.give_item2("27934", 2) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(27934) 
                        
say("gegeben!") 
                elseif 
21>=r then 
                    pc
.give_item2("27934", 3) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(27934) 
                        
say("gegeben!") 
                elseif 
22>=r then 
                    pc
.give_item2("27932", 1) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(27932) 
                        
say("gegeben!") 
                elseif 
23>=r then 
                    pc
.give_item2("27932", 2) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(27932) 
                        
say("gegeben!") 
                elseif 
24>=r then 
                    pc
.give_item2("27932", 3) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(27932) 
                        
say("gegeben!") 
                elseif 
25>=r then 
                    pc
.give_item2("50123", 1) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(50123) 
                        
say("gegeben!")  
                elseif 
26>=r then 
                    pc
.give_item2("51001", 30) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(51001) 
                        
say("gegeben!")  
                elseif 
27>=r then 
                    pc
.give_item2("51002", 1) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(51002) 
                        
say("gegeben!") 
                elseif 
28>=r then 
                    pc
.give_item2("50513", 10) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(50513) 
                        
say("gegeben!") 
                elseif 
29>=r then 
                    pc
.give_item2("39001", 10) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(39001) 
                        
say("gegeben!") 
                elseif 
30>=r then 
                    pc
.give_item2("53005", 1) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(53005) 
                        
say("gegeben!") 
                elseif 
31>=r then 
                    pc
.give_item2("39032", 1) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(39032) 
                        
say("gegeben!") 
                elseif 
32>=r then 
                    pc
.give_item2("39035", 50) 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say_item(39035) 
                        
say("gegeben!") 
                elseif 
33>=r then 
                    pc
.give_gold("1000000") 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say("1.000.000 Yang gegeben!") 
                elseif 
34>=r then 
                    pc
.give_gold("500000") 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say("500.000 Yang gegeben!") 
                elseif 
35>=r then 
                    pc
.give_gold("50000") 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say("50.000 Yang gegeben!") 
                elseif 
36>=r then 
                    pc
.give_gold("250000") 
                        
say("Das Süßigkeitenmonster hat dir") 
                        
say("250.000 Yang gegeben!") 
                elseif 
37>=r then 
                    pc
.give_item2("50183", 1) 
                        
say() 
                        
say_title("Ihhhh gitt... Ist das lackritz?") 
                        
say("Behalt das zeug!") 
                        
say() 
                elseif 
38>=r then 
                    pc
.give_item2("50183", 1) 
                        
say() 
                        
say_title("Ihhhh gitt... Ist das Lackritz?") 
                        
say("Behalt das zeug!") 
                        
say() 
                elseif 
39>=r then 
                    pc
.give_item2("50183", 1) 
                        
say() 
                        
say_title("Ihhhh gitt... Ist das Lackritz?") 
                        
say("Behalt das zeug!") 
                
end 
            
else 
                
say("Zieh ab für weniger als 5 Bonbons kriegst du nichts!") 
            
end
        end 
    end 
end 
Danke dir :)

Edit:
Jetzt funkt die Item ausgabe nicht mehr :/
07/27/2014 23:56 .yorliK#10403
Quote:
Originally Posted by abcdefghijklmonp View Post
Danke dir :)

Edit:
Jetzt funkt die Item ausgabe nicht mehr :/
Versuchs mal hiermit:
Code:
quest suesigkeit begin 
	state start begin 
		when 9004.chat."Süßigkeiten!" begin 
			if pc.count_item(50183)<=4 then
				say_title("")
				say("Zieh ab für weniger als 5 Bonbons kriegst du nichts!")
			else
				say_title("") 
				say("Gib sie mir!!!") 
				say("Los Los Los!!") 
				say("Was nicht umsonst?") 
				say("Ich geb dir was in meiner Hand ist für 5 Süßigkeiten!") 
				say("")
				if select("Weiter", "Abbrechen")==2 then return end
				say_title("")
				say("Okay Okay wir tauschen los!!") 
				say("Endlich ich dachte schon du gibst sie mir nie!!") 
				say("Hier nimm das als tausch") 
				say("und jetzt lass mich in ruhe!!")
				if pc.count_item(50183)<=4 then return end 
				pc.remove_item(50183, 5) 
				local r=number(1, 39) 
				if 1==r then 
					pc.give_item2(70102, 10) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(70102) 
					say("gegeben!")  
				elseif 2==r then 
					pc.give_item2(70102, 15) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(70102) 
					say("gegeben!") 
				elseif 3==r then 
					pc.give_item2(70102, 5) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(70102) 
					say("gegeben!") 
				elseif 4==r then 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(70024) 
					say("gegeben!") 
					pc.give_item2(70024, 10)  
				elseif 5==r then 
					pc.give_item2("70024", 15) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(70024) 
					say("gegeben!") 
				elseif 6==r then 
					pc.give_item2(70024, 5) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(70024) 
					say("gegeben!") 
				elseif 7==r then 
					pc.give_item2(50513, 1) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(50513) 
					say("gegeben!")  
				elseif 8==r then 
					pc.give_item2(50513, 3) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(50513) 
					say("gegeben!") 
				elseif 9==r then 
					pc.give_item2(50513, 5) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(50513) 
					say("gegeben!") 
				elseif 10==r then 
					pc.give_item2("72723", 1) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(72723) 
					say("gegeben!") 
				elseif 11==r then 
					pc.give_item2(72727, 1) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(72727) 
					say("gegeben!") 
				elseif 12==r then 
					pc.give_item2(27987, 1) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(27987) 
					say("gegeben!") 
				elseif 13==r then 
					pc.give_item2(27987, 2) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(27987) 
					say("gegeben!") 
				elseif 14==r then 
					pc.give_item2(27987, 3) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(27987) 
					say("gegeben!") 
				elseif 15==r then 
					pc.give_item2(27987, 5) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(27987) 
					say("gegeben!") 
				elseif 16==r then 
					pc.give_item2(27933, 1) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(27933) 
					say("gegeben!") 
				elseif 17==r then 
					pc.give_item2(27933, 2) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(27933) 
					say("gegeben!") 
				elseif 18==r then 
					pc.give_item2(27933, 3) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(27933) 
					say("gegeben!") 
				elseif 19==r then 
					pc.give_item2(27934, 1) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(27934) 
					say("gegeben!") 
				elseif 20==r then 
					pc.give_item2(27934, 2) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(27934) 
					say("gegeben!") 
				elseif 21==r then 
					pc.give_item2(27934, 3) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(27934) 
					say("gegeben!") 
				elseif 22==r then 
					pc.give_item2(27932, 1) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(27932) 
					say("gegeben!") 
				elseif 23==r then 
					pc.give_item2(27932, 2) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(27932) 
					say("gegeben!") 
				elseif 24==r then 
					pc.give_item2(27932, 3) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(27932) 
					say("gegeben!") 
				elseif 25==r then 
					pc.give_item2(50123, 1) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(50123) 
					say("gegeben!")  
				elseif 26==r then 
					pc.give_item2(51001, 30) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(51001) 
					say("gegeben!")  
				elseif 27==r then 
					pc.give_item2(51002, 1) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(51002) 
					say("gegeben!") 
				elseif 28==r then 
					pc.give_item2(50513, 10) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(50513) 
					say("gegeben!") 
				elseif 29==r then 
					pc.give_item2(39001, 10) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(39001) 
					say("gegeben!") 
				elseif 30==r then 
					pc.give_item2(53005, 1) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(53005) 
					say("gegeben!") 
				elseif 31==r then 
					pc.give_item2(39032, 1) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(39032) 
					say("gegeben!") 
				elseif 32==r then 
					pc.give_item2(39035, 50) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(39035) 
					say("gegeben!") 
				elseif 33==r then 
					pc.give_gold(1000000) 
					say("Das Süßigkeitenmonster hat dir") 
					say("1.000.000 Yang gegeben!") 
				elseif 34==r then 
					pc.give_gold(500000) 
					say("Das Süßigkeitenmonster hat dir") 
					say("500.000 Yang gegeben!") 
				elseif 35==r then 
					pc.give_gold(50000) 
					say("Das Süßigkeitenmonster hat dir") 
					say("50.000 Yang gegeben!") 
				elseif 36==r then 
					pc.give_gold(250000) 
					say("Das Süßigkeitenmonster hat dir") 
					say("250.000 Yang gegeben!") 
				elseif 37==r then 
					pc.give_item2(50183, 1) 
					say("") 
					say_title("Ihhhh gitt... Ist das lackritz?") 
					say("Behalt das zeug!") 
					say("") 
				elseif 38==r then 
					pc.give_item2(50183, 1) 
					say("") 
					say_title("Ihhhh gitt... Ist das Lackritz?") 
					say("Behalt das zeug!") 
					say("") 
				elseif 39==r then 
					pc.give_item2(50183, 1) 
					say("") 
					say_title("Ihhhh gitt... Ist das Lackritz?") 
					say("Behalt das zeug!") 
					say("")
				end 
			end
		end 
	end 
end
07/28/2014 00:08 abcdefghijklmonp#10404
Quote:
Originally Posted by Kilroy. View Post
Versuchs mal hiermit:
Code:
quest suesigkeit begin 
	state start begin 
		when 9004.chat."Süßigkeiten!" begin 
			if pc.count_item(50183)<=4 then
				say_title("")
				say("Zieh ab für weniger als 5 Bonbons kriegst du nichts!")
			else
				say_title("") 
				say("Gib sie mir!!!") 
				say("Los Los Los!!") 
				say("Was nicht umsonst?") 
				say("Ich geb dir was in meiner Hand ist für 5 Süßigkeiten!") 
				say("")
				if select("Weiter", "Abbrechen")==2 then return end
				say_title("")
				say("Okay Okay wir tauschen los!!") 
				say("Endlich ich dachte schon du gibst sie mir nie!!") 
				say("Hier nimm das als tausch") 
				say("und jetzt lass mich in ruhe!!")
				if pc.count_item(50183)<=4 then return end 
				pc.remove_item(50183, 5) 
				local r=number(1, 39) 
				if 1==r then 
					pc.give_item2(70102, 10) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(70102) 
					say("gegeben!")  
				elseif 2==r then 
					pc.give_item2(70102, 15) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(70102) 
					say("gegeben!") 
				elseif 3==r then 
					pc.give_item2(70102, 5) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(70102) 
					say("gegeben!") 
				elseif 4==r then 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(70024) 
					say("gegeben!") 
					pc.give_item2(70024, 10)  
				elseif 5==r then 
					pc.give_item2("70024", 15) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(70024) 
					say("gegeben!") 
				elseif 6==r then 
					pc.give_item2(70024, 5) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(70024) 
					say("gegeben!") 
				elseif 7==r then 
					pc.give_item2(50513, 1) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(50513) 
					say("gegeben!")  
				elseif 8==r then 
					pc.give_item2(50513, 3) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(50513) 
					say("gegeben!") 
				elseif 9==r then 
					pc.give_item2(50513, 5) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(50513) 
					say("gegeben!") 
				elseif 10==r then 
					pc.give_item2("72723", 1) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(72723) 
					say("gegeben!") 
				elseif 11==r then 
					pc.give_item2(72727, 1) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(72727) 
					say("gegeben!") 
				elseif 12==r then 
					pc.give_item2(27987, 1) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(27987) 
					say("gegeben!") 
				elseif 13==r then 
					pc.give_item2(27987, 2) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(27987) 
					say("gegeben!") 
				elseif 14==r then 
					pc.give_item2(27987, 3) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(27987) 
					say("gegeben!") 
				elseif 15==r then 
					pc.give_item2(27987, 5) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(27987) 
					say("gegeben!") 
				elseif 16==r then 
					pc.give_item2(27933, 1) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(27933) 
					say("gegeben!") 
				elseif 17==r then 
					pc.give_item2(27933, 2) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(27933) 
					say("gegeben!") 
				elseif 18==r then 
					pc.give_item2(27933, 3) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(27933) 
					say("gegeben!") 
				elseif 19==r then 
					pc.give_item2(27934, 1) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(27934) 
					say("gegeben!") 
				elseif 20==r then 
					pc.give_item2(27934, 2) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(27934) 
					say("gegeben!") 
				elseif 21==r then 
					pc.give_item2(27934, 3) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(27934) 
					say("gegeben!") 
				elseif 22==r then 
					pc.give_item2(27932, 1) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(27932) 
					say("gegeben!") 
				elseif 23==r then 
					pc.give_item2(27932, 2) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(27932) 
					say("gegeben!") 
				elseif 24==r then 
					pc.give_item2(27932, 3) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(27932) 
					say("gegeben!") 
				elseif 25==r then 
					pc.give_item2(50123, 1) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(50123) 
					say("gegeben!")  
				elseif 26==r then 
					pc.give_item2(51001, 30) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(51001) 
					say("gegeben!")  
				elseif 27==r then 
					pc.give_item2(51002, 1) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(51002) 
					say("gegeben!") 
				elseif 28==r then 
					pc.give_item2(50513, 10) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(50513) 
					say("gegeben!") 
				elseif 29==r then 
					pc.give_item2(39001, 10) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(39001) 
					say("gegeben!") 
				elseif 30==r then 
					pc.give_item2(53005, 1) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(53005) 
					say("gegeben!") 
				elseif 31==r then 
					pc.give_item2(39032, 1) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(39032) 
					say("gegeben!") 
				elseif 32==r then 
					pc.give_item2(39035, 50) 
					say("Das Süßigkeitenmonster hat dir") 
					say_item(39035) 
					say("gegeben!") 
				elseif 33==r then 
					pc.give_gold(1000000) 
					say("Das Süßigkeitenmonster hat dir") 
					say("1.000.000 Yang gegeben!") 
				elseif 34==r then 
					pc.give_gold(500000) 
					say("Das Süßigkeitenmonster hat dir") 
					say("500.000 Yang gegeben!") 
				elseif 35==r then 
					pc.give_gold(50000) 
					say("Das Süßigkeitenmonster hat dir") 
					say("50.000 Yang gegeben!") 
				elseif 36==r then 
					pc.give_gold(250000) 
					say("Das Süßigkeitenmonster hat dir") 
					say("250.000 Yang gegeben!") 
				elseif 37==r then 
					pc.give_item2(50183, 1) 
					say("") 
					say_title("Ihhhh gitt... Ist das lackritz?") 
					say("Behalt das zeug!") 
					say("") 
				elseif 38==r then 
					pc.give_item2(50183, 1) 
					say("") 
					say_title("Ihhhh gitt... Ist das Lackritz?") 
					say("Behalt das zeug!") 
					say("") 
				elseif 39==r then 
					pc.give_item2(50183, 1) 
					say("") 
					say_title("Ihhhh gitt... Ist das Lackritz?") 
					say("Behalt das zeug!") 
					say("")
				end 
			end
		end 
	end 
end


Top danke dir :)
07/28/2014 18:05 .Soυzα#10405
Moin Elitepvpers, ich habe hier eine kleine Mount quest was ich vielleicht erklärt bekommen haben möchte wenn es geht.

Und zwar ist die so aufgebaut.
Code:
quest ride begin
	state start begin
		function Ride( vnum )
			ride_info = {
			[71124] = { 20114,	60*60*24*365*60,apply.MAX_HP,3000,1,	true	}, --Weißer Löwe
			[71125] = { 20115,	60*60*24*365*60,apply.ATTBONUS_MONSTER,20,1,	true	}, --Kriegskeiler
			[71126] = { 20116,	60*60*24*365*60,apply.CRITICAL_PCT,10,1,	true	}, --Streitwolf-Siegel
			[53030] = { 20117,	60*60*24*365*60,apply.STEAL_HP,10,1,	true	}, --Sturmtiger-Siegel/Leopard
			[53029] = { 20118,	60*60*24*365*60,apply.DEF_GRADE_BONUS,150,1,	true	}, --Schlachtenlöwen-Siegel/Panther
			
			[53024] = { 20120,	60*60*24*365*60,apply.ATTBONUS_MONSTER,15,1,	true	}, --Königstiger-Siegel/Junger-Mao
			[53025] = { 20121,	60*60*24*365*60,apply.ATTBONUS_MONSTER,15,1,	true	}, --Königstiger-Siegel/Wilder-Mao
			[53026] = { 20122,	60*60*24*365*60,apply.ATTBONUS_MONSTER,20,1,	true	}, --Königstiger-Siegel/Tapferer-Mao
			[71140] = { 20123,	60*60*24*365*60,apply.ATTBONUS_MONSTER,15,1,	true	}, --Königstiger-Siegel
			[71141] = { 20124,	60*60*24*365*60,apply.ATTBONUS_MONSTER,15,1,	true	}, --Königstiger-Siegel
			[71142] = { 20125,	60*60*24*365*60,apply.ATTBONUS_MONSTER,15,1,	true	}, --Königstiger-Siegel
			
			[71161] = { 20219,	60*60*24*365*60,apply.ATTBONUS_MONSTER,50,1,	true	}, --Equus Purpur
			
			[52091] = { 20223,	60*60*24*365*60,apply.ATTBONUS_MONSTER,45,1,	true	}, --Dinosaurier-Siegel
			[52092] = { 20224,	60*60*24*365*60,apply.ATTBONUS_MONSTER,45,1,	true	}, --Dinosaurier-Siegel
			[52093] = { 20225,	60*60*24*365*60,apply.ATTBONUS_MONSTER,500,1,	true	}, --Dinosaurier-Siegel
			
			[71164] = { 20220,	60*60*24*365*60,apply.ATTBONUS_MONSTER,50,1,	true	}, --Komet-Siegel
			
			[71165] = { 20221,	60*60*24*365*60,apply.ATTBONUS_MONSTER,75,1,	true	}, --Polarprädator-Siegel
			[71166] = { 20222,	60*60*24*365*60,apply.ATTBONUS_MONSTER,75,1,	true	}, --Panzerpanda-Siegel
			
			[52094] = { 20110,	60*60*24*365*60,apply.ATTBONUS_MONSTER,80,1,	true	}, --Einhorn-Siegel
			[52095] = { 20111,	60*60*24*365*60,apply.ATTBONUS_MONSTER,80,1,	true	}, --Einhorn-Siegel
			
			[52001] = { 20201,	60*60*24*365*60,apply.ATTBONUS_MONSTER,5,1,	true	}, --Junger Keiler (Siegel)
			[52016] = { 20202,	60*60*24*365*60,apply.ATTBONUS_MONSTER,5,1,	true	}, --Junger Wolf (Siegel)
			[52046] = { 20203,	60*60*24*365*60,apply.ATTBONUS_MONSTER,5,1,	true	}, --Junger Tieger (Siegel)
			[52031] = { 20204,	60*60*24*365*60,apply.ATTBONUS_MONSTER,5,1,	true	}, --Junger Löwe (Siegel)
			
			[52006] = { 20205,	60*60*24*365*60,apply.ATTBONUS_MONSTER,10,1,	true	}, --Wilder Keiler (Siegel)
			[52021] = { 20206,	60*60*24*365*60,apply.ATTBONUS_MONSTER,10,1,	true	}, --Wilder Wolf (Siegel)
			[52051] = { 20207,	60*60*24*365*60,apply.ATTBONUS_MONSTER,10,1,	true	}, --Wilder Tieger (Siegel)
			[52036] = { 20208,	60*60*24*365*60,apply.ATTBONUS_MONSTER,10,1,	true	}, --Wilder Löwe (Siegel)
			
			[52011] = { 20209,	60*60*24*365*60,apply.ATT_GRADE_BONUS,150,1,	true	}, --Wilder Keiler (Siegel)
			[52026] = { 20210,	60*60*24*365*60,apply.MAX_HP,2000,1,	true	}, --Wilder Wolf (Siegel)
			[52056] = { 20211,	60*60*24*365*60,apply.DEF_GRADE_BONUS,150,1,	true	}, --Wilder Tieger (Siegel)
			[52041] = { 20212,	60*60*24*365*60,apply.CRITICAL_PCT,20,1,	true	}, --Wilder Löwe (Siegel)
			
			}
			if pc.level < ride_info[vnum][5] then
				syschat("Dein Level ist zu niedrig für dieses Reittier!")
				syschat("Du würdest es nicht zähmen können...")
				return
			elseif pc.is_polymorphed() then
				syschat("Während du verwandelt bist kannst du kein Reittier beschwören.")
				return
			elseif pc.is_riding() then
				syschat("Während du reitest kannst du kein Reittier beschwören.")
				return
			else
				pc.mount( ride_info[vnum][1], ride_info[vnum][2] )
				pc.mount_bonus( ride_info[vnum][3], ride_info[vnum][4], ride_info[vnum][2] )
				if ride_info[vnum][6] == true then
					--pc.remove_item(vnum, 1)
				end
			end
		end
		
		 when 52002.use or 52003.use or 52004.use or 71114.use or 71115.use or 71116.use or 71117.use or 71118.use or 71119.use or 71120.use or 71121.use --normale siegel 
			or 71124.use or 71125.use or 71126.use or 53030.use or 53029.use or 53024.use or 53025.use or 53026.use --48H reittier siegel
			or 80110.use or 80111.use or 80112.use or 80113.use or 80114.use --Anfangs Siegel Starterse
			or 71164.use or 53024.use or 71165.use or 71166.use or 53025.use or 53026.use or 71140.use or 71141.use or 52094.use or 52095.use or 71161.use or 52091.use or 52092.use or 52093.use or 71142.use or 52001.use or 52016.use or 52046.use or 52031.use or 52006.use or 52021.use or 52051.use or 52036.use or 52011.use or 52026.use or 52056.use or 52041.use begin --Rappensiegel
			if pc.get_map_index() == 113 or
				pc.get_map_index() == 118 or
				pc.get_map_index() == 119 or
				pc.get_map_index() == 120 or
				pc.get_map_index() == 122 or
				pc.get_map_index() == 123 or
				pc.get_map_index() == 124 or
				pc.get_map_index() == 126 or
				pc.get_map_index() == 127 or
				pc.get_map_index() == 128 and not pc.is_gm() then
				chat("Du darfst dein Reittier hier nicht beschwören.")
				return
			end
			ride.Ride(item.get_vnum())
		end
		
		when login begin
			if pc.get_map_index() == 113 or
			pc.get_map_index() == 118 or
			pc.get_map_index() == 119 or
			pc.get_map_index() == 120 or
			pc.get_map_index() == 122 or
			pc.get_map_index() == 123 or
			pc.get_map_index() == 124 or
			pc.get_map_index() == 126 or
			pc.get_map_index() == 127 or
			pc.get_map_index() == 128 and not pc.is_gm() then
				chat("Du darfst dein Reittier hier nicht beschwören.")
				return
			end
			local vnum, remain_time = pc.get_special_ride_vnum()
			if vnum != 0 then
				if pc.is_polymorphed() then
					return
				elseif pc.is_riding() then
					return
				else
					ride.Ride(vnum, remain_time)
				end
			end
		end
	end
end

Jetzt würde ich gerne wissen was dieses hier bedeutet:
[Only registered and activated users can see links. Click Here To Register...]

Und würde gerne auch wissen wie ich einen Mount 2 Bonis gebe.
07/28/2014 18:08 .Delta#10406
60*60*24*365*60 = Laufzeit in Sekunden denke ich mal, hier ca 60 Jahre.

apply.[...] = Bonus der hinzugefügt werden soll.
07/29/2014 21:10 Config Setting#10407
Hi

NP Quest

1 of absolute kingdom against the player I want you to np
If you're not able to stop every 10 minutes np
give the dog one last thing definite NPs in NP
07/31/2014 14:36 killerrex11#10408
Hallo Brauche mal eure Hilfe bitte wolte wissen wo man denn port 209 einträgt bin mir nicht sicher wo genau kann einer mir es machen hier ist die quest

PHP Code:
quest devilscatacomb begin
    state start begin
    
        when logout begin
            pc
.remove_item(30311, pc.count_item(30311))
            
pc.remove_item(30312, pc.count_item(30312))
            
pc.remove_item(30313, pc.count_item(30313))
        
end
        
        
        when login begin
            
if pc.get_map_index() == special.dc_map_index then
                
if devilscatacomb.getLevelByCord() > 1 or not next_time_is_now() then
                
                    pc
.warp((5913)*100, (993)*100, 65) -- 5913x993  591374x
                    
                end
                
                pc
.set_warp_location(65, 5913, 993)
                
                
say("Du musst den Seelenkristall-Schlüssel droppen")
                
say("und dann auf die Statue des Kud ziehen, um in")
                
say("die 2. Ebene zu gelangen...")
                
say("")
                
say_item_vnum(30311)
                
say("") 
                
            elseif 
pc.get_map_index() >= (special.dc_map_index * 10000) and pc.get_map_index() <= (special.dc_map_index_2 * 10000) then            
                pc
.set_warp_location(65, 5913, 993)
            
end
        end
        
        
        when 20367.chat
."The Devil's Catacomb" begin  --Enter the Devil Catacomb
            
if pc.get_level() < 75 then
                say_title
(mob_name(npc.get_race()) ..":")
                
say("Du möchtest in die Katakomben des Teufels?")
                
say("")
                
say("So einfach geht das nicht, denn du hast")
                
say("nicht die nötige Erfahrung dazu.")
                
say("Komme am Besten wieder, wenn du Level 75")
                
say("erreicht hast... ")
                    else
                        
say_title(mob_name(npc.get_race()) ..":")
                        
say("Du möchtest in die Katakomben des Teufels?")
                        
say("")
                        
say("Ich kann dich gerne teleportieren, doch")
                        
say("ich möchte dich warnen: Es sind schon viele")
                        
say("eingetreten aber nicht mehr zurück gekommen!")
                        
say("")
                        
say("Soll ich dich ernsthaft teleportieren?")
                        
say("")
                        
local s = select("Ja","Nein")
                        if 
s == 2 then
                            
return
                        elseif 
s == 1 then
                            pc
.warp(315300, 1209200)
                        
end
                    end    
                end    
        
        
        when kill with pc
.get_map_index() == special.dc_map_index and pc.countitem(30311) < 1 begin
            local rnd 
= number(1,100)
            if 
rnd == 6 then
                game
.drop_item_with_ownership(30311, 1)
            
end
        end
        
        
        when 30101.take with item
.vnum == 30311 begin --Teleport to 2nd Stage with the passenger ticket
        
            
if party.is_party() then
            
                
if party.is_leader() then
                    say
("Das Eingangsportal wurde geöffnet.")
                    
say("Geh schnell hindurch!")
                    
wait()
                    
say("Hier beginnt das wahre Abenteuer! Du hast")
                    
say("jedoch nur eine Stunde Zeit, um die Devil's")
                    
say("Catacomb zu erforschen.")
                    
item.remove()
                    
sys_log(0, "DC create try by "..pc.get_name())
                    
d.join(special.dc_map_index)
                else
                    
say("Nur der Leiter der Gruppe darf bestimmen.")
                
end
                
            
else
                
say("Ohne Gruppe kommst du nicht weiter.")
            
end
            
        end
        
        
        when login with devilscatacomb
.isInCatacomb() begin
            say
("Zerstöre das Siegel dieses Tores, um die 3. Ebene")
            
say("zu erreichen!")
            
say("Du hast noch 60 Minute(n) Zeit.")
            
d.spawn_mob(30103, 740, 227)
            
loop_timer("item_check", 10)
            if 
party.is_leader() then
                d
.set_regen_file("data/dungeon/dc/dc_regen1.txt")
                
d.regen_file("data/dungeon/dc/dc_doors.txt")
                
d.setf("level", 2) 
                
server_timer("runtime", 6, pc.get_map_index())
            elseif 
pc.is_gm() and not party.is_party() then
                d
.set_regen_file("data/dungeon/dc/dc_regen1.txt")
                
d.regen_file("data/dungeon/dc/dc_doors.txt")
                
d.setf("level", 2)
                
server_timer("runtime", 6, pc.get_map_index())
            
end
        end
        
        
        when item_check
.timer with d.getf("level") == 3 begin
            
if pc.countitem(30319) >= 1 then
                say
("Du hast den Schrumpfkopf und wirst nun auf die")
                
say("3. Ebene teleportiert.")
                
pc.remove_item(30319, 1)
                
timer("item_check_end", 2)
            else
                
d.exit_all()
            
end
        end
        
        
        when item_check_end
.timer begin
            cleartimer
("item_check")
        
end
        
        
        when runtime
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                d
.setf("time", get_time()+60*60*1)
                
devilscatacomb.getTimeLeft()
                
server_timer("runtime_end", 60*60, get_server_timer_arg())
            
end
        end
        
        
        when runtime_end
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                d
.notice("Die Zeit ist um.")
                
d.exit_all()
            
end
        end

        
        when 30103.click with devilscatacomb
.isInCatacomb() and devilscatacomb.getLevelByCord() == 2 and npc.lock() begin
            say
("Während du den Stein genauer untersuchst, kannst")
            
say("du eine Gravur erkennen.")
            
wait()
            
say("Lediglich der Besitzer des Schrumpfkopfes")
            
say("darf eintreten, nachdem die Siegel dreier Türen")
            
say("aufgebrochen wurden.")
            
say("Wenn du dieses Relikt nicht bei dir trägst,")
            
say("wirst du aus der Devil's Catacomb teleportiert.")
            
say("")
            
wait()
            
local s = select("Ja, lass mich eintreten!", "Nein, ich möchte nicht eintreten.")
            if 
s == 2 then
                
return
            elseif 
s == 1 then
                
if pc.count_item(30319) >= 1 then
                    npc
.purge()
                    
d.setf("level", 3)
                    
d.purge()
                    
d.clear_regen()
                    
timer("dc_jump_3", 6)
                else
                    
say("Du hast keinen Schrumpfkopf und wirst nun")
                    
say("aus der Höhle teleportiert ...")
                    
pc.warp(591374, 99325, 65)
                
end
            end
        end
        
        
        when dc_jump_3
.timer begin
            d
.set_regen_file("data/dungeon/dc/dc_regen2.txt")
            
d.notice("Suche den richtigen Metinstein und zerstöre ihn!")
            
devilscatacomb.getTimeLeft()
            
d.jump_all(4451, 12282)
            
local positions = devilscatacomb.get3FloorStonePositions()
            for 
i = 1, 6 do
                
d.set_unique("fake" .. i , d.spawn_mob(8037, positions[i][1], positions[i][2]))
            
end
            d
.set_unique("real", d.spawn_mob(8037, positions[7][1], positions[7][2]))
            
server_loop_timer('dc_stone3_update', 10, pc.get_map_index())

        
end
        
        
        when dc_stone3_update
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                
if not d.is_unique_dead("real") then
                    
for i = 1, 6 do
                        if 
d.getf("fakedead" .. i) == 0 then
                            
if d.unique_get_hp_perc("fake" .. i) < 30 then
                                
if not d.is_unique_dead("fake" .. i) then
                                    d
.purge_unique("fake" .. i)
                                
end
                                d
.setf("fakedead" .. i, 1)
                                
d.notice("Du hast den falschen Metinstein zerstört. Finde den richtigen!");
                            
end
                        end
                    end
                
else
                    
server_timer("dc_stone_end3", 5, get_server_timer_arg())
                    
d.notice("Der richtige Metinstein wurde zerstört. Du darfst nun die 4. Ebene betreten.")
                
end
            
else
                
server_timer('dc_stone3_stop_timer', 1, get_server_timer_arg())
            
end
        end

        
        when dc_stone3_stop_timer
.server_timer begin
            clear_server_timer
('dc_stone3_update', get_server_timer_arg())
        
end
        
        
        when dc_stone_end3
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                clear_server_timer
('dc_stone3_update', get_server_timer_arg())
                
d.setf("level", 4)
                
d.jump_all(3347, 12810)        
                
d.clear_regen()
                
d.set_regen_file("data/dungeon/dc/dc_regen3.txt")
                
d.regen_file("data/dungeon/dc/dc_warps.txt")
                
d.spawn_mob(30104, 500, 716)
            
end
        end
        
        
        when 30104.click with devilscatacomb
.isInCatacomb() and devilscatacomb.getLevelByCord() == 4  and npc.lock() begin
            npc
.purge()
            
say_in_map(pc.get_map_index(),"Du hast es geschafft! Hier ist der Ausgang des[ENTER]Labyrinths. Steige nun in die 5. Ebene hinab.")
            
server_timer("dc4_enter", 6, pc.get_map_index())
        
end
        
        
        when dc4_enter
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                d
.jump_all(3918, 12939)
                
                
d.set_regen_file("data/dungeon/dc/dc_regen4.txt")
                
d.spawn_mob(30102, 848, 739)
                
                
local mob_pos = { {1006, 649}, {979, 829}, {691, 822}, {714, 653}, {848, 593} }
                
local rnd = number(1, 5)
                
d.spawn_mob(2591, mob_pos[rnd][1], mob_pos[rnd][2])
                
                
server_timer("dc4_message", 3, get_server_timer_arg())
            
end
        end
        
        
        when dc4_message
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                d
.notice("Besiege die Dämonenwachen, um das Fratzen-Totem zu erhalten. Es dient dir als Schlüssel zur 6. Ebene.")
                
devilscatacomb.getTimeLeft()
            
end
        end
        
        
        when 30102.take with item
.vnum == 30312 begin
            say
("Du hast das Fratze-Totem.")
            
say("Nun kannst du in die nächste Ebene!")
            
say("")
            
wait()
            
say("Viel Glück!")
            
item.remove()
            
npc.purge()
            
d.clear_regen()
            
timer("dc_level_5", 6)
        
end
        
        
        when dc_level_5
.timer begin
            d
.jump_all(4312, 12799)
            
timer("dc_level_5_start", 5)
        
end
        
        
        when dc_level_5_start
.timer begin
            d
.setf("level", 5)
            
d.notice("Besiege Charon und seine Schergen!")
            
devilscatacomb.getTimeLeft()
            
d.regen_file("data/dungeon/dc/dc_regen5.txt")
            
d.spawn_mob(2597, 1301, 699)
        
end
        
        
        when kill begin
            
if devilscatacomb.isInCatacomb() then
                
if npc.race == 2597 then
                    
if d.count_monster() < 1000 then
                        d
.setf("level", 6)
                        
d.clear_regen()
                        
timer("dc_level_5_end", 12)
                    else
                        if 
d.getf("charon_spawns") < 4 then
                            d
.spawn_mob(2597, 1301, 699)
                            
d.setf("charon_spawns", d.getf("charon_spawns") + 1)
                        else
                            
d.notice("Du hast versagt Charon hat dich mit seinen Schergen")
                            
d.notice("überlistet. Du verlässt nun die Höhle")
                            
local nextTime=get_time()+time_min_to_sec(1)
                            
d.setqf("__NEXT_TIME__", nextTime)
                            
d.exit_all()
                        
end
                    end
                end
                
                
if npc.race == 2598 and  d.getf("level") == 6 then
                    clear_server_timer
("runtime", pc.get_map_index())
                    
clear_server_timer("runtime_end", pc.get_map_index())
                    
notice_all(pc.get_name().." und "..tonumber(party.get_near_count()-1).." weitere Gruppenmitglieder haben Azrael besiegt!")
                    
timer("glory_message", 6)
                
end
                
                
if npc.race == 2591 then
                    game
.drop_item_with_ownership(30312, 1)
                
end
            end
        end
        
        
        when dc_level_5_end
.timer begin
            say_in_map
(pc.get_map_index(),"Du hast Charon besiegt! Nun wirst du[ENTER]zur letzten Ebene der Devil's Catacomb[ENTER]teleportiert.")
            
timer("dc_level_6", 3)
        
end
        
        
        when dc_level_6
.timer begin
            d
.jump_all(3145, 13187)
            
timer("dc_level_6_into", 3)
        
end
        
        when dc_level_6_into
.timer begin
            d
.regen_file("data/dungeon/dc/dc_regen6.txt")
            
d.spawn_mob(2598, 74, 1103)
            
d.notice("Besiege Azrael!")
        
end
        
        when glory_message
.timer begin
            local text 
= "Azrael wurde besiegt. Endlich herrscht[ENTER]Frieden in der Devil's Catacomb. Du wirst nun[ENTER]an die Oberfläche teleportiert."
            
say_in_map(pc.get_map_index(), text)
            
timer("dc_end", 20)    
        
end
        
        
        when dc_end
.timer begin
            local nextTime
=get_time()+time_min_to_sec(1)
            
d.setqf("__NEXT_TIME__", nextTime)
            
d.exit_all()
        
end
        
    end
    
    state _FUNC_ begin
    
        
function getLevelByCord()
        
            if 
pc.get_local_x() > 30 and pc.get_local_y() > 45 and pc.get_local_x() < 450 and pc.get_local_y() < 450 then
                
return 1
                
            
elseif pc.get_local_x() > 540 and pc.get_local_y() > 39 and pc.get_local_x() < 1000 and pc.get_local_y() < 462 then
                
return 2
                
            
elseif pc.get_local_x() > 1048 and pc.get_local_y() > 35 and pc.get_local_x() < 1455 and pc.get_local_y() < 458 then
                
return 3
                
            
elseif pc.get_local_x() > 31 and pc.get_local_y() > 541 and pc.get_local_x() < 564 and pc.get_local_y() < 1058 then
                
return 4
                
            
elseif pc.get_local_x() > 650 and pc.get_local_y() > 540 and pc.get_local_x() < 1050 and pc.get_local_y() < 955 then
                
return 5
                
            
elseif pc.get_local_x() > 1175 and pc.get_local_y() > 576 and pc.get_local_x() < 1420 and pc.get_local_y() < 810 then
                
return 6
                
            
else
                return 
0
            end
            
        end
        
        
function isInCatacomb()
        
            if 
pc.get_map_index() >= (special.dc_map_index * 10000) and pc.get_map_index() < (special.dc_map_index_2 * 10000) and pc.in_dungeon() then
                
return true
            
else
                return 
false
            end
            
        end
        
        
function get3FloorStonePositions()
        
            
local positions = 
            {
                {
1365, 352}, {1349, 150}, {1133, 167}, {1151, 364},
                {
1234, 136}, {1255, 371}, {1132, 245},
            }
            
            for 
i = 1, 6 do
            
                
local j = number(i, 7)
                
                if 
i != j then
                
                    local t 
= positions[i];
                    
positions[i] = positions[j];
                    
positions[j] = t;
                    
                
end
                
            end 
            
            
return positions
            
        end
        
        
function getTimeLeft()
        
            
local secondsLeft = (d.getf("time") - get_time())
            
local minutesLeft = math.ceil(secondsLeft / 60)
            
            
d.notice("Du hast noch "..minutesLeft.." Minute(n) Zeit.")
        
        
end
        
    end
end 
Danke
08/01/2014 12:51 Bercol#10409
Habe ein Problem mit meiner Dt Quest bei Ebene 4 (bin mir nicht sicher ob die das war) wo die 60er metins sind und man den richtigen finden muss da spawnt kein 55er metin den man als erstes killen muss damit die 60er dann spawn. value des 55er metins ist 8016 die quest ist auch da. es gibt aber 2 quests einaml deviltower_zone.quest und deviltower2.quest deviltower2.quest weiß nicht wozu die ist ist auch dabei.



deviltower_zone.quest
HTML Code:
quest deviltower_zone begin
    state start begin
		when login begin
			if pc.get_map_index() == 66 then			
				if pc.get_x() < 2048+88 or pc.get_y() < 6656+577 or pc.get_x() > 2048+236 or pc.get_y() > 6656+737 then
					pc.warp((5376+532)*100, (512+596+4)*100, 65)
				end
				pc.set_warp_location(65, 5376+532, 512+596+4)
			elseif pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then
				pc.set_warp_location(65, 5376+532, 512+596+4)
			end
		end
		when deviltower_man.chat.locale.deviltower_man_chat begin
			say_title("W踄hter des D鄝onturmes")
			if pc . get_level ( ) < 40 then 
				say("Du hast noch nicht genend Erfahrung gesammelt.")
				say("Komme wieder, wenn du Level 40 bist!") 
				return
			end
			say("M鐼htest du den D鄝onenturm betreten?") 
			local s = select ("Betreten", "Abbrechen") 
			if s == 1 then 
				pc.warp (216500, 727000) 				
			end
		end
		when devil_stone1.kill begin
			timer("devil_stone1_1", 6)
		end
	when devil_stone1_1.timer begin
		local mapto7= pc.count_item(30302)  -- Die Karte der Zin Grotte wurde aus deinem Inventar entfernt
		pc.remove_item(30302,mapto7)

		local boxto7= pc.count_item(30300)  -- Die Unbekannte Alte Kiste wurde aus deinem Inventar entfernt
		pc.remove_item(30300,boxto7)

	    d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2])
	    d.regen_file("data/dungeon/deviltower2_regen.txt")
	    d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/deviltower3_regen.txt")
	end
	--when devil_stone2.kill begin
	--d.jump_all_local(special.devil_tower[2][1], special.devil_tower[2][2])
	--end
	when devil_stone3.kill begin
	    --d.jump_all_local(special.devil_tower[3][1], special.devil_tower[3][2])
	    --d.set_exit_all_at_eliminate(6)
	    --d.set_warp_at_eliminate(6, d.get_map_index(), 100, 100)
	    --d.set_warp_at_eliminate(4, 65, 5376+532, 512+596+4)
	    d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/deviltower4_regen.txt")
	    d.check_eliminated()
	    --d.exit_all()
	end
	function get_4floor_stone_pos()
	    local positions = {
		{368, 629},
		{419, 630},
		{428, 653},
		{422, 679},
		{395, 689},
		{369, 679},
		{361, 658},
	    }
	    for i = 1, 6 do
		local j = number(i, 7)
		if i != j then
		    local t = positions[i];
		    positions[i] = positions[j];
		    positions[j] = t;
		end
	    end
	    --for i = 1, 7 do
	--	positions[i][1] = positions[i][1] * 100
	--	positions[i][2] = positions[i][2] * 100
	 --   end
	    return positions
	end
	when 8016.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
	    d.setf("level", 4)
	    -- 再現大量怪物及製造真石頭和假石頭
	    --d.regen_file("data/dungeon/deviltower4_regen.txt")
	    local positions = deviltower_zone.get_4floor_stone_pos()
	    for i = 1, 6 do
		chat(positions[i][1], positions[i][2])
		d.set_unique("fake" .. i , d.spawn_mob(8017, positions[i][1], positions[i][2]))
	    end
	    chat(positions[7][1], positions[7][2])
	    local vid = d.spawn_mob(8017, positions[7][1], positions[7][2])
	    chat(vid)
	    d.set_unique("real", vid)
	    server_loop_timer('devil_stone4_update', 10, pc.get_map_index())
	    server_timer('devil_stone4_fail1', 5*60, pc.get_map_index())

	    d.notice("Findet den richtigen Metinstein und zerst顤t ihn.");
	    d.notice("Die falschen Metinsteine werden verschwinden!");
	    d.notice("Ihr habt 15 Minuten zeit!");
	end

	when devil_stone4_fail1.server_timer begin
	    if d.select(get_server_timer_arg()) then
		d.notice("Verbleibende Zeit: 10 Minuten")
		server_timer('devil_stone4_fail2', 5*60, get_server_timer_arg())
	    end
	end

	when devil_stone4_fail2.server_timer begin
	    if d.select(get_server_timer_arg()) then
		d.notice("Verbleibende Zeit: 5 Minuten")
		server_timer('devil_stone4_fail', 5*60, get_server_timer_arg())
	    end
	end

	when devil_stone4_fail.server_timer begin
	    if d.select(get_server_timer_arg()) then
		d.notice("Die Zeit ist abgelaufen")
		d.notice("Ihr werdet nun nach drau絽n teleportiert")
		d.exit_all()
		clear_server_timer('devil_stone4_update', get_server_timer_arg())
	    end
	end

	when devil_stone4_update.server_timer begin
	    if d.select(get_server_timer_arg()) then
		if not d.is_unique_dead("real") then
		    for i = 1, 6 do
			if d.getf("fakedead" .. i) == 0 then
			    if d.unique_get_hp_perc("fake" .. i) < 50 then
				d.purge_unique("fake" .. i)
				d.setf("fakedead" .. i, 1)
				d.notice("Der falsche Metinstein ist verschwunden..");
			    end
			end
		    end
		else
		    --d.clear_regen()
		    --d.regen_file("data/dungeon/deviltower5_regen.txt")
		    server_timer("devil_stone4_end", 5, get_server_timer_arg())
		    d.notice("Ihr habt den richtigen Metinstein zerst顤t.");
		    d.notice("Ihr werdet nun in die n踄hste Etage teleportiert")
		    clear_server_timer('devil_stone4_fail1', get_server_timer_arg())
		    clear_server_timer('devil_stone4_fail2', get_server_timer_arg())
		    clear_server_timer('devil_stone4_fail', get_server_timer_arg())
		end
	    else
		server_timer('devil_stone4_stop_timer', 1, get_server_timer_arg())
	    end
	end

	when devil_stone4_stop_timer.server_timer begin
	    clear_server_timer('devil_stone4_update', get_server_timer_arg())
	end

	when devil_stone4_end.server_timer begin
	    if d.select(get_server_timer_arg()) then
		d.setf("level", 5)
		d.setf("stone_count", 5)
		d.notice("Du bist nun in der 5. Ebene")
		d.notice("猈fne alle Alten Siegel um in die n踄hste Ebene zu gelangen.")
		d.notice("Du hast 20 Minuten Zeit um alle Siegel zu 鐪fnen.")
		d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2])
		server_timer('devil_stone5_fail1', 5*60, get_server_timer_arg())
		clear_server_timer('devil_stone4_update', get_server_timer_arg())

		-- bla bla
		d.set_regen_file("data/dungeon/deviltower5_regen.txt")

		-- bla bla 2
		d.spawn_mob(20073, 421, 452)
		d.spawn_mob(20073, 380, 460)
		d.spawn_mob(20073, 428, 414)
		d.spawn_mob(20073, 398, 392)
		d.spawn_mob(20073, 359, 426)
	    end
	end
	when devil_stone5_fail1.server_timer begin
	    if d.select(get_server_timer_arg()) then
		d.notice("Verbleibende Zeit: 15 Minuten")
		server_timer('devil_stone5_fail2', 5*60, get_server_timer_arg())
	    end
	end

	when devil_stone5_fail2.server_timer begin
	    if d.select(get_server_timer_arg()) then
		d.notice("Verbleibende Zeit: 10 Minuten")
		server_timer('devil_stone5_fail3', 5*60, get_server_timer_arg())
	    end
	end

	when devil_stone5_fail3.server_timer begin
	    if d.select(get_server_timer_arg()) then
		d.notice("Verbleibende Zeit: 5 Minuten")
		server_timer('devil_stone5_fail', 5*60, get_server_timer_arg())
	    end
	end

	when devil_stone5_fail.server_timer begin
	    if d.select(get_server_timer_arg()) then
		d.notice("Die Zeit ist abgelaufen")
		d.notice("Ihr werdet nun nach drau絽n teleportiert")
		d.exit_all()
	    end
	end

	--when devil_stone4.kill begin
	    --d.setf("level", 5)
	    --d.setf("stone_count", 4)
	    --d.clear_regen()
	    --d.regen_file("data/dungeon/deviltower5_regen.txt")
	    --d.jump_all_local(special.devil_tower[4][1], special.devil_tower[4][2])
	--end

	when 1062.kill with pc.in_dungeon() and d.getf("level") == 5 begin
	    local KILL_COUNT_FOR_DROP_KEY = 50
	    --if is_test_server() then
		--KILL_COUNT_FOR_DROP_KEY = 1
	    --end
	    local n =d.getf("count") + 1
	    d.setf("count", n) 
	    if n == KILL_COUNT_FOR_DROP_KEY then
		-- bla bla 3
		game.drop_item(50084, 1)
		d.setf("count", 0)
	    end
	end
	when devil_stone5.take with item.vnum == 50084 begin
	    npc.purge()
	    item.remove()
	    d.setf("stone_count", d.getf("stone_count") - 1)
	    if d.getf("stone_count") <= 0 then
		d.setf("level", 6)
		d.clear_regen()
		d.regen_file("data/dungeon/deviltower6_regen.txt")

		d.notice("Ihr habt alle alten Siegel ge鐪fnet. Ihr werdet nun")
		d.notice("in die 6. Ebene teleportiert.")
		d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2])
		clear_server_timer('devil_stone5_fail1', get_server_timer_arg())
		clear_server_timer('devil_stone5_fail2', get_server_timer_arg())
		clear_server_timer('devil_stone5_fail3', get_server_timer_arg())
		clear_server_timer('devil_stone5_fail', get_server_timer_arg())
	    else
		d.notice("Es verbleibt eine Anzahl von "..d.getf("stone_count").." Siegeln")
	    end
	end

	when devil_stone6.kill begin
	    -- bla bla 4
	    -- bla bla 5
	    --d.jump_all(special.devil_tower[6][1], special.devil_tower[6][2])
	    d.kill_all()
	   -- d.set_warp_at_eliminate(3*60, 65, 5376+532, 512+596+4)
	    d.check_eliminated()
	    local reward_alchemist = {20074, 20075, 20076}
	    d.spawn_mob(reward_alchemist[number(1,3)], 425, 216);
	    d.setqf("can_refine", 1)
	end

	--------------------------------------
	-- bla bla 6
	--------------------------------------

	when 20074.chat."Die h鐬eren Etagen.." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
		say(""..mob_name(20074).."")
		say("Ihr m鐼htet in die 7.Etage?")
		say("Ihr haben Glk! Heute erlaube ich es ihnen vielleicht!")
		say("Aber voher muss ich euch noch pren..")
		say("Mal sehen..")
		wait()
		if pc.level >=75 then
			say("Ich erlaube euch weiterzugehen!")
			say("Viel Glk und passt auf euch auf da oben!")
			timer("devil_jump_7", 6)
			return
		end
		say("Betreten der 7.Etage nicht erlaubt!")
		say("Ihr seid nicht qualifiziert genug!")
		say("Erreicht Level 75 oder h鐬er,")
		say("damit ihr eure Fertigkeiten steigern k霵nt")
		say("und kommt dann wieder!")
		wait()
		pc.warp(590500, 110500)
		return
    end
	when 20075.chat."Die h鐬eren Etagen.." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
		say(""..mob_name(20075).."")
		say("Ihr m鐼htet in die 7.Etage?")
		say("Ihr haben Glk! Heute erlaube ich es ihnen vielleicht!")
		say("Aber voher muss ich euch noch pren..")
		say("Mal sehen..")
		wait()
		if pc.level >=75 then
			say("Ich erlaube euch weiterzugehen!")
			say("Viel Glk und passt auf euch auf da oben!")
			timer("devil_jump_7", 6)
			return
		end
		say("Betreten der 7.Etage nicht erlaubt!")
		say("Ihr seid nicht qualifiziert genug!")
		say("Erreicht Level 75 oder h鐬er,")
		say("damit ihr eure Fertigkeiten steigern k霵nt")
		say("und kommt dann wieder!")
		wait()
		pc.warp(590500, 110500)
		return
    end
	when 20076.chat."Die h鐬eren Etagen.." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
		say(""..mob_name(20076).."")
		say("Ihr m鐼htet in die 7.Etage?")
		say("Ihr haben Glk! Heute erlaube ich es ihnen vielleicht!")
		say("Aber voher muss ich euch noch pren..")
		say("Mal sehen..")
		wait()
		if pc.level >=75 then
			say("Ich erlaube euch weiterzugehen!")
			say("Viel Glk und passt auf euch auf da oben!")
			timer("devil_jump_7", 6)
			return
		end
		say("Betreten der 7.Etage nicht erlaubt!")
		say("Ihr seid nicht qualifiziert genug!")
		say("Erreicht LvL 75 oder h鐬er,")
		say("damit ihr eure Fertigkeiten steigern k霵nt")
		say("und kommt dann wieder!")
		wait()
		pc.warp(590500, 110500)
		return
    end

   when devil_jump_7.timer begin
		d.clear_regen()

		d.spawn_mob(8018, 639, 658)
		d.spawn_mob(8018, 611, 637)
		d.spawn_mob(8018, 596, 674)
		d.spawn_mob(8018, 629, 670)

		d.setf("level", 7)

		d.jump_all(2048+590, 6656+638)
	end
	
	when 8018.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
		local cont = d.getf("7_stone_kill") + 1
		d.setf("7_stone_kill", cont)

		if cont >= 4 then
			d.setf("7_stone_kill", 0)
			d.set_regen_file("data/dungeon/deviltower7_regen.txt")
		end	
	end

	when 8019.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
		game.drop_item(30300, 1)
	end

	when 30300.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
		pc.remove_item("30300", 1)

		local pct = number(1,10)

		if pct == 1 then
			-- bla bla 7
			game.drop_item(30302, 1)
			d.clear_regen()
		else
			-- bla bla 8
			game.drop_item(30301, 1)
			
		end
	end

	when 30302.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
		-- bla bla 9
		say("Die Karte wird euch alle in die n踄hste Ebene")
		say("des D鄝onenturms bringen.")
		pc.remove_item("30302", 1)
	    timer("devil_jump_8", 6)
		d.clear_regen()
	end
						
	--------------------------------------------
	-- bla bla 10
	--------------------------------------------
	when devil_jump_8.timer begin
		d.setf("level", 8)
		d.jump_all(2048+590, 6656+403)
		d.set_regen_file("data/dungeon/deviltower8_regen.txt")
		d.spawn_mob(20366, 640, 460)
		local _count= pc.count_item(30302)-- bla bla 11
		pc.remove_item(30302,_count)
		
	end

	when 1040.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
		local pct1 = number(1, 5)
		if pct1 == 1 then
			local pct2 = number(1, 10)
			if pct2 == 1 then
				-- bla bla 12
				game.drop_item(30304, 1)
			else
				-- bla bla 13
				game.drop_item(30303, 1)
			end
		else
			return
		end
	end

	when 20366.take with item.vnum == 30304 begin
		-- bla bla 14
		npc.purge()
		item.remove()
		timer("devil_jump_9", 6)
	end

	---------------------------------------------
	-- bla bla 15
	---------------------------------------------
	when devil_jump_9.timer begin
		d.setf("level", 9)
		d.jump_all(2048+590, 6656+155)
		d.regen_file("data/dungeon/deviltower9_regen.txt")
	end

	when 1093.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
		d.kill_all()
		timer("devil_end_jump", 60)
	end

	when devil_end_jump.timer begin
	    d.exit_all()
	end
end
end

deviltower2.quest
HTML Code:
quest deviltower_zone begin
    state start begin
	when login begin
	    if pc.get_map_index() == 66 then
		-- Nicht in einer Etage, die wieder nach drau¡¼n .
		-- Layer Range 
		-- 1F   88  577  236 737
		-- 2F   91  343  238 504
		-- 3F  104  107  248 269
		if pc.get_x() < 2048+88 or pc.get_y() < 6656+577 or pc.get_x() > 2048+236 or pc.get_y() > 6656+737 then
		    pc.warp((5376+532)*100, (512+596+4)*100, 65)
		end
		pc.set_warp_location(65, 5376+532, 512+596+4)
	    elseif pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then
		pc.set_warp_location(65, 5376+532, 512+596+4)
	    end
	end
	when 20087.chat.locale.deviltower_man_chat begin
	    if pc.get_level() < 40 then
		say(locale.deviltower_man_say_you_cant)
	    else
		say(locale.deviltower_man_say)
		local s = select(locale.deviltower_enter,locale.deviltower_no_enter)
		if s == 1 then
		    -- warp into!
		    pc.warp(605500,605500)
		end
	    end
	end
	when devil_stone1.kill begin
	    timer("devil_stone1_1", 6)
	end
	when devil_stone1_1.timer begin
		local mapto7= pc.count_item(30302)  -- Ich weiß nicht, das wahre Tilgung der die Existenz der Seele des Turms 
		pc.remove_item(30302,mapto7)

		local boxto7= pc.count_item(30300)  -- Beseitigung des unbekannten weiß nicht, ob es sich um ein Feld 
		pc.remove_item(30300,boxto7)

	    d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2])
	    d.regen_file("data/dungeon/dt22_regen.txt")
	    d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/dt23_regen.txt")
	end
	--when devil_stone2.kill begin
	--d.jump_all_local(special.devil_tower[2][1], special.devil_tower[2][2])
	--end
	when devil_stone3.kill begin
	    --d.jump_all_local(special.devil_tower[3][1], special.devil_tower[3][2])
	    --d.set_exit_all_at_eliminate(6)
	    --d.set_warp_at_eliminate(6, d.get_map_index(), 100, 100)
	    --d.set_warp_at_eliminate(4, 65, 5376+532, 512+596+4)
	    d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/dt24_regen.txt")
	    d.check_eliminated()
	    --d.exit_all()
	end
	function get_4floor_stone_pos()
	    local positions = {
		{368, 629},
		{419, 630},
		{428, 653},
		{422, 679},
		{395, 689},
		{369, 679},
		{361, 658},
	    }
	    for i = 1, 6 do
		local j = number(i, 7)
		if i != j then
		    local t = positions[i];
		    positions[i] = positions[j];
		    positions[j] = t;
		end
	    end
	    --for i = 1, 7 do
	--	positions[i][1] = positions[i][1] * 100
	--	positions[i][2] = positions[i][2] * 100
	 --   end
	    return positions
	end
	when 8016.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
	    d.setf("level", 4)
	    -- Reproduzieren eine gro¡¼ Anzahl von Monstern und Herstellung von wahr und falsch Steine Steine 
	    --d.regen_file("data/dungeon/dt24_regen.txt")
	    local positions = deviltower_zone.get_4floor_stone_pos()
	    for i = 1, 6 do
		chat(positions[i][1], positions[i][2])
		d.set_unique("fake" .. i , d.spawn_mob(8017, positions[i][1], positions[i][2]))
	    end
	    chat(positions[7][1], positions[7][2])
	    local vid = d.spawn_mob(8017, positions[7][1], positions[7][2])
	    chat(vid)
	    d.set_unique("real", vid)
	    server_loop_timer('devil_stone4_update', 10, pc.get_map_index())
	    server_timer('devil_stone4_fail1', 5*60, pc.get_map_index())

	    d.notice("Hier ist der 4. Etage,");
	    d.notice("findet den Echten Metinstein");
	    d.notice("innerhalb von 15 Minuten,");
	    d.notice("Sonst werdet ihr vor die Tür gesetzt.");
	end

	when devil_stone4_fail1.server_timer begin
	    if d.select(get_server_timer_arg()) then
		d.notice("Noch 10 Minuten!")
		server_timer('devil_stone4_fail2', 5*60, get_server_timer_arg())
	    end
	end

	when devil_stone4_fail2.server_timer begin
	    if d.select(get_server_timer_arg()) then
		d.notice("Noch 5 Minuten!")
		server_timer('devil_stone4_fail', 5*60, get_server_timer_arg())
	    end
	end

	when devil_stone4_fail.server_timer begin
	    if d.select(get_server_timer_arg()) then
		d.notice("Die Zeit ist abgelaufen")
		d.exit_all()
		clear_server_timer('devil_stone4_update', get_server_timer_arg())
	    end
	end

	when devil_stone4_update.server_timer begin
	    if d.select(get_server_timer_arg()) then
		if not d.is_unique_dead("real") then
		    for i = 1, 6 do
			if d.getf("fakedead" .. i) == 0 then
			    if d.unique_get_hp_perc("fake" .. i) < 50 then
				d.purge_unique("fake" .. i)
				d.setf("fakedead" .. i, 1)
				d.notice("Ein falscher Metinstein verschwindet.");
			    end
			end
		    end
		else
		    --d.clear_regen()
		    --d.regen_file("data/dungeon/dt25_regen.txt")
		    server_timer("devil_stone4_end", 5, get_server_timer_arg())
		    d.notice("Glückwunsch Euch ist es geglückt den Echten Metinstein");
		    d.notice("zu finden... Auf in die nächste Etage.")
		    clear_server_timer('devil_stone4_fail1', get_server_timer_arg())
		    clear_server_timer('devil_stone4_fail2', get_server_timer_arg())
		    clear_server_timer('devil_stone4_fail', get_server_timer_arg())
		end
	    else
		server_timer('devil_stone4_stop_timer', 1, get_server_timer_arg())
	    end
	end

	when devil_stone4_stop_timer.server_timer begin
	    clear_server_timer('devil_stone4_update', get_server_timer_arg())
	end

	when devil_stone4_end.server_timer begin
	    if d.select(get_server_timer_arg()) then
		d.setf("level", 5)
		d.setf("stone_count", 5)
		d.notice("Willkommen auf der 5.ten Etage")
		d.notice("Tötet alle Monster denn manche Tragen den Schlüssel")
		d.notice("für die nächste Etage mit sich")
		d.notice("Öffnet alle Säulen mit hilfe der Schlüsselsteine (Ihr habt 20 Minuten Zeit)")
		d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2])
		server_timer('devil_stone5_fail1', 5*60, get_server_timer_arg())
		clear_server_timer('devil_stone4_update', get_server_timer_arg())

		-- 5. Stock, weiter zu reproduzieren 
		d.set_regen_file("data/dungeon/dt25_regen.txt")

		-- 5. Stock, Seal Stone Reproduktion 
		d.spawn_mob(20073, 421, 452)
		d.spawn_mob(20073, 380, 460)
		d.spawn_mob(20073, 428, 414)
		d.spawn_mob(20073, 398, 392)
		d.spawn_mob(20073, 359, 426)
	    end
	end
	when devil_stone5_fail1.server_timer begin
	    if d.select(get_server_timer_arg()) then
		d.notice("Noch 15 Minuten.")
		server_timer('devil_stone5_fail2', 5*60, get_server_timer_arg())
	    end
	end

	when devil_stone5_fail2.server_timer begin
	    if d.select(get_server_timer_arg()) then
		d.notice("Noch 10 Minuten.")
		server_timer('devil_stone5_fail3', 5*60, get_server_timer_arg())
	    end
	end

	when devil_stone5_fail3.server_timer begin
	    if d.select(get_server_timer_arg()) then
		d.notice("Noch 5 Minuten.")
		server_timer('devil_stone5_fail', 5*60, get_server_timer_arg())
	    end
	end

	when devil_stone5_fail.server_timer begin
	    if d.select(get_server_timer_arg()) then
		d.notice("Die Zeit ist abgelaufen.")
		d.exit_all()
	    end
	end

	--when devil_stone4.kill begin
	    --d.setf("level", 5)
	    --d.setf("stone_count", 4)
	    --d.clear_regen()
	    --d.regen_file("data/dungeon/dt25_regen.txt")
	    --d.jump_all_local(special.devil_tower[4][1], special.devil_tower[4][2])
	--end

	when 1062.kill with pc.in_dungeon() and d.getf("level") == 5 begin
	    local KILL_COUNT_FOR_DROP_KEY = 50
	    --if is_test_server() then
		--KILL_COUNT_FOR_DROP_KEY = 1
	    --end
	    local n =d.getf("count") + 1
	    d.setf("count", n) 
	    if n == KILL_COUNT_FOR_DROP_KEY then
		-- Falling Tasten 
		game.drop_item(50084, 1)
		d.setf("count", 0)
	    end
	end
	when devil_stone5.take with item.vnum == 50084 begin
	    npc.purge()
	    item.remove()
	    d.setf("stone_count", d.getf("stone_count") - 1)
	    if d.getf("stone_count") <= 0 then
		d.setf("level", 6)
		d.clear_regen()
		d.regen_file("data/dungeon/dt26_regen.txt")

		d.notice("Glückwunsch ihr habt alle Säulen Geöffnet")
		d.notice("Ihr werdet in die nächste Etage aufsteigen.")
		d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2])
		clear_server_timer('devil_stone5_fail1', get_server_timer_arg())
		clear_server_timer('devil_stone5_fail2', get_server_timer_arg())
		clear_server_timer('devil_stone5_fail3', get_server_timer_arg())
		clear_server_timer('devil_stone5_fail', get_server_timer_arg())
	    else
		d.notice("Säule entfernt... Noch "..d.getf("stone_count").."Viel Glück")
	    end
	end

	when devil_stone6.kill begin
	    -- Geschickt, um eine Karte, wo die Verfeinerung St. 
	    -- Ansonsten ¡¼fnen Sie ein neues Lian Sheng 
	    --d.jump_all(special.devil_tower[6][1], special.devil_tower[6][2])
	    d.kill_all()
	   -- d.set_warp_at_eliminate(3*60, 65, 5376+532, 512+596+4)
	    d.check_eliminated()
	    local reward_alchemist = {20074, 20075, 20076}
	    d.spawn_mob(reward_alchemist[number(1,3)], 425, 216);
	    d.setqf("can_refine", 1)
	end

	--------------------------------------
	-- 7 D kommt man aus dem Zugriff vor dem 8. Stock 
	--------------------------------------

	when 20074.chat."Die Oberen Stockwerke" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
		say(""..mob_name(20074).."")
		say("Möchtet ihr Weiter herrauf")
		say("und euer können weiterhin unter Beweiss stellen?")
		say("Ich jedenfalls bleibe hier")
		say("")
		wait()
		if pc.level >=75 then
			say("Ihr seid zumindest gross genug.")
			say("Doch seid ihr auch Tapfer genug?")
			say("Es gibt nur eine möglichkeit das festzustellen.")
			timer("devil_jump_7", 6)
			return
		end
		say("Ihr seid leider noch nicht ")
		say("gross genug um weiter aufzusteigen")
		say("Übt noch ein wenig und kommt dann wieder.")
		say("Viel Glück auf eurer Reise.")
		say("")
		wait()
		pc.warp(590500, 110500)
		return
    end
	when 20075.chat."Mit Bezug auf den oberen Turm .." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
		say(""..mob_name(20075).."")
		say("Möchtet ihr Weiter herrauf")
		say("und euer können weiterhin unter Beweiss stellen?")
		say("Ich jedenfalls bleibe hier")
		say("")
		wait()
		if pc.level >=75 then
			say("Ihr seid zumindest gross genug.")
			say("Doch seid ihr auch Tapfer genug?")
			say("Es gibt nur eine möglichkeit das festzustellen.")
			timer("devil_jump_7", 6)
			return
		end
		say("Ihr seid leider noch nicht ")
		say("gross genug um weiter aufzusteigen")
		say("Übt noch ein wenig und kommt dann wieder.")
		say("Viel Glück auf eurer Reise.")
		say("")
		wait()
		pc.warp(590500, 110500)
		return
    end
	when 20076.chat."Mit Bezug auf den oberen Turm .." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
		say(""..mob_name(20076).."")
		say("Möchtet ihr Weiter herrauf")
		say("und euer können weiterhin unter Beweiss stellen?")
		say("Ich jedenfalls bleibe hier")
		say("")
		wait()
		if pc.level >=75 then
			say("Ihr seid zumindest gross genug.")
			say("Doch seid ihr auch Tapfer genug?")
			say("Es gibt nur eine möglichkeit das festzustellen.")
			timer("devil_jump_7", 6)
			return
		end
		say("Ihr seid leider noch nicht ")
		say("gross genug um weiter aufzusteigen")
		say("Übt noch ein wenig und kommt dann wieder.")
		say("Viel Glück auf eurer Reise.")
		say("")
		wait()
		pc.warp(590500, 110500)
		return
    end

   when devil_jump_7.timer begin
		d.clear_regen()

		d.spawn_mob(8018, 639, 658)
		d.spawn_mob(8018, 611, 637)
		d.spawn_mob(8018, 596, 674)
		d.spawn_mob(8018, 629, 670)

		d.setf("level", 7)

		d.jump_all(2048+590, 6656+638)
	end
	
	when 8018.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
		local cont = d.getf("7_stone_kill") + 1
		d.setf("7_stone_kill", cont)

		if cont >= 4 then
			d.setf("7_stone_kill", 0)
			d.set_regen_file("data/dungeon/dt27_regen.txt")
		end	
	end

	when 8019.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
		game.drop_item(30300, 1)
	end

	when 30300.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
		pc.remove_item("30300", 1)

		local pct = number(1,10)

		if pct == 1 then
			-- Fall wahr Karte
			game.drop_item(30302, 1)
			d.clear_regen()
		else
			-- Fall wahr Karte
			game.drop_item(30301, 1)
			
		end
	end

	when 30302.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
		-- An der 8th Floor 
		say("Du wirst in die Zin Grotte teleportiert. Viel Glück.")
		pc.remove_item("30302", 1)
	    timer("devil_jump_8", 6)
		d.clear_regen()
	end
						
	--------------------------------------------
	-- Von 8 F vor der Ankunft geben Sie die 9 F 
	--------------------------------------------
	when devil_jump_8.timer begin
		d.setf("level", 8)
		d.jump_all(2048+590, 6656+403)
		d.set_regen_file("data/dungeon/dt28_regen.txt")
		d.spawn_mob(20366, 640, 460)
		local _count= pc.count_item(30302)-- True Tilgung Dead Turm 
		pc.remove_item(30302,_count)
		
	end

	when 1040.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
		local pct1 = number(1, 5)
		if pct1 == 1 then
			local pct2 = number(1, 10)
			if pct2 == 1 then
				-- Fall wahre Schl¡¼sel 
				game.drop_item(30304, 1)
			else
				-- Keys fiel 
				game.drop_item(30303, 1)
			end
		else
			return
		end
	end

	when 20366.take with item.vnum == 30304 begin
		-- 9 F-Zeichen aufgehoben 
		npc.purge()
		item.remove()
		timer("devil_jump_9", 6)
	end

	---------------------------------------------
	-- 9 F ein Ende, indem Sie 
	---------------------------------------------
	when devil_jump_9.timer begin
		d.setf("level", 9)
		d.jump_all(2048+590, 6656+155)
		d.regen_file("data/dungeon/dt29_regen.txt")
	end

	when 1093.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
		d.kill_all()
		timer("devil_end_jump", 10)
		d.notice("Glückwunsch!!!")
		d.notice("Du hast den Sensenmann getötet!!!")
		d.notice("Du gelangst nun in die Etage des Gemeinen Dämonenkönigs!!!")
	end

	when devil_end_jump.timer begin
	    d.setf("level", 7)
		d.jump_all(2048+590, 6656+638)
		d.clear_regen()
		d.spawn_mob(1094, 639, 658)
	end
	
	when 1094.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
		d.notice("Glückwunsch!!!")
		d.notice("Du hast den Gemeinen Dämonenkönig getötet!!!")
		d.notice("Du gelangst nun in die Etage des Blauen Todes!!!")
		d.kill_all()
		timer("devil_end_jump_schmied", 10)
	end

	when devil_end_jump_schmied.timer begin
		d.setf("level", 9)
		d.jump_all(2048+590, 6656+155)
		d.clear_regen()
		d.spawn_mob(1095, 605, 178)
	end
	
	when 1095.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
	    notice_all("".. pc.get_name() .." hat den Blauen Tod bezwungen!!")
        notice_all("Er ist ein mutiger Spieler!")
		d.notice("Glückwunsch!!!")
		d.notice("Du hast den Blauen Tod getötet!!!")
		d.notice("Als belohnung spawnen nun alle 3 Dt-Schmiede!!!")
		d.check_eliminated()
	    local reward_alchemist = {20074, 20075, 20076}
	    d.spawn_mob(20074, 609, 179);
		d.spawn_mob(20075, 609, 172);
		d.spawn_mob(20076, 609, 185);
		d.spawn_mob(9012, 619, 170);
		d.setqf("can_refine", 1)
	end
end
end
08/02/2014 23:29 [-Lee-]#10410
PHP Code:
define BLOCK_DOOR 20387 
define DUNGEON_MAN 20385 
define DUNGEON_MAN_DIR 0 
define DUNGEON_MAP_INDEX 351 
define ENTER_LIMIT_TIME 30 
define ENTRY_MAN 20394 
define ENTRY_MAP_INDEX 62 
define FINAL_BOSS 6091 
define LEVEL2_KEY 30329 
define LEVEL2_STONE 20386 
define LEVEL4_TARGET 6051 
define LEVEL5_REALKEY 30330 
define LEVEL5_STONE 20386 
define LEVEL5_GEN_LIMIT 100 
define LEVEL6_TARGET 8057 
define LEVEL_CUT 100 
define MOB_REGEN_FILE_PATH 
= "data/dungeon/flame_dungeon/" 
define IN_DOOR 20388 
define NPC_REGEN_FILE_PATH 
= "data/dungeon/flame_dungeon/npc.txt" 
define TICKET_GROUP 10033 
define LIMITED_PASS_TICKET 71175 

quest flame_dungeon begin 
    state start begin     
        when ENTRY_MAN
.click with pc.get_level() >= 90 begin 
            pc
.give_item2(LIMITED_PASS_TICKET, 1) 
            
set_state(run) 
        
end 
    end 

    state run begin 
     
    
function setting() 
        return  
        { 
        [
"bossroom_entry_pos"] = {8109,6867}, 
        [
"boss_pos"] = {686,637}, 
        [
"doors_pos"] = { 
            {
320,394}, 
            {
293,359}, 
            {
333,321}, 
            {
378,320}, 
            {
400,355}, 
            {
394,401} 
        }, 
        [
"idoors_pos"] = { 
            {
268,447}, 
            {
234,359}, 
            {
300,264}, 
            {
454,217}, 
            {
470,355}, 
            {
467,469} 
        }, 
        [
"doors_dir"] = {135,90,210,152,90,223}, 
        [
"idoors_dir"] = {135,90,210,135,90,239}, 
        [
"dungeon_entry_pos"] = {7762, 6739},-- &#45912;전에 처음 들어오는 곳 
        
["DUNGEON_MAN_bpos"] = {690,722}, 
        [
"DUNGEON_MAN_pos"] = {354,362}, 
        [
"LEVEL2_STONE_pos"] = {195,352}, 
        [
"LEVEL4_TARGET_pos"] = {470,175}, 
        [
"LEVEL5_STONE_pos"] = { 
                {
486, 345}, 
                {
511, 336}, 
                {
525, 349}, 
                {
521, 365}, 
                {
503, 372}, 
                {
486, 365}, 
                {
500, 354} 
        }, 
        [
"LEVEL6_TARGET_pos"] = {511,480}, 
        [
"outside_entry_pos"] = {6142,7068}, --&#51077;장시켜주는애 서있는 곳 
        
["YAK_pos"] = {376, 397} -- &#50557;환 부하 
         
        
} 
    
end 
    
function is_flamed(idx) -- &#51201;룡성에 있는지 확인  
        
return idx >= DUNGEON_MAP_INDEX * 10000 and idx < (DUNGEON_MAP_INDEX + 1) *10000 
    end 
    
function make_dungeon() -- &#45912;전 만들기 
        
local setting = flame_dungeon.setting() 
        
d.new_jump_party(DUNGEON_MAP_INDEX, setting.dungeon_entry_pos[1], setting.dungeon_entry_pos[2]) 
        -- 
d.spawn_mob_ac_dir(DUNGEON_MAN, setting.DUNGEON_MAN_pos[1], setting.DUNGEON_MAN_pos[2],DUNGEON_MAN_DIR) 
        -- 
d.spawn_mob(YAK,setting.YAK_pos[1],setting.YAK_pos[2]) 
        
d.regen_file(NPC_REGEN_FILE_PATH) 
        
d.setf("level",0) 
        for 
i=1,6 do 
            
d.set_unique("door"..i, d.spawn_mob_ac_dir(BLOCK_DOOR, setting.doors_pos[i][1], setting.doors_pos[i][2],setting.doors_dir[i])) 
        
end 
        
for i=1,6 do 
            
d.set_unique("idoor"..i, d.spawn_mob_ac_dir(IN_DOOR, setting.idoors_pos[i][1], setting.idoors_pos[i][2],setting.idoors_dir[i])) 
        
end 
        d
.setf("clear_count",0) 
        
d.setf("started",0) 
        
d.setf("dungeon_enter",0) -- &#51221;상적으로 입장했는지? // 비정상 : 0 정상 : 1 // 튕기면 입장제한시간을 기록 안함 
    
end     
    
function go_boss() -- &#48372;스룸 가기  
        
local setting = flame_dungeon.setting() 
        if 
pc.get_level() < 104 then --&#47112;벨확인 
            
-- syschat(gameforge.flame_dungeon._580_notice) 
            
say(gameforge.flame_dungeon._580_notice) 
            return 
        else 
            if 
pc.getf("main_quest_flame_lv103", "__status")==main_quest_flame_lv103.__COMPLETE__ then -- &#49440;행퀘스트 확인 
                
-- say_title(gameforge.flame_dungeon._010_say) 
                
say(gameforge.flame_dungeon._010_say) 
                
local warp = select(gameforge.flame_dungeon._020_select,gameforge.flame_dungeon._030_select) 
                if 
warp == 1 then 
                    d
.setf("level",17) 
                    
d.jump_all(setting.bossroom_entry_pos[1],setting.bossroom_entry_pos[2]) 
                    
d.set_regen_file (MOB_REGEN_FILE_PATH.."fd_fild_boss.txt") 
                --    
d.spawn_mob(DUNGEON_MAN,setting.DUNGEON_MAN_bpos[1],setting.DUNGEON_MAN_bpos[2]) 
                    
d.spawn_mob(FINAL_BOSS,setting.boss_pos[1],setting.boss_pos[2]) 
                
end 
            
else  
                -- 
syschat(gameforge.flame_dungeon._040_notice) 
                
say(gameforge.flame_dungeon._040_notice) 
                return 
            
end 
        end 
    end 
    
function level_clear() -- &#47112;벨 깼을때, 리젠클리어, 지역클리어 
        
d.setf("level",0) 
        
d.clear_regen() 
        
d.purge_area(750000,620000,817400,689400) -- &#47605;전체 -- d.purge() 사용고려 
    
end 
    
function clear_timer(inx) -- &#53440;이머 다지우기 
        
clear_server_timer ("flame_dungeon_0m_left_timer", inx) 
        
clear_server_timer ("flame_dungeon_1m_left_timer", inx) 
        
clear_server_timer ("flame_dungeon_5m_left_timer", inx) 
        
clear_server_timer ("flame_dungeon_10m_left_timer", inx) 
        
clear_server_timer ("flame_dungeon_15m_left_timer", inx) 
        
clear_server_timer ("flame_dungeon_30m_left_timer", inx) 
        
clear_server_timer ("flame_dungeon_45m_left_timer", inx) 
        
clear_server_timer ("killed_A_1", inx) 
        
clear_server_timer ("killed_A_2", inx) 
        
clear_server_timer ("flame_dungeon_ticket_remove", inx)     
    
end 
     
        when login begin 
            local idx 
= pc.get_map_index() 
            
local setting = flame_dungeon.setting() 
            if 
idx == DUNGEON_MAP_INDEX then 
                pc
.warp(setting.outside_entry_pos[1]*100, setting.outside_entry_pos[2] * 100, ENTRY_MAP_INDEX) 
            elseif 
flame_dungeon.is_flamed(idx) then -- &#45912;전 입장, 보스룸 입장 예외 
            
------------------------------------------------------------------------------------------------------------------------------------------------------ 
            --&
#50500;래의 두줄중 위에줄을 사용하면 던전에서 종료했을경우 다시 원래 위치로 돌아온다. 아래줄을 활성화 하면 던전에서 종료했을 경우 던전 밖으로 나가게 된다. 
            
--&#45912;전에서 종료했을 경우 다시 원래 위치로 돌아올 경우, 던전에서 나가는 방법을 만들어줘야 하기 때문에 적룡성비의 나가기란 옵션을 활성화 해줘야 한다. 
            
------------------------------------------------------------------------------------------------------------------------------------------------------ 
                -- 
pc.set_warp_location(0, 0 , 0) --&#53909;겼을때 다시 돌아오게 만들어 주는 부분 
                
pc.set_warp_location(ENTRY_MAP_INDEX, setting.outside_entry_pos[1] , setting.outside_entry_pos[2]) -- &#45912;전 나갔을 때 밖으로 튕기게함 
                
local ticketGroup = {get_special_item_group (TICKET_GROUP)} 
                if 
d.getf("dungeon_enter") == 0 then -- &#51652;행중이 아니면 
                    
local canPass = false 
                    
for i=1, table.getn(ticketGroup),2 do  
                        if 
pc.count_item(ticketGroup[i]) >= ticketGroup[i+1] then 
                            canPass 
= true 
                            
break 
                        
end 
                    end 

                    
if get_global_time() - pc.getf("flame_dungeon","exit_time") < ENTER_LIMIT_TIME * 60 then -- &#51077;장제한시간이 걸렸으면 
                        
notice_multiline(gameforge.flame_dungeon._050_notice,d.notice) 
                        
say(gameforge.flame_dungeon._060_say) 
                        
timer("flame_dungeon_warp_timer", 5) 
                    elseif 
not canPass then 
                        notice_multiline
(gameforge.flame_dungeon._070_notice,d.notice) 
                        
say(gameforge.flame_dungeon._080_say) 
                        
timer("flame_dungeon_warp_timer", 5) 
                    elseif 
pc.get_level() < 100 then 
                        notice_multiline
(gameforge.flame_dungeon._090_notice,d.notice) 
                        
say(gameforge.flame_dungeon._100_say) 
                        
timer("flame_dungeon_warp_timer", 5) 
                    
end 
                
elseif pc.getf("flame_dungeon","ticket_delete") == 0 then -- &#51652;행중인데 티켓이 안지워졌을경우 
                     
                    
for i=1, table.getn(ticketGroup),2 do  
                        if 
pc.count_item(ticketGroup[i]) >= ticketGroup[i+1] then 
                            pc
.remove_item(ticketGroup[i], ticketGroup[i+1]) 
                            break 
                        
end 
                    end 
                    pc
.setf("flame_dungeon","ticket_delete",1) 
                
end 
            
else 
                
pc.setf("flame_dungeon","ticket_delete",0) 
            
end 
        end 
        when flame_dungeon_warp_timer
.timer begin 
            local setting 
= flame_dungeon.setting() 
            
pc.warp(setting.outside_entry_pos[1]*100, setting.outside_entry_pos[2] * 100, ENTRY_MAP_INDEX) 
        
end 
        when logout begin 
            local idx 
= pc.get_map_index() 
            if 
flame_dungeon.is_flamed(idx) then  
                
if d.getf("dungeon_enter") == 1 then -- &#51221;상적인 던전 입장 후 로그아웃 
                    
pc.setf("flame_dungeon","exit_time",get_global_time()) -- &#51064;스턴스 안에서의 마지막 시간을 기록, 근데 시간제한 때문에 or 그냥 튕긴거면 안기록 
                
end 
                 

            end 
        end 
        when ENTRY_MAN
.chat.gameforge.flame_dungeon._110_npcChat begin 
         
            local setting 
= flame_dungeon.setting() 
            if 
party.is_party() then 
                
-- &#45912;전 도중 나갈 경우 재입장 가능하도록 
                
local party_check = 0 
                
if d.find(party.getf("dungeon_index")) then 
                    party_check 
= (d.getf_from_map_index("party_leader_pid", party.getf("dungeon_index")) == party.get_leader_pid()) 
                
end 
                 
                
if d.find(party.getf("dungeon_index")) and party_check then 
                    
if get_global_time() - pc.getf("flame_dungeon","exit_time") < 5 * 60 then -- &#51217;종 이후 5분 내? 
                        
local dungeon_level = d.getf_from_map_index("level", party.getf("dungeon_index")) 
                        if 
dungeon_level == 17 then -- &#48372;스 
                            
pc.warp(setting.bossroom_entry_pos[1] * 100, setting.bossroom_entry_pos[2] * 100, party.getf("dungeon_index")) 
                        else 
                            
pc.warp(setting.dungeon_entry_pos[1] * 100, setting.dungeon_entry_pos[2] * 100, party.getf("dungeon_index")) 
                        
end 
                    
else -- 5&#48516; 초과하여 재 입장 불가 
                        
say_title(mob_name(ENTRY_MAN)) 
                        
say(gameforge.flame_dungeon._590_say) 
                    
end 
                
else 
                    
local pids = {party.get_member_pids()} 
                    
local noTicketMembers = {} 
                    
local notEnoughLevelMembers = {} 
                    
local ticketCheck = true 
                    local levelCheck 
= true 
                    local ticketGroup 
= {get_special_item_group (TICKET_GROUP)} 
                    for 
i, pid in next, pids, nil do 
                        
q.begin_other_pc_block(pid) 
                        
local canPass = false 
                        
for idx=1, table.getn(ticketGroup),2 do  
                            if 
pc.count_item(ticketGroup[idx]) >= ticketGroup[idx+1] then 
                                canPass 
= true 
                                
break 
                            
end 
                        end 
                         
                        
if not canPass then 
                            table
.insert(noTicketMembers, pc.get_name()) 
                            
ticketCheck = false 
                        end 
                        
if pc.level < LEVEL_CUT then 
                            table
.insert(notEnoughLevelMembers, pc.get_name()) 
                            
levelCheck = false 
                        end 
                        q
.end_other_pc_block() 
                    
end 

                    
if not ticketCheck then 
                        say_title
(mob_name(ENTRY_MAN)) 
                        
say(gameforge.flame_dungeon._610_say) 
                        for 
i, name in next, noTicketMembers, nil do 
                            
say(color(1,1,0), "    "..name) 
                        
end 
                        
if levelCheck then 
                            
return 
                        else 
                            
wait() 
                        
end 
                    end 

                    
if not levelCheck then 
                        say_title
(mob_name(ENTRY_MAN)) 
                        
say(gameforge.flame_dungeon._630_say) 
                        for 
i, name in next, notEnoughLevelMembers, nil do 
                            
say(color(1,1,0), "    "..name) 
                        
end 
                        
return 
                    
end 

                    
if party.is_leader() then 
                        say
(gameforge.flame_dungeon._120_say) 
                        
local warp = select(gameforge.flame_dungeon._130_select,gameforge.flame_dungeon._140_select) 
                        if 
warp == 1 then 
                            
if party.is_map_member_flag_lt("exit_time", get_global_time() - ENTER_LIMIT_TIME * 60 ) then 
                                flame_dungeon
.make_dungeon() 
                            else 
                                --
say("test : 파티원의 입장 제한시간이 끝나지 않았습니다.") 
                                
say(gameforge.flame_dungeon._600_say) 
                            
end 
                        end 
                         
                        party
.setf("flame_dungeon_boss_kill_count", 0) 
                         
                    else 
                        
say(gameforge.flame_dungeon._150_say) 
                    
end 
                end 
            
else 
                
say(gameforge.flame_dungeon._160_say) 
            
end 
        end 
        
-- when ENTRY_MAN.chat."Test : 리소스확인" with is_test_server() begin -- &#53580;스트용 
            
-- local setting = flame_dungeon.setting() 
            -- 
pc.setf("flame_dungeon","fdRtest",1) 
            -- 
pc.warp( setting.dungeon_entry_pos[1]*100, setting.dungeon_entry_pos[2]*100, DUNGEON_MAP_INDEX) 
        -- 
end 
         
         
        when ENTRY_MAN
.chat."TEST : Init time limit init" with is_test_server() begin -- &#53580;스트용 
            
pc.setf("flame_dungeon","exit_time",get_global_time()-1800) 
            
say("Done") 
        
end 
        
-- when DUNGEON_MAN.chat."Test : 현재 상태" with is_test_server() begin -- &#53580;스트용 
            
-- say("남은 몬스터 : "..d.count_monster()) 
            -- 
say("level : "..d.getf("level")) 
            -- 
say("Dmap index : "..d.get_map_index()) 
            -- 
say("Pmap index : "..pc.get_map_index()) 
            -- 
say("access limit : "..pc.getf("flame_dungeon","exit_time")) 
            -- 
say("global time : "..get_global_time()) 
            -- if 
flame_dungeon.is_flamed(d.get_map_index()) then 
                
-- say("in dungeon") -- is_flamed &#54632;수 체크 
            
-- end 
            
-- if d.is_unique_dead("stone1") then 
                
-- say("stone1 is dead") 
            -- else 
                -- 
say("stone1 is not dead") 
            -- 
end 
        
-- end 
        
-- when DUNGEON_MAN.chat."처음으로" begin -- &#53580;스트용 
            
-- say("초기화 합니다") 
            -- 
flame_dungeon.clear_timer(d.get_map_index()) 
            -- 
flame_dungeon.make_dungeon() 
        -- 
end 
        when DUNGEON_MAN
.chat."Test : Boss Room" with is_test_server() begin -- &#53580;스트용 
            
flame_dungeon.go_boss() 
        
end 
         
        
-- < &#49884;간 경과 타이머> 
        
-- when DUNGEON_MAN.chat."나가기" begin -- &#45912;전에서 튕기지 않게 할 경우 활성화 
            
-- local setting = flame_dungeon.setting() 
            -- 
say("밖으로 나가시겠습니까?") 
            -- 
local warp = select("확인","취소") 
            -- if 
warp == 1 then 
                
-- pc.warp(setting.outside_entry_pos[1]*100, setting.outside_entry_pos[2] * 100, ENTRY_MAP_INDEX) 
            -- 
end 
        
-- end 
        when flame_dungeon_45m_left_timer
.server_timer begin 
            
if d.select(get_server_timer_arg()) then 
                notice_multiline
(string.format(gameforge.flame_dungeon._180_notice, 45),d.notice) 
                
notice_multiline(gameforge.flame_dungeon._170_notice,d.notice) 
                
server_timer('flame_dungeon_30m_left_timer', 15*60, get_server_timer_arg()) 
            
end 
        end 
        when flame_dungeon_30m_left_timer
.server_timer begin 
            
if d.select(get_server_timer_arg()) then 
                notice_multiline
(string.format(gameforge.flame_dungeon._180_notice, 30),d.notice) 
                
notice_multiline(gameforge.flame_dungeon._170_notice,d.notice) 
                
server_timer('flame_dungeon_15m_left_timer', 15*60, get_server_timer_arg()) 
            
end 
        end 
        when flame_dungeon_15m_left_timer
.server_timer begin 
            
if d.select(get_server_timer_arg()) then 
                notice_multiline
(string.format(gameforge.flame_dungeon._180_notice, 15),d.notice) 
                
notice_multiline(gameforge.flame_dungeon._170_notice,d.notice) 
                
server_timer('flame_dungeon_5m_left_timer', 10*60, get_server_timer_arg()) 
            
end 
        end 
        when flame_dungeon_5m_left_timer
.server_timer begin 
            
if d.select(get_server_timer_arg()) then 
                notice_multiline
(string.format(gameforge.flame_dungeon._180_notice, 5),d.notice) 
                
notice_multiline(gameforge.flame_dungeon._170_notice,d.notice) 
                
server_timer('flame_dungeon_1m_left_timer', 4*60, get_server_timer_arg()) 
            
end 
        end 
        when flame_dungeon_1m_left_timer
.server_timer begin 
            
if d.select(get_server_timer_arg()) then 
                notice_multiline
(string.format(gameforge.flame_dungeon._180_notice, 1),d.notice) 
                
notice_multiline(gameforge.flame_dungeon._170_notice,d.notice) 
                
server_timer ("flame_dungeon_0m_left_timer", 60, get_server_timer_arg()) 
            
end 
        end 
        when flame_dungeon_0m_left_timer
.server_timer begin 
            local setting 
= flame_dungeon.setting() 
            if 
d.select(get_server_timer_arg()) then         
                notice_multiline
(gameforge.flame_dungeon._190_notice,d.notice) 
                
notice_multiline(gameforge.flame_dungeon._200_notice,d.notice) 
                
server_timer("dungeon_end_timer",10,d.get_map_index())     
            
end 
        end     


        
-- <<<< &#45912;전 진행>>>> -- 
        
when DUNGEON_MAN.chat.gameforge.flame_dungeon._210_npcChat with npc.lock() begin -- '0x'&#45716; x번째 레벨 퀘스트 받을 수 있는 상태 , '1x'는 x번째 레벨 퀘스트 진행중 
            
local setting = flame_dungeon.setting() 
            if 
d.getf("started") == 0 then 
                say
(gameforge.flame_dungeon._230_say) 
                
say(gameforge.flame_dungeon._240_say) 
                
wait() 
                
d.setf("started",1) 
                -- &
#54028;티원이 튕겨버렸는데 자기만 남아서 exit timer가 리셋되면 안되니깐 다음레벨을 눌렀을때를 시작할때로 봄 
                
server_timer ("flame_dungeon_45m_left_timer",15*60, d.get_map_index()) 
                
notice_multiline(gameforge.flame_dungeon._250_notice,d.notice) 
                
notice_multiline(gameforge.flame_dungeon._170_notice,d.notice) 
                 
                -- &
#53685;행증 관련된 처리 
                
-- &#51077;장 후에 티켓을 없앤 사람을 튕겨내기 위해서 타이머를 이용해 티켓을 제거한다. 
                
local pids = {party.get_member_pids()} 
                
local ticketGroup = {get_special_item_group (TICKET_GROUP)} 
                for 
i, pid in next, pids, nil do 
                    
q.begin_other_pc_block(pid) 
                    
local canPass = false 
                    
for idx=1, table.getn(ticketGroup),2 do  
                        if 
pc.count_item(ticketGroup[idx]) >= ticketGroup[idx+1] then 
                            canPass 
= true 
                            pc
.remove_item(ticketGroup[idx], ticketGroup[idx+1]) 
                            break 
                        
end 
                    end 
                     
                    
if not canPass then 
                        pc
.warp(setting.outside_entry_pos[1]*100, setting.outside_entry_pos[2] * 100, ENTRY_MAP_INDEX) 
                    
end 
                    q
.end_other_pc_block() 
                
end 
                d
.setqf2("flame_dungeon","ticket_delete",1) 
                
d.setf("dungeon_enter",1) 
                 
                -- &
#45912;전과 파티에 서로에 대한 정보를 저장한다. 
                
party.setf("dungeon_index", d.get_map_index()) 
                
d.setf("party_leader_pid", party.get_leader_pid()) 
            
end 
            
if d.getf("level") < 7 then --&#51652;행중이 아니면 
                
if d.getf("clear_count") == 6 then -- &#48169; 여섯개 했으면 보스방 
                    
d.setf("level",7) 
                else 
                    
local rand = number(1,6)--&#47004;덤에서 방문체크는 따로 배열없이 방의 문의 열려있는지로 체크함 
                    
local setlev = 0 
                    d
.setf("level",7) -- &#54841;시 모를 문제가 생겨 레벨이 안잡힐경우를 대비해 보스룸으로 셋팅해둠 
                    
for i=1,50 do 
                        
setlev = setlev + 1 
                        
if setlev > 6 then 
                            setlev 
= 1 
                        end 
                        
if not d.is_unique_dead("door"..setlev) then 
                            rand 
= rand - 1 
                            
if rand == 0 then 
                                d
.setf("level",setlev) 
                                
d.setf("clear_count",d.getf("clear_count")+1) 
                                break 
                            
end     
                        end 
                    end 
                end 
            end 
                
if d.getf("level") == 1 then 
                    say
(gameforge.flame_dungeon._260_say) 
                    
notice_multiline(gameforge.flame_dungeon._260_say,d.notice) 
                    
d.kill_unique("door1") 
                    
d.kill_unique("idoor1") 
                    
d.setf("level",11) 
                    
d.regen_file (MOB_REGEN_FILE_PATH.."fd_a.txt") 
                         
                    
server_timer ("killed_A_1", 12, d.get_map_index()) 
                elseif 
d.getf("level") == 11 then 
                    say
(gameforge.flame_dungeon._270_say) 
                    
say_title(gameforge.flame_dungeon._280_sayTitle .. d.count_monster()) 
                elseif 
d.getf("level") == 2 then 
                        say
(gameforge.flame_dungeon._290_say) 
                        
say(gameforge.flame_dungeon._300_say) 
                        
notice_multiline(gameforge.flame_dungeon._290_say,d.notice) 
                        
notice_multiline(gameforge.flame_dungeon._300_say,d.notice) 
                        
d.spawn_mob(LEVEL2_STONE, setting.LEVEL2_STONE_pos[1], setting.LEVEL2_STONE_pos[2]) -- &#48393;인석 소환 
                        
d.kill_unique("door2") 
                        
d.kill_unique("idoor2") 
                        
d.set_regen_file (MOB_REGEN_FILE_PATH.."fd_b.txt") 
                        
d.setf("level",12) 
                elseif 
d.getf("level") == 12 then 
                    say
(gameforge.flame_dungeon._310_say) 
                elseif 
d.getf("level") == 3 then 
                    say
(gameforge.flame_dungeon._260_say) 
                    
notice_multiline(gameforge.flame_dungeon._260_say,d.notice) 
                    
d.kill_unique("door3") 
                    
d.kill_unique("idoor3") 
                    
d.setf("level",13) 
                    
d.regen_file (MOB_REGEN_FILE_PATH.."fd_c.txt") 
                    
server_timer ("killed_A_1", 12, d.get_map_index()) 
                elseif 
d.getf("level") == 13 then 
                    say
(gameforge.flame_dungeon._270_say) 
                    
say_title(gameforge.flame_dungeon._280_sayTitle..d.count_monster()) 
                elseif 
d.getf("level") == 4 then -- 474 178 
                    say
(gameforge.flame_dungeon._320_notice) 
                    
notice_multiline(gameforge.flame_dungeon._320_notice,d.notice) 
                    
d.setf("level",14) 
                    
d.kill_unique("door4") 
                    
d.kill_unique("idoor4") 
                    
d.set_regen_file (MOB_REGEN_FILE_PATH.."fd_d.txt") 
                    
d.spawn_mob(LEVEL4_TARGET,setting.LEVEL4_TARGET_pos[1],setting.LEVEL4_TARGET_pos[2] ) -- &#53440;겟몬스터 소한 
                
elseif d.getf("level") == 14 then 
                    say
(gameforge.flame_dungeon._330_say) 
                    
say(gameforge.flame_dungeon._340_say) 
                elseif 
d.getf("level") == 5 then -- 510 355 
                    say
(gameforge.flame_dungeon._350_say) 
                    
say(gameforge.flame_dungeon._360_say) 
                    
notice_multiline(gameforge.flame_dungeon._350_say,d.notice) 
                    
notice_multiline(gameforge.flame_dungeon._360_say,d.notice) 
                    
d.kill_unique("door5") 
                    
d.kill_unique("idoor5") 
                    
d.setf("level",15) 
                    
d.set_regen_file (MOB_REGEN_FILE_PATH.."fd_e.txt") 
                    
local vis = { 0,0,0,0,0,0,0} 
                    for 
i=1,7 do 
                        
vis[i] = 0 
                    end 
                    
for i = 1, 7 do -- &#47004;덤하게 돌소환 
                        
local ran = number(1,7) 
                        
local st = 0 
                        
for j = 1, 50 do 
                            
st = st + 1 
                            
if st > 7 then 
                                st 
= 1 
                            end 
                            
if vis[st] == 0 then 
                                ran 
= ran - 1 
                                
if ran == 0 then 
                                    vis
[st] = 1 
                                    d
.set_unique("stone5_"..st, d.spawn_mob(LEVEL5_STONE, setting.LEVEL5_STONE_pos[i][1], setting.LEVEL5_STONE_pos[i][2])) 
                                    break 
                                
end 
                            end 
                        end 
                    end   
                
elseif d.getf("level") == 15 then 
                    say
(gameforge.flame_dungeon._370_say) 
                elseif 
d.getf("level") == 6 then -- 507 490 
                    say
(gameforge.flame_dungeon._380_say)  
                    
notice_multiline(gameforge.flame_dungeon._380_say,d.notice) 
                    
d.setf("level",16) 
                    
d.kill_unique("door6") 
                    
d.kill_unique("idoor6") 
                    
d.set_regen_file (MOB_REGEN_FILE_PATH.."fd_f.txt") 
                    
d.spawn_mob(LEVEL6_TARGET, setting.LEVEL6_TARGET_pos[1],setting.LEVEL6_TARGET_pos[2]) -- &#53440;겟오브젝트 소환 
                
elseif d.getf("level") == 16 then 
                    say
(gameforge.flame_dungeon._390_say) 
                    
say(gameforge.flame_dungeon._400_say) 
                elseif 
d.getf("level") == 7 then 
                    
-- setskin(NOWINDOW) 
                    
flame_dungeon.go_boss() 
                else 
                    
say(gameforge.flame_dungeon._410_say) 
                
end 
            npc
.unlock()         
        
end 
     


        when dungeon_end_timer
.server_timer begin -- &#51333;료 타이머 (끝나고 나가는거) 
            
local setting = flame_dungeon.setting() 
            if 
d.select(get_server_timer_arg()) then 
                flame_dungeon
.clear_timer(d.get_map_index())         
                
d.set_warp_location(ENTRY_MAP_INDEX, setting.outside_entry_pos[1] , setting.outside_entry_pos[2])  
                
d.exit_all() 
                
d.setf("party_leader_pid", 0) 
            
end 
        end 

        when killed_A_1
.server_timer begin -- &#53440;이머 돌리기1 (level1,level3) 
            
if d.select(get_server_timer_arg()) then 
                
if d.count_monster() <= 0 then -- 1&#47112;벨 몬스터 전멸시 
                    
if d.getf("level") == 11 then 
                        notice_multiline
(gameforge.flame_dungeon._420_notice,d.notice) 
                        
notice_multiline(gameforge.flame_dungeon._430_notice,d.notice) 
                    else 
                        
notice_multiline(gameforge.flame_dungeon._420_notice,d.notice) 
                        
notice_multiline(gameforge.flame_dungeon._430_notice,d.notice) 
                    
end 
                    d
.setf("level",0) 
                else  
                    
server_timer ("killed_A_2", 6, get_server_timer_arg()) 
                
end 
            end 
        end 
        when killed_A_2
.server_timer begin -- &#53440;이머 돌리기2 (1과 2 번갈아가면서 돌아감) 
            
if d.select(get_server_timer_arg()) then 
                
if d.count_monster() <= 0 then -- 1&#47112;벨 몬스터 전멸시 
                    
if d.getf("level") == 11 then 
                        notice_multiline
(gameforge.flame_dungeon._420_notice,d.notice) 
                        
notice_multiline(gameforge.flame_dungeon._430_notice,d.notice) 
                    else 
                        
notice_multiline(gameforge.flame_dungeon._420_notice,d.notice) 
                        
notice_multiline(gameforge.flame_dungeon._430_notice,d.notice) 
                    
end 
                    d
.setf("level",0) 
                else  
                    
server_timer ("killed_A_1", 6, get_server_timer_arg()) 
                
end 
            end 
        end 

        when kill with flame_dungeon
.is_flamed(pc.get_map_index()) and d.getf("level") == 12 begin -- 2&#47112;벨 봉인석 열쇠 드랍 
            
local i = number(1, 100) -- 100&#48516;의 1 확률로 열쇠드랍 
            
if i == 1 then 
                game
.drop_item (LEVEL2_KEY, 1) 
            
end 
        end 
        when LEVEL2_STONE
.take with flame_dungeon.is_flamed(pc.get_map_index()) and item.vnum == LEVEL2_KEY and d.getf("level") == 12 begin -- 2&#47112;벨 열쇠 먹었을때 
            
local i = number(1, 5) -- 5&#48516;의 1 확률로 진짜 열쇠 
            
if i == 1 then 
                npc
.purge() 
                
item.remove() 
                
notice_multiline(gameforge.flame_dungeon._440_notice,d.notice) 
                
notice_multiline(gameforge.flame_dungeon._430_notice,d.notice) 
                
flame_dungeon.level_clear() 
            else 
                
item.remove() 
                
say(gameforge.flame_dungeon._450_say) 
            
end 
        end 

        when LEVEL4_TARGET
.kill with flame_dungeon.is_flamed(pc.get_map_index()) and d.getf("level") == 14 begin 
            notice_multiline
(gameforge.flame_dungeon._460_notice,d.notice) 
            
notice_multiline(gameforge.flame_dungeon._430_notice,d.notice) 
            
flame_dungeon.level_clear() 
        
end 

        when kill with flame_dungeon
.is_flamed(pc.get_map_index()) and d.getf("level") == 15 begin -- 5&#47112;벨 봉인석 열쇠 드랍 
            
local i = number(1, 30) -- 30&#48516;의 1 확률로 열쇠드랍 
            
if i == 1 then 
                game
.drop_item (LEVEL5_REALKEY, 1) 
            
end 
        end 
        when LEVEL5_STONE
.take with flame_dungeon.is_flamed(d.get_map_index()) and item.vnum == LEVEL5_REALKEY and d.getf("level") == 15 begin -- 5&#47112;벨 진짜열쇠 먹었을때 
            
local setting = flame_dungeon.setting() 
            if 
npc.get_vid() == d.get_unique_vid("stone5_1") then -- &#52395;번째 꺼는 선행되어야 할 일이 필요없으니 찾자마자 제거해줌 
                
npc.purge() 
                
item.remove() 
                
say(gameforge.flame_dungeon._470_say) 
                
d.setf("stonekill",2) -- 2&#48264; 돌을 죽여라 
                
if d.count_monster() < LEVEL5_GEN_LIMIT then 
                    d
.regen_file (MOB_REGEN_FILE_PATH.."fd_e.txt") 
                
end 
            
elseif npc.get_vid() == d.get_unique_vid("stone5_2") then  
                
if d.getf("stonekill") == 2 then -- 2&#48264;돌을 죽일 차롄데 2번돌에게 열쇠를 먹였을 때 
                    
npc.purge() 
                    
item.remove() 
                    
say(gameforge.flame_dungeon._480_say) 
                    
d.setf("stonekill",3) 
                    if 
d.count_monster() < LEVEL5_GEN_LIMIT then 
                        d
.regen_file (MOB_REGEN_FILE_PATH.."fd_e.txt") 
                    
end 
                
else 
                    
item.remove() 
                    
say(gameforge.flame_dungeon._490_say) 
            --        
say("2번") 
                
end 
            
elseif npc.get_vid() == d.get_unique_vid("stone5_3") then 
                
if d.getf("stonekill") == 3 then 
                    npc
.purge() 
                    
item.remove() 
                    
say(gameforge.flame_dungeon._500_say) 
                    
d.setf("stonekill",4) 
                    if 
d.count_monster() < LEVEL5_GEN_LIMIT then 
                        d
.regen_file (MOB_REGEN_FILE_PATH.."fd_e.txt") 
                    
end 
                
else 
                    
item.remove() 
                    
say(gameforge.flame_dungeon._490_say) 
            --        
say("3번") 
                
end 
            
elseif npc.get_vid() == d.get_unique_vid("stone5_4") then 
                
if d.getf("stonekill") == 4 then 
                    npc
.purge() 
                    
item.remove() 
                    
say(gameforge.flame_dungeon._510_say) 
                    
d.setf("stonekill",5) 
                    if 
d.count_monster() < LEVEL5_GEN_LIMIT then 
                        d
.regen_file (MOB_REGEN_FILE_PATH.."fd_e.txt") 
                    
end 
                
else 
                    
item.remove() 
                    
say(gameforge.flame_dungeon._490_say) 
                --    
say("4번") 
                
end 
            
elseif npc.get_vid() == d.get_unique_vid("stone5_5") then 
                
if d.getf("stonekill") == 5 then 
                    npc
.purge() 
                    
item.remove() 
                    
say(gameforge.flame_dungeon._520_say) 
                    
d.setf("stonekill",6) 
                    if 
d.count_monster() < LEVEL5_GEN_LIMIT then 
                        d
.regen_file (MOB_REGEN_FILE_PATH.."fd_e.txt") 
                    
end 
                
else 
                    
item.remove() 
                    
say(gameforge.flame_dungeon._490_say) 
            --        
say("5번") 
                
end 
            
elseif npc.get_vid() == d.get_unique_vid("stone5_6") then 
                
if d.getf("stonekill") == 6 then 
                    npc
.purge() 
                    
item.remove() 
                    
say(gameforge.flame_dungeon._530_say) 
                    
d.setf("stonekill",7) 
                    if 
d.count_monster() < LEVEL5_GEN_LIMIT then 
                        d
.regen_file (MOB_REGEN_FILE_PATH.."fd_e.txt") 
                    
end 
                
else 
                    
item.remove() 
                    
say(gameforge.flame_dungeon._490_say) 
            --        
say("6번") 
                
end 
            
else  
                if 
d.getf("stonekill") == 7 then 
                    npc
.purge() 
                    
item.remove() 
                    
notice_multiline(gameforge.flame_dungeon._440_notice,d.notice) 
                    
notice_multiline(gameforge.flame_dungeon._430_notice,d.notice) 
                    
flame_dungeon.level_clear() 
                else 
                    
item.remove() 
                    
say(gameforge.flame_dungeon._490_say) 
            --        
say("7번") 
                
end 
            end 
        end 

        when LEVEL6_TARGET
.kill with flame_dungeon.is_flamed(d.get_map_index()) and d.getf("level") ==16 begin -- &#47581;마석 파괴했을 때 
            
notice_multiline(gameforge.flame_dungeon._540_notice,d.notice) 
            
notice_multiline(gameforge.flame_dungeon._430_notice,d.notice) 
            
flame_dungeon.level_clear() 
        
end 

        when FINAL_BOSS
.kill with flame_dungeon.is_flamed(d.get_map_index()) and d.getf("level") ==17 begin -- &#48372;스 죽였을때 
            
notice_multiline(gameforge.flame_dungeon._550_notice,d.notice) 
            
notice_multiline(gameforge.flame_dungeon._560_notice,d.notice) 
            
server_timer("dungeon_end_timer", 60,d.get_map_index())     
            
flame_dungeon.level_clear() 
             
            -- &
#54028;티원 중, 야마천 잡는 퀘스트(104렙, 105렙 퀘스트) 진행중인 사람이 있으면 퀘스트 클리어 되도록. 
            
if party.is_party() then 
                party
.setf("flame_dungeon_boss_kill_count", 1) 
            
end 
             
        end 
    end 
end 
Hallo alle zusammen,

ich habe ein Problem bei dem Flammenrun. Wenn ich dahin komme das man alle Monster töten soll passiert nix wenn ich alle getötet habe. Bei der Statue steht

Quote:
Es wurden noch nicht alle Dämonen besiegt.
Verbleibend: 0