Advertisement
Guest User

Untitled

a guest
Apr 24th, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.30 KB | None | 0 0
  1. quest oxevent_manager begin
  2. state start begin
  3.  
  4. function cleanup_event()
  5. oxevent.end_event()
  6. game.set_event_flag("ox_map_login_counter",0)
  7. end
  8.  
  9. function check_limit()
  10. if game.get_event_flag("ox_map_login_counter") == game.get_event_flag("ox_map_player_max") then
  11. return 0
  12. else
  13. return 1
  14. end
  15. end
  16. function enter_level (vnum1,vnum2)
  17. lv_range={}
  18. lv_range[1] ={75,125}
  19. lv_range[2] ={125,150}
  20. lv_range[3] ={150,175}
  21. lv_range[4] ={175,200}
  22. lv_range[5] ={100,140}
  23. return lv_range [vnum1][vnum2]
  24. end
  25.  
  26. when login or enter begin
  27. if pc.get_map_index() == 113 then
  28. local counter = game.get_event_flag("ox_map_login_counter")
  29. game.set_event_flag("ox_map_login_counter", counter+1)
  30. end
  31. end
  32.  
  33. when logout begin
  34. if pc.get_map_index() == 113 then
  35. if is_test_server() then
  36. pc.setqf("ox_end_cooldown_time", get_time() + 0*0)
  37. else
  38. pc.setqf("ox_end_cooldown_time", get_time()+0*0) -----------------------------------15 Minuten nun
  39. end
  40. end
  41. end
  42.  
  43. when 20011.chat.gameforge[get_lang()].oxevent._10_npcChat begin
  44.  
  45. say_title(gameforge[get_lang()].main_quest_lv30._40_sayTitle)
  46. say(gameforge[get_lang()].oxevent._20_say)
  47. wait()
  48.  
  49. if game.get_event_flag("oxevent_status") == 0 then
  50. say_title(gameforge[get_lang()].main_quest_lv30._40_sayTitle)
  51. say(gameforge[get_lang()].oxevent._30_say)
  52.  
  53. elseif game.get_event_flag("oxevent_status") == 1 then
  54. say_title(gameforge[get_lang()].main_quest_lv30._40_sayTitle)
  55. say(gameforge[get_lang()].oxevent._40_say)
  56.  
  57. local s = select(gameforge[get_lang()].buy_fishrod._120_select, gameforge[get_lang()].locale.cancel)
  58.  
  59. if s == 1 then
  60. say_title(gameforge[get_lang()].main_quest_lv30._40_sayTitle)
  61. say(gameforge[get_lang()].oxevent._50_say)
  62. wait()
  63.  
  64. -- read the limits that the admin set hopefully
  65. local min = game.get_event_flag("ox_map_level_min")
  66. local max = game.get_event_flag("ox_map_level_max")
  67.  
  68. if pc.level < min or pc.level > max then
  69. say_title(gameforge[get_lang()].main_quest_lv30._40_sayTitle)
  70. say_reward(string.format(gameforge[get_lang()].entry_event_map._040_say, min, max))
  71. return
  72. end
  73.  
  74. if get_time() < pc.getqf("ox_end_cooldown_time") then
  75. say_title(gameforge[get_lang()].main_quest_lv30._40_sayTitle)
  76. say(gameforge[get_lang()].locale.monkey_dungeon.cannot_enter_yet)
  77. return
  78. end
  79.  
  80.  
  81. -- check again the limit before we warp the player, maybe someone have trigger the limit
  82. if oxevent_manager.check_limit() == 0 then
  83. say_title(gameforge[get_lang()].main_quest_lv30._40_sayTitle)
  84. say(gameforge[get_lang()].entry_event_map._060_say)
  85. return
  86. end
  87.  
  88. -- removed the random warp, cause the current binary checks the coordinates.
  89. --pc.warp(math.random(892973,899719), math.random(23256, 26044) )
  90. pc.warp(896500, 24600)
  91. elseif s == 2 then
  92. return
  93. end
  94.  
  95. elseif game.get_event_flag("oxevent_status") == 2 then
  96. say_title(gameforge[get_lang()].main_quest_lv30._40_sayTitle)
  97. say(gameforge[get_lang()].oxevent._60_say)
  98.  
  99. end
  100. end
  101.  
  102. when 20358.chat.gameforge[get_lang()].oxevent._70_npcChat with pc.is_gm() begin
  103.  
  104. local stat = oxevent.get_status()
  105.  
  106. if stat == 0 then
  107.  
  108. say(gameforge[get_lang()].entry_event_map._150_say)
  109. 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[get_lang()].locale.cancel)
  110. if choice == 6 then
  111. return
  112. end
  113.  
  114. say(gameforge[get_lang()].entry_event_map._160_say)
  115. local amount_choice = input_number(gameforge[get_lang()].entry_event_map._240_say)
  116.  
  117. if amount_choice > 200 or amount_choice <= 0 then
  118. say(gameforge[get_lang()].entry_event_map._250_say)
  119. return
  120. end
  121.  
  122. say(gameforge[get_lang()].oxevent._80_say)
  123. say(gameforge[get_lang()].entry_event_map._180_say)
  124. say(gameforge[get_lang()].entry_event_map._190_say .. " " .. oxevent_manager.enter_level(choice,1).. " - " ..oxevent_manager.enter_level(choice,2))
  125. say(gameforge[get_lang()].entry_event_map._200_say .. " " .. amount_choice)
  126.  
  127. local s = select(gameforge[get_lang()].oxevent._90_select, gameforge[get_lang()].locale.cancel)
  128.  
  129. if s == 1 then
  130. local v = oxevent.open()
  131.  
  132. if v == 0 then
  133. say(gameforge[get_lang()].oxevent._100_say)
  134. say_reward(gameforge[get_lang()].oxevent._110_sayReward)
  135.  
  136. elseif v == 1 then
  137. say(gameforge[get_lang()].oxevent._120_say)
  138. notice_multiline(gameforge[get_lang()].oxevent._130_notice_all,notice_all)
  139. notice_multiline(gameforge[get_lang()].oxevent._131_notice_all,notice_all)
  140. -- set the limits we set previous asked
  141. game.set_event_flag("ox_map_level_min",oxevent_manager.enter_level(choice,1))
  142. game.set_event_flag("ox_map_level_max",oxevent_manager.enter_level(choice,2))
  143. game.set_event_flag("ox_map_player_max",amount_choice)
  144. else
  145. say(gameforge[get_lang()].oxevent._100_say)
  146. end
  147. end
  148. elseif stat == 1 then
  149. say(string.format(gameforge[get_lang()].oxevent._140_say, oxevent.get_attender()))
  150.  
  151. local s = select(gameforge[get_lang()].oxevent._150_select, gameforge[get_lang()].locale.cancel)
  152.  
  153. if s == 1 then
  154. oxevent.close()
  155. say(gameforge[get_lang()].oxevent._160_say)
  156. end
  157. elseif stat == 2 then
  158. say(gameforge[get_lang()].oxevent._170_say)
  159.  
  160. local s = select(
  161. gameforge[get_lang()].oxevent._180_select,
  162. gameforge[get_lang()].oxevent._190_select,
  163. gameforge[get_lang()].oxevent._195_select,
  164. gameforge[get_lang()].locale.cancel
  165. )
  166.  
  167. if s == 1 then
  168. local s_level = select("Normal", "Normal", "Hard", "Risk", locale.cancel)
  169. if s_level == 5 then return end
  170.  
  171.  
  172. local v = oxevent.quiz(s_level, 30)
  173.  
  174. if v == 0 then
  175. say(gameforge[get_lang()].oxevent._200_say)
  176. elseif v == 1 then
  177. say(gameforge[get_lang()].oxevent._210_say)
  178. else
  179. say(gameforge[get_lang()].oxevent._220_say)
  180. end
  181. elseif s == 2 then
  182. oxevent_manager.cleanup_event()
  183. say(gameforge[get_lang()].oxevent._230_say)
  184. notice_multiline(gameforge[get_lang()].oxevent._240_notice_all,notice_all)
  185. notice_multiline(gameforge[get_lang()].oxevent._241_notice_all,notice_all)
  186. elseif s == 3 then
  187. oxevent_manager.cleanup_event()
  188. say(gameforge[get_lang()].oxevent._250_say)
  189. notice_multiline(gameforge[get_lang()].oxevent._260_notice_all,notice_all)
  190. notice_multiline(gameforge[get_lang()].oxevent._261_notice_all,notice_all)
  191. end
  192. elseif stat == 3 then
  193. say(gameforge[get_lang()].oxevent._270_say)
  194. say_reward(gameforge[get_lang()].oxevent._280_sayReward)
  195. else
  196. say(gameforge[get_lang()].oxevent._290_say)
  197. end
  198. end
  199.  
  200. when 20358.chat.gameforge[get_lang()].oxevent._300_npcChat with pc.is_gm() begin
  201. say(gameforge[get_lang()].oxevent._310_say)
  202.  
  203. local s = select(gameforge[get_lang()].oxevent._320_select, gameforge[get_lang()].locale.cancel)
  204.  
  205. if s == 1 then
  206. oxevent.end_event_force()
  207. game.set_event_flag("ox_map_login_counter",0)
  208. say(gameforge[get_lang()].oxevent._330_say)
  209. end
  210. end
  211.  
  212. when 20358.chat.gameforge[get_lang()].oxevent._340_npcChat with pc.is_gm() begin
  213. say(gameforge[get_lang()].oxevent._350_say)
  214. local item_vnum = input()
  215. say(gameforge[get_lang()].oxevent._360_say)
  216. local item_count = input()
  217.  
  218. oxevent.give_item(item_vnum, item_count)
  219.  
  220. say(string.format(gameforge[get_lang()].oxevent._370_say, oxevent.get_attender()))
  221. end
  222. end
  223. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement