Advertisement
Guest User

Untitled

a guest
Dec 12th, 2012
485
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.82 KB | None | 0 0
  1. local util = {}
  2.  
  3. function util.strsplit(delimiter, text)
  4.     local list = {}
  5.     local pos = 1
  6.     while true do
  7.         local first, last = text:find(delimiter, pos)
  8.         if first then -- found?
  9.             table.insert(list, text:sub(pos, first-1))
  10.             pos = last+1
  11.         else
  12.             table.insert(list, text:sub(pos))
  13.             break
  14.         end
  15.     end
  16.     return list
  17. end
  18.  
  19. function util.commavalue(n)
  20.     local left,num,right = string.match(n,'^([^%d]*%d)(%d*)(.-)$')
  21.     return left..(num:reverse():gsub('(%d%d%d)','%1,'):reverse())..right
  22. end
  23.  
  24. function util.round (number, precision)
  25.     precision = precision or 0
  26.  
  27.     local decimal = string.find(tostring(number), ".", nil, true);
  28.    
  29.     if ( decimal ) then
  30.         local power = 10 ^ precision;
  31.        
  32.         if ( number >= 0 ) then
  33.             number = math.floor(number * power + 0.5) / power;
  34.         else
  35.             number = math.ceil(number * power - 0.5) / power;      
  36.         end
  37.        
  38.         -- convert number to string for formatting
  39.         number = tostring(number);          
  40.        
  41.         -- set cutoff
  42.         local cutoff = number:sub(decimal + 1 + precision);
  43.            
  44.         -- delete everything after the cutoff
  45.         number = number:gsub(cutoff, "");
  46.     else
  47.         -- number is an integer
  48.         if ( precision > 0 ) then
  49.             number = tostring(number);
  50.            
  51.             number = number .. ".";
  52.            
  53.             for i = 1,precision
  54.             do
  55.                 number = number .. "0";
  56.             end
  57.         end
  58.     end    
  59.     return number;
  60. end
  61.  
  62. function util.inBounds(volume, x, y, z)
  63.     return (x <= volume.xEnd and x >= volume.xStart and y <= volume.yEnd and y >= volume.yStart and z <= volume.zEnd and z >= volume.zStart)
  64. end
  65.  
  66. return util
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement