Jump to content

preciso de quest


trample
 Share

Recommended Posts

NÃO testado:

Spoiler

--[[
############################
# Dungeon Covo Dei Ragni 3 #
# Developer: LightMistic   #
############################
]]
quest spider_dungeon_3floor begin
	state start begin
	
		--** FUNCTION - SETTINGS
		function spider_dungeon(arg)
			local setting = {
								["MAP_INDEX"] = 90, 
								["ENTRY_KEY"] = 30325,
								["LIMIT_TIME"] = 20, 
								["WAITING_TIME"] = 60,
								["LEVEL_PLAYER"] = 75,
								["BOSS_SPIDER_CASE"] = 53515,
								["KING_SPIDER"] = 2094,
								["QUEEN_SPIDER"] = 2092,
								["VNUM_EGG"] = 2095,
								["FLUTE_ARACHNIDS"] = 30327,
							}
			return rawget(setting, arg)
		end
		
		function spider_dungeon_index(int1) 
			local DUNGEON_INDEX = spider_dungeon_3floor.spider_dungeon("MAP_INDEX")
			return int1 >= (DUNGEON_INDEX * 10000) and pc.in_dungeon() and int1 < (DUNGEON_INDEX + 1) * 10000
		end
		
		--** END FUNCTION 
		
		--** LOGIN / LOGOUT
		when login with spider_dungeon_3floor.spider_dungeon_index(pc.get_map_index()) begin
			pc.set_warp_location (71, 7041, 5237)
			local CONTROL_LEVEL, KING_SPIDER = spider_dungeon_3floor.spider_dungeon("LEVEL_PLAYER"), spider_dungeon_3floor.spider_dungeon("KING_SPIDER")
			if d.getf ("spider_load_regen") == 0 then
				d.set_regen_file("data/dungeon/spider_dungeon_3floor/regen_spider_dungeon_3floor.txt")
				d.spawn_mob (KING_SPIDER, 367, 588, 0, 0)
				d.setf ("spider_load_regen", 1)
			end
		if pc.get_level() < CONTROL_LEVEL then
				warp_to_village()
			end
			syschat ( "Sconfiggi il Barone Ragno per droppare il Flauto degli Aracnidi." )
		end
		
		when logout with spider_dungeon_3floor.spider_dungeon_index(pc.get_map_index()) begin
			local WAITING_TIME = spider_dungeon_3floor.spider_dungeon("WAITING_TIME")
			pc.setqf ( "waiting_time_spider_dungeon_3floor", get_global_time() + (WAITING_TIME * 60))
		end
		--** END LOGIN / LOGOUT
		
		--** NPC GO TO ACCESS
		when 30130.chat."La Stanza degli Aracnidi" with pc.get_level() >= spider_dungeon_3floor.spider_dungeon("LEVEL_PLAYER") begin
			--** Variable 
			local ENTRY_KEY, PLAYER_LEVEL, LIMIT_TIME, MAP_INDEX, RESULT_WAITING  = spider_dungeon_3floor.spider_dungeon("ENTRY_KEY"), spider_dungeon_3floor.spider_dungeon("LEVEL_PLAYER"), spider_dungeon_3floor.spider_dungeon("LIMIT_TIME"), spider_dungeon_3floor.spider_dungeon("MAP_INDEX"), math.floor ((pc.getqf ( "waiting_time_spider_dungeon_3floor" ) - get_global_time())/60)
			--**
			
			say_title ( "La Stanza degli Aracnidi" )

			if pc.getqf ( "waiting_time_spider_dungeon_3floor" ) > get_global_time() then
				say ( "Deve trascorrere un ora dal momento in cui" )
				say ( "sei uscito dal dungeon." )
				say_reward ( "Devono ancora trascorrere: "..RESULT_WAITING.." minuti" )
				return
			end	
			
			say ( "Salve avventuriero, dentro questa pericolosa" )
			say ( "stanza risiede la Baronessa Ragno." )
			say ( "All'interno di questa possono accedere solo" )
			say ( "personaggi di livello superiore al "..PLAYER_LEVEL.." che" )
			say ( "fanno parte di un gruppo il cui capo sia in" )
			say ( "possesso della Chiave degli Aracnidi.[ENTER]" )
			say_item_vnum (ENTRY_KEY)
			wait()
			say_title ( "Informazioni Aggiuntive" )
			say ( "Una volta che il gruppo sara' entrato nella" )
			say ( "staqqqqnza avra' solo "..LIMIT_TIME.." minuti di tempo per" )
			say ( "completare le missioni assegnate e sconfiggere" )
			say ( "la Baronessa Ragno." )
			say ( "Appena entrati dovrete uccidere il Barone Ragno" )
			say ( "che droppera il Flauto degli Aracnidi." )
			say ( "Una volta usato il Flauto degli Aracnidi" )
			say ( "appariranno delle Uova di Ragno e la" )
			say ( "Baronessa Ragno..." )
			say_reward ( "Il resto tocchera' a voi scoprirlo!" )
			say_reward ( "Vuoi veramente sfidare la Baronessa Ragno?[ENTER]" )
			if select ( "Si", "No, non sono pronto" ) == 2 then return end
			
			say_title ( "La Stanza degli Aracnidi" )
			
			if pc.count_item (ENTRY_KEY) == 0 then
				say ( "Per poter entrare insieme al tuo gruppo" )
				say ( "nel Dungeon devi avere:" )
				say_item_vnum (ENTRY_KEY)
				return
			end
			
			pc.remove_item (ENTRY_KEY)
			d.new_jump(MAP_INDEX, 879, 6147)
			timer ( "time_spider_dungeon_3floor", LIMIT_TIME * 60 )
		end
		--** END NPC
		
		--** TIMER
		when time_spider_dungeon_3floor.timer with spider_dungeon_3floor.spider_dungeon_index(pc.get_map_index()) begin
			d.notice ( "Il tempo a vostra disposizione per completare il dungeon e' scaduto." )
			d.notice ( "Verrete riportati al villaggio." )
			d.exit_all()
		end
		
		when timer_kill_boss.timer with spider_dungeon_3floor.spider_dungeon_index(pc.get_map_index()) begin
			d.exit_all()
		end
		--** END TIMER
		
		--** ITEM USE
		when 30327.use with spider_dungeon_3floor.spider_dungeon_index(pc.get_map_index()) begin
			item.remove()
			local VNUM_QUEEN, VNUM_EGG = spider_dungeon_3floor.spider_dungeon("QUEEN_SPIDER"), spider_dungeon_3floor.spider_dungeon("VNUM_EGG")
		
			local CORD_EGGS = {
								{400,566}, -- Use: {x, y}
								{400,594},
								{362,600},
								{337,599},
								{335,581},
								{344,562},
								{364,588},
								{379,562},
								{368,525},
							}
			
			for i = 1, table.getn (CORD_EGGS) do
				local CORD_X = CORD_EGGS[i][1]
				local CORD_Y = CORD_EGGS[i][2]
				d.spawn_mob (VNUM_EGG, CORD_X, CORD_Y)
			end
			d.setf ("set_spider_boss", d.spawn_mob (VNUM_QUEEN, 367, 588, 0, 0))
			
		end
		--** END ITEM USE
		
		--** KILL
		when kill with spider_dungeon_3floor.spider_dungeon_index(pc.get_map_index()) begin
			local FLAUTE_ARACHNIDS, VNUM_KING, VNUM_QUEEN, VNUM_EGG = spider_dungeon_3floor.spider_dungeon("FLUTE_ARACHNIDS"), spider_dungeon_3floor.spider_dungeon("KING_SPIDER"), spider_dungeon_3floor.spider_dungeon("QUEEN_SPIDER"), spider_dungeon_3floor.spider_dungeon("VNUM_EGG")
			
			if npc.get_race() == VNUM_KING then
				d.notice ( "Utilizza il Flauto degli Aracnidi per richiamare la Baronessa Ragno." )
				game.drop_item_with_ownership (FLAUTE_ARACHNIDS)
			
			elseif npc.get_race() == VNUM_EGG then 
				local PDA_PERF = 50512
				local vid = d.getf("set_spider_boss")
				d.setf ("count_egg_kill", d.getf ( "count_egg_kill" ) + 1)
				npc.set_vid_attack_mul (vid, d.getf ("count_egg_kill"))
				npc.set_vid_damage_mul (vid, d.getf ("count_egg_kill"))
				d.notice ( "Il danno della baronessa e' raddoppiato di: "..d.getf ("count_egg_kill").."" )
			elseif npc.get_race() ==  VNUM_QUEEN then	
				--local BOSS_SPIDER_CASE = spider_dungeon_3floor.spider_dungeon("BOSS_SPIDER_CASE")
				--game.drop_item_with_ownership (BOSS_SPIDER_CASE)
				d.kill_all()
				d.notice ( "Fra 30 secondi sarete teleportati fuori dal dungeon." )
				timer ( "spider_dungeon_3floor_exit", 30 )
			end
		end
		--** END KILL

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

 

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...