Jump to content
×
×
  • Create New...
  • 0

ajouter un level quetes


Allostarz
 Share

Question

[Message d'introduction]

 

Version des files :2012

Domaine (Base de données, Core, etc.) :

Votre niveau (débutant, intermédiaire, avancé) :

 

Description du problème :

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
-----------------------------------------------------
-- Garde de la tour : Entrer dans la tour du démon --
-----------------------------------------------------




	when deviltower_man.chat."Entrer dans la tour du démon" with pc.get_map_index() == 65 begin
		if pc.get_level() < 40 then
			---                                                   l
			say_title("Le garde de la tour du démon:")
			say("Il y a beaucoup de démons dans la tour, il vous")
			say("faut être courageux et fort. Malheuresement,")
			say("vous n'avez pas cette force...")
			say("Revenez me voir une fois le niveau 40 atteint.")
		else
			---                                                   l
			say_title("Le garde de la tour du démon:")
			say("Il y a beaucoup de démons dans la tour, il vous")
			say("faudra être courageux et fort. Aucune personne")
			say("ne survit dans la tour du démon.")
			say("Voulez-vous vraiment entrer ?")
			local s = select("Entrer","Ne pas Entrer")




			if s == 1 then
				pc.warp(216500,727000)
			end
		end
	end




---------------------------------------------------
-- Garde de la tour : Sortir de la tour du démon --
---------------------------------------------------




	when deviltower_man.chat."Sortir de la tour du démon" with pc.get_map_index() == 66 begin
		---                                                   l
		say_title("Le garde de la tour du démon:")
		say("Voulez-vous vraiment sortir de la tour du démon ?")
		local b =select("Sortir","Ne pas Sortir")




		if b == 1 then




			---                                                   l
			say_title("Le garde de la tour du démon:")
			say("Une sage décision. Il est dangereux de rester")
			say("ici. Allez soigner vos blessures.")
			wait()
			pc.warp(590500, 110500)
		end
	end




------------------------------------
-- Tour du démon : Rez-de-chaussé --
------------------------------------




	when devil_stone1.kill begin
		timer("devil_stone1_1", 6)
	end




-----------------------------
-- Tour du démon : Étage 1 --
-----------------------------




	when devil_stone1_1.timer begin




		local mapto7= pc.count_item(30302)
		pc.remove_item(30302,mapto7)




		local boxto7= pc.count_item(30300)
		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




-----------------------------------------
-- Tour du démon : Étage 2 : Roi Démon --
-----------------------------------------




	when devil_stone3.kill begin
		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()
	end




------------------------------------------------
-- Tour du démon : Étage 3 : Pierres de Metin --
------------------------------------------------




	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
		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)
		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("Vous êtes devant la porte du choix au troisième");
		d.notice("étage. Beaucoup de fausses pierres Metin trompent");
		d.notice("vos sens. Trouvez la bonne pierre Metin et");
		d.notice("détruisez-la dans les 15 minutes qui suivent.");
		d.notice("C'est le seul moyen de franchir cette porte.");
	end




	when devil_stone4_fail1.server_timer begin
		if d.select(get_server_timer_arg()) then
			d.notice("Il reste 10 minutes.")
			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("Il reste 5 minutes.")
			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("Temps écoulé!")
			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("Les fausses pierres metin disparaissent.");
						end
					end
				end
			else
				server_timer("devil_stone4_end", 5, get_server_timer_arg())
				d.notice("Vous avez fait la preuve de la finesse de votre")
				d.notice("ouie et de la sûreté de votre instinct. Vous avez")
				d.notice("détruit la vraie pierre Metin! Vous allez")
				d.notice("maintenant atteindre le 4ème étage.")
				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




-------------------------------------------------
-- Tour du démon : Étage 4 : Les seaux anciens --
-------------------------------------------------




	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("Vous êtes à la porte scellée du quatrième étage.") 
			d.notice("Vous devez ouvrir les 5 sceaux anciens pour") 
			d.notice("accéder à l'étage supérieur. L'endroit est") 
			d.notice("rempli de monstres prêts à vous sauter dessus.")
			d.notice("Certains d'entre eux ont une pierre d'ouverture")
			d.notice("sur eux. Récupérez suffisamment de pierres")
			d.notice("d'ouvertures afin d'ouvrir les 5 sceaux anciens")
			d.notice("et ainsi d'accéder au 5ème étage. Attention : ")
			d.notice("vous n'avez que 20 minutes ! ") 
			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())




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




			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("Il reste 15 minutes.")
			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("Il reste 10 minutes.")
			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("Il reste 5 minutes.")
			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("Temps écoulé!")
			d.exit_all()
		end
	end




	when 1062.kill with pc.in_dungeon() and d.getf("level") == 5 begin
		local KILL_COUNT_FOR_DROP_KEY = 50
		local n =d.getf("count") + 1
		d.setf("count", n) 
		if n == KILL_COUNT_FOR_DROP_KEY then
			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("Vous avez réussi à desceller la pierre. Rendez")
			d.notice("vous maintenant au cinquième étage, l'étage du") 
			d.notice("roi des démons et tuez tous les monstres qui s'y")
			d.notice("trouvent.")
			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("Vous avez descellé la pierre ! Il en reste "..d.getf("stone_count").." .")
		end
	end
-----------------------------------------------
-- Tour du démon : Étage 5 : Roi Démon Élite --
-----------------------------------------------




	when devil_stone6.kill begin
		d.kill_all()
		d.check_eliminated()
		d.notice("Vous avez tué tous les monstres. En récompense")
		d.notice("vous obtenez une amélioration d'un de vos objets")
		d.notice("par le forgeron. Faites glisser l'objet que vous")
		d.notice("souhaitez améliorer sur le forgeron.")
		local reward_alchemist = {20074, 20075, 20076}
		d.spawn_mob(reward_alchemist[number(1,3)], 425, 216);
		d.setqf("can_refine", 1)
	end




-------------------------------------------
-- Les Forgerons : Les étages supérieurs --
-------------------------------------------




	when 20074.chat."Les étages supérieurs." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
		---                                                   l
		say_title(""..mob_name(20074)..":")
		say("Vous voulez entrer au 6eme étage de la Tour? Il")
		say("faut de grandes compétences et beaucoup")
		say("d'intelligence pour survivre à cet étage. Quand")
		say("vous serez au niveau 75 je pourrai vous y")
		say("téléporter.")
		wait()




		if pc.level >=75 then
			---                                                   l
			say_title(""..mob_name(20074)..":")
			say("Tu à l'air bien expérimenté, donc je peu")
			say("te téléporter aux étages supérieurs.")
			say("Bonne chance.")
			timer("devil_jump_7", 6)
			return
		end




		---                                                   l
		say_title(""..mob_name(20074)..":")
		say("Votre niveaux n'est pas assez élevé. Je ne peux")
		say("pas vous autoriser à pénétrer dans les étages")
		say("supérieurs. Revenez quand vous serez plus")
		say("expérimenté. Vous devez être au moins au niveau")
		say("75.")
		wait()
		pc.warp(590500, 110500)
		return
	end




	when 20075.chat."Les étages supérieurs." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
		---                                                   l
		say_title(""..mob_name(20075)..":")
		say("Vous voulez entrer au 6eme étage de la Tour? Il")
		say("faut de grandes compétences et beaucoup")
		say("d'intelligence pour survivre à cet étage. Quand")
		say("vous serez au niveau 75 je pourrai vous y")
		say("téléporter.")
		wait()




		if pc.level >=75 then
			---                                                   l
			say_title(""..mob_name(20075)..":")
			say("Tu à l'air bien expérimenté, donc je peu")
			say("te téléporter aux étages supérieurs.")
			say("Bonne chance.")
			timer("devil_jump_7", 6)
			return
		end




		---                                                   l
		say_title(""..mob_name(20075)..":")
		say("Votre niveaux n'est pas assez élevé. Je ne peux")
		say("pas vous autoriser à pénétrer dans les étages")
		say("supérieurs. Revenez quand vous serez plus")
		say("expérimenté. Vous devez être au moins au niveau")
		say("75.")
		wait()
		pc.warp(590500, 110500)
		return
	end




	when 20076.chat."Les étages supérieurs." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
		---                                                   l
		say_title(""..mob_name(20076)..":")
		say("Vous voulez entrer au 6eme étage de la Tour? Il")
		say("faut de grandes compétences et beaucoup")
		say("d'intelligence pour survivre à cet étage. Quand")
		say("vous serez au niveau 75 je pourrai vous y")
		say("téléporter.")
		wait()




		if pc.level >=75 then
			---                                                   l
			say_title(""..mob_name(20076)..":")
			say("Tu à l'air bien expérimenté, donc je peu")
			say("te téléporter aux étages supérieurs.")
			say("Bonne chance.")
			timer("devil_jump_7", 6)
			return
		end




		---                                                   l
		say_title(""..mob_name(20076)..":")
		say("Votre niveaux n'est pas assez élevé. Je ne peux")
		say("pas vous autoriser à pénétrer dans les étages")
		say("supérieurs. Revenez quand vous serez plus")
		say("expérimenté. Vous devez être au moins au niveau")
		say("75.")
		wait()
		pc.warp(590500, 110500)
		return
	end




-----------------------------------------
-- Tour du démon : Étage 6 : Les Plans --
-----------------------------------------




	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




		-- Vieux coffre inconnu




		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




			-- Plan tour Zin-Sa-Gui (Vrai)




			game.drop_item(30302, 1)
			d.clear_regen()
		else




			-- Plan tour de Sa-Gui (Faux)




			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
		---                                                   l
		say("Félicitations! Vous avez reçu le vrai Plan")
		say("Zin-Sa-Gui.")
		pc.remove_item("30302", 1)
		timer("devil_jump_8", 6)
		d.clear_regen()
	end




----------------------------------------
-- Tour du démon : Étage 7 : Les Clés --
----------------------------------------




	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)
		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




				-- Clé de Zin-Bong (Vrai)




				game.drop_item(30304, 1)
			else
				-- Clé de Bong-In (Faux)




				game.drop_item(30303, 1)
			end
		else




		return
		end
	end




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




-----------------------------------------
-- Tour du démon : Étage 8 : Faucheuse --
-----------------------------------------




	when devil_jump_9.timer begin
		d.setf("level", 9)
		d.notice("Tuez le chef des démons.") 
		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()
		d.notice("Vous avez réussi la quête. Vous allez être");
		d.notice("téléporté à l'extérieur dans quelques minutes.");
		d.notice("Je t'attendrai dans les Catacombes du Diable !");
		d.notice("Suis-moi et ma colère s'abattra sur toi telle un");
		d.notice("raz-de-marée !");
		timer("devil_end_jump", 60)
	end




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

 

Alors voila je voudrai que les jouers ne puisse rentrer dans la tour que ou level 185

 

Message d'erreur, capture d'écran :

 

En postant ma demande d'aide, j'affirme avoir lu et accepté le règlement des demandes d'aides.

Link to comment
Share on other sites

  • Answers 4
  • Created
  • Last Reply

Top Posters For This Question

Popular Days

Top Posters For This Question

4 answers to this question

Recommended Posts

  • 0

Le LUA n'est pas mon fort mais voilà ce que je te propose:

 

       when deviltower_man.chat."Entrer dans la tour du démon" with pc.get_map_index() == 65 begin
           if pc.get_level() < 40 then

 

 

Devient:

 

       when deviltower_man.chat."Entrer dans la tour du démon" with pc.get_map_index() == 65 begin
           if pc.get_level() > 185 then

 

 

 

La quête en entière:

 

 

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
   -----------------------------------------------------
   -- Garde de la tour : Entrer dans la tour du démon --
   -----------------------------------------------------




       when deviltower_man.chat."Entrer dans la tour du démon" with pc.get_map_index() == 65 begin
           if pc.get_level() > 185 then
               ---                                                   l
               say_title("Le garde de la tour du démon:")
               say("Il y a beaucoup de démons dans la tour, il vous")
               say("faut être courageux et fort. Malheuresement,")
               say("vous n'avez pas cette force...")
               say("Revenez me voir une fois le niveau 185 atteint.")
           else
               ---                                                   l
               say_title("Le garde de la tour du démon:")
               say("Il y a beaucoup de démons dans la tour, il vous")
               say("faudra être courageux et fort. Aucune personne")
               say("ne survit dans la tour du démon.")
               say("Voulez-vous vraiment entrer ?")
               local s = select("Entrer","Ne pas Entrer")




               if s == 1 then
                   pc.warp(216500,727000)
               end
           end
       end




   ---------------------------------------------------
   -- Garde de la tour : Sortir de la tour du démon --
   ---------------------------------------------------




       when deviltower_man.chat."Sortir de la tour du démon" with pc.get_map_index() == 66 begin
           ---                                                   l
           say_title("Le garde de la tour du démon:")
           say("Voulez-vous vraiment sortir de la tour du démon ?")
           local b =select("Sortir","Ne pas Sortir")




           if b == 1 then




               ---                                                   l
               say_title("Le garde de la tour du démon:")
               say("Une sage décision. Il est dangereux de rester")
               say("ici. Allez soigner vos blessures.")
               wait()
               pc.warp(590500, 110500)
           end
       end




   ------------------------------------
   -- Tour du démon : Rez-de-chaussé --
   ------------------------------------




       when devil_stone1.kill begin
           timer("devil_stone1_1", 6)
       end




   -----------------------------
   -- Tour du démon : Étage 1 --
   -----------------------------




       when devil_stone1_1.timer begin




           local mapto7= pc.count_item(30302)
           pc.remove_item(30302,mapto7)




           local boxto7= pc.count_item(30300)
           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




   -----------------------------------------
   -- Tour du démon : Étage 2 : Roi Démon --
   -----------------------------------------




       when devil_stone3.kill begin
           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()
       end




   ------------------------------------------------
   -- Tour du démon : Étage 3 : Pierres de Metin --
   ------------------------------------------------




       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
           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)
           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("Vous êtes devant la porte du choix au troisième");
           d.notice("étage. Beaucoup de fausses pierres Metin trompent");
           d.notice("vos sens. Trouvez la bonne pierre Metin et");
           d.notice("détruisez-la dans les 15 minutes qui suivent.");
           d.notice("C'est le seul moyen de franchir cette porte.");
       end




       when devil_stone4_fail1.server_timer begin
           if d.select(get_server_timer_arg()) then
               d.notice("Il reste 10 minutes.")
               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("Il reste 5 minutes.")
               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("Temps écoulé!")
               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("Les fausses pierres metin disparaissent.");
                           end
                       end
                   end
               else
                   server_timer("devil_stone4_end", 5, get_server_timer_arg())
                   d.notice("Vous avez fait la preuve de la finesse de votre")
                   d.notice("ouie et de la sûreté de votre instinct. Vous avez")
                   d.notice("détruit la vraie pierre Metin! Vous allez")
                   d.notice("maintenant atteindre le 4ème étage.")
                   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




   -------------------------------------------------
   -- Tour du démon : Étage 4 : Les seaux anciens --
   -------------------------------------------------




       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("Vous êtes à la porte scellée du quatrième étage.") 
               d.notice("Vous devez ouvrir les 5 sceaux anciens pour") 
               d.notice("accéder à l'étage supérieur. L'endroit est") 
               d.notice("rempli de monstres prêts à vous sauter dessus.")
               d.notice("Certains d'entre eux ont une pierre d'ouverture")
               d.notice("sur eux. Récupérez suffisamment de pierres")
               d.notice("d'ouvertures afin d'ouvrir les 5 sceaux anciens")
               d.notice("et ainsi d'accéder au 5ème étage. Attention : ")
               d.notice("vous n'avez que 20 minutes ! ") 
               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())




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




               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("Il reste 15 minutes.")
               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("Il reste 10 minutes.")
               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("Il reste 5 minutes.")
               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("Temps écoulé!")
               d.exit_all()
           end
       end




       when 1062.kill with pc.in_dungeon() and d.getf("level") == 5 begin
           local KILL_COUNT_FOR_DROP_KEY = 50
           local n =d.getf("count") + 1
           d.setf("count", n) 
           if n == KILL_COUNT_FOR_DROP_KEY then
               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("Vous avez réussi à desceller la pierre. Rendez")
               d.notice("vous maintenant au cinquième étage, l'étage du") 
               d.notice("roi des démons et tuez tous les monstres qui s'y")
               d.notice("trouvent.")
               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("Vous avez descellé la pierre ! Il en reste "..d.getf("stone_count").." .")
           end
       end
   -----------------------------------------------
   -- Tour du démon : Étage 5 : Roi Démon Élite --
   -----------------------------------------------




       when devil_stone6.kill begin
           d.kill_all()
           d.check_eliminated()
           d.notice("Vous avez tué tous les monstres. En récompense")
           d.notice("vous obtenez une amélioration d'un de vos objets")
           d.notice("par le forgeron. Faites glisser l'objet que vous")
           d.notice("souhaitez améliorer sur le forgeron.")
           local reward_alchemist = {20074, 20075, 20076}
           d.spawn_mob(reward_alchemist[number(1,3)], 425, 216);
           d.setqf("can_refine", 1)
       end




   -------------------------------------------
   -- Les Forgerons : Les étages supérieurs --
   -------------------------------------------




       when 20074.chat."Les étages supérieurs." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
           ---                                                   l
           say_title(""..mob_name(20074)..":")
           say("Vous voulez entrer au 6eme étage de la Tour? Il")
           say("faut de grandes compétences et beaucoup")
           say("d'intelligence pour survivre à cet étage. Quand")
           say("vous serez au niveau 75 je pourrai vous y")
           say("téléporter.")
           wait()




           if pc.level >=75 then
               ---                                                   l
               say_title(""..mob_name(20074)..":")
               say("Tu à l'air bien expérimenté, donc je peu")
               say("te téléporter aux étages supérieurs.")
               say("Bonne chance.")
               timer("devil_jump_7", 6)
               return
           end




           ---                                                   l
           say_title(""..mob_name(20074)..":")
           say("Votre niveaux n'est pas assez élevé. Je ne peux")
           say("pas vous autoriser à pénétrer dans les étages")
           say("supérieurs. Revenez quand vous serez plus")
           say("expérimenté. Vous devez être au moins au niveau")
           say("75.")
           wait()
           pc.warp(590500, 110500)
           return
       end




       when 20075.chat."Les étages supérieurs." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
           ---                                                   l
           say_title(""..mob_name(20075)..":")
           say("Vous voulez entrer au 6eme étage de la Tour? Il")
           say("faut de grandes compétences et beaucoup")
           say("d'intelligence pour survivre à cet étage. Quand")
           say("vous serez au niveau 75 je pourrai vous y")
           say("téléporter.")
           wait()




           if pc.level >=75 then
               ---                                                   l
               say_title(""..mob_name(20075)..":")
               say("Tu à l'air bien expérimenté, donc je peu")
               say("te téléporter aux étages supérieurs.")
               say("Bonne chance.")
               timer("devil_jump_7", 6)
               return
           end




           ---                                                   l
           say_title(""..mob_name(20075)..":")
           say("Votre niveaux n'est pas assez élevé. Je ne peux")
           say("pas vous autoriser à pénétrer dans les étages")
           say("supérieurs. Revenez quand vous serez plus")
           say("expérimenté. Vous devez être au moins au niveau")
           say("75.")
           wait()
           pc.warp(590500, 110500)
           return
       end




       when 20076.chat."Les étages supérieurs." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
           ---                                                   l
           say_title(""..mob_name(20076)..":")
           say("Vous voulez entrer au 6eme étage de la Tour? Il")
           say("faut de grandes compétences et beaucoup")
           say("d'intelligence pour survivre à cet étage. Quand")
           say("vous serez au niveau 75 je pourrai vous y")
           say("téléporter.")
           wait()




           if pc.level >=75 then
               ---                                                   l
               say_title(""..mob_name(20076)..":")
               say("Tu à l'air bien expérimenté, donc je peu")
               say("te téléporter aux étages supérieurs.")
               say("Bonne chance.")
               timer("devil_jump_7", 6)
               return
           end




           ---                                                   l
           say_title(""..mob_name(20076)..":")
           say("Votre niveaux n'est pas assez élevé. Je ne peux")
           say("pas vous autoriser à pénétrer dans les étages")
           say("supérieurs. Revenez quand vous serez plus")
           say("expérimenté. Vous devez être au moins au niveau")
           say("75.")
           wait()
           pc.warp(590500, 110500)
           return
       end




   -----------------------------------------
   -- Tour du démon : Étage 6 : Les Plans --
   -----------------------------------------




       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




           -- Vieux coffre inconnu




           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




               -- Plan tour Zin-Sa-Gui (Vrai)




               game.drop_item(30302, 1)
               d.clear_regen()
           else




               -- Plan tour de Sa-Gui (Faux)




               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
           ---                                                   l
           say("Félicitations! Vous avez reçu le vrai Plan")
           say("Zin-Sa-Gui.")
           pc.remove_item("30302", 1)
           timer("devil_jump_8", 6)
           d.clear_regen()
       end




   ----------------------------------------
   -- Tour du démon : Étage 7 : Les Clés --
   ----------------------------------------




       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)
           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




                   -- Clé de Zin-Bong (Vrai)




                   game.drop_item(30304, 1)
               else
                   -- Clé de Bong-In (Faux)




                   game.drop_item(30303, 1)
               end
           else




           return
           end
       end




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




   -----------------------------------------
   -- Tour du démon : Étage 8 : Faucheuse --
   -----------------------------------------




       when devil_jump_9.timer begin
           d.setf("level", 9)
           d.notice("Tuez le chef des démons.") 
           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()
           d.notice("Vous avez réussi la quête. Vous allez être");
           d.notice("téléporté à l'extérieur dans quelques minutes.");
           d.notice("Je t'attendrai dans les Catacombes du Diable !");
           d.notice("Suis-moi et ma colère s'abattra sur toi telle un");
           d.notice("raz-de-marée !");
           timer("devil_end_jump", 60)
       end




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

