Jump to content

Dungeon Quest


Go to solution Solved by NewWars,

Recommended Posts

Hey guys.

 

I am having some trouble using monkey dungeon as a real dungeon quest.

 

On the 2º room timer, the dungeon start, d.new_jump_all() doesnt teleport, and doesnt say any more next messages, so i presume that its not starting the dungeon.

 

Map Index: 45

 

Here is a part of the quest:

quest somedungeon begin
	state start begin
		when 20090.chat."Dungeon" begin
			say_title("Nub")
			if pc.get_level() > 40 then
				say("")
				say("O limite de entrada é nivel 40")
				say("Esta caverna é muito facil para ti.")
			else
				say("")
				say("Estão "..game.get_event_flag("edplayers").." soldados na caverna")
				say("")
				say_reward("Queres entrar na caverna?")
				say("")
				local enter = select("Sim", "Não")
				if enter == 1 then
					pc.warp(928800 , 447700)
				elseif enter == 2 then
					return
				end
			end
		end
		
		
		--Sala 1
		when login with pc.get_map_index() == 45 begin
			game.set_event_flag(("edplayers"), game.get_event_flag("edplayers") + 1)
			pc.set_warp_location(45, 72, 129) 
		end
		
		when logout with pc.get_map_index() == 45 begin
			game.set_event_flag(("edplayers"), game.get_event_flag("edplayers") - 1)
		end
		
		when kill with npc.get_race() == 8003 and pc.get_map_index() == 45 begin
			timer("easy_dungeon_floor2", 5)
		end

		--Sala 2
		when easy_dungeon_floor2.timer begin
			chat("Jump all 2 Floor")
			d.new_jump_all(45, 108, 548) -- DOESNT WORK ANYMORE HERE --
			d.notice("Os amaldiçoados estão a atacar!")
			d.notice("Elimina todos para passarem a proxima fase")
			--d.regen_file("data/dungeon/easy_dungeon/easy_dungeon_sala_2.txt")
			d.setf("easydungeon", 1)
		end
        end
end

What am i missing? I break the 8003 stone, and nothing happens...

I am noob with dungeon :/..

 

Best Regards

Link to comment
Share on other sites

  • Replies 10
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Why do you use timer instead of server timer for a dungeon?

I dont understant server timer, altough, its easy and the same, but im costumed to quest with timer only.

 

Hi, first verify your map index and then verify remove the "npc.get_race() == 8003 and " and just let the rest and then tell us if works or not.

I think i am not that dumb xD. I tried with other monkey caves too, like 5 and 25(other kingdom caves)

Maybe dungeon is blocked by game in some mapindex?

I dont know why it doesnt work properly...

 

 

Thanks in advance.

Link to comment
Share on other sites

 

Why do you use timer instead of server timer for a dungeon?

I dont understant server timer, altough, its easy and the same, but im costumed to quest with timer only.

 

 

It's almost the same.

You're just unable to use functions for just one player.

 

With a servertimer you could use if d.select(get_server_timer_arg()) then inside of the servertimer trigger that the instance of the dungeon is selected then it should work.

Link to comment
Share on other sites

 

 

Why do you use timer instead of server timer for a dungeon?

I dont understant server timer, altough, its easy and the same, but im costumed to quest with timer only.

 

 

It's almost the same.

You're just unable to use functions for just one player.

 

With a servertimer you could use if d.select(get_server_timer_arg()) then inside of the servertimer trigger that the instance of the dungeon is selected then it should work.

 

Like this is good? Sorry if i misunderstood, i really suck at dungeon questing xD

 

quest somedungeon begin
    state start begin
        when 20090.chat."Dungeon" begin
            say_title("Nub")
            if pc.get_level() > 40 then
                say("")
                say("O limite de entrada é nivel 40")
                say("Esta caverna é muito facil para ti.")
            else
                say("")
                say("Estão "..game.get_event_flag("edplayers").." soldados na caverna")
                say("")
                say_reward("Queres entrar na caverna?")
                say("")
                local enter = select("Sim", "Não")
                if enter == 1 then
                    pc.warp(928800 , 447700)
                elseif enter == 2 then
                    return
                end
            end
        end
        
        
        --Sala 1
        when login with pc.get_map_index() == 45 begin
            game.set_event_flag(("edplayers"), game.get_event_flag("edplayers") + 1)
            pc.set_warp_location(45, 72, 129)
        end
        
        when logout with pc.get_map_index() == 45 begin
            game.set_event_flag(("edplayers"), game.get_event_flag("edplayers") - 1)
        end
        
        when kill with npc.get_race() == 8003 and pc.get_map_index() == 45 begin
            server_timer("easy_dungeon_floor2", 5, pc.get_map_index())
        end


        --Sala 2
        when easy_dungeon_floor2.server_timer begin
            if d.select(get_server_timer_arg()) then
             d.new_jump_all(45, 108, 548)
             d.notice("Os amaldiçoados estão a atacar!")
             d.notice("Elimina todos para passarem a proxima fase")
             --d.regen_file("data/dungeon/easy_dungeon/easy_dungeon_sala_2.txt")
             d.setf("easydungeon", 1)
end
        end
    end
end
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

Announcements



  • Similar Content

  • Activity

    1. 13

      Metin2 Closed Beta Content (2003-2004)

    2. 25

      [SRC] Metin2 on LINUX - The Old Metin2 Project

    3. 2

      United/Club/Midgard serverfiles?

    4. 13

      Metin2 Closed Beta Content (2003-2004)

    5. 13

      Metin2 Closed Beta Content (2003-2004)

  • Recently Browsing

    • No registered users viewing this page.
×
×
  • 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.