Guest User

Untitled

a guest
Oct 22nd, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.96 KB | None | 0 0
  1. function step()
  2.    function get(x,y)
  3.       local r={}
  4.       r[0]=0
  5.       if tpt.get_property("type",x,y)==1 then
  6.          if tpt.get_property("tmp",x,y)~=1 then
  7.             r[0]=r[0]+1
  8.             r[r[0]][0]=tpt.get_property("vx",x,y)
  9.             r[r[0]][1]=tpt.get_property("vy",x,y)
  10.             tpt.set_property("tmp",1,x,y)
  11.             local l={}
  12.             l=get(x,y+1)
  13.             for i=1,l[0] do
  14.                r[0]=r[0]+1
  15.                r[r[0]][0]=l[i][0]
  16.                r[r[0]][1]=l[i][1]
  17.             end
  18.             l=get(x,y-1)
  19.             for i=1,l[0] do
  20.                r[0]=r[0]+1
  21.                r[r[0]][0]=l[i][0]
  22.                r[r[0]][1]=l[i][1]
  23.             end
  24.             l=get(x+1,y)
  25.             for i=1,l[0] do
  26.                r[0]=r[0]+1
  27.                r[r[0]][0]=l[i][0]
  28.                r[r[0]][1]=l[i][1]
  29.             end
  30.             l=get(x-1,y)
  31.             for i=1,l[0] do
  32.                r[0]=r[0]+1
  33.                r[r[0]][0]=l[i][0]
  34.                r[r[0]][1]=l[i][1]
  35.             end
  36.          end
  37.       end
  38.       return r
  39.    end
  40.  
  41.    function set(x,y,vx,vy)
  42.       if tpt.get_property("type",x,y)==1 then
  43.          if tpt.get_property("tmp",x,y)==1 then
  44.             tpt.set_property("vx",vx,x,y)
  45.             tpt.set_property("vy",vy,x,y)
  46.             tpt.set_property("tmp",0,x,y)
  47.             set(x,y,vx+1,vy)
  48.             set(x,y,vx-1,vy)
  49.             set(x,y,vx,vy+1)
  50.             set(x,y,vx,vy-1)
  51.          end
  52.       end
  53.    end
  54.  
  55.    local r=get(tpt.get_property("x",id),tpt.get_property("y",id))
  56.    local sx=0
  57.    local sy=0
  58.    for i=1,r[0] do
  59.       sx=sx+r[i][0]
  60.       sy=sy+r[i][1]
  61.    end
  62.    set(tpt.get_property("x",id),tpt.get_property("y",id),sx/r[0],sy/r[0])
  63. end
  64.  
  65. function click(x,y,b,e)
  66.    if tpt.get_property("type",x,y)==1 then
  67.       tpt.delete(x,y)
  68.       id=tpt.create(x,y,1)
  69.       tpt.message_box(id)
  70.       tpt.register_step(step)
  71.       tpt.unregister_mouseevent(click)
  72.    end
  73. end
  74.  
  75. tpt.register_mouseevent(click)
Add Comment
Please, Sign In to add comment