Advertisement
Luzzo

Ampolla Exp

Jan 15th, 2015
839
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.93 KB | None | 0 0
  1. --**Quest by Luzzo
  2. --**Data: 15/01/2015
  3.  
  4.  
  5. quest ampolla begin
  6.     state start begin
  7.    
  8.         function get_range()
  9.             if item.get_socket(0) >= 2000000000 then
  10.                 return 10
  11.             elseif item.get_socket(0) >= 1500000000 then
  12.                 return 9
  13.             elseif item.get_socket(0) >= 500000000 then
  14.                 return 8
  15.             elseif item.get_socket(0) >= 250000000 then
  16.                 return 7
  17.             elseif item.get_socket(0) >= 50000000 then
  18.                 return 6
  19.             elseif item.get_socket(0) >= 7500000 then
  20.                 return 5
  21.             elseif item.get_socket(0) >= 500000 then
  22.                 return 4
  23.             elseif item.get_socket(0) >= 250000 then
  24.                 return 3
  25.             elseif item.get_socket(0) >= 30000 then
  26.                 return 2
  27.             end        
  28.             return 1
  29.         end
  30.        
  31.         function get_level()
  32.             local level_a = { 5,10,20,30,40,50,60,70,80,90}
  33.             return level_a[ampolla.get_range()]
  34.            
  35.         end
  36.         function GetScriptData(data)
  37.             local bank_data = {['exp_limit'] = math.floor(pc.get_next_exp()*0.80),                  -- limite di exp depositabile e ritirabile. 80% del livello                          
  38.                               ['min_lev'] = ampolla.get_level() }                   -- livello minimo per usare la banca,
  39.                              
  40.             return rawget(bank_data, data)     
  41.         end
  42.         function exp___operation(operation)
  43.             if operation == 1 then
  44.                 say("Quanta exp vuoi depositare?")
  45.                 say_reward("Limite depositabile:"..ampolla.GetScriptData('exp_limit'))
  46.                 say_reward("Exp pg:"..pc.get_next_exp())
  47.                 local exp__ = tonumber(input())
  48.                 if exp__ == nil then
  49.                     syschat("Hai inserito un valore non valido")
  50.                     return
  51.                 end
  52.                 if exp__ > 0 and exp__ < 2000000000 and pc.get_exp() >= exp__ and item.get_socket(0)+exp__ <=  2000000000  then
  53.                     pc.give_exp2(-exp__)
  54.                     item.set_socket(0, item.get_socket(0)+exp__)
  55.                     item.set_socket(1, ampolla.get_level())
  56.                     syschat("Hai depositato "..exp__.." exp.")
  57.                 else
  58.                     syschat("Hai inserito un valore non valido")
  59.                 end
  60.             elseif operation == 2 then
  61.                 say("Quanta exp vuoi ricevere?")
  62.                 say_reward("Limite exp ritirabile:"..ampolla.GetScriptData('exp_limit'))
  63.                 say_reward("Exp nell'ampolla:"..item.get_socket(1))
  64.                 local exp__ = tonumber(input())
  65.                 if exp__ == nil then
  66.                     syschat("Hai inserito un valore non valido")
  67.                     return
  68.                 end
  69.                 if pc.get_level() < ampolla.get_level() then
  70.                     syschat("Questa ampolla non e' per il tuo livello")
  71.                     return
  72.                 end
  73.                 if exp__ > 0 and item.get_socket(0) >= exp__ and exp__ <= ampolla.GetScriptData('exp_limit') then
  74.                     pc.give_exp2(exp__)
  75.                     item.set_socket(0, item.get_socket(0)-exp__)
  76.                     item.set_socket(1, ampolla.get_level())
  77.                     syschat("Hai preso "..exp__.." exp.")
  78.                 else
  79.                     syschat("Hai inserito un valore non valido")
  80.                 end
  81.             elseif operation == 3 then
  82.                 say("Perderai tutta l'exp sull'ampolla.")
  83.                 say_reward("Sei sicuro?")
  84.                 local conf_deleting = select("Si,Elimina","No,ci penso")
  85.                 if conf_deleting == 1 then
  86.                     item.remove()
  87.                 end
  88.             end
  89.         end
  90.                      
  91.        when 50512.use with pc.get_level() >= ampolla.get_level() begin
  92.             say_title("Ampolla Exp")
  93.             say("Ciao "..pc.get_name().." come posso aiutarti?")
  94.             local selection = {"Deposita Exp","Ritira Exp","Elimina Ampolla","Esci"}
  95.             local choice = select_table(selection)
  96.             if choice != table.getn(selection) then
  97.                 say_title("Anpolla Exp")
  98.                 say("Mode:"..selection[choice])
  99.                 ampolla.exp___operation(choice)
  100.             else
  101.                 return
  102.             end
  103.         end
  104.     end
  105. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement