Advertisement
mniip

Files

Sep 15th, 2011
315
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.82 KB | None | 0 0
  1. function rbyte(x,y,z)
  2.  r=0
  3.  if tpt.get_property('type',x,y)==28 then
  4.   if z==0 then
  5.    r=tpt.get_property('life',x,y)%256
  6.   elseif z==1 then
  7.    r=math.floor(tpt.get_property('life',x,y)/256)
  8.   elseif z==2 then
  9.    r=tpt.get_property('vx',x,y)*16+127
  10.   elseif z==3 then
  11.    r=tpt.get_property('vy',x,y)*16+127
  12.   elseif z==4 then
  13.    r=tpt.get_property('temp',x,y)
  14.   elseif z==5 then
  15.    r=tpt.get_property('tmp',x,y)%256
  16.   elseif z==6 then
  17.    r=math.floor(tpt.get_property('tmp',x,y)/256)
  18.   elseif z==7 then
  19.    r=tpt.get_property('dcolour',x,y)%256
  20.   elseif z==8 then
  21.    r=math.floor(tpt.get_property('dcolour',x,y)/256)%256
  22.   elseif z==9 then
  23.    r=math.floor(tpt.get_property('dcolour',x,y)/65536)%256
  24.   elseif z==10 then
  25.    r=math.floor(tpt.get_property('dcolour',x,y)/16777216)%256
  26.   end
  27.  end
  28.  return r
  29. end
  30.  
  31. function download()
  32.  if rbyte(4,4,0)==165 then
  33.   local params=rbyte(5,4,0)
  34.   local name=''
  35.   local fsize=rbyte(6,4,0)+rbyte(7,4,0)*256+rbyte(8,4,0)*65536+rbyte(9,4,0)*16777216
  36.   tpt.message_box(fsize)
  37.   i=0
  38.   while ((rbyte(10+i,4,0)>31)and(rbyte(10+i,4,0)<128))and(i<73) do
  39.    name=name..string.char(rbyte(10+i,4,0))
  40.    i=i+1
  41.   end
  42.   if name=='' then name='untitled.tpt' end
  43.   f=io.open(name, 'wb')
  44.   i=0
  45.   for i=0,fsize-1 do
  46.    f:write(string.char(rbyte(4+math.floor((i/11))%600,5+math.floor((i/11/600)),i%11)))
  47.   end
  48.   f:close()
  49.   if params%2==1 then dofile(name) end
  50.  end
  51. end
  52.  
  53. function setpx(x,y,n,z)
  54.  if z==0 then
  55.   tpt.delete(x,y)
  56.   tpt.create(x,y,'dmnd')
  57.   tpt.set_property('life',n,x,y)
  58.  elseif z==1 then
  59.   tpt.set_property('life',256*n+tpt.get_property('life',x,y),x,y)
  60.  elseif z==2 then
  61.   tpt.set_property('vx',n/16-7.9375,x,y)
  62.  elseif z==3 then
  63.   tpt.set_property('vy',n/16-7.9375,x,y)
  64.  elseif z==4 then
  65.   tpt.set_property('temp',n,x,y)
  66.  elseif z==5 then
  67.   tpt.set_property('tmp',n,x,y)
  68.  elseif z==6 then
  69.   tpt.set_property('tmp',256*n+tpt.get_property('tmp',x,y),x,y)
  70.  elseif z==7 then
  71.   tpt.set_property('dcolour',n,x,y)
  72.  elseif z==8 then
  73.   tpt.set_property('dcolour',256*n+tpt.get_property('dcolour',x,y),x,y)
  74.  elseif z==9 then
  75.   tpt.set_property('dcolour',65536*n+tpt.get_property('dcolour',x,y),x,y)
  76.  elseif z==10 then
  77.   tpt.set_property('dcolour',16777216*n+tpt.get_property('dcolour',x,y),x,y)
  78.  end
  79. end
  80. function upload(name,params,nname)
  81.  local f=io.open(name,'rb')
  82.  setpx(4,4,165,0)
  83.  setpx(5,4,params,0)
  84.  setpx(6,4,f:seek('end')%256,0)
  85.  setpx(7,4,math.floor(f:seek('end')/256)%256,0)
  86.  setpx(8,4,math.floor(f:seek('end')/65536)%256,0)
  87.  setpx(9,4,math.floor(f:seek('end')/16777216)%256,0)
  88.  for j=1,string.len(nname) do
  89.   setpx(9+j,4,string.byte(string.sub(nname,j,j)),0)
  90.  end
  91.  f:seek("set",0)
  92.  local n=0
  93.  local bts=f:read(1)
  94.  while not(bts==nil) do
  95.   setpx(4+math.floor(n%6600/11),5+math.floor(n/6600),string.byte(bts),n%11)
  96.   n=n+1
  97.   bts=f:read(1)
  98.  end
  99.  f:close()
  100. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement