Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- br=10
- delay=0.15
- rand=true
- ptgOffset={}
- ptgOffset[0]=1
- ptgOffset[1]=2
- ptgOffset[2]=3
- ptgOffset[3]=4
- args={...}
- function loadFile(filename)
- fp=fs.open(filename,"r")
- lines={}
- i=1
- lines[i]=fp.readLine()
- while lines[i]~=nil do
- i=i+1
- lines[i]=fp.readLine()
- end
- return lines
- end
- function split (inputstr, sep)
- if sep == nil then
- sep = "%s"
- end
- local t={}
- for str in string.gmatch(inputstr, "([^"..sep.."]+)") do
- table.insert(t, str)
- end
- return t
- end
- function compileObj(lines)
- v = {}
- vt = {}
- vn = {}
- f = {}
- l = {}
- print(#lines)
- for i=5, #lines do
- if string.sub(lines[i],1,2)=="v " then
- table.insert(v,split(lines[i]))
- end
- if string.sub(lines[i],1,2)=="vt" then
- table.insert(vt,split(lines[i]))
- end
- if string.sub(lines[i],1,2)=="vn" then
- table.insert(vn,split(lines[i]))
- end
- if string.sub(lines[i],1,2)=="f " then
- table.insert(f,split(lines[i]))
- end
- if string.sub(lines[i],1,2)=="l " then
- table.insert(l,split(lines[i]))
- end
- end
- end
- compileObj(loadFile(args[1]))
- function wrapPs(peripheralName)
- periTab = {}
- sideTab = {}
- if peripheralName == nil then
- print("Fehler")
- end
- local peripherals = peripheral.getNames()
- local i2 = 1
- for i = 1, #peripherals do
- if peripheral.getType(peripherals[i]) == peripheralName then
- periTab[i2] = peripheral.wrap(peripherals[i])
- sideTab[i2] = peripherals[i]
- i2 = i2 + 1
- end
- end
- if periTab ~= {} then
- return periTab, sideTab
- else
- return nil
- end
- function getPSide(peripheralName)
- if peripheralName == nil then
- print("Fehler")
- end
- local peripherals = peripheral.getNames()
- local i = 1
- while i < #peripherals and peripheral.getType(peripherals[i]) ~= peripheralName do
- i = i + 1
- end
- if peripheral.getType(peripherals[i]) == peripheralName then
- return peripherals[i]
- else
- return nil
- end
- end
- end
- pgs,pgss=wrapPs("particle_generator")
- for i=1,#pgs do
- pgs[i].setGeneratorProperty("spawn_y",30)
- pgs[i].setGeneratorProperty("scale",0.5)
- pgs[i].setGeneratorProperty("motion_y",0)
- pgs[i].setGeneratorProperty("life",1000)
- pgs[i].setGeneratorProperty("collide",true)
- pgs[i].setGeneratorProperty("selected_particle",1)
- pgs[i].setGeneratorProperty("red",50)
- pgs[i].setGeneratorProperty("green",255)
- pgs[i].setGeneratorProperty("blue",200)
- end
- y=1
- line=1
- pgn=1
- if rand==false then
- for i=1,#v do
- if pgn>#pgs then
- pgn=1
- end
- pgs[pgn].setGeneratorProperty("spawn_x",tonumber(v[i][2])*br)
- pgs[pgn].setGeneratorProperty("spawn_y",tonumber(v[i][3])*br+ptgOffset[tonumber(string.sub(pgss[pgn],20))])
- pgs[pgn].setGeneratorProperty("spawn_z",tonumber(v[i][4])*br)
- pgn=pgn+1
- sleep(delay)
- end
- else
- while true do
- i=math.random(1,#v)
- if pgn>#pgs then
- pgn=1
- end
- pgs[pgn].setGeneratorProperty("spawn_x",tonumber(v[i][2])*br)
- pgs[pgn].setGeneratorProperty("spawn_y",tonumber(v[i][3])*br+ptgOffset[tonumber(string.sub(pgss[pgn],20))])
- pgs[pgn].setGeneratorProperty("spawn_z",tonumber(v[i][4])*br)
- pgn=pgn+1
- sleep(delay)
- end
- end
- for i=1,#pgs do
- pgs[i].setGeneratorProperty("motion_y",0)
- pgs[i].setGeneratorProperty("life",0)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement