Jump to content

KingTsunamy

Premium
  • Posts

    97
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by KingTsunamy

  1. Inya is wrong.

    Select only the meshes of the models except for the bones and press the "export only the selected" button.

     

    Now the white bones dissapear but the model is still rotated and it can't move

     

    On the Meshes or Models tab -> Set [_] to "Move to Origin". (granny exporter dialog)

     

    Nothing happen but what is here  Bip01? ,what bone name I should put?

    https://metin2.download/picture/zxBb5DwuBW8j3r3o0bu2FkWUVhzw7r52/.png

    https://metin2.download/picture/5Da5XKYQo5Otzfzt1VaaIp6bsCkPV3LE/.png

  2. https://metin2.download/picture/a599pWr0I0EF28PDQh6011CHww3vQigz/.png

    https://metin2.download/picture/484DlX03rH3f0DQ0sXXb5b19M5AxBwPe/.png

     

    In gr viewer the problem is only on those wires and ingame the model is rotated 90 degrees and I can't see the movement animation and when I use /poly i can't see the model and I can't move

    So where I made the mistakes when I exported it?

  3. after i teleport with my group in the map and click on Yes to start we are all teleported in Sohan 

    https://metin2.download/picture/GTfSF7tUwAsdH8LeZXlKSfh0U04aRLl3/.png

    my quest si this

    quest snowdungeon begin
        state start begin
        -- Statuia leu inghetat sohan
        when 20397.chat."Test nivel 9" with pc.is_gm() begin
    	d.setf("actual_round",9)
    	timer("nextlevel",5)
    	return
    		
    	end
    	-- end statuia leu inghetat sohan
    	-- Statuia leu inghetat sohan
        when 20397.chat."Turnul lui Nemeres" with pc.get_map_index() == 61 begin
    		say_gold("Statuia Leului de gheata")
    		say_white("Fortele raului se prezinta in multe forme.")
    		say("Puterile sale distrugatoare cresc pe zi ce trece.")
    		say("Regatele incep sa se destrame. Cine este in stare")
    		say("sa se impotriveasca?")
    		say("Ultima noastra speranta ramane in oameni simpli !")
    		say_reward("Esti pregatit sa il infrunti ?")
    	if select("Da!","Nu") == 1 then
    		if pc.get_level() >= 100 then
    			pc.warp(520800,182000)
    			else
    			syschat("Nu esti destul de puternic. Revino cand ajungi la nivelul 100.")
    		end
    		else
    			syschat("Revino cand esti pregatit")
    	end		
    	end
    	-- end statuia leu inghetat sohan
    	-- Statuia leu inghetat
        when 20397.chat."Turnul lui Nemeres" with pc.get_map_index() == 240 begin 
    			say_gold("Statuia Leului de gheata")
    			say_white("Fortele raului se prezinta in multe forme.")
    			say("Puterile sale distrugatoare cresc din ce in ce mai mult.")
    			say("Regatele incep sa se destrame. Cine este in stare sa se impotriveasca?")
    			say("Ultima noastra speranta ramane in oameni simpli !")
    			
                if pc.get_level() >= 100 then
                    if party.is_party() or pc.is_gm()  then
                        if party.is_leader() or pc.is_gm() then
                            if pc.count_item(71122) > 0 or pc.is_gm() then
                               say_reward("Esti pregatit sa il infrunti ?")
                                if select("Da!","Nu") == 1 then
                                    pc.remove_item(71122,1)
                                    d.join(240)
                                end
                            else
                                say_reward("Ai nevoie de itemul!")
                                say_item_vnum(71122)
                            end
                        else
                            say_reward("Trebuie sa fi tu liderul grupului!")
                        end
                    else
                        say_reward("Trebuie sa faci parte dintr-un grup!")
                    end
                else
                    say_reward("Trebuie sa ai nivelul 100 !")
                end
            end  
    	-- end statuia leu inghetat
    	-- Statuia leu inghetat 222222222222222
        when 20397.chat."Lacasul lui Nemeres" with d.getf("actual_round") == 9 begin 
               if party.is_leader() or pc.is_gm() then
    				say_gold("Statuia Leului de gheata")
    				say_white("A fost foarte greu dar in final")
    				say("am ajuns la sursa raului.")
    				say("Maleficul Nemeres te asteapta !")
    				say_reward("Esti pregatit sa il infrunti ?")
    					if select("Da!","Nu") == 1 then
    						if d.getf("used_statue", 0) then
    							d.setf("used_statue", 1)
    							syschat("In urmatoarele 10 secunde vei fi teleportat impreuna cu grupa ta !")
    							timer("nextlevel",10)
    						end
    					end
    			end
        end  
    	-- end statuia leu inghetat 222222222222222
    	-- func start
    	when login with pc.get_map_index() >= 2400000 and pc.get_map_index() <= 2405000 begin
                d.notice("[Turnul lui Nemeres]A inceput batalia.")
                d.notice("[Turnul lui Nemeres]Curata camera pentru a putea avansa ! Mult succes.")
                if party.is_party() then
                    if party.is_leader() then
                        snowdungeon.start()
                    end
                else
                    if pc.is_gm() then
                        snowdungeon.start()
                    end
                end
            end		
    	-- FUNCTII
    	------
    	when 20398.take begin
    		if d.getf("actual_round") == 5 then
    			if item.get_vnum() == 30332 then
    		----------------------------------
    		local sequence = {{1,2,3,4,5,5},{4,3,2,1,5,5},{4,5,3,1,2,2},{5,3,4,2,1,1},{5,1,3,4,2,2}}
                        if snowdungeon.GetPillarID() == sequence[d.getf("sequence")][d.getf("box_opened")] then
                            pc.remove_item(item.get_vnum(),1)
                            npc.purge()
                            d.setf("box_opened", d.getf("box_opened")+1)
                            if d.getf("box_opened") == 6 then
                                d.notice("[Turnul lui Nemeres] Sigiliile au fost deschise")
    							d.notice("[Turnul lui Nemeres] Vei urca la nivelul 6")
                                snowdungeon.purge()
    							timer("nextlevel",10)
                            else
                                d.notice("[Turnul lui Nemeres]Mai ai "..6-d.getf("box_opened").." sigili de deschis!")
                            end
                        elseif snowdungeon.GetPillarID() == false then
                            syschat("Dute mai aproape si trage cheia !")
                        elseif snowdungeon.GetPillarID() != sequence[d.getf("sequence")][d.getf("box_opened")] then
                            pc.remove_item(item.get_vnum(),1)
                            syschat("[Turnul lui Nemeres]Nu ai pus cheia pe sigiliul corect, cauta altul !")
                        end
    		----------------------------------
    			  end
    		end
    	end
    	when 30331.use begin
    		if d.getf("actual_round") == 2 then
    			if pc.get_job() == 3 or pc.get_job() == 7 then
    				if number(1,8) == 5 then				
    					d.notice("[Turnul lui Nemeres] Ai avut noroc. Cheia a fost perfecta.")
    					d.notice("[Turnul lui Nemeres] Imediat vei fi dus la urmatorul nivel.")
    					snowdungeon.purge()
    					timer("nextlevel",10)
    				else
    					syschat("[Turnul lui Nemeres] Cheia nu a fost destul de puternica si sa spart.")
    					syschat("[Turnul lui Nemeres] Incearca din nou.")
    					pc.remove_item(30331,1)
    				end
    				else
    				syschat("Doar un saman curajos poate folosi aceasta cheie.")
    			end
    		end
    	end
    	when 30333.use begin
    		if pc.get_job() == 3 or pc.get_job() == 7 or pc.get_job() == 1 or pc.get_job() == 5 then
    			if d.getf("actual_round") == 8 then
    				if number(1,8) == 5 then				
    					d.notice("[Turnul lui Nemeres] Ai avut noroc. Cheia a fost perfecta.")
    					d.notice("[Turnul lui Nemeres] Imediat vei fi dus la urmatorul nivel.")
    					snowdungeon.purge()
    					timer("nextlevel",10)
    				else
    					d.notice("[Turnul lui Nemeres] Cheia nu a fost destul de puternica si sa spart.")
    					d.notice("[Turnul lui Nemeres] Incearca din nou.")
    					pc.remove_item(30333,1)
    				end
    				else
    				syschat("Doar un saman sau un ninja curajos poate folosi aceasta cheie.")
    			end
    		end
    	end
    	when kill with pc.get_map_index() >= 2400000 and pc.get_map_index() <= 2405000 begin
    	
    		if d.getf("actual_round") == 6 and npc.get_race() == 8058 then
    			d.notice("[Turnul lui Nemeres] Felicitari , ai distrus sursa puterilor lui Nemeres")
    			d.notice("[Turnul lui Nemeres] In cateva momente vei urca la nivelul 7.")
    			timer("nextlevel",10)
    		end
    		if d.getf("actual_round") == 7 and npc.get_race() == 6151 then
    			d.notice("[Turnul lui Nemeres] Felicitari , uciderea lui Szel te-a adus cu un pas mai")
    			d.notice("[Turnul lui Nemeres] aproare de batalian cu Nemeres")
    			snowdungeon.purge()
    			timer("nextlevel",10)
    		end
    		if d.getf("actual_round") == 9 and npc.get_race() == 20399 then
    			d.notice("[Turnul lui Nemeres] Ultimul pilon din defensiva lui Nemeres a fost daramat")
    			d.notice("[Turnul lui Nemeres] Sufletul leului de gheata a aparut.")
    			snowdungeon.purge()
    			d.spawn_mob(20397, 848, 669)	
    		end
    		if d.getf("actual_round") == 10 and npc.get_race() == 6191 then
    			d.notice("[Turnul lui Nemeres] Felicitari lai invins pe Nemeres !")
    			notice_all("Cu o ultimã suflare de sperantã liderul "..pc.get_name().."")
    			notice_all("Urmat de rãzboinici lui de încredere, au reusit sã-l învingã pe temutul Nemeres.")	
    			d.setf("actual_round","0")	
    			------------------
    			local time = get_time()
    			d.setqf2("snowdungeon","daily_nemeres_last_kill", time)
    			d.setqf2("snowdungeon","daily_nemeres", 1)
    			------------------
    			d.clear_regen()
    			d.kill_all()
    			d.spawn_mob(9012, 928, 338)
    			timer("exit_snow", 60)
    			d.notice("In 60 de secunde veti fi teleportati afara.")
    		end
    		if d.getf("actual_round") == 1 then
    			d.setf("kill_count_sd1",d.getf("kill_count_sd1") +1)
    			if d.getf("kill_count_sd1") == d.getf("sd_kill_to_next") then				
    				d.notice("[Turnul lui Nemeres] Ai terminat primul nivel.")
    				d.notice("[Turnul lui Nemeres] In cateva momente vei urca la nivelul 2.")
    				snowdungeon.purge()
    				timer("nextlevel",10)	
    			end
    		elseif d.getf("actual_round") == 2 then
    			if number(1,20) == 11 then
    				game.drop_item_with_ownership(30331,1)
    			end
    		elseif d.getf("actual_round") == 3 then
    			d.setf("kill_count_sd3",d.getf("kill_count_sd3") +1)
    				if d.getf("kill_count_sd3") == d.getf("sd3_kill_to_next") then
    					snowdungeon.purge()
    					d.notice("[Turnul lui Nemeres] Ai terminat al 3lea nivel.")
    					d.notice("[Turnul lui Nemeres] In cateva momente vei urca la nivelul 4.")
    					timer("nextlevel",10)	
    				end			
    		elseif d.getf("actual_round") == 4 then
    			d.setf("kill_count_sd4",d.getf("kill_count_sd4") +1)
    				if d.getf("kill_count_sd4") == d.getf("sd4_kill_to_next") then
    					snowdungeon.purge()
    					d.notice("[Turnul lui Nemeres] Al doilea val a fost nimicit.")
    					d.notice("[Turnul lui Nemeres] In cateva momente vei urca la nivelul 5.")
    					timer("nextlevel",10)	
    				end			
    		elseif d.getf("actual_round") == 5 then
    			if number(1,25) == 19 then
    				game.drop_item_with_ownership(30332,1)
    			end
    		elseif d.getf("actual_round") == 6 then
    			d.setf("kill_count_sd6",d.getf("kill_count_sd6") +1)
    				if d.getf("kill_count_sd6") == d.getf("sd6_kill_to_next") then					
    					d.notice("[Turnul lui Nemeres] Ce se intampla ? Se zareste ceva albastru pe cer !?")
    					snowdungeon.purge()
    					timer("level7metin",5)						
    				end			
    		elseif d.getf("actual_round") == 8 then
    			if number(1,25) == 11 then
    				game.drop_item_with_ownership(30333,1)
    			end	
    			
    	
    		
    		end
    	end
    	------  
    	when level7metin.timer begin
            if d.getf("actual_round") == 6 then
    			d.spawn_mob(8058, 743, 495)
    		end
    	end
    	when nextlevel.timer begin
            if d.getf("actual_round") == 1 then
    			-- NIVEL 2
    			d.jump_all(5120+421,1536+264)
    			d.setf("actual_round",2)
    			d.set_regen_file("data/dungeon/snowdungeon/nivel_2.txt")
    			d.notice("[Turnul lui Nemeres] Ai ajuns la nivelul 2")
    			d.notice("[Turnul lui Nemeres] Cauta Cheia pentru a putea avansa la urmatorul nivel.")
    			
    		elseif d.getf("actual_round") == 2 then
    			-- NIVEL 3
    			d.jump_all(5120+761,1536+268)
    			d.setf("actual_round",3)
    			d.setf("kill_count_sd3","0")
    			d.setf("sd3_kill_to_next","300") -- NUMARUL DE MOBI PANA LA URMATORUL NIVEL DE MODIFICAT in 250
    			d.set_regen_file("data/dungeon/snowdungeon/nivel_3.txt")
    			d.notice("[Turnul lui Nemeres] Ai ajuns la nivelul 3")
    			d.notice("[Turnul lui Nemeres] Ucide armata lui Nemeres pentru a putea avansa.")
    			
    		elseif d.getf("actual_round") == 3 then
    			-- NIVEL 4
    			d.jump_all(5120+174,1536+526)
    			d.setf("actual_round",4)			
    			d.setf("kill_count_sd4","0")
    			d.setf("sd4_kill_to_next","300") -- NUMARUL DE MOBI PANA LA URMATORUL NIVEL DE MODIFICAT in 250
    			d.set_regen_file("data/dungeon/snowdungeon/nivel_4.txt")
    			d.notice("[Turnul lui Nemeres] Ai ajuns la nivelul 4 ! Un alt val din armata lui Nemeres ataca pe neasteptate.")
    			d.notice("[Turnul lui Nemeres] Distrugei pe toti pentru a putea avansa.")	
    			
    		elseif d.getf("actual_round") == 4 then
    			-- NIVEL 5
    			d.jump_all(5120+421,1536+533)
    			d.setf("actual_round",5)
    			d.set_regen_file("data/dungeon/snowdungeon/nivel_5.txt")
    			-------------
    			local sequence = {{1,2,3,4,5},{4,3,2,1,5},{4,5,3,1,2},{5,3,4,2,1},{5,1,3,4,2}}
                    local n = number(1,5)
                    local coords = {{391,490},{451,490},{463,455},{380,456},{420,422}}
                    for i = 1, 5 do
                        d.spawn_mob(20398, coords[i][1],coords[i][2])
                    end
                    d.setf("box_opened", 1)
                    d.setf("sequence",n)
    			-----------
    			
    			d.notice("[Turnul lui Nemeres] Ai ajuns la nivelul 5")
    			d.notice("[Turnul lui Nemeres] Trecerea este sigilata de gheata.")
    			d.notice("[Turnul lui Nemeres] Deschide sigiliile pentru a putea avansa.")	
    						
    		elseif d.getf("actual_round") == 5 then
    			-- NIVEL 6
    			d.jump_all(5120+746,1536+536)
    			d.setf("actual_round",6)
    			d.setf("kill_count_sd6","0")
    			d.setf("sd6_kill_to_next","200") -- NUMARUL DE MOBI PANA LA URMATORUL NIVEL DE MODIFICAT in 250
    			d.set_regen_file("data/dungeon/snowdungeon/nivel_6.txt")
    			d.notice("[Turnul lui Nemeres] Ai ajuns la nivelul 6")
    			d.notice("[Turnul lui Nemeres] Trupele lu Nemeres au inceput sa se destrame")
    			
    		elseif d.getf("actual_round") == 6 then
    			-- NIVEL 7
    			d.jump_all(5120+304,1536+719)
    			d.setf("actual_round",7)
    			d.regen_file("data/dungeon/snowdungeon/nivel_7.txt")
    			d.spawn_mob(6109, 326, 657)
    			d.spawn_mob(6109, 302, 635)
    			d.spawn_mob(6151, 282, 662)	
    			
    		elseif d.getf("actual_round") == 7 then
    			-- NIVEL 8
    			d.jump_all(5120+569,1536+642)
    			d.setf("actual_round",8)
    			d.set_regen_file("data/dungeon/snowdungeon/nivel_8.txt")
    			d.notice("[Turnul lui Nemeres] Ai ajuns la nivelul 8")
    			
    			
    		elseif d.getf("actual_round") == 8 then
    			-- NIVEL 9
    			d.notice("[Turnul lui Nemeres] Ai ajuns la nivelul 9")
    			d.jump_all(5120+848,1536+689)
    			d.set_regen_file("data/dungeon/snowdungeon/nivel_9.txt")	
    			d.setf("actual_round",9)
    		    d.spawn_mob(20399, 849, 659)
    				    
    		elseif d.getf("actual_round") == 9 then
    			-- NIVEL 10 BOSS ROOM
    			d.setf("used_statue", 0)
    			d.spawn_mob(6191, 927, 323)
    			d.jump_all(5120+928,1536+390)
    			d.setf("actual_round",10)
    			d.set_regen_file("data/dungeon/snowdungeon/nivel_10.txt")			
    		end   
    		snowdungeon.NoticeTime()
        end    
    	
    	function start()         
    			d.set_regen_file("data/dungeon/snowdungeon/nivel_1.txt")
                d.setf("actual_round",1)
                d.setf("time", get_time()+60*60*1)
    			d.setf("sd_kill_to_next",300) --------------------------------------------------- DE MODIFICAT LA FINAL in 300
                d.setf("kill_count_sd1",0)
                server_timer("snowdungeontime",3600,pc.get_map_index())
                --server_loop_timer("snowdungeontimenotice",300)
                snowdungeon.NoticeTime()
        end   
    	
    	when snowdungeontimenotice.server_timer begin
            if pc.get_map_index()<= 2405000 then
                snowdungeon.NoticeTime()
            end
        end
    	function GetPillarID()
                if pc.get_local_x() >= 391 - 5 and pc.get_local_x() <= 391 + 5 and pc.get_local_y() >= 490 - 5 and pc.get_local_y() <= 490 + 5 then
                    return 1
                elseif pc.get_local_x() >= 451 - 5 and pc.get_local_x() <= 451 + 5 and pc.get_local_y() >= 490 - 5 and pc.get_local_y() <= 490 + 5 then
                    return 2
                elseif pc.get_local_x() >= 463 - 5 and pc.get_local_x() <= 463 + 5 and pc.get_local_y() >= 455 - 5 and pc.get_local_y() <= 455 + 5 then
                    return 3
                elseif pc.get_local_x() >= 380 - 5 and pc.get_local_x() <= 380 + 5 and pc.get_local_y() >= 456 - 5 and pc.get_local_y() <= 456 + 5 then
                    return 4
                elseif pc.get_local_x() >= 420 - 5 and pc.get_local_x() <= 420 + 5 and pc.get_local_y() >= 422 - 5 and pc.get_local_y() <= 422 + 5 then
                    return 5
                else
                    return false
    			end
        end
    	
    	when snowdungeontime.server_timer begin
    		if d.select(get_server_timer_arg()) then
    			d.notice("Ai la dispozitie!")
    			d.exit_all()
    		end
        end
    	when exit_snow.timer begin
    		d.exit_all()
        end
    	function NoticeTime()
                local secondsLeft = (d.getf("time") - get_time())
                local minutesLeft = math.ceil(secondsLeft / 60)
                d.notice("[Turnul lui Nemeres]Timp Ramas: "..minutesLeft.." Minute!")
        end
    	function purge()
    			d.kill_all()
    			d.clear_regen()            
        end        
    	-- FINAL DE QUEST
        end
    end  
  4. SYSERR: Jul  9 11:33:35 :: heart_idle: losing 55 seconds. (delay occured)
    SYSERR: Jul  9 11:35:21 :: Click: CQuestManager::Click(pid=2, target_npc_name=Baricada de Lemn) - NOT EXIST NPC RACE VNUM[20375]
    SYSERR: Jul  9 11:35:36 :: Entergame: !GetMovablePosition (name Admin33 614800x707200 map 62 changed to 730700x689800)
    SYSERR: Jul  9 11:35:46 :: Entergame: !GetMovablePosition (name Admin33 614800x707200 map 62 changed to 730700x689800)
    SYSERR: Jul  9 11:36:41 :: RunState: LUA_ERROR: [string "flame_dungeon"]:25: attempt to call global `get_special_item_group' (a nil value) WITH ERRORCODE 1
    SYSERR: Jul  9 11:36:41 :: RunState: LUA_STATE: index 1349952704 ref 3
    SYSERR: Jul  9 11:36:41 :: WriteRunningStateToSyserr: LUA_ERROR: quest flame_dungeon.run click
    SYSERR: Jul  9 11:36:45 :: RunState: LUA_ERROR: [string "flame_dungeon"]:25: attempt to call global `get_special_item_group' (a nil value) WITH ERRORCODE 1
    SYSERR: Jul  9 11:36:45 :: RunState: LUA_STATE: index 1349952704 ref 3
    SYSERR: Jul  9 11:36:45 :: WriteRunningStateToSyserr: LUA_ERROR: quest flame_dungeon.run click
    SYSERR: Jul  9 11:36:47 :: RunState: LUA_ERROR: [string "flame_dungeon"]:25: attempt to call global `get_special_item_group' (a nil value) WITH ERRORCODE 1
    SYSERR: Jul  9 11:36:47 :: RunState: LUA_STATE: index 1349952704 ref 3
    SYSERR: Jul  9 11:36:47 :: WriteRunningStateToSyserr: LUA_ERROR: quest flame_dungeon.run click
    SYSERR: Jul  9 11:36:49 :: RunState: LUA_ERROR: [string "flame_dungeon"]:25: attempt to call global `get_special_item_group' (a nil value) WITH ERRORCODE 1
    SYSERR: Jul  9 11:36:49 :: RunState: LUA_STATE: index 1349952704 ref 3
    SYSERR: Jul  9 11:36:49 :: WriteRunningStateToSyserr: LUA_ERROR: quest flame_dungeon.run click
    SYSERR: Jul  9 11:41:31 :: hupsig: SIGHUP, SIGINT, SIGTERM signal has been received. shutting down.
    SYSERR: Jul  9 11:41:56 :: pid_deinit: 
     
     
    and the quest is this 
    quest flame_dungeon begin
        state start begin   
            when 20394.click with pc.get_level() >= 90 begin
                pc.give_item2(71175, 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"] = {7766, 6719},-- ??? ?? ???? ?
            ["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"] = {5980,7075}, --??????? ??? ?
             
            }
        end
        function is_flamed(idx) -- ???? ??? ?? 
            return idx >= 351 * 10000 and idx < (351 + 1) *10000
        end
        function make_dungeon() -- ?? ???
            local setting = flame_dungeon.setting()
            d.new_jump_party(351, setting.dungeon_entry_pos[1], setting.dungeon_entry_pos[2])
            d.regen_file("data/dungeon/flame_dungeon/npc.txt")
            d.setf("level",0)
            for i=1,6 do
                d.set_unique("door"..i, d.spawn_mob_ac_dir(20387, 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(20388, 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) -- ????? ?????? // ??? : 0 ?? : 1 // ??? ??????? ?? ??
            d.setf("counter_11", 180)
            d.setf("counter_13", 180)
        end
        function go_boss() -- ??? ?? 
            local setting = flame_dungeon.setting()
            if pc.get_level() < 104 then --????
                say("Seu nivel nao e suficiente para continuar.[ENTER]Volte, quando tiver atingido pelo menos nivel 104.")
                return
            else
                --if pc.getf("main_quest_flame_lv103", "__status")==main_quest_flame_lv103.__COMPLETE__ then -- ????? ??
                    say("Sera que voce quer avancar[ENTER]para conhecer o seu destino?")
                    local warp = select("Avancar","Talvez mais tarde")
                    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 ("data/dungeon/flame_dungeon/".."fd_fild_boss.txt")
                        d.spawn_mob(6091,setting.boss_pos[1],setting.boss_pos[2])
                    end
                --else
                --    say("Pode apenas avancar quando tiver[ENTER]concluido a missao de nivel 103.")
                --    return
                --end
            end
        end
        function level_clear() -- ?? ???, ?????, ?????
            d.setf("level",0)
            d.clear_regen()
            d.purge_area(750000,620000,817400,689400) -- ??? -- d.purge() ????
        end
        function clear_timer(inx) -- ??? ????
            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 ("flame_dungeon_ticket_remove", inx) 
        end
         
            when login begin
                local idx = pc.get_map_index()
                local setting = flame_dungeon.setting()
                if idx == 351 then
                    --pc.warp(setting.outside_entry_pos[1]*100, setting.outside_entry_pos[2] * 100, 62)
                elseif flame_dungeon.is_flamed(idx) then -- ?? ??, ??? ?? ??
                ------------------------------------------------------------------------------------------------------------------------------------------------------
                --??? ??? ???? ???? ???? ?????? ?? ?? ??? ????. ???? ??? ?? ???? ???? ?? ?? ??? ??? ??.
                --???? ???? ?? ?? ?? ??? ??? ??, ???? ??? ??? ????? ?? ??? ????? ???? ??? ??? ??? ??.
                ------------------------------------------------------------------------------------------------------------------------------------------------------
                    --pc.set_warp_location(62, setting.outside_entry_pos[1] , setting.outside_entry_pos[2]) -- ?? ??? ? ??? ????
                    local ticketGroup = {get_special_item_group (10033)}
                    if d.getf("dungeon_enter") == 0 then -- ???? ???
                        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") < 30 * 60 then -- ??????? ????
                            notice_multiline("O periodo de espera para re-entrada na[ENTER]Fortaleza Dragao Vermelho ainda nao expirou.",d.notice)
                            say("O periodo de espera para re-entrada na[ENTER]Fortaleza Dragao Vermelho ainda nao expirou.")
                            timer("flame_dungeon_warp_timer", 5)
                        elseif not canPass then
                            notice_multiline("Apenas um grupo pode invadir a Fortaleza Dragao[ENTER]Vermelho. Alem disso, e necessario uma[ENTER]autorizacao para entrar.",d.notice)
                            say("Eu posso deixar voce entrar se[ENTER]voce tiver em posse de um passe.")
                            timer("flame_dungeon_warp_timer", 5)
                        elseif pc.get_level() < 100 then
                            notice_multiline("O nivel de todos os membros do grupo deve ser[ENTER]pelo menos 100. Caso contrario, eu nao posso[ENTER]deixar continuar.",d.notice)
                            say("Eu vou deixar passar se todos os membros do grupo,[ENTER]tiverem no minimo nivel 100.")
                            timer("flame_dungeon_warp_timer", 5)
                        end
                    elseif pc.getf("flame_dungeon","ticket_delete") == 0 then -- ????? ??? ???????
                         
                        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, 62)
            end
            when logout begin
                local idx = pc.get_map_index()
                if flame_dungeon.is_flamed(idx) then 
                    if d.getf("dungeon_enter") == 1 then -- ???? ?? ?? ? ????
                        pc.setf("flame_dungeon","exit_time",get_global_time()) -- ???? ???? ??? ??? ??, ?? ???? ??? or ?? ???? ???
                    end
                     
     
                end
            end
            when 20394.chat."Fortaleza Dragao Vermelho" begin
             
                local setting = flame_dungeon.setting()
                if party.is_party() then
                    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 -- ?? ?? 5? ??
                            local dungeon_level = d.getf_from_map_index("level", party.getf("dungeon_index"))
                            if dungeon_level == 17 then -- ??
                                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? ???? ? ?? ??
                            say_title(mob_name(20394))
                            say("Voce esteve mais de cinco minutos fora da[ENTER]Fortaleza Dragao Vermelho e[ENTER]agora nao pode entrar.")
                        end
                    else
                        local pids = {party.get_member_pids()}
                        local noTicketMembers = {}
                        local notEnoughLevelMembers = {}
                        local ticketCheck = true
                        local levelCheck = true
                        local ticketGroup = {get_special_item_group (10033)}
                        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 < 100 then
                                table.insert(notEnoughLevelMembers, pc.get_name())
                                levelCheck = false
                            end
                            q.end_other_pc_block()
                        end
     
                        if not ticketCheck then
                            say_title(mob_name(20394))
                            say("Atencao! Para entrar na Fortaleza Dragao[ENTER]Vermelho, exige-se que cada membro do grupo[ENTER]tenha um passe para entrar. Os membros que nao[ENTER]teem passe sao:")
                            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(20394))
                            say("Atencao! Para entrar na Fortaleza Dragao[ENTER]Vermelho, todos os membros do grupo devem ter[ENTER]nivel 100, os jogadores que actualmente nao[ENTER]atingiram o nivel sao:")
                            for i, name in next, notEnoughLevelMembers, nil do
                                say(color(1,1,0), "    "..name)
                            end
                            return
                        end
     
                        if party.is_leader() then
                            say("Voce quer entrar na Fortaleza Dragao Vermelho?")
                            local warp = select("Entrar","Talvez mais tarde")
                            if warp == 1 then
                                if party.is_map_member_flag_lt("exit_time", get_global_time() - 30 * 60 ) then
                                    flame_dungeon.make_dungeon()
                                else
                                    say("O periodo de espera para re-entrada na[ENTER]Fortaleza Dragao Vermelho ainda nao expirou.")
                                end
                            end
                             
                            party.setf("flame_dungeon_boss_kill_count", 0)
                             
                        else
                            say("Apenas o lider do grupo pode solicitar a entrada.")
                        end
                    end
                else
                    say("Eu aprecio a sua coragem, mas so voce[ENTER]nao pode entrar na Fortaleza Dragao Vermelho.[ENTER]Defina um grupo forte e eu vou conceder a entrada.")
                end
            end
            when 20394.chat."Test : Teleporte para instancia" with pc.is_gm() begin -- ????
                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, 351)
            end
             
             
            when 20394.chat."TEST : Init time limit init" with pc.is_gm() begin -- ????
                pc.setf("flame_dungeon","exit_time",get_global_time()-1800)
                say("Done")
            end
            when 20385.chat."Test : Informacao" with pc.is_gm() begin -- ????
                say("monstros_11 : "..d.getf("counter_11"))
                say("monstros_13 : "..d.getf("counter_13"))
                say("server time : "..get_server_timer_arg())
                say("numero de monstros : "..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 ?? ??
                end
                if d.is_unique_dead("stone1") then
                    say("stone1 is dead")
                else
                    say("stone1 is not dead")
                end
            end
            when 20385.chat."ativar instancia" with pc.is_gm() begin -- ????
                say("??? ???")
                flame_dungeon.clear_timer(d.get_map_index())
                flame_dungeon.make_dungeon()
            end
            when 20385.chat."Test : Boss Room" with pc.is_gm() begin -- ????
                flame_dungeon.go_boss()
            end
             
            when 20385.chat."testar sair" with pc.is_gm() begin -- ???? ??? ?? ? ?? ???
                local setting = flame_dungeon.setting()
                say("??? ????????")
                local warp = select("Sim","Nao")
                if warp == 1 then
                    pc.warp(setting.outside_entry_pos[1]*100, setting.outside_entry_pos[2] * 100, 62)
                end
            end
            when flame_dungeon_45m_left_timer.timer begin
                notice_multiline(string.format("Tempo restante: %d minuto(s)", 45),d.notice)
                notice_multiline("Depois do tempo, o grupo e teleportado[ENTER]para fora da fortaleza.",d.notice)
                timer("flame_dungeon_30m_left_timer", 15*60)
            end
            when flame_dungeon_30m_left_timer.timer begin
                notice_multiline(string.format("Tempo restante: %d minuto(s)", 30),d.notice)
                notice_multiline("Depois do tempo, o grupo e teleportado[ENTER]para fora da fortaleza.",d.notice)
                timer("flame_dungeon_15m_left_timer", 15*60)
            end
            when flame_dungeon_15m_left_timer.timer begin
                notice_multiline(string.format("Tempo restante: %d minuto(s)", 15),d.notice)
                notice_multiline("Depois do tempo, o grupo e teleportado[ENTER]para fora da fortaleza.",d.notice)
                timer("flame_dungeon_5m_left_timer", 10*60)
            end
            when flame_dungeon_5m_left_timer.timer begin
                notice_multiline(string.format("Tempo restante: %d minuto(s)", 5),d.notice)
                notice_multiline("Depois do tempo, o grupo e teleportado[ENTER]para fora da fortaleza.",d.notice)
                timer("flame_dungeon_1m_left_timer", 4*60)
            end
            when flame_dungeon_1m_left_timer.timer begin
                notice_multiline(string.format("Tempo restante: %d minuto(s)", 1),d.notice)
                notice_multiline("Depois do tempo, o grupo e teleportado[ENTER]para fora da fortaleza.",d.notice)
                timer("flame_dungeon_0m_left_timer", 60)
            end
            when flame_dungeon_0m_left_timer.timer begin
                local setting = flame_dungeon.setting()
                notice_multiline("Seu tempo expirou. Dentro de 10 segundos voce[ENTER]sera teleportado para os portoes da fortaleza.",d.notice)
                notice_multiline("Em dez segundos, o grupo e teleportado[ENTER]da Fortaleza Dragao Vermelho.",d.notice)
                timer("exit_dungeon",10)    
            end
     
     
            when 20385.chat."O despertar do Am-heh" with npc.lock() begin -- '0x'? x?? ?? ??? ?? ? ?? ?? , '1x'? x?? ?? ??? ???
                local setting = flame_dungeon.setting()
                if d.getf("started") == 0 then
                    say("O Am-heh foi despertado.")
                    say("Os portoes da Fortaleza Dragao Vermelho[ENTER]seram fechados dentro de uma hora.")
                    wait()
                    d.setf("started",1)
                    timer("flame_dungeon_45m_left_timer",15*60)
                    notice_multiline("Tempo restante: 60 Minuto(s) ",d.notice)
                    notice_multiline("Depois do tempo, o grupo e teleportado[ENTER]para fora da fortaleza.",d.notice)
                     
                    local pids = {party.get_member_pids()}
                    local ticketGroup = {get_special_item_group (10033)}
                    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, 62)
                        end
                        q.end_other_pc_block()
                    end
                    d.setqf2("flame_dungeon","ticket_delete",1)
                    d.setf("dungeon_enter",1)
                     
                    party.setf("dungeon_index", d.get_map_index())
                    d.setf("party_leader_pid", party.get_leader_pid())
                end
                if d.getf("level") < 7 then --???? ???
                    if d.getf("clear_count") == 6 then -- ? ??? ??? ???
                        d.setf("level",7)
                    else
                        local rand = number(1,6)--???? ????? ?? ???? ?? ?? ?????? ???
                        local setlev = 0
                        d.setf("level",7) -- ?? ?? ??? ?? ??? ?????? ??? ????? ????
                        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("Missao: Aventure-se no anel de demonios[ENTER]e surja como vencedor.")
                        notice_multiline("Missao: Aventure-se no anel de demonios[ENTER]e surja como vencedor.",d.notice)
                        d.kill_unique("door1")
                        d.kill_unique("idoor1")
                        d.setf("level",11)
                        local counter_11 = 180
                        d.regen_file ("data/dungeon/flame_dungeon/".."fd_a.txt")
                    elseif d.getf("level") == 11 then
                        say("Nao foram derrotados todos os demonios.")
                        say_title("Restantes: ", counter_11)
                    elseif d.getf("level") == 2 then
                            say("Tarefa: Encontre a engrenagem de ouro,[ENTER]substituindo o mecanismo oculto[ENTER]na estela de Isfet.")
                            notice_multiline("Tarefa: Encontre a engrenagem de ouro, substituindo [ENTER] o mecanismo oculto na estela de Isfet.",d.notice)
                            d.spawn_mob(20386, setting.LEVEL2_STONE_pos[1], setting.LEVEL2_STONE_pos[2]) -- ??? ??
                            d.kill_unique("door2")
                            d.kill_unique("idoor2")
                            d.set_regen_file ("data/dungeon/flame_dungeon/".."fd_b.txt")
                            d.setf("level",12)
                    elseif d.getf("level") == 12 then
                        say("O mecanismo na estela de Isfet so pode ser[ENTER]acionado com a roda de engrenagem de ouro.[ENTER]Volta quando a tarefa foi cumprida.")
                    elseif d.getf("level") == 3 then
                        say("Missao: Aventure-se no anel de demonios e[ENTER]surja como vencedor.")
                        notice_multiline("Missao: Aventure-se no anel de demonios e[ENTER]surja como vencedor.",d.notice)
                        d.kill_unique("door3")
                        d.kill_unique("idoor3")
                        d.setf("level",13)
                        local counter_13 = 180
                        d.regen_file ("data/dungeon/flame_dungeon/".."fd_c.txt")
                    elseif d.getf("level") == 13 then
                        say("Nao foram derrotados todos os demonios.")
                        say_title("Restantes: ", counter_13)
                    elseif d.getf("level") == 4 then -- 474 178
                        say("Tarefa: Derrote Ignator, guarda das brasas.")
                        notice_multiline("Tarefa: Derrote Ignator, guarda das brasas.",d.notice)
                        d.setf("level",14)
                        d.kill_unique("door4")
                        d.kill_unique("idoor4")
                        d.set_regen_file ("data/dungeon/flame_dungeon/".."fd_d.txt")
                        d.spawn_mob(6051,setting.LEVEL4_TARGET_pos[1],setting.LEVEL4_TARGET_pos[2] ) -- ????? ??
                    elseif d.getf("level") == 14 then
                        say("Ignator ainda nao foi derrotado.[ENTER]Fortaleca-se ou recebera a condenacao eterna.[ENTER]Volte se a tarefa for cumprida.")
                    elseif d.getf("level") == 5 then -- 510 355
                        say("Missao: Procurar as Pedras de Maat e coloca-as[ENTER]na ordem correta nas 7 estelas de Isfet.")
                        say("Se usares a Pedra de Maat na estela errada,[ENTER]a pedra ira partir-se.")
                        notice_multiline("Missao: Procurar as Pedras de Maat e coloca-as[ENTER]na ordem correta nas 7 estelas de Isfet.",d.notice)
                        notice_multiline("Se usares a Pedra de Maat na estela errada,[ENTER]a pedra ira partir-se.",d.notice)
                        d.kill_unique("door5")
                        d.kill_unique("idoor5")
                        d.setf("level",15)
                        d.set_regen_file ("data/dungeon/flame_dungeon/".."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 -- ???? ???
                            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(20386, setting.LEVEL5_STONE_pos[i][1], setting.LEVEL5_STONE_pos[i][2]))
                                        break
                                    end
                                end
                            end
                        end 
                    elseif d.getf("level") == 15 then
                        say("Errar e humano! Portanto, escolha com sabedoria[ENTER]para resolver o misterio. Volte se a tarefa[ENTER]for cumprida.")
                    elseif d.getf("level") == 6 then -- 507 490
                        say("Tarefa: So quem nao tem medo do calor abrasador,[ENTER]ira destruir a Metin do purgatorio.")
                        notice_multiline("Tarefa: So quem nao tem medo do calor abrasador,[ENTER]ira destruir a Metin do purgatorio.",d.notice)
                        d.setf("level",16)
                        d.kill_unique("door6")
                        d.kill_unique("idoor6")
                        d.set_regen_file ("data/dungeon/flame_dungeon/".."fd_f.txt")
                        d.spawn_mob(8057, setting.LEVEL6_TARGET_pos[1],setting.LEVEL6_TARGET_pos[2]) -- ?????? ??
                    elseif d.getf("level") == 16 then
                        say(" ")
                        say("Vamos colocar a Metin do purgatorio em cinzas.[ENTER]Volta se a tarefa for cumprida.")
                    elseif d.getf("level") == 7 then
                        flame_dungeon.go_boss()
                    else
                        say(" ")
                    end
                npc.unlock()        
            end
         
            when kill with flame_dungeon.is_flamed(pc.get_map_index()) and d.getf("level") == 11 begin -- 2?? ??? ?? ??
                if d.getf("counter_11") == 0 then -- 1?? ??? ???
                    notice_multiline("Todos os demonios foram derrotados.",d.notice)
                    notice_multiline("Fala com Am-heh para abrir um novo destino.",d.notice)
                    flame_dungeon.level_clear()
                else
                    d.setf("counter_11",d.getf("counter_11")-1)
                end
            end
     
            when kill with flame_dungeon.is_flamed(pc.get_map_index()) and d.getf("level") == 13 begin -- 2?? ??? ?? ??
                if d.getf("counter_13") == 0 then -- 1?? ??? ???
                    notice_multiline("Todos os demonios foram derrotados.",d.notice)
                    notice_multiline("Fala com Am-heh para abrir um novo destino.",d.notice)
                    flame_dungeon.level_clear()
                else
                    d.setf("counter_13",d.getf("counter_13")-1)
                end
            end
     
            when kill with flame_dungeon.is_flamed(pc.get_map_index()) and d.getf("level") == 12 begin -- 2?? ??? ?? ??
                local i = number(1, 100) -- 100?? 1 ??? ????
                if i == 1 then
                    game.drop_item (30329, 1)
                end
            end
            when 20386.take with flame_dungeon.is_flamed(pc.get_map_index()) and item.vnum == 30329 and d.getf("level") == 12 begin -- 2?? ?? ????
                local i = number(1, 5) -- 5?? 1 ??? ?? ??
                if i == 1 then
                    npc.purge()
                    item.remove()
                    notice_multiline("A estela de Isfet foi destruida.",d.notice)
                    notice_multiline("Fala com Am-heh para abrir um novo destino.",d.notice)
                    flame_dungeon.level_clear()
                else
                    item.remove()
                    say("Esta peca e falsa e foi destruida.[ENTER]Procura a original.")
                end
            end
     
            when 6051.kill with flame_dungeon.is_flamed(pc.get_map_index()) and d.getf("level") == 14 begin
                notice_multiline("Ignator, guarda das brasas, foi destruido.",d.notice)
                notice_multiline("Fala com Am-heh para abrir um novo destino.",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?? ??? ?? ??
                local i = number(1, 30) -- 30?? 1 ??? ????
                if i == 1 then
                    game.drop_item (30330, 1)
                end
            end
            when 20386.take with flame_dungeon.is_flamed(d.get_map_index()) and item.vnum == 30330 and d.getf("level") == 15 begin -- 5?? ???? ????
                local setting = flame_dungeon.setting()
                if npc.get_vid() == d.get_unique_vid("stone5_1") then -- ??? ?? ????? ? ?? ????? ???? ????
                    npc.purge()
                    item.remove()
                    say("Essa foi uma escolha sabia.[ENTER]Destrua agora a proxima estela.")
                    d.setf("stonekill",2) -- 2? ?? ???
                    if d.count_monster() < 100 then
                        d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt")
                    end
                elseif npc.get_vid() == d.get_unique_vid("stone5_2") then 
                    if d.getf("stonekill") == 2 then -- 2??? ?? ??? 2???? ??? ??? ?
                        npc.purge()
                        item.remove()
                        say("Essa foi uma escolha sabia.[ENTER]Destrua agora a proxima estela.")
                        d.setf("stonekill",3)
                        if d.count_monster() < 100 then
                            d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt")
                        end
                    else
                        item.remove()
                        say("Ordem errada. A Pedra de Maat foi destruida.")
                    end
                elseif npc.get_vid() == d.get_unique_vid("stone5_3") then
                    if d.getf("stonekill") == 3 then
                        npc.purge()
                        item.remove()
                        say("Essa foi uma escolha sabia.[ENTER]Destrua agora a proxima estela.")
                        d.setf("stonekill",4)
                        if d.count_monster() < 100 then
                            d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt")
                        end
                    else
                        item.remove()
                        say("Ordem errada. A Pedra de Maat foi destruida.")
                    end
                elseif npc.get_vid() == d.get_unique_vid("stone5_4") then
                    if d.getf("stonekill") == 4 then
                        npc.purge()
                        item.remove()
                        say("Essa foi uma escolha sabia.[ENTER]Destrua agora a proxima estela.")
                        d.setf("stonekill",5)
                        if d.count_monster() < 100 then
                            d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt")
                        end
                    else
                        item.remove()
                        say("Ordem errada. A Pedra de Maat foi destruida.")
                    end
                elseif npc.get_vid() == d.get_unique_vid("stone5_5") then
                    if d.getf("stonekill") == 5 then
                        npc.purge()
                        item.remove()
                        say("Essa foi uma escolha sabia.[ENTER]Destrua agora a proxima estela.")
                        d.setf("stonekill",6)
                        if d.count_monster() < 100 then
                            d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt")
                        end
                    else
                        item.remove()
                        say("Ordem errada. A Pedra de Maat foi destruida.")
                    end
                elseif npc.get_vid() == d.get_unique_vid("stone5_6") then
                    if d.getf("stonekill") == 6 then
                        npc.purge()
                        item.remove()
                        say("Essa foi uma escolha sabia. Destrua agora a ultima[ENTER]estela e Maat triunfara sobre Isfet.")
                        d.setf("stonekill",7)
                        if d.count_monster() < 100 then
                            d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt")
                        end
                    else
                        item.remove()
                        say("Ordem errada. A Pedra de Maat foi destruida.")
                    end
                else
                    if d.getf("stonekill") == 7 then
                        npc.purge()
                        item.remove()
                        notice_multiline("A estela de Isfet foi destruida.",d.notice)
                        notice_multiline("Fala com Am-heh para abrir um novo destino.",d.notice)
                        flame_dungeon.level_clear()
                    else
                        item.remove()
                        say("Ordem errada. A Pedra de Maat foi destruida.")
                    end
                end
            end
     
            when 8057.kill with flame_dungeon.is_flamed(d.get_map_index()) and d.getf("level") ==16 begin -- ??? ???? ?
                notice_multiline("A Metin do purgatorio foi destruida.",d.notice)
                notice_multiline("Fala com Am-heh para abrir um novo destino.",d.notice)
                flame_dungeon.level_clear()
            end
     
            when 6091.kill with flame_dungeon.is_flamed(d.get_map_index()) and d.getf("level") ==17 begin -- ?? ????
                notice_multiline("Razador foi destruido.",d.notice)
                notice_multiline("Todos os lutadores seram teleportados[ENTER]em um minuto do Templo do Dragao.",d.notice)
                timer("exit_dungeon", 60)
                flame_dungeon.level_clear()
                 
                if party.is_party() then
                    party.setf("flame_dungeon_boss_kill_count", 1)
                end
                 
            end
             
            when exit_dungeon.timer begin
                local setting = flame_dungeon.setting()
                flame_dungeon.clear_timer(d.get_map_index())
                d.set_warp_location(62, setting.outside_entry_pos[1] , setting.outside_entry_pos[2])
                d.exit_all()
                d.setf("party_leader_pid", 0)
            end
             
        end
    end

     

×
×
  • Create New...

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.