Eveniment OX pe nivele

Avatar utilizator
BacanuAlin
Nou Venit

Nou Venit
Mesaje: 34
Membru din: 03 Iul 2016, 14:16
Server: TigerGhost
Regat: Jinno
Aprecieri: 212  
Mulţumiri: 4  
Discord: Copiază ID
Medalii

Nume: Eveniment ox pe nivele
Descriere: Am gasit acest quest pentru evenimentul ox pe anumite nivele, si am zis sa il postez aici, poate va este de ajutor
Imagini:
Quest:

Cod: Selectaţi tot

quest oxevent_manager begin
	state start begin
		function cleanup_event()
			oxevent.end_event()
			game.set_event_flag("ox_map_login_counter", 0)
		end

		function check_limit()
			if game.get_event_flag("ox_map_login_counter") == game.get_event_flag("ox_map_player_max") then
				return 0
			else
				return 1
			end
		end

		function enter_level (vnum1,vnum2)
			lv_range = {}
			lv_range[1] = { 15, 39 }
			lv_range[2] = { 40, 64 }
			lv_range[3] = { 65, 84 }
			lv_range[4] = { 85, 120 }
			lv_range[5] = { 1, 120}
			return lv_range [vnum1][vnum2]
		end

		when login or enter begin
			if pc.get_map_index() == 113 then
				local counter = game.get_event_flag("ox_map_login_counter")
				game.set_event_flag("ox_map_login_counter", counter + 1)
			end
		end

		when logout begin
			if pc.get_map_index() == 113 then
				if is_test_server() then
					pc.setqf("ox_end_cooldown_time", get_time() + 20 * 3)
				else
					pc.setqf("ox_end_cooldown_time", get_time() + 60 * 15) -- 15 min
				end
			end
		end

		when 20011.chat.gameforge[LC()][7547] begin
			say_title(gameforge[LC()][5097])
			say(gameforge[LC()][7560])
			wait()

			if game.get_event_flag("oxevent_status") == 0 then
				say_title(gameforge[LC()][5097])
				say(gameforge[LC()][7573])
			elseif game.get_event_flag("oxevent_status") == 1 then
				say_title(gameforge[LC()][5097])
				say(gameforge[LC()][7583])

				local s = select(gameforge[LC()][104], gameforge[LC()][105])

				if s == 1 then
					say_title(gameforge[LC()][5097])
					say(gameforge[LC()][7584])
					wait()

					-- read the limits that the admin set hopefully
					local min = game.get_event_flag("ox_map_level_min")
					local max = game.get_event_flag("ox_map_level_max")

					if pc.get_level() < min or pc.get_level() > max then
						say_title(gameforge[LC()][5097])
						say_reward(string.format(gameforge[LC()][995], min, max))
						return
					end

					if get_time() < pc.getqf("ox_end_cooldown_time") then
						say_title(gameforge[LC()][5097])
						say(gameforge[LC()][2696])
						return
					end

					-- check again the limit before we warp the player, maybe someone have trigger the limit
					if oxevent_manager.check_limit() == 0 then
						say_title(gameforge[LC()][5097])
						say(gameforge[LC()][997])
						return
					end

					-- removed the random warp, cause the current binary checks the coordinates.
					--pc.warp(math.random(892973, 899719), math.random(23256, 26044))
					pc.warp(896500, 24600)
				elseif s == 2 then
					return
				end
			elseif game.get_event_flag("oxevent_status") == 2 then
				say_title(gameforge[LC()][5097])
				say(gameforge[LC()][7585])
			else return end
		end

		when 20358.chat.gameforge[LC()][7586] with pc.get_gm_level()== 5 begin
			local stat = oxevent.get_status()

			if stat == 0 then
				say(gameforge[LC()][1006])
				local choice = select ("1> min " .. oxevent_manager.enter_level(1, 1) .. " max " .. oxevent_manager.enter_level(1, 2), "2> min " .. oxevent_manager.enter_level(2, 1) .. " max " .. oxevent_manager.enter_level(2, 2), "3> min " .. oxevent_manager.enter_level(3, 1) .. " max " .. oxevent_manager.enter_level(3, 2), "4> min " .. oxevent_manager.enter_level(4, 1) .. " max " .. oxevent_manager.enter_level(4, 2), "5> min " .. oxevent_manager.enter_level(5, 1) .. " max " .. oxevent_manager.enter_level(5, 2), gameforge[LC()][2426])
				if choice == 6 then
					return
				end

				say(gameforge[LC()][1007])
				local amount_choice = input_number(gameforge[LC()][1015])

				 if amount_choice > 200 or amount_choice <= 0 then
					say(gameforge[LC()][1016])
					return
				end

				say(gameforge[LC()][7587])
				say(gameforge[LC()][1009])
				say(gameforge[LC()][1010] .. " " .. oxevent_manager.enter_level(choice, 1) .. " - " .. oxevent_manager.enter_level(choice, 2))
				say(gameforge[LC()][1011] .. " " .. amount_choice)

				local s = select(gameforge[LC()][7588], gameforge[LC()][2426])

				if s == 1 then
					local v = oxevent.open()

					if v == 0 then
						say(gameforge[LC()][7548])
						say_reward(gameforge[LC()][7549])
					elseif v == 1 then
						say(gameforge[LC()][7550])
						notice_multiline(7551, notice_all)
						notice_multiline(7552, notice_all)
						-- set the limits we set previous asked
						game.set_event_flag("ox_map_level_min", oxevent_manager.enter_level(choice, 1))
						game.set_event_flag("ox_map_level_max", oxevent_manager.enter_level(choice, 2))
						game.set_event_flag("ox_map_player_max", amount_choice)
					else
						say(gameforge[LC()][7548])
					end
				end
			elseif stat == 1 then
				say(string.format(gameforge[LC()][7553], oxevent.get_attender()))

				local s = select(gameforge[LC()][7554], gameforge[LC()][2426])

				if s == 1 then
					oxevent.close()
					say(gameforge[LC()][7555])
				end
			elseif stat == 2 then
					say(gameforge[LC()][7556])

					local s = select(
						gameforge[LC()][7557],
						gameforge[LC()][7558],
						gameforge[LC()][7559],
						gameforge[LC()][2426]
					)

					if s == 1 then
						local v = oxevent.quiz(1, 30)

						if v == 0 then
							say(gameforge[LC()][7561])
						elseif v == 1 then
							say(gameforge[LC()][7562])
						else
							say(gameforge[LC()][7563])
						end
					elseif s == 2 then
						oxevent_manager.cleanup_event()
						say(gameforge[LC()][7564])
						notice_multiline(7565, notice_all)
						notice_multiline(7566, notice_all)
					elseif s == 3 then
						oxevent_manager.cleanup_event()
						say(gameforge[LC()][7567])
						notice_multiline(7568, notice_all)
						notice_multiline(7569, notice_all)
					end
			elseif stat == 3 then
				say(gameforge[LC()][7570])
				say_reward(gameforge[LC()][7571])
			else
				say(gameforge[LC()][7572])
			end
		end

		when 20358.chat.gameforge[LC()][7574] with pc.get_gm_level()== 5 begin
			say(gameforge[LC()][7575])

			local s = select(gameforge[LC()][7576], gameforge[LC()][2426])

			if s == 1 then
				oxevent.end_event_force()
				game.set_event_flag("ox_map_login_counter",0)
				say(gameforge[LC()][7577])
			end
		end

		when 20358.chat.gameforge[LC()][7578] with pc.get_gm_level()== 5 begin
			say(gameforge[LC()][7579])
			local item_vnum = input()
			say(gameforge[LC()][7580])
			local item_count = input()

			oxevent.give_item(item_vnum, item_count)

			say(string.format(gameforge[LC()][7581], oxevent.get_attender()))
		end
	end
