Advertisement
Guest User

Missione giornaliera over 100 v3.0

a guest
Apr 1st, 2014
321
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.02 KB | None | 0 0
  1. quest missione_giornaliera_over100 begin
  2.     state start begin
  3.         when login or levelup with pc.get_level() >=100 begin
  4.             if get_global_time()> pc.getqf(tempo)
  5.                 set_state(info)
  6.             end
  7.         end
  8.     end
  9.    
  10.     state info begin -- informazioni sulla missione
  11.         when letter begin
  12.             send_letter("Missione giornaliera")
  13.         end -- lettera inviata
  14.  
  15.         when button or info begin -- se non ha ancora scelto la missione
  16.             say_title("Missione giornaliera")
  17.             say("Salve, " .. pc.get_name() .. ".")
  18.             say("Puoi scegliere la strada facile,")
  19.             say("ma con un bottino peggiore")
  20.             say("o la strada difficile,")
  21.             say("con un bottino migliore.")
  22.             say("")
  23.             local risp = select("Facile","Difficile", "Annulla")
  24.             if risp==3 then -- Annulla
  25.                 return
  26.             elseif risp == 1 -- Facile
  27.                 pc.setqf("dif",0)
  28.                 set_state(running)
  29.             else -- Difficile
  30.                 pc.setqf("dif",1)
  31.                 set_state(running)
  32.             end
  33.         end -- fine when
  34.     end -- fine INFO
  35.  
  36.     state running begin -- quest in corso, dopo che ha scelto la difficolta'
  37.        
  38.         pc.setqf("fatto",0)
  39.        
  40.         if pc.getqf(dif)==0 then
  41.             pc.setqf("mob_da_uccidere",math.random(2411, 2414)) -- scelgo a random tra questi mob
  42.             local qta = {
  43.                             100, 125, 150, 175, 200,
  44.                             225, 250, 275, 300
  45.                         }
  46.             pc.setqf("qta_da_uccidere",qta[math.random(1, 9)])
  47.             pc.setqf("ricompensa",50000 * (pc.getqf(qta_da_uccidere))) -- da 50k yang moltiplicato per la qta di mob da uccidere max=15kk
  48.         else
  49.             local vmob = {
  50.                             1093, 1191, 1901, 2092, 2191, 2491, 2492, 2493
  51.                          }
  52.             pc.setqf("mob_da_uccidere",(vmob[math.random(1, 8)]) -- scelgo a random tra questi mob
  53.             pc.setqf("qta_da_uccidere",(math.random(1, 10)))
  54.             pc.setqf("ricompensa",3000000 * (pc.getqf(qta_da_uccidere))) -- da 3kk exp moltiplicato per la qta di mob da uccidere max=30kk
  55.         end
  56.  
  57.         when letter begin
  58.             if pc.getqf(dif) == 0
  59.                 send_letter("Missione giornaliera facile")
  60.             else
  61.                 send_letter("Missione giornaliera difficile")
  62.             end
  63.         end
  64.  
  65.         when button or info begin -- informazioni sulla quest
  66.             if pc.getqf(fatto) == 0 then -- se non l'ha ancora completata
  67.                 if pc.getqf(dif) == 0 then -- se ha scelto facile
  68.                     say_title("Missione giornaliera facile")
  69.                 else
  70.                     say_title("Missione giornaliera difficile")
  71.                 end
  72.                 say("Vedo che hai scelto la via facile!")
  73.                 say("Bè sappi che nonostante i mob deboli")
  74.                 say("dovrai ucciderne un bel pò.")
  75.                 say("")
  76.                 say_reward("Devi uccidere: " .. qta_da_uccidere .. mob_name(pc.getqf(mob_da_uccidere)))
  77.                 if pc.getqf(dif) == 0 then -- se ha scelto facile da yang, altrimenti exp
  78.                     say_reward("In cambio otterrai: " .. pc.getqf(ricompensa) .. " yang")
  79.                 else
  80.                     say_reward("In cambio otterrai: " .. pc.getqf(ricompensa) .. " punti esperienza")
  81.                 end
  82.             else -- se l'ha completata
  83.                 say_title("Ricompensa missione giornaliera")
  84.                 say("Complimenti " ..pc.get_name() .. " !!")
  85.                 say("Ti sei guadagnato una bella ricompensa..")
  86.                 say("Ora te la consegno.")
  87.                 wait()
  88.                 if pc.getqf(dif)==0 then
  89.                     say_reward("Hai ricevuto: " .. pc.getqf(ricompensa) .. " yang")
  90.                     pc.changegold(pc.getqf(ricompensa)) -- consegno tot yang
  91.                 else
  92.                     say_reward("Hai ricevuto: " .. pc.getqf(ricompensa) .. " punti esperienza")
  93.                     pc.give_exp2(pc.getqf(ricompensa)) -- consegno tot exp
  94.                 end
  95.                 -- timer per poterla ripetere solo tra 24 ore
  96.                 pc.setqf("tempo", get_global_time()+86400)
  97.                 -- tolgo tutti i qf tranne il tempo
  98.                 pc.delqf(mob_da_uccidere)
  99.                 pc.delqf(ricompensa)
  100.                 pc.delqf(qta_da_uccidere)
  101.                 pc.delqf(dif)
  102.                 pc.delqf(fatto)
  103.                 set_state(__COMPLETE__)
  104.             end
  105.         end
  106.  
  107.         when pc.getqf(mob_da_uccidere).kill begin -- quando uccide un mob
  108.             pc.setqf("qta_da_uccidere",(pc.getqf(qta_da_uccidere))-1) -- decremento il numero di mostri da uccidere
  109.             if pc.getqf(qta_da_uccidere) == 0 then
  110.                 pc.setqf("fatto",1)
  111.                 send_letter("Ricompensa missione giornaliera")
  112.             end
  113.         end
  114.     end -- fine running
  115.  
  116.     state __COMPLETE__ begin
  117.         when enter begin
  118.             q.done()
  119.         end
  120.     end -- fine __COMPLETE__
  121. end -- fine QUEST
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement