Quest Dungeon meley

Avatar utilizator
Freedsb
4Metin
4Metin
Mesaje: 25
Membru din: Joi Iun 06, 2024 9:55 pm
Status: Activ

Quest Dungeon meley

Mesaj de Freedsb »

Tipologie server Server pvm
Resursă folosită: Eridanus2
ServerFiles utilizat: Eridanus2
Syserr: -
Poză: -
Detalii suplimentare: Salutare tuturor ma puteti ajuta cu o mica problema , cand incerc sa fac dungeon-ul meley de pe server am nevoie fie de grupa cu 4 membri fie sa fiu intr-o breazla. Doresc sa scot aceste 2 functii si sa pot face dungeon-ul fara a mai fi intr-un grup sau fara a mai fi nevoie de breazla. Atasat este questul de la meley , multumesc

Cod: Selectaţi tot

quest meleylair_zone begin
	state start begin
		function clear(arg)
			clear_server_timer("meleylair_prepare", arg)
			clear_server_timer("meleylair_checker", arg)
			clear_server_timer("meleylair_checker_loop", arg)
			clear_server_timer("meleylair_stone_spawn1", arg)
			clear_server_timer("meleylair_stone_spawn2", arg)
			clear_server_timer("meleylair_stone_limit", arg)
			clear_server_timer("meleylair_kill_boss", arg)
			clear_server_timer("meleylair_end", arg)
			clear_server_timer("meleylair_complete", arg)
			if d.find(arg) then
				d.setf(arg, "was_completed", 1)
				d.kill_all(arg)
				d.clear_regen(arg)
				d.exit_all_lobby(arg, 1)
			end
		end

		when meleylair_stone_limit.server_timer begin
			local arg = get_server_timer_arg()
			if d.find(arg) then
				d.notice(arg, 946, "", true)
				d.notice(arg, 947, "", true)
			end
			
			meleylair_zone.clear(arg)
		end

		when meleylair_complete.server_timer begin
			meleylair_zone.clear(get_server_timer_arg())
		end

		when 6118.take with pc.in_dungeon() and item.get_vnum() == 30341 begin
			local idx = pc.get_map_index()
			if idx >= 2120000 and idx < 2130000 then
				if d.getf(idx, "floor") == 19 then
					local vid = npc.get_vid()
					if d.getf(idx, string.format("a_%d", vid)) != 1 then
						d.setf(idx, string.format("a_%d", vid), 1)
						item.remove()
						d.set_meley_last_statue(idx, vid)
						d.setf(idx, "killed_count", d.getf(idx, "killed_count") + 1)
					end
				end
			end
		end

		when 6115.kill or 6110.kill with pc.in_dungeon() begin
			local idx = pc.get_map_index()
			if idx >= 2120000 and idx < 2130000 then
				if number(1, 100) > 94 then -- 6%
					game.drop_item(30341, 1)
				end
			end
		end

		when 6116.kill with pc.in_dungeon() begin
			local idx = pc.get_map_index()
			if idx >= 2120000 and idx < 2130000 then
				local c = d.getf(idx, "killed_count") + 1
				if c > 5 then
					local statue_vid = d.getf(idx, "statue_vid1")
					local success = d.set_vid_invincible(statue_vid, false, true)
					if not success then
						meleylair_zone.clear(idx)
					else
						statue_vid = d.getf(idx, "statue_vid2")
						success = d.set_vid_invincible(statue_vid, false, true)
						if not success then
							meleylair_zone.clear(idx)
						else
							statue_vid = d.getf(idx, "statue_vid3")
							success = d.set_vid_invincible(statue_vid, false, true)
							if not success then
								meleylair_zone.clear(idx)
							else
								statue_vid = d.getf(idx, "statue_vid4")
								success = d.set_vid_invincible(statue_vid, false, true)
								if not success then
									meleylair_zone.clear(idx)
								else
									d.setf(idx, "killed_count", 0)
									server_timer("meleylair_stone_spawn2", 30, idx)
									d.notice(idx, 1298, "", true)
								end
							end
						end
					end
				else
					d.setf(idx, "killed_count", c)
				end
			end
		end

		when 20422.kill with pc.in_dungeon() begin
			local idx = pc.get_map_index()
			if idx >= 2120000 and idx < 2130000 then
				local f = d.getf(idx, "floor")
				if f >= 13 then
					local c = d.getf(idx, "killed_count") + 1
					if c > 5 then
						local statue_vid = d.getf(idx, "statue_vid1")
						local success = d.set_vid_invincible(statue_vid, false, true)
						if not success then
							meleylair_zone.clear(idx)
						else
							statue_vid = d.getf(idx, "statue_vid2")
							success = d.set_vid_invincible(statue_vid, false, true)
							if not success then
								meleylair_zone.clear(idx)
							else
								statue_vid = d.getf(idx, "statue_vid3")
								success = d.set_vid_invincible(statue_vid, false, true)
								if not success then
									meleylair_zone.clear(idx)
								else
									statue_vid = d.getf(idx, "statue_vid4")
									success = d.set_vid_invincible(statue_vid, false, true)
									if not success then
										meleylair_zone.clear(idx)
									else
										d.setf(idx, "killed_count", 0)
										server_timer("meleylair_stone_spawn2", 30, idx)
										d.notice(idx, 1298, "", true)
									end
								end
							end
						end
					else
						d.setf(idx, "killed_count", c)
					end
				else
					local c = d.getf(idx, "killed_count") + 1
					if c > 3 then
						local statue_vid = d.getf(idx, "statue_vid1")
						local success = d.set_vid_invincible(statue_vid, false, true)
						if not success then
							meleylair_zone.clear(idx)
						else
							statue_vid = d.getf(idx, "statue_vid2")
							success = d.set_vid_invincible(statue_vid, false, true)
							if not success then
								meleylair_zone.clear(idx)
							else
								statue_vid = d.getf(idx, "statue_vid3")
								success = d.set_vid_invincible(statue_vid, false, true)
								if not success then
									meleylair_zone.clear(idx)
								else
									statue_vid = d.getf(idx, "statue_vid4")
									success = d.set_vid_invincible(statue_vid, false, true)
									if not success then
										meleylair_zone.clear(idx)
									else
										d.setf(idx, "killed_count", 0)
										server_timer("meleylair_stone_spawn1", 30, idx)
										d.notice(idx, 1298, "", true)
									end
								end
							end
						end
					else
						d.setf(idx, "killed_count", c)
					end
				end
			end
		end

		when meleylair_stone_spawn1.server_timer begin
			local arg = get_server_timer_arg()
			clear_server_timer("meleylair_stone_spawn1", arg)
			if d.find(arg) then
				local statue_vid = d.getf(arg, "statue_vid1")
				local success = d.set_vid_invincible(statue_vid, true)
				if not success then
					meleylair_zone.clear(arg)
				else
					statue_vid = d.getf(arg, "statue_vid2")
					success = d.set_vid_invincible(statue_vid, true)
					if not success then
						meleylair_zone.clear(arg)
					else
						statue_vid = d.getf(arg, "statue_vid3")
						success = d.set_vid_invincible(statue_vid, true)
						if not success then
							meleylair_zone.clear(arg)
						else
							statue_vid = d.getf(arg, "statue_vid4")
							success = d.set_vid_invincible(statue_vid, true)
							if not success then
								meleylair_zone.clear(arg)
							else
								d.setf(arg, "killed_count", 0)
								local stonepos = {
											[1] = {["x"] = 140, ["y"] = 131},
											[2] = {["x"] = 130, ["y"] = 122},
											[3] = {["x"] = 121, ["y"] = 128},
											[4] = {["x"] = 128, ["y"] = 140}
								}
								
								for index, position in ipairs(stonepos) do
									d.spawn_mob(arg, 20422, position["x"], position["y"])
								end
								
								d.notice(arg, 1297, "", true)
							end
						end
					end
				end
			end
		end

		when meleylair_stone_spawn2.server_timer begin
			local arg = get_server_timer_arg()
			clear_server_timer("meleylair_stone_spawn2", arg)
			if d.find(arg) then
				local statue_vid = d.getf(arg, "statue_vid1")
				local success = d.set_vid_invincible(statue_vid, true)
				if not success then
					meleylair_zone.clear(arg)
				else
					statue_vid = d.getf(arg, "statue_vid2")
					success = d.set_vid_invincible(statue_vid, true)
					if not success then
						meleylair_zone.clear(arg)
					else
						statue_vid = d.getf(arg, "statue_vid3")
						success = d.set_vid_invincible(statue_vid, true)
						if not success then
							meleylair_zone.clear(arg)
						else
							statue_vid = d.getf(arg, "statue_vid4")
							success = d.set_vid_invincible(statue_vid, true)
							if not success then
								meleylair_zone.clear(arg)
							else
								d.setf(arg, "killed_count", 0)
								local stonepos = {
											[1] = {["x"] = 140, ["y"] = 131},
											[2] = {["x"] = 130, ["y"] = 122},
											[3] = {["x"] = 121, ["y"] = 128},
											[4] = {["x"] = 128, ["y"] = 140},
											[5] = {["x"] = 140, ["y"] = 131},
											[6] = {["x"] = 141, ["y"] = 126},
								}
								
								for index, position in ipairs(stonepos) do
									if index > 4 then
										d.spawn_mob(arg, 6116, position["x"], position["y"])
									else
										d.spawn_mob(arg, 20422, position["x"], position["y"])
									end
								end
								
								d.notice(arg, 1297, "", true)
								d.notice(arg, 1299, "", true)
							end
						end
					end
				end
			end
		end

		when meleylair_checker.server_timer begin
			local arg = get_server_timer_arg()
			clear_server_timer("meleylair_checker", arg)
			if d.find(arg) then
				local f = d.getf(arg, "floor")
				if f == 6 then
					local statue_vid = d.getf(arg, "statue_vid1")
					local success = d.set_vid_invincible(statue_vid, false)
					if not success then
						meleylair_zone.clear(arg)
					else
						statue_vid = d.getf(arg, "statue_vid2")
						success = d.set_vid_invincible(statue_vid, false)
						if not success then
							meleylair_zone.clear(arg)
						else
							statue_vid = d.getf(arg, "statue_vid3")
							success = d.set_vid_invincible(statue_vid, false)
							if not success then
								meleylair_zone.clear(arg)
							else
								statue_vid = d.getf(arg, "statue_vid4")
								success = d.set_vid_invincible(statue_vid, false)
								if not success then
									meleylair_zone.clear(arg)
								else
									d.setf(arg, "floor", 7)
									d.set_regen_file(arg, "data/dungeon/meley/regen2.txt")
									server_timer("meleylair_stone_spawn1", 30, arg)
									d.notice(arg, 1296, "50", true)
								end
							end
						end
					end
				elseif f == 12 then
					local statue_vid = d.getf(arg, "statue_vid1")
					local success = d.set_vid_invincible(statue_vid, false)
					if not success then
						meleylair_zone.clear(arg)
					else
						statue_vid = d.getf(arg, "statue_vid2")
						success = d.set_vid_invincible(statue_vid, false)
						if not success then
							meleylair_zone.clear(arg)
						else
							statue_vid = d.getf(arg, "statue_vid3")
							success = d.set_vid_invincible(statue_vid, false)
							if not success then
								meleylair_zone.clear(arg)
							else
								statue_vid = d.getf(arg, "statue_vid4")
								success = d.set_vid_invincible(statue_vid, false)
								if not success then
									meleylair_zone.clear(arg)
								else
									clear_server_timer("meleylair_stone_spawn1", arg)
									d.setf(arg, "floor", 13)
									d.set_regen_file(arg, "data/dungeon/meley/regen3.txt")
									server_timer("meleylair_stone_spawn2", 30, arg)
									d.notice(arg, 1296, "5", true)
								end
							end
						end
					end
				elseif f == 18 then
					d.setf(arg, "floor", 19)
					d.notice(arg, 1300, "", true)
					d.setf(arg, "killed_count", 0)
					server_timer("meleylair_stone_limit", 20, arg)
				end
			else
				meleylair_zone.clear(arg)
			end
		end

		when 20420.chat."Reward" with pc.in_dungeon() begin
			local idx = pc.get_map_index()
			local lang = pc.get_language()
			say_title(string.format("%s:", mob_name(20420)))
			say("")
			if idx >= 2120000 and idx < 2130000 then
				if d.getf(idx, "notice_world") != 1 then
					d.setf(idx, "notice_world", 1)
					d.complete(6118, 2400, 212, "meleylair_zone")
					if party.is_party() then
						notice_all(1301, party.get_leader_name())
					else
						notice_all(1302, pc.get_name())
					end
					
					local bonus = 0 + game.get_event_flag("dungeon_bonus")
					if math.random(1, 100) <= bonus then
						d.spawn_mob(idx, 5003, 135, 135)
					end
				end
				
				if pc.can_drop() then
					local reward = d.getf(idx, string.format(pc.get_player_id()))
					if reward == 1 then
						say(gameforge[lang].meleylair_zone._2)
					else
						say(gameforge[lang].meleylair_zone._3)
						say(gameforge[lang].meleylair_zone._4)
						say("")
						local reward_menu = select(item_name(50270), item_name(50271), gameforge[lang].common.close)
						if reward_menu == 1 then
							say_title(string.format("%s:", mob_name(20420)))
							say("")
							say(string.format(gameforge[lang].meleylair_zone._5, item_name(50270)))
							say("")
							local agree = select(gameforge[lang].common.yes, gameforge[lang].common.no)
							if agree == 1 then
								d.setf(idx, string.format(pc.get_player_id()), 1)
								pc.give_item2(50270, 1)
								say_title(string.format("%s:", mob_name(20420)))
								say("")
								say(gameforge[lang].meleylair_zone._6)
							end
						elseif reward_menu == 2 then
							say_title(string.format("%s:", mob_name(20420)))
							say("")
							say(string.format(gameforge[lang].meleylair_zone._5, item_name(50271)))
							local agree = select(gameforge[lang].common.yes, gameforge[lang].common.no)
							if agree == 1 then
								d.setf(idx, string.format(pc.get_player_id()), 1)
								pc.give_item2(50271, 1)
								say_title(string.format("%s:", mob_name(20420)))
								say("")
								say(gameforge[lang].meleylair_zone._6)
							end
						end
					end
				else
					say(gameforge[lang].meleylair_zone._7)
				end
			else
				say(gameforge[lang].meleylair_zone._1)
			end
		end

		when meleylair_kill_boss.server_timer begin
			local arg = get_server_timer_arg()
			clear_server_timer("meleylair_kill_boss", arg)
			if d.find(arg) then
				d.kill_meley(arg)
				d.setf(arg, "was_completed", 1)
				d.notice(arg, 1207, "", true)
				d.notice(arg, 1208, "", true)
				d.notice(arg, 1252, "", true)
				d.spawn_mob(arg, 20420, 130, 130, 180)
				server_timer("meleylair_complete", 180, arg)
			end
		end

		when meleylair_checker_loop.server_timer begin
			local arg = get_server_timer_arg()
			if d.find(arg) then
				local f = d.getf(arg, "floor")
				if f == 5 then
					d.attack_meley(arg)
					d.setf(arg, "floor", 6)
					server_timer("meleylair_checker", 3, arg)
				elseif f == 11 then
					d.attack_meley(arg)
					d.setf(arg, "floor", 12)
					server_timer("meleylair_checker", 3, arg)
				elseif f == 17 then
					clear_server_timer("meleylair_stone_spawn2", arg)
					d.attack_meley(arg)
					d.setf(arg, "floor", 18)
					d.kill_all_monsters(arg)
					d.clear_regen(arg)
					server_timer("meleylair_checker", 3, arg)
				elseif f == 19 then
					if d.getf(arg, "killed_count") == 4 then
						clear_server_timer("meleylair_stone_limit", arg)
						d.setf(arg, "floor", 20)
						server_timer("meleylair_kill_boss", 1, arg)
					end
				end
			else
				clear_server_timer("meleylair_checker_loop", arg)
				meleylair_zone.clear(arg)
			end
		end

		when meleylair_end.server_timer begin
			local arg = get_server_timer_arg()
			d.notice(arg, 1040, "", true)
			d.notice(arg, 1041, "", true)
			meleylair_zone.clear(arg)
		end

		when meleylair_prepare.server_timer begin
			local arg = get_server_timer_arg()
			if d.find(arg) then
				server_timer("meleylair_end", 3599, arg)
				local bossvid = d.spawn_mob(arg, 6193, 130, 77, 360)
				d.setf(arg, "boss", bossvid)
				local success = d.set_vid_invincible(bossvid, true)
				if not success then
					meleylair_zone.clear(arg)
				else
					local stonepos = {
								[1] = {["x"] = 123, ["y"] = 137, ["dir"] = 225},
								[2] = {["x"] = 123, ["y"] = 124, ["dir"] = 225},
								[3] = {["x"] = 136, ["y"] = 123, ["dir"] = 225},
								[4] = {["x"] = 137, ["y"] = 137, ["dir"] = 225}
					}
					
					local random_num = number(1, table.getn(stonepos))
					for index, position in ipairs(stonepos) do
						local vid = d.spawn_mob(arg, 6118, position["x"], position["y"], position["dir"])
						d.setf(arg, string.format("statue_vid%d", index), vid)
					end
					
					d.set_regen_file(arg, "data/dungeon/meley/regen1.txt")
					server_loop_timer("meleylair_checker_loop", 2, arg)
					d.notice(arg, 599, "", true)
					d.notice(arg, 600, string.format("%d", 60), true)
					d.notice(arg, 1296, "75", true)
				end
			else
				meleylair_zone.clear(arg)
			end
		end

		when logout begin
			local idx = pc.get_map_index()
			if idx >= 2120000 and idx < 2130000 then
				pc.setf("meleylair_zone", "disconnect", get_global_time() + 300)
			end
		end

		when login begin
			local idx = pc.get_map_index()
			if idx == 212 then
				pc.warp(535400, 1428400)
			elseif idx >= 2120000 and idx < 2130000 then
				pc.set_warp_location(219, 5354, 14284)
				pc.setf("meleylair_zone", "idx", idx)
				pc.setf("meleylair_zone", "ch", pc.get_channel_id())
				if d.getf(idx, "floor") == 0 then
					if not party.is_party() then
						d.setf(idx, "floor", 1)
						server_timer("meleylair_prepare", 1, idx)
						d.setf(idx, "was_completed", 0)
						d.setf(idx, "guild_id", guild.get_id())
					else
						if party.is_leader() then
							d.setf(idx, "floor", 1)
							server_timer("meleylair_prepare", 1, idx)
							d.setf(idx, "was_completed", 0)
							d.setf(idx, "guild_id", guild.get_id())
						end
					end
				end
			end
		end

		when 20419.chat."A new territory?!?" begin
			local lang = pc.get_language()
			
			say_title(string.format("%s:", mob_name(20419)))
			say("")
			say(string.format(gameforge[lang].common.dungeon_1, pc.get_name()))
			local mapIdx = pc.get_map_index()
			if mapIdx != 219 then
				return
			end
			
			say(gameforge[lang].common.dungeon_2)
			local agree = select(gameforge[lang].common.yes, gameforge[lang].common.no)
			say_title(string.format("%s:", mob_name(20419)))
			say("")
			if agree == 2 then
				say(gameforge[lang].common.dungeon_3)
				return
			end
			
			local goahead = 1
			local rejoinTIME = pc.getf("meleylair_zone", "disconnect") - get_global_time()
			if rejoinTIME > 0 then
				local rejoinIDX = pc.getf("meleylair_zone", "idx")
				if rejoinIDX > 0 then
					local rejoinCH = pc.getf("meleylair_zone", "ch")
					if rejoinCH != 0 and rejoinCH != pc.get_channel_id() then
						say(string.format(gameforge[lang].common.dungeon_26, rejoinCH))
						return
					end
					
					if rejoinCH != 0 and d.find(rejoinIDX) then
						if d.getf(rejoinIDX, "was_completed") == 0 then
							say(gameforge[lang].common.dungeon_4)
							local agree2 = select(gameforge[lang].common.yes, gameforge[lang].common.no)
							if agree2 == 2 then
								say_title(string.format("%s:", mob_name(20419)))
								say("")
								say(gameforge[lang].common.dungeon_3)
								return
							end
							
							local f = d.getf(rejoinIDX, "floor")
							if f != 0 then
								goahead = 0
								pc.warp(320000, 1529000, rejoinIDX)
							end
						end
					end
				end
			end
			
			if goahead == 1 then
				pc.setf("meleylair_zone", "disconnect", 0)
				pc.setf("meleylair_zone", "idx", 0)
				pc.setf("meleylair_zone", "ch", 0)
				
				say(gameforge[lang].common.dungeon_5)
				say_reward(string.format(gameforge[lang].common.dungeon_6, 75))
				say_reward(string.format(gameforge[lang].common.dungeon_7, 120))
				say_reward(gameforge[lang].common.dungeon_8)
				say(gameforge[lang].common.dungeon_9)
				local n = select(gameforge[lang].common.yes, gameforge[lang].common.no)
				say_title(string.format("%s:", mob_name(20419)))
				say("")
				if n == 2 then
					say(gameforge[lang].common.dungeon_3)
					return
				end
				
				myname = pc.get_name()
				result, cooldown, name = d.check_entrance_meley(75, 120, 3, 4, "meleylair_zone.cooldown")
				if result == 0 then
					say(gameforge[lang].common.unknownerr)
				elseif result == 2 then
					say(gameforge[lang].common.dungeon_27)
				elseif result == 3 then
					say(gameforge[lang].common.dungeon_30)
				elseif result == 4 then
					say(string.format(gameforge[lang].common.dungeon_31, cooldown))
				elseif result == 5 then
					say(string.format(gameforge[lang].common.dungeon_32, name))
				elseif result == 6 then
					say(gameforge[lang].common.dungeon_33)
				elseif result == 7 then
					say(string.format(gameforge[lang].common.dungeon_34, cooldown))
				elseif result == 8 then
					if myname == name then
						say(gameforge[lang].common.dungeon_20)
					else
						say(string.format(gameforge[lang].common.dungeon_19, name))
					end
				elseif result == 9 then
					if myname == name then
						say(gameforge[lang].common.dungeon_12)
					else
						say(string.format(gameforge[lang].common.dungeon_11, name))
					end
				elseif result == 10 then
					if myname == name then
						say(gameforge[lang].common.dungeon_14)
					else
						say(string.format(gameforge[lang].common.dungeon_13, name))
					end
				elseif result == 11 then
					local h = math.floor(cooldown / 3600)
					local m = math.floor((cooldown - (3600 * h)) / 60)
					local hS = gameforge[lang].common.hours
					if h == 1 then
						hS = gameforge[lang].common.hour
					end
					local mS = gameforge[lang].common.minutes
					if m == 1 then
						mS = gameforge[lang].common.minute
					end
					
					if myname == name then
						say(string.format(gameforge[lang].common.dungeon_16, h, hS, m, mS))
					else
						say(string.format(gameforge[lang].common.dungeon_15, name, h, hS, m, mS))
					end
				elseif result == 1 then
					say(gameforge[lang].common.dungeon_21)
					wait()
					local flag = string.format("ww_212_%d", pc.get_channel_id())
					local ww_flag = game.get_event_flag(flag) - get_global_time()
					if ww_flag > 0 then
						say(gameforge[lang].common.dungeon_28)
						say(string.format(gameforge[lang].common.dungeon_29, ww_flag))
						return
					else
						game.set_event_flag(string.format("ww_212_%d", pc.get_channel_id()), get_global_time() + 5)
						d.remove_item_meley(30341, 2400, "meleylair_zone")
						d.join_cords(212, 3200, 15290)
					end
				end
			end
		end
	end