end
Download(Opţional):Download(Opţional): https://mega.nz/file/woQUkRZA#UtxO2enpm ... IUBvauscfc
https://www.virustotal.com/gui/file/364 ... ?nocache=1

Sura: Server file de la host
Tutorial instalare quest:
  • Salvaţi conţinutul quest-ului într-un fişier text numit de exemplu nume_quest.quest/.lua
  • Vă conectaţi la filezilla / winscp şi întrati în /usr/home/game/share/locale/germany/quest (depinde ce server aveţi).
  • Îl puneţi acolo (să fie .quest sau .lua).
  • Vă logaţi în FreeBSD / putty şi scrieţi în felul următor: cd /usr/home/game/share/locale/germany/quest (depinde ce server aveţi) apoi ./qc nume_quest.quest/.lua
  • Intraţi pe server şi scrieţi /reload q
  • Testaţi quest-ul.
Pentru acest mesaj, BacanuAlin for the post:
MT2DevTM
Avatar utilizator
[HF]White
Metin Master

Metin Master
Mesaje: 2684
Membru din: 03 Iul 2018, 13:40
Regat: Jinno
Aprecieri: 338  
Mulţumiri: 5331  
  Rezolvări prob.: 13
Discord: Copiază ID
 Contact:
Medalii

Oh, that's nice.
Răspunde
Răspunsuri
2
Vizualizări
176
Răspunsuri
2
Vizualizări
196
Răspunsuri
1
Vizualizări
91

Înapoi la “Quest-uri”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 2 vizitatori