Link to comment
Share on other sites

  • 0

C'était pas mal joué Craven mais le signe est incorrect puisque ici il vérifie si son niveau est sous le niveau demandé et non au dessus.

En gros faut pas mettre > 185 mais < 185 :D

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
   -----------------------------------------------------
   -- Garde de la tour : Entrer dans la tour du démon --
   -----------------------------------------------------




       when deviltower_man.chat."Entrer dans la tour du démon" with pc.get_map_index() == 65 begin
           if pc.get_level() < 185 then
               ---                                                   l
               say_title("Le garde de la tour du démon:")
               say("Il y a beaucoup de démons dans la tour, il vous")
               say("faut être courageux et fort. Malheuresement,")
               say("vous n'avez pas cette force...")
               say("Revenez me voir une fois le niveau 40 atteint.")
           else
               ---                                                   l
               say_title("Le garde de la tour du démon:")
               say("Il y a beaucoup de démons dans la tour, il vous")
               say("faudra être courageux et fort. Aucune personne")
               say("ne survit dans la tour du démon.")
               say("Voulez-vous vraiment entrer ?")
               local s = select("Entrer","Ne pas Entrer")




               if s == 1 then
                   pc.warp(216500,727000)
               end
           end
       end




   ---------------------------------------------------
   -- Garde de la tour : Sortir de la tour du démon --
   ---------------------------------------------------




       when deviltower_man.chat."Sortir de la tour du démon" with pc.get_map_index() == 66 begin
           ---                                                   l
           say_title("Le garde de la tour du démon:")
           say("Voulez-vous vraiment sortir de la tour du démon ?")
           local b =select("Sortir","Ne pas Sortir")




           if b == 1 then




               ---                                                   l
               say_title("Le garde de la tour du démon:")
               say("Une sage décision. Il est dangereux de rester")
               say("ici. Allez soigner vos blessures.")
               wait()
               pc.warp(590500, 110500)
           end
       end




   ------------------------------------
   -- Tour du démon : Rez-de-chaussé --
   ------------------------------------




       when devil_stone1.kill begin
           timer("devil_stone1_1", 6)
       end




   -----------------------------
   -- Tour du démon : Étage 1 --
   -----------------------------




       when devil_stone1_1.timer begin




           local mapto7= pc.count_item(30302)
           pc.remove_item(30302,mapto7)




           local boxto7= pc.count_item(30300)
           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




   -----------------------------------------
   -- Tour du démon : Étage 2 : Roi Démon --
   -----------------------------------------




       when devil_stone3.kill begin
           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()
       end




   ------------------------------------------------
   -- Tour du démon : Étage 3 : Pierres de Metin --
   ------------------------------------------------




       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
           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)
           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("Vous êtes devant la porte du choix au troisième");
           d.notice("étage. Beaucoup de fausses pierres Metin trompent");
           d.notice("vos sens. Trouvez la bonne pierre Metin et");
           d.notice("détruisez-la dans les 15 minutes qui suivent.");
           d.notice("C'est le seul moyen de franchir cette porte.");
       end




       when devil_stone4_fail1.server_timer begin
           if d.select(get_server_timer_arg()) then
               d.notice("Il reste 10 minutes.")
               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("Il reste 5 minutes.")
               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("Temps écoulé!")
               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("Les fausses pierres metin disparaissent.");
                           end
                       end
                   end
               else
                   server_timer("devil_stone4_end", 5, get_server_timer_arg())
                   d.notice("Vous avez fait la preuve de la finesse de votre")
                   d.notice("ouie et de la sûreté de votre instinct. Vous avez")
                   d.notice("détruit la vraie pierre Metin! Vous allez")
                   d.notice("maintenant atteindre le 4ème étage.")
                   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




   -------------------------------------------------
   -- Tour du démon : Étage 4 : Les seaux anciens --
   -------------------------------------------------




       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("Vous êtes à la porte scellée du quatrième étage.") 
               d.notice("Vous devez ouvrir les 5 sceaux anciens pour") 
               d.notice("accéder à l'étage supérieur. L'endroit est") 
               d.notice("rempli de monstres prêts à vous sauter dessus.")
               d.notice("Certains d'entre eux ont une pierre d'ouverture")
               d.notice("sur eux. Récupérez suffisamment de pierres")
               d.notice("d'ouvertures afin d'ouvrir les 5 sceaux anciens")
               d.notice("et ainsi d'accéder au 5ème étage. Attention : ")
               d.notice("vous n'avez que 20 minutes ! ") 
               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())




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




               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("Il reste 15 minutes.")
               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("Il reste 10 minutes.")
               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("Il reste 5 minutes.")
               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("Temps écoulé!")
               d.exit_all()
           end
       end




       when 1062.kill with pc.in_dungeon() and d.getf("level") == 5 begin
           local KILL_COUNT_FOR_DROP_KEY = 50
           local n =d.getf("count") + 1
           d.setf("count", n) 
           if n == KILL_COUNT_FOR_DROP_KEY then
               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("Vous avez réussi à desceller la pierre. Rendez")
               d.notice("vous maintenant au cinquième étage, l'étage du") 
               d.notice("roi des démons et tuez tous les monstres qui s'y")
               d.notice("trouvent.")
               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("Vous avez descellé la pierre ! Il en reste "..d.getf("stone_count").." .")
           end
       end
   -----------------------------------------------
   -- Tour du démon : Étage 5 : Roi Démon Élite --
   -----------------------------------------------




       when devil_stone6.kill begin
           d.kill_all()
           d.check_eliminated()
           d.notice("Vous avez tué tous les monstres. En récompense")
           d.notice("vous obtenez une amélioration d'un de vos objets")
           d.notice("par le forgeron. Faites glisser l'objet que vous")
           d.notice("souhaitez améliorer sur le forgeron.")
           local reward_alchemist = {20074, 20075, 20076}
           d.spawn_mob(reward_alchemist[number(1,3)], 425, 216);
           d.setqf("can_refine", 1)
       end




   -------------------------------------------
   -- Les Forgerons : Les étages supérieurs --
   -------------------------------------------




       when 20074.chat."Les étages supérieurs." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
           ---                                                   l
           say_title(""..mob_name(20074)..":")
           say("Vous voulez entrer au 6eme étage de la Tour? Il")
           say("faut de grandes compétences et beaucoup")
           say("d'intelligence pour survivre à cet étage. Quand")
           say("vous serez au niveau 75 je pourrai vous y")
           say("téléporter.")
           wait()




           if pc.level >=75 then
               ---                                                   l
               say_title(""..mob_name(20074)..":")
               say("Tu à l'air bien expérimenté, donc je peu")
               say("te téléporter aux étages supérieurs.")
               say("Bonne chance.")
               timer("devil_jump_7", 6)
               return
           end




           ---                                                   l
           say_title(""..mob_name(20074)..":")
           say("Votre niveaux n'est pas assez élevé. Je ne peux")
           say("pas vous autoriser à pénétrer dans les étages")
           say("supérieurs. Revenez quand vous serez plus")
           say("expérimenté. Vous devez être au moins au niveau")
           say("75.")
           wait()
           pc.warp(590500, 110500)
           return
       end




       when 20075.chat."Les étages supérieurs." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
           ---                                                   l
           say_title(""..mob_name(20075)..":")
           say("Vous voulez entrer au 6eme étage de la Tour? Il")
           say("faut de grandes compétences et beaucoup")
           say("d'intelligence pour survivre à cet étage. Quand")
           say("vous serez au niveau 75 je pourrai vous y")
           say("téléporter.")
           wait()




           if pc.level >=75 then
               ---                                                   l
               say_title(""..mob_name(20075)..":")
               say("Tu à l'air bien expérimenté, donc je peu")
               say("te téléporter aux étages supérieurs.")
               say("Bonne chance.")
               timer("devil_jump_7", 6)
               return
           end




           ---                                                   l
           say_title(""..mob_name(20075)..":")
           say("Votre niveaux n'est pas assez élevé. Je ne peux")
           say("pas vous autoriser à pénétrer dans les étages")
           say("supérieurs. Revenez quand vous serez plus")
           say("expérimenté. Vous devez être au moins au niveau")
           say("75.")
           wait()
           pc.warp(590500, 110500)
           return
       end




       when 20076.chat."Les étages supérieurs." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
           ---                                                   l
           say_title(""..mob_name(20076)..":")
           say("Vous voulez entrer au 6eme étage de la Tour? Il")
           say("faut de grandes compétences et beaucoup")
           say("d'intelligence pour survivre à cet étage. Quand")
           say("vous serez au niveau 75 je pourrai vous y")
           say("téléporter.")
           wait()




           if pc.level >=75 then
               ---                                                   l
               say_title(""..mob_name(20076)..":")
               say("Tu à l'air bien expérimenté, donc je peu")
               say("te téléporter aux étages supérieurs.")
               say("Bonne chance.")
               timer("devil_jump_7", 6)
               return
           end




           ---                                                   l
           say_title(""..mob_name(20076)..":")
           say("Votre niveaux n'est pas assez élevé. Je ne peux")
           say("pas vous autoriser à pénétrer dans les étages")
           say("supérieurs. Revenez quand vous serez plus")
           say("expérimenté. Vous devez être au moins au niveau")
           say("75.")
           wait()
           pc.warp(590500, 110500)
           return
       end




   -----------------------------------------
   -- Tour du démon : Étage 6 : Les Plans --
   -----------------------------------------




       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




           -- Vieux coffre inconnu




           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




               -- Plan tour Zin-Sa-Gui (Vrai)




               game.drop_item(30302, 1)
               d.clear_regen()
           else




               -- Plan tour de Sa-Gui (Faux)




               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
           ---                                                   l
           say("Félicitations! Vous avez reçu le vrai Plan")
           say("Zin-Sa-Gui.")
           pc.remove_item("30302", 1)
           timer("devil_jump_8", 6)
           d.clear_regen()
       end




   ----------------------------------------
   -- Tour du démon : Étage 7 : Les Clés --
   ----------------------------------------




       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)
           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




                   -- Clé de Zin-Bong (Vrai)




                   game.drop_item(30304, 1)
               else
                   -- Clé de Bong-In (Faux)




                   game.drop_item(30303, 1)
               end
           else




           return
           end
       end




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




   -----------------------------------------
   -- Tour du démon : Étage 8 : Faucheuse --
   -----------------------------------------




       when devil_jump_9.timer begin
           d.setf("level", 9)
           d.notice("Tuez le chef des démons.") 
           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()
           d.notice("Vous avez réussi la quête. Vous allez être");
           d.notice("téléporté à l'extérieur dans quelques minutes.");
           d.notice("Je t'attendrai dans les Catacombes du Diable !");
           d.notice("Suis-moi et ma colère s'abattra sur toi telle un");
           d.notice("raz-de-marée !");
           timer("devil_end_jump", 60)
       end




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

Link to comment
Share on other sites

  • 0

Quand tu modifies, fais-le jusqu'au bout.

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
   -----------------------------------------------------
   -- Garde de la tour : Entrer dans la tour du démon --
   -----------------------------------------------------




       when deviltower_man.chat."Entrer dans la tour du démon" with pc.get_map_index() == 65 begin
           if pc.get_level() < 185 then
               ---                                                   l
               say_title("Le garde de la tour du démon:")
               say("Il y a beaucoup de démons dans la tour, il vous")
               say("faut être courageux et fort. Malheuresement,")
               say("vous n'avez pas cette force...")
               say("Revenez me voir une fois le niveau 185 atteint.")
           else
               ---                                                   l
               say_title("Le garde de la tour du démon:")
               say("Il y a beaucoup de démons dans la tour, il vous")
               say("faudra être courageux et fort. Aucune personne")
               say("ne survit dans la tour du démon.")
               say("Voulez-vous vraiment entrer ?")
               local s = select("Entrer","Ne pas Entrer")




               if s == 1 then
                   pc.warp(216500,727000)
               end
           end
       end




   ---------------------------------------------------
   -- Garde de la tour : Sortir de la tour du démon --
   ---------------------------------------------------




       when deviltower_man.chat."Sortir de la tour du démon" with pc.get_map_index() == 66 begin
           ---                                                   l
           say_title("Le garde de la tour du démon:")
           say("Voulez-vous vraiment sortir de la tour du démon ?")
           local b =select("Sortir","Ne pas Sortir")




           if b == 1 then




               ---                                                   l
               say_title("Le garde de la tour du démon:")
               say("Une sage décision. Il est dangereux de rester")
               say("ici. Allez soigner vos blessures.")
               wait()
               pc.warp(590500, 110500)
           end
       end




   ------------------------------------
   -- Tour du démon : Rez-de-chaussé --
   ------------------------------------




       when devil_stone1.kill begin
           timer("devil_stone1_1", 6)
       end




   -----------------------------
   -- Tour du démon : Étage 1 --
   -----------------------------




       when devil_stone1_1.timer begin




           local mapto7= pc.count_item(30302)
           pc.remove_item(30302,mapto7)




           local boxto7= pc.count_item(30300)
           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




   -----------------------------------------
   -- Tour du démon : Étage 2 : Roi Démon --
   -----------------------------------------




       when devil_stone3.kill begin
           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()
       end




   ------------------------------------------------
   -- Tour du démon : Étage 3 : Pierres de Metin --
   ------------------------------------------------




       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
           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)
           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("Vous êtes devant la porte du choix au troisième");
           d.notice("étage. Beaucoup de fausses pierres Metin trompent");
           d.notice("vos sens. Trouvez la bonne pierre Metin et");
           d.notice("détruisez-la dans les 15 minutes qui suivent.");
           d.notice("C'est le seul moyen de franchir cette porte.");
       end




       when devil_stone4_fail1.server_timer begin
           if d.select(get_server_timer_arg()) then
               d.notice("Il reste 10 minutes.")
               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("Il reste 5 minutes.")
               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("Temps écoulé!")
               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("Les fausses pierres metin disparaissent.");
                           end
                       end
                   end
               else
                   server_timer("devil_stone4_end", 5, get_server_timer_arg())
                   d.notice("Vous avez fait la preuve de la finesse de votre")
                   d.notice("ouie et de la sûreté de votre instinct. Vous avez")
                   d.notice("détruit la vraie pierre Metin! Vous allez")
                   d.notice("maintenant atteindre le 4ème étage.")
                   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




   -------------------------------------------------
   -- Tour du démon : Étage 4 : Les seaux anciens --
   -------------------------------------------------




       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("Vous êtes à la porte scellée du quatrième étage.") 
               d.notice("Vous devez ouvrir les 5 sceaux anciens pour") 
               d.notice("accéder à l'étage supérieur. L'endroit est") 
               d.notice("rempli de monstres prêts à vous sauter dessus.")
               d.notice("Certains d'entre eux ont une pierre d'ouverture")
               d.notice("sur eux. Récupérez suffisamment de pierres")
               d.notice("d'ouvertures afin d'ouvrir les 5 sceaux anciens")
               d.notice("et ainsi d'accéder au 5ème étage. Attention : ")
               d.notice("vous n'avez que 20 minutes ! ") 
               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())




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




               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("Il reste 15 minutes.")
               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("Il reste 10 minutes.")
               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("Il reste 5 minutes.")
               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("Temps écoulé!")
               d.exit_all()
           end
       end




       when 1062.kill with pc.in_dungeon() and d.getf("level") == 5 begin
           local KILL_COUNT_FOR_DROP_KEY = 50
           local n =d.getf("count") + 1
           d.setf("count", n) 
           if n == KILL_COUNT_FOR_DROP_KEY then
               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("Vous avez réussi à desceller la pierre. Rendez")
               d.notice("vous maintenant au cinquième étage, l'étage du") 
               d.notice("roi des démons et tuez tous les monstres qui s'y")
               d.notice("trouvent.")
               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("Vous avez descellé la pierre ! Il en reste "..d.getf("stone_count").." .")
           end
       end
   -----------------------------------------------
   -- Tour du démon : Étage 5 : Roi Démon Élite --
   -----------------------------------------------




       when devil_stone6.kill begin
           d.kill_all()
           d.check_eliminated()
           d.notice("Vous avez tué tous les monstres. En récompense")
           d.notice("vous obtenez une amélioration d'un de vos objets")
           d.notice("par le forgeron. Faites glisser l'objet que vous")
           d.notice("souhaitez améliorer sur le forgeron.")
           local reward_alchemist = {20074, 20075, 20076}
           d.spawn_mob(reward_alchemist[number(1,3)], 425, 216);
           d.setqf("can_refine", 1)
       end




   -------------------------------------------
   -- Les Forgerons : Les étages supérieurs --
   -------------------------------------------




       when 20074.chat."Les étages supérieurs." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
           ---                                                   l
           say_title(""..mob_name(20074)..":")
           say("Vous voulez entrer au 6eme étage de la Tour? Il")
           say("faut de grandes compétences et beaucoup")
           say("d'intelligence pour survivre à cet étage. Quand")
           say("vous serez au niveau 75 je pourrai vous y")
           say("téléporter.")
           wait()




           if pc.level >=75 then
               ---                                                   l
               say_title(""..mob_name(20074)..":")
               say("Tu à l'air bien expérimenté, donc je peu")
               say("te téléporter aux étages supérieurs.")
               say("Bonne chance.")
               timer("devil_jump_7", 6)
               return
           end




           ---                                                   l
           say_title(""..mob_name(20074)..":")
           say("Votre niveaux n'est pas assez élevé. Je ne peux")
           say("pas vous autoriser à pénétrer dans les étages")
           say("supérieurs. Revenez quand vous serez plus")
           say("expérimenté. Vous devez être au moins au niveau")
           say("75.")
           wait()
           pc.warp(590500, 110500)
           return
       end




       when 20075.chat."Les étages supérieurs." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
           ---                                                   l
           say_title(""..mob_name(20075)..":")
           say("Vous voulez entrer au 6eme étage de la Tour? Il")
           say("faut de grandes compétences et beaucoup")
           say("d'intelligence pour survivre à cet étage. Quand")
           say("vous serez au niveau 75 je pourrai vous y")
           say("téléporter.")
           wait()




           if pc.level >=75 then
               ---                                                   l
               say_title(""..mob_name(20075)..":")
               say("Tu à l'air bien expérimenté, donc je peu")
               say("te téléporter aux étages supérieurs.")
               say("Bonne chance.")
               timer("devil_jump_7", 6)
               return
           end




           ---                                                   l
           say_title(""..mob_name(20075)..":")
           say("Votre niveaux n'est pas assez élevé. Je ne peux")
           say("pas vous autoriser à pénétrer dans les étages")
           say("supérieurs. Revenez quand vous serez plus")
           say("expérimenté. Vous devez être au moins au niveau")
           say("75.")
           wait()
           pc.warp(590500, 110500)
           return
       end




       when 20076.chat."Les étages supérieurs." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
           ---                                                   l
           say_title(""..mob_name(20076)..":")
           say("Vous voulez entrer au 6eme étage de la Tour? Il")
           say("faut de grandes compétences et beaucoup")
           say("d'intelligence pour survivre à cet étage. Quand")
           say("vous serez au niveau 75 je pourrai vous y")
           say("téléporter.")
           wait()




           if pc.level >=75 then
               ---                                                   l
               say_title(""..mob_name(20076)..":")
               say("Tu à l'air bien expérimenté, donc je peu")
               say("te téléporter aux étages supérieurs.")
               say("Bonne chance.")
               timer("devil_jump_7", 6)
               return
           end




           ---                                                   l
           say_title(""..mob_name(20076)..":")
           say("Votre niveaux n'est pas assez élevé. Je ne peux")
           say("pas vous autoriser à pénétrer dans les étages")
           say("supérieurs. Revenez quand vous serez plus")
           say("expérimenté. Vous devez être au moins au niveau")
           say("75.")
           wait()
           pc.warp(590500, 110500)
           return
       end




   -----------------------------------------
   -- Tour du démon : Étage 6 : Les Plans --
   -----------------------------------------




       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




           -- Vieux coffre inconnu




           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




               -- Plan tour Zin-Sa-Gui (Vrai)




               game.drop_item(30302, 1)
               d.clear_regen()
           else




               -- Plan tour de Sa-Gui (Faux)




               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
           ---                                                   l
           say("Félicitations! Vous avez reçu le vrai Plan")
           say("Zin-Sa-Gui.")
           pc.remove_item("30302", 1)
           timer("devil_jump_8", 6)
           d.clear_regen()
       end




   ----------------------------------------
   -- Tour du démon : Étage 7 : Les Clés --
   ----------------------------------------




       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)
           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




                   -- Clé de Zin-Bong (Vrai)




                   game.drop_item(30304, 1)
               else
                   -- Clé de Bong-In (Faux)




                   game.drop_item(30303, 1)
               end
           else




           return
           end
       end




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




   -----------------------------------------
   -- Tour du démon : Étage 8 : Faucheuse --
   -----------------------------------------




       when devil_jump_9.timer begin
           d.setf("level", 9)
           d.notice("Tuez le chef des démons.") 
           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()
           d.notice("Vous avez réussi la quête. Vous allez être");
           d.notice("téléporté à l'extérieur dans quelques minutes.");
           d.notice("Je t'attendrai dans les Catacombes du Diable !");
           d.notice("Suis-moi et ma colère s'abattra sur toi telle un");
           d.notice("raz-de-marée !");
           timer("devil_end_jump", 60)
       end




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

Link to comment
Share on other sites

  • 0

C'était pas mal joué Craven mais le signe est incorrect puisque ici il vérifie si son niveau est sous le niveau demandé et non au dessus.

En gros faut pas mettre > 185 mais < 185 :D

 

 

Ah oui effectivement j'avais pas bien lu du coup j'avais pas fait attention que c'était pour vérifier qu'il ne soit pas en dessous du lvl 185, pour moi c'était pour vérifier qu'il soit bien lvl 185 ou plus, la prochaine fois je lirai mieux :P

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share



Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.