end

Avatar utilizator
RazVan
Administrator
Administrator
Mesaje: 695
Membru din: Mie Oct 19, 2022 5:25 pm
Localitate: München
Status: Activ
Multumiri acordate: 12
Multumiri primite: 18
Contact:

Re: Quest Dungeon meley

Mesaj de RazVan »

Salut, incearca sa modifici din dungeonlib.lua
Imagine
Avatar utilizator
Freedsb
4Metin
4Metin
Mesaje: 25
Membru din: Joi Iun 06, 2024 9:55 pm
Status: Activ

Re: Quest Dungeon meley

Mesaj de Freedsb »

RazVan scrie: Lun Iun 24, 2024 4:32 pm Salut, incearca sa modifici din dungeonlib.lua
Salut , am modificar si acum arata asa:

Cod: Selectaţi tot

	{ -- meleylair
		["status"] = 0,
		["type"] = 1,
		["organization"] = 0,
		["level_limit"] = {75, 120},
		["party_member_limit"] = {0, 0},
		["map_index"] = 212,
		["map_coords"] = {5322, 14313},
		["cooldown"] = 2400,
		["duration"] = 3600,
		["entrance_map_index"] = 219,
		["strength_bonus"] = 108,
		["resistance_bonus"] = 35,
		["required_item"] = {0, 0},
	},
Am dat reboot , am dat si reload q dar fara nici un rezultat , cand dau pe npc sa ma teleportez imi cere sa fiu intr-o breazla si sa am un grup de minim 4 persoane ...
Avatar utilizator
Freedsb
4Metin
4Metin
Mesaje: 25
Membru din: Joi Iun 06, 2024 9:55 pm
Status: Activ

Re: Quest Dungeon meley

Mesaj de Freedsb »

UP nimeni nu imi poate da o rezolvare ?
Avatar utilizator
BlueSkiLz
Moderator
Moderator
Mesaje: 75
Membru din: Dum Feb 12, 2023 11:29 am
Localitate: Madagascar
Status: #ZEU
Multumiri acordate: 1
Contact:

Re: Quest Dungeon meley

Mesaj de BlueSkiLz »

Din dungeonlib din ce stiu modifici doar ce afiseaza ca informatii in dungeon listul acela.

La asta ma refer:
--------------------------------------------------------------
* Specializare: Front-End Junior Web Developer
* Discord: Madalin#7388
* Nickname: [#Madalin]
--------------------------------------------------------------
Avatar utilizator
Freedsb
4Metin
4Metin
Mesaje: 25
Membru din: Joi Iun 06, 2024 9:55 pm
Status: Activ

Re: Quest Dungeon meley

Mesaj de Freedsb »

BlueSkiLz scrie: Dum Iun 30, 2024 4:13 pm Din dungeonlib din ce stiu modifici doar ce afiseaza ca informatii in dungeon listul acela.

La asta ma refer:

Exact dungeonlib modifica doar informatiile oferite in tab-ul de la dungeonul respectiv , eu am nevoie sa modific in sistem sa nu mai fie nevoie de grupa sau de breasla.
Problema este ca nu stiu unde trebuie modificat pentru ca in partea de Quest nu are nimic asociat cu grup sau cu breasla.... :)
Avatar utilizator
Freedsb
4Metin
4Metin
Mesaje: 25
Membru din: Joi Iun 06, 2024 9:55 pm
Status: Activ

Re: Quest Dungeon meley

Mesaj de Freedsb »

Salutare tuturor , am rezolvat problema intr-un anume fel dar acum ma confrunt cu altcev , dupa ce finalizez temnita nu primesc reward .
La final dupa ce termin dungeon-ul apare cufarul Garda Dragon dau click pe el si imi apare textul Reward apas si nu se intampla nimic , are cineva idee de la ce ar putea fi ?
Avatar utilizator
RazVan
Administrator
Administrator
Mesaje: 695
Membru din: Mie Oct 19, 2022 5:25 pm
Localitate: München
Status: Activ
Multumiri acordate: 12
Multumiri primite: 18
Contact:

Re: Quest Dungeon meley

Mesaj de RazVan »

Freedsb scrie: Mie Aug 28, 2024 7:29 pm Salutare tuturor , am rezolvat problema intr-un anume fel dar acum ma confrunt cu altcev , dupa ce finalizez temnita nu primesc reward .
La final dupa ce termin dungeon-ul apare cufarul Garda Dragon dau click pe el si imi apare textul Reward apas si nu se intampla nimic , are cineva idee de la ce ar putea fi ?
Salut ! Verifica sa ai questu cu dropu sau prin questu dungeonului trebuie sa contina vreun cod vnum
Imagine
Avatar utilizator
Freedsb
4Metin
4Metin
Mesaje: 25
Membru din: Joi Iun 06, 2024 9:55 pm
Status: Activ

Re: Quest Dungeon meley

Mesaj de Freedsb »

questul pentru drop este in dungeon quest

Cod: Selectaţi tot

if pc.can_drop() then
					local reward = d.getf(idx, string.format(pc.get_player_id()))
					if reward == 1 then
						say(gameforge[lang].meleylair_zone._2)
					else
						say(gameforge[lang].meleylair_zone._3)
						say(gameforge[lang].meleylair_zone._4)
						say("")
						local reward_menu = select(item_name(50270), item_name(50271), gameforge[lang].common.close)
						if reward_menu == 1 then
							say_title(string.format("%s:", mob_name(20420)))
							say("")
							say(string.format(gameforge[lang].meleylair_zone._5, item_name(50270)))
							say("")
							local agree = select(gameforge[lang].common.yes, gameforge[lang].common.no)
							if agree == 1 then
								d.setf(idx, string.format(pc.get_player_id()), 1)
								pc.give_item2(50270, 1)
								say_title(string.format("%s:", mob_name(20420)))
								say("")
								say(gameforge[lang].meleylair_zone._6)
							end
						elseif reward_menu == 2 then
							say_title(string.format("%s:", mob_name(20420)))
							say("")
							say(string.format(gameforge[lang].meleylair_zone._5, item_name(50271)))
							local agree = select(gameforge[lang].common.yes, gameforge[lang].common.no)
							if agree == 1 then
								d.setf(idx, string.format(pc.get_player_id()), 1)
								pc.give_item2(50271, 1)
								say_title(string.format("%s:", mob_name(20420)))
								say("")
								say(gameforge[lang].meleylair_zone._6)
							end
						end
					end
				else
					say(gameforge[lang].meleylair_zone._7)
				end
			else
				say(gameforge[lang].meleylair_zone._1)
			end
		end
Acesta este si nu inteleg ce este gresit de nu pot primi recompensa ...
Avatar utilizator
RazVan
Administrator
Administrator
Mesaje: 695
Membru din: Mie Oct 19, 2022 5:25 pm
Localitate: München
Status: Activ
Multumiri acordate: 12
Multumiri primite: 18
Contact:

Re: Quest Dungeon meley

Mesaj de RazVan »

Ai verificat daca ai aceste 2 coduri ?(item_name(50270), item_name(50271)
Imagine
Încuiat