Advertisement
Guest User

Untitled

a guest
May 17th, 2017
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.16 KB | None | 0 0
  1. require "scripts/perlin"
  2.  
  3. t=perlinGenerator:new();
  4. t:generateLookup(3);
  5. n=0
  6. m=0
  7. zoom=120;
  8. tpt.set_pause(1);
  9. oct=15
  10. res=.5
  11. function elemPick(x)
  12.     elem=0
  13.     if(x>0.71)then
  14.         elem=tpt.element("SNOW")
  15.     elseif(x>0.67)then
  16.         elem=tpt.element("STNE")
  17.     elseif(x>0.57)then
  18.         elem=tpt.element("PLNT")
  19.     elseif(x>0.55)then
  20.         elem=tpt.element("SAND")
  21.     else
  22.         elem=tpt.element("WATR")
  23.     end
  24.     return(elem)
  25. end
  26.  
  27. function river(x,y)
  28.     posx=x;
  29.     posy=y;
  30.     for i=0,200 do
  31.         val=t:perlinOctave(posx/zoom,posy/zoom,oct,res);
  32.         print(val,posx,posy)
  33.         repeat
  34.             posxn=posx+math.floor(math.random(-1,2))
  35.             posyn=posy+math.floor(math.random(-1,2))
  36.             nval=0.0;
  37.             nval=t:perlinOctave(posxn/zoom,posyn/zoom,oct,res)
  38.         until(nval<=val)
  39.         sim.createLine(posx,posy,posxn,posyn,0,0,tpt.element("WATR"),0,1,1);
  40.         posx=posxn;
  41.         posy=posyn;
  42.     end
  43. end
  44.  
  45. while(n<382)do
  46.     while(m<611)do     
  47.         x=m/zoom;
  48.         y=n/zoom;
  49.         num=(t:perlinOctave(x,y,oct,res)+1)/2;
  50.         if(num>0)then
  51.            
  52.             index=tpt.create(m,n,elemPick(num));
  53.             --sim.partProperty(index,"dcolour",RGBToCol(num,num,num))
  54.             sim.decoBox(m,n,m,n,num*255,num*255,num*255);
  55.         end
  56.         m=m+1;
  57.     end
  58.     n=n+1;
  59.     m=0;
  60. end
  61. n=0;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement