Jump to content

Recommended Posts

  • Honorable Member

Hi devs..
I need help with my dungeon quest.. First part of quest work fine, but then nothinh.. I have the same quest as for my other dungeon.. just edited with regens, coordinates and so...
Here is a working part:

quest nemerova_vez begin
	state start begin

		function setting()
			return
			{
				["DUNGEON_INDEX"] = 19,
				["konec_index"] = 13,
				["PRVNI_PORT"] = {30172,52776},

				["szel"] = 6151,
				["ledovy_demon"] = 248,
				["ledovy_sloup"] = 247,
				["sloup_mrazu"] = 250,
				["ledova_murena"] = 251,
				["arkticka_kostka"] = 20398,
				["nemer"] = 6191,
				
				["prvni_pecet"] = 30471,
				["druha_pecet"] = 30472,
				["odmena"] = 30473,


				["druhe_level_pos"] = {30173, 53028},
				["treti_level_pos"] = {30420, 53036},
				["ctrvte_level_pos"] = {30422, 52768},
				["pate_level_pos"] = {30745, 53038},
				["seste_level_pos"] = {30761, 52774},
				["sedme_level_pos"] = {30303, 53219},
				["osme_level_pos"] = {30570, 53206},
				["devate_level_pos"] = {30849, 53393},
				["boss_level_pos"] = {30849, 53393},
				["konec_pos"] = {3023900, 4524500},
				
				["szel_pos"] = {380, 473},
				["ledova_murena_pos"] = {570, 649},
				["ledovy_sloup_pos"] = {762, 177},
				["arkticka_kostka_pos"] = {848, 660},
				["nemer_pos"] = {927, 335},
				["ledovy_demon_pos"] = {
					{420,201},
					{407,189},
					{391,188},
					{385,179},
					{393,195},
					{401,168},
					{401,150},
					{412,138},
					{421,151},
					{432,157},
					{453,165},
					{440,177},
					{446,192},
				},

				["sloup_mrazu_pos"] = {
					{302,684},
					{287,672},
					{288,642},
					{303,631},
					{318,642},
					{318,671},
				},
				
				["regeny"] = "data/dungeon/santhia/nemerova_vez/",					
			}
		end
			
		when 9054.chat."Nemerova věž " with pc.get_map_index() == 13 begin
			if pc.get_level() <= 89 then
				say_reward("Strážce Nemerovy věže")
				say("")
				say("Bohužel, do této oblasti mají vstup pouze")
				say("postavy s úrovní 90 a vyšší.")
				say("Tvá síla a tvé zkušenosti ještě ")
				say("nejsou na dostatečné úrovni.")
			else
				say_reward("Strážce Nemerovy věže")
				say("")
				say("Nemer...")
				say("Blablabla.")
				wait()
				say_reward("Strážce Nemerovy věže")
				say("Blablabla.")
				local s=select("Vstoupit", "Nevstupovat")
					if s==1 then
						pc.warp(3017200, 5277600)
					else
						return
					end
			end
		end

		when 9054.chat."Započít cestu" with pc.get_map_index() == 19 begin
			local setting = nemerova_vez.setting()
			if not party.is_party() then
				say_reward("Strážce Nemerovy věže")
				say("")
				say("Blablabla.")
				return
			elseif not party.is_leader() then
				say_reward("Strážce Nemerovy věže")
				say("")
				say("Cestu může začít pouze velitel skupiny.")
			else
				say_reward("Strážce Nemerovy věže")
				say("")
				say("Zkontrolujte si ještě jednou, že")
				say("máte ve skupině suru a válečníka!")
				local s=select ("Vstoupit", "Nevstupovat")
					if s==1 then
						d.new_jump_party(setting.DUNGEON_INDEX, setting.PRVNI_PORT[1], setting.PRVNI_PORT[2])
						d.setf("level", 1)
						d.regen_file(setting.regeny.."regen_1.txt")
					else
						return
					end
			end
		end
		
		when login with d.getf("level") == 1 begin
			say_reward("Nemerova věž ")
			say("")
			say("Blablabla.")
		end
		
		when 247.party_kill with d.getf("level") == 1 begin
			d.kill_all()
			d.notice("Země se otřásla.. je čas odsud zmizet")
			timer("druhe_level", 2)
		end
		
		when druhe_level.timer begin
			local setting = nemerova_vez.setting()
			d.setf("level", 2)
			d.regen_file(setting.regeny.."regen_2.txt")
			d.jump_all(setting.druhe_level_pos[1], setting.druhe_level_pos[2])
			d.notice("Pouze válečník má sílu pro zničení tohoto sloupu")
		end
		
		when 247.party_kill with d.getf("level") == 2 begin
			local setting = nemerova_vez.setting()
			if pc.get_job() == 0 then	
				d.kill_all()
				d.regen_file(setting.regeny.."regen_3.txt")
				d.setf("level", 3)
				d.jump_all(setting.treti_level_pos[1], setting.treti_level_pos[2])
				d.spawn_mob(setting.szel, setting.szel_pos[1], setting.szel_pos[2])
				d.notice("Zničte Szela! Pravou ruku Nemera")
			else
				d.notice("Pouze válečník může zničit tento sloup")
				d.kill_all()
				d.regen_file(setting.regeny.."regen_3.txt")
			end
		end

Ok, and the part under this part don't work.. I really don't know why...

 

		when 247.party_kill with d.getf("level") == 3 begin
			d.kill_all()
			local position = setting.ledovy_demon_pos
			local setting = nemerova_vez.setting()
			d.notice("První záchvěv mrazu byl zažehnán...")
			timer("ctrvte_level", 10)
			d.setf("level", 4)
			d.regen_file(setting.regeny.."regen_4.txt")
			d.jump_all(setting.ctrvte_level_pos[1], setting.ctrvte_level_pos[2])
			d.notice("Najděte a zabijte pravého ledového démona")

			local n = number(1,13)
			for i = 1, 13 do
				if (i != n) then
					d.set_unique("fake"..i, d.spawn_mob( setting.ledovy_demon, position[i][1], position[i][2]))
				end
			end
			
			local vid = d.spawn_mob( setting.ledovy_demon, position[n][1], position[n][2])
			d.set_unique ("real",vid)
		end

 

In sysser is just this error:

dungeon_get_flag: no dungeon !!!

 

I'm out of ideas... Can someone help please?

Thanks!

With love, Plechito:wub:

plechi-frost-dungeon.gif

Link to comment
Share on other sites

Try it with changing:

when 247.party_kill with d.getf("level") == 3 begin

to:

when 247.party_kill with pc.in_dungeon() and d.getf("level") == 3 begin

That should solve the mysterie. Your error appears when someone kills mob 247 without being in a dungeon. The server still insists on fetching the dungeonflag via d.getf even if the player isn't in a dungeon at all ;) You'd add it everytime you're not dealing with a servertimer or non-dungeon related trigger. This way you make sure that the player really is in a dungeon before you use those functions.

Still I don't think that this error is related to your problem. Anyway, try it out and tell us if it works. The syserr shouldn't appear anymore ;)

Edited by Alina
  • Love 1
Link to comment
Share on other sites

  • Honorable Member

Okey, so the error from the sysser is out.. :)

But problem is still here... When i kill the mob, nothing happens...

I tried just setting kill with pc.in_dungeon... Nothing.. Some other tips? I really don't know where should be the problem..

 

Now i try this way.. because i have it in other part of quest.. and it's strange.. I put this function:

		when 247.kill with pc.get_job() == 0 and d.getf("patro") == 3 begin
			d.kill_all()
			d.regen_file(setting.regeny.."regen_3.txt")
			d.setf("patro", 3)
			d.jump_all(setting.treti_patro_pos[1], setting.treti_patro_pos[2])
			d.spawn_mob(setting.szel, setting.szel_pos[1], setting.szel_pos[2])
			d.notice("Zničte Szela! Pravou ruku Nemera")
		end

		when 247.kill with pc.get_job() == 1 or pc.get_job() == 3 or pc.get_job() == 3 and d.getf("patro") == 2 begin
			d.notice("Pouze válečník může zničit tento sloup!")
			d.kill_all()
			d.regen_file(setting.regeny.."regen_2.txt")
		end

When as first kill the mob warrior, so job 0, it's okey, quest continue next to my problem part.. :D
But when else char kill the mob, server write the notice, but don't spawn regen, and when i kill the mob with warrior then, nothing happen, quest stop work and i have to restart server to get working quest... What the hell is this? :D I've never get this problem

Anyway, thanks for your reply! ;)

Edited by .plechito'

plechi-frost-dungeon.gif

Link to comment
Share on other sites

  • Premium

when 247.kill with pc.get_job() == 1 or pc.get_job() == 3 or pc.get_job() == 3 and d.getf("patro") == 2 begin 

this is not right.

 

 

have u trie somethinglike this:

 

when 247.kill with pc.get_map_index() == XXXX  begin
            if pc.get_job() == 0 and d.getf("patro") == 3 then
                d.kill_all()
                d.regen_file(setting.regeny.."regen_3.txt")
                d.setf("patro", 3)
                d.jump_all(setting.treti_patro_pos[1], setting.treti_patro_pos[2])
                d.spawn_mob(setting.szel, setting.szel_pos[1], setting.szel_pos[2])
                d.notice("Zničte Szela! Pravou ruku Nemera")
            else
                d.notice("Pouze válečník může zničit tento sloup!")
                d.kill_all()
                d.regen_file(setting.regeny.."regen_2.txt")
            end
        end

 

Edited by EnKor
if pc.get_sex() == true and npc.get_sex() == false then
	npc.purge()
end

 

Link to comment
Share on other sites

  • Honorable Member

Bump..

dungeon_get_flag: no dungeon !!!

Is still here.. someone know where is the fucking problem?

After this part quest don't work and i have to restart server to get working quest..

		
		when 247.party_kill with d.getf("level") == 2 begin
			local setting = nemerova_vez.setting()
			if pc.get_job() == 0 then	
				d.kill_all()
				d.regen_file(setting.regeny.."regen_3.txt")
				d.setf("level", 3)
				d.jump_all(setting.treti_level_pos[1], setting.treti_level_pos[2])
				d.spawn_mob(setting.szel, setting.szel_pos[1], setting.szel_pos[2])
				d.notice("Zničte Szela! Pravou ruku Nemera")
			else
				d.notice("Pouze válečník může zničit tento sloup")
				d.kill_all()
				d.regen_file(setting.regeny.."regen_3.txt")
			end
		end

 

plechi-frost-dungeon.gif

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



×
×
  • 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.