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


