Advertisement
Guest User

arena_manager.quest

a guest
Jun 14th, 2015
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 10.44 KB | None | 0 0
  1. quest arena_manager begin
  2.         state start begin
  3.                 when 20017.chat."Combate de Treino" begin
  4.                         if game.get_event_flag("arena_close") > 0 then
  5.                                 say_title("Yu-Hwan:")
  6.                                 say("")
  7.                                 ----"12345678901234567890123456789012345678901234567890"|
  8.                                 say("A arena foi destruída devido a uma")
  9.                                 say("terrível batalha.")
  10.                                 say("")
  11.                                 return
  12.                         end
  13.  
  14.                         if not npc.lock() then
  15.                                 say_title("Yu-Hwan:")
  16.                                 say("")
  17.                                 ----"12345678901234567890123456789012345678901234567890"|
  18.                                 say("Alguém se inscreveu para o combate de treino.")
  19.                                 say("")
  20.                                 say("")
  21.                                 return
  22.                         end
  23.  
  24.                         local useMinLevel = game.get_event_flag("arena_use_min_level")
  25.  
  26.                         if useMinLevel == 0 then
  27.                                 useMinLevel = 25 ;
  28.                         end
  29.  
  30.                         if pc.get_level() < useMinLevel then
  31.                                 say_title("Yuhwan:")
  32.                                 say("")
  33.                                 ----"12345678901234567890123456789012345678901234567890"|
  34.                                 say("Ainda não és do nível "..useMinLevel..";")
  35.                                 say("não podes entrar num combate ")
  36.                                 say("")
  37.                                 npc.unlock()
  38.                                 return
  39.                         else
  40.                                 say_title("Yuhwan:")
  41.                                 say("")
  42.                                 ----"12345678901234567890123456789012345678901234567890"|
  43.                                 say("Por favor, escolhe o nome do teu adversário ")
  44.                 say("para o combate de treino.")
  45.                                 say("")
  46.                                 say("")
  47.  
  48.                                 local sname = input()
  49.  
  50.                                 if sname == "" then
  51.                                 say_title("Yu-Hwan:")
  52.                                 say("")
  53.                                 ----"12345678901234567890123456789012345678901234567890"|
  54.                                 say("Não sabes com quem queres lutar?")
  55.                                 say("")
  56.                                         npc.unlock()
  57.                                         return
  58.                                 else
  59.                                 say_title("Yu-Hwan:")
  60.                                 say("")
  61.                                 ----"12345678901234567890123456789012345678901234567890"|
  62.                                 say(pc.name.." pediu um combate de treino")
  63.                                 say("com "..sname..".")
  64.                                 wait("")
  65.  
  66.                                         local opp_vid = find_pc_by_name(sname)
  67.  
  68.                                         if opp_vid == 0 then
  69.                                 say_title("Yu-Hwan:")
  70.                                 say("")
  71.                                 ----"12345678901234567890123456789012345678901234567890"|
  72.                                 say(sname.." não está disponível.")
  73.                                 say("")
  74.                                                 npc.unlock()
  75.                                                 return
  76.                                         elseif opp_vid == pc.get_vid() then
  77.                                 say_title("Yu-Hwan:")
  78.                                 say("")
  79.                                 ----"12345678901234567890123456789012345678901234567890"|
  80.                                 say("Tens a certeza, queres lutar contigo?")
  81.                                 say("")
  82.                                 say("")
  83.                                                 npc.unlock()
  84.                                                 return
  85.                                         end
  86.  
  87.                                         local old = pc.select(opp_vid)
  88.                                         local opp_level = pc.get_level()
  89.                                         pc.select(old)
  90.  
  91.                                         if opp_level < useMinLevel then
  92.                                 say_title("Yuhwan:")
  93.                                 say("")
  94.                                 ----"12345678901234567890123456789012345678901234567890"|
  95.                                 say("O nível do teu adversário é menor que "..useMinLevel..".")
  96.                                 say("")
  97.                                                 npc.unlock()
  98.                                                 return
  99.                                         end
  100.                                         if not npc.is_near_vid(opp_vid, 10) then
  101.                                 say_title("Yuhwan:")
  102.                                 say("")
  103.                                 ----"12345678901234567890123456789012345678901234567890"|
  104.                                 say("Para começar o combate ")
  105.                                 say(sname.." tem de se aproximar.")
  106.                                 say("")
  107.                                                 npc.unlock()
  108.                                                 return ;
  109.                                         end
  110.  
  111.                                         local a = arena.is_in_arena(opp_vid)
  112.                                         if a == 0 then
  113.                                 say_title("Yuhwan:")
  114.                                 say("")
  115.                                 ----"12345678901234567890123456789012345678901234567890"|
  116.                                 say(sname.." está neste momento em um combate.")
  117.                                 say("")
  118.                                                 npc.unlock()
  119.                                                 return ;
  120.                                         end
  121.                                 say_title("Decisão")
  122.                                 say("")
  123.                                 say(pc.name.." aguarda "..sname.." para")
  124.                                 say("aceitar o combate.")
  125.                                         local agree = confirm(opp_vid, sname.." queres combater com "..pc.name.."", 30)
  126.                                         if agree!= CONFIRM_OK then
  127.                                 say_title("Yuhwan:")
  128.                                 say("")
  129.                                 ----"12345678901234567890123456789012345678901234567890"|
  130.                                 say(sname.." não quer lutar contigo.")
  131.                                 say("")
  132.                                                 npc.unlock()
  133.                                                 return
  134.                                         end
  135.  
  136.                                         s = arena.start_duel(sname, 3)
  137.  
  138.                                         if s == 0 then
  139.                                 say_title("Yu-Hwan:")
  140.                                 say("")
  141.                                 ----"12345678901234567890123456789012345678901234567890"|
  142.                                 say("Houve um problema.")
  143.                                 say("Queres combater mais tarde?")
  144.                                 say("")
  145.                                         elseif s == 2 then
  146.                                 say_title("Yu-Hwan:")
  147.                                 say("")
  148.                                 ----"12345678901234567890123456789012345678901234567890"|
  149.                                 say("As arenas estão cheias, volta mais tarde.")
  150.                                 say("")
  151.                                         elseif s == 3 then
  152.                                 say_title("Yu-Hwan:")
  153.                                 say("")
  154.                                 ----"12345678901234567890123456789012345678901234567890"|
  155.                                 say("A Arena de Duelos está neste momento em uso.")
  156.                                 say("Tenta novamente mais tarde.")
  157.                                 say("")
  158.                                         end
  159.                                 end
  160.                         end
  161.                         npc.unlock()
  162.                 end
  163.  
  164.                 when 20017.chat."Ver um combate de treino" begin
  165.                         local g = arena.get_duel_list()
  166.                         local arena_name = {}
  167.                         local arena_observer = {}
  168.  
  169.                         table.foreachi(g,
  170.                                 function(n, p)
  171.                                         arena_name[n] = p[1].." contra "..p[2]
  172.                                         arena_observer[n] = { p[3], p[4], p[5] }
  173.                                 end
  174.                         )
  175.  
  176.                         table.insert(arena_name, "Fechar")
  177.                         table.insert(arena_observer, 0)
  178.  
  179.                         local count = table.getn(g)
  180.                         if count == 0 then
  181.                         say_title("Yu-Hwan:")
  182.                         say("")
  183.                         ----"12345678901234567890123456789012345678901234567890"|
  184.                         say("Não há neste momento nenhum combate.")
  185.                         say("")
  186.                         return ;
  187.                         else
  188.                         say_title("Yu-Hwan:")
  189.                         say("")
  190.                         ----"12345678901234567890123456789012345678901234567890"|
  191.                         say("Neste momento há "..count.." combates de treino.")
  192.                         say("")
  193.                         wait()
  194.                         end
  195.  
  196.                         if table.getn(g)!= 0 then
  197.                                 local s = select_table(arena_name)
  198.  
  199.                                 if table.getn(arena_observer) == s then
  200.                                         return ;
  201.                                 end
  202.  
  203.                                 if table.getn(arena_observer) >= s then
  204.                                         arena.add_observer(arena_observer[s][1], arena_observer[s][2], arena_observer[s][3])
  205.                                 end
  206.                         end
  207.                 end
  208.         end
  209. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement