Advertisement
Guest User

Missione giornaliera over100

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