Been busy with school related stuff (and Mass Effect 3), I'm going to make a turtle factory tutorial and update my world eater project once MC stops updating every week (I downloaded around 34 things for 1.2.3 a day before 1.2.4 released ...).
However, I did make a television (96 pixels with 7 colours) that uses Redpower 2, the lasermod, and of course CC.
Unfortunately it lagged so badly it started bugging while only a third of the pixels active, the two blue ones on the left shouldn't even be lit. Maybe I shouldn't have done one computer per pixel after all. />
Noob question: all those logic functions can be "emulated" inside a computer? saving tons of lag?
I really will like a complete video for a Pale rust factory (aka World eater project), is theorically can be building from one turtle with the basic machines or just the code and 1 turtle (ton of coding and that will need to much time for store the basic materials for make replications from zero)
Noob question: all those logic functions can be "emulated" inside a computer? saving tons of lag?
Now that you mention that, I derped there. I recently was watching one of Direwolf20's videos and saw that setup and thought it would be awesome to make a tv. But a single computer instead of 7*3 logic blocks controlled by a computer would work too. It would also make it a lot easier to have more pixels per computer, further reducing lag.
Oh well, at least a huge thing looks more impressive /> and I learned how to use MCedit.
Dreamlash, on 24 March 2012 - 11:32 PM, said:
I really will like a complete video for a Pale rust factory (aka World eater project), is theorically can be building from one turtle with the basic machines or just the code and 1 turtle (ton of coding and that will need to much time for store the basic materials for make replications from zero)
I think the turtle's block placing isn't advanced enough to make factories. At least it wouldn't be easy. Not sure how project tables would be handled. Except maybe if someone made a peripheral that allows a computer to craft without any direct player interference.
The huge machine is still good for a electronic engineer (irl) as practice, but just in a flat world. Less lag help you make more pixels in your screen maybe. (time someone make a video clip ? )
The crafting table can be do for anyone, here in CC are plenty of skilled coders, the hard part is make it user friendly, so not just a coder will enjoy the software.
I still failing trying to make a rednet/skynet, that will remove the need of use wireless redstone (appears like nothings happening, nil ?, so that means the mess I been doing >.<
Oh also you can add a Soprano Noteblock (Supernoteblock) as a speaker for custom Disk music 8bits, oh I remember those 8bit voice samplings.
You have a lot of work for make the first complete TV.
I monitoring this thread for PWE and for Skynet advances.
I still failing trying to make a rednet/skynet, that will remove the need of use wireless redstone (appears like nothings happening, nil ?, so that means the mess I been doing >.<
A television in Minecraft, using Redpower 2, Computercraft and of course the Laser mod. It has 15*10 7 colour pixels, controlled by 6 computers. Another main computer is needed to send the image codes via rednet. That computer also has an image creation program, allowing images to easily be made with arrow and number keys in a special UI, unfortunately it can't load images yet. The images are saved as 450 byte binary files, each segment of 75 0/1's has another 5 segments with a length of 15 (one per row), which got the RGB on/off states for each pixel.
A big chunk of 1's means a white area, since white is 111 (red on, green on and blue on).
The Code:
Pixelcontroler: Each one gets an unique ID from 1-6. The bottom ones get an uneven number and the top ones an even one. From right to left it goes 1/2 - 3/4 - 5/6.
Spoiler
TVCID = 1
rednet.open("front")
side = {"top", "right", "back", "left", "bottom"}
function receivecode()
while true do
event, id, message = os.pullEvent()
if event == "rednet_message" then
if string.sub(message,1,4) == "[TV]"
then
message = string.sub(message,5)
break
end
end
end
end
function filtercode()
filteredcode = string.sub(message, 1+(TVCID-1)*75, TVCID*75)
rowsegment = {}
for n=1, 5 do
rowsegment[n] = string.sub(filteredcode,1,15)
filteredcode = string.sub(filteredcode,16)
end
end
function filtersegment(rowsegment)
pixelsegment = {}
for n=1,5 do
pixelsegment[n] = string.sub(rowsegment,1,3)
rowsegment = string.sub(rowsegment,4)
end
end
function readrow(row)
filtersegment(row)
red = {}
green = {}
blue = {}
for n=1, 5 do
red[n] = tonumber(string.sub(pixelsegment[n],1,1))
green[n] = tonumber(string.sub(pixelsegment[n],2,2))
blue[n] = tonumber(string.sub(pixelsegment[n],3,3))
end
outputnumber = 0
for n=1, 5 do
outputnumber = outputnumber + red[n]*2^(3*(n-1)) + green[n]*2^(3*(n-1)+1) + blue[n]*2^(3*(n-1)+2)
end
end
function readcode()
for rownumber=1, 5 do
readrow(rowsegment[rownumber])
rs.setBundledOutput(side[rownumber], outputnumber)
end
end
while true do
receivecode()
filtercode()
readcode()
end
showimage:
Used by typing "showimage <imagename>" like "image smily".
Spoiler
rednet.open("back")
tArgs = {...}
imagename = tArgs[1]
function getimagecode()
file = io.open(imagename, "r")
if file then
imagecode = file:read()
file:close()
else print("Select a valid image") end
end
function sendimagecode()
rednet.broadcast("[TV]"..imagecode)
end
getimagecode()
sendimagecode()
Createimage
To use you have to run it and first type an image name, it will be saved as this. Use the arrow keys to move the selected pixel (shown by the *'s on the borders of the image 'preview') and a number between 0-6 to change the colour. Press S and type yes to save, and Q to quit.
Spoiler
function ini()
term.clear()
term.setCursorPos(1,1)
print("imagename:")
imagename = read()
curselpxlX = 1
curselpxlY = 1
end
function convbintonum(bin)
if bin == "111" then num = 0
elseif bin == "100" then num = 1
elseif bin == "010" then num = 2
elseif bin == "001" then num = 3
elseif bin == "110" then num = 4
elseif bin == "011" then num = 5
elseif bin == "101" then num = 6
end
return num
end
function loadimage()
file = io.open(imagename, "r")
imagecodestring = file:read()
file:close()
end
function convnumtobinstring(num)
if num == 0 then bin = "111"
elseif num == 1 then bin = "100"
elseif num == 2 then bin = "010"
elseif num == 3 then bin = "001"
elseif num == 4 then bin = "110"
elseif num == 5 then bin = "011"
elseif num == 6 then bin = "101"
end
return bin
end
function getimagecode()
imagecodestring = ""
for n=1, 6 do
if n == 1 or n == 2 then startx = 3 elseif n == 3 or n == 4 then startx = 2 else startx = 1 end
if n == 1 or n == 3 or n == 5 then starty = 6 else starty = 1 end
for p=0, 4 do
for q=0, 4 do
imagecodestring = imagecodestring..convnumtobinstring(image[startx+3*q][starty+p])
end
end
end
return imagecodestring
end
function printfield()
term.setCursorPos(1,1)
term.clearLine()
print(imagename)
term.clearLine()
write("+")
write(string.rep("-", 15))
print("+")
for i=1, 10 do
term.clearLine()
write("|")
for j=1, 15 do
write(image[j][i])
end
write("|")
print()
end
term.clearLine()
write("+")
write(string.rep("-", 15))
print("+")
print("Move around with the arrow keys, change colour by pressing 0-6.")
print("0: white 1: red 2: green 3: blue 4: yellow 5: cyan 6: purple")
end
function newimage()
image = {}
for j=1, 15 do
image[j] = {}
for i=1, 10 do
image[j][i] = 0
end
end
end
function showselectedpixel()
term.setCursorPos(curselpxlX+1, 2)
write("*")
term.setCursorPos(curselpxlX+1, 13)
write("*")
term.setCursorPos(1, curselpxlY+2)
write("*")
term.setCursorPos(17, curselpxlY+2)
write("*")
end
function move()
if key == 200 then
if curselpxlY > 1 then curselpxlY = curselpxlY - 1 end
elseif key == 208 then
if curselpxlY < 10 then curselpxlY = curselpxlY + 1 end
elseif key == 203 then
if curselpxlX > 1 then curselpxlX = curselpxlX - 1 end
elseif key == 205 then
if curselpxlX < 15 then curselpxlX = curselpxlX + 1 end
end
end
function quit()
term.setCursorPos(1,13)
term.clearLine()
term.setCursorPos(1,15)
term.clearLine()
term.setCursorPos(1,16)
term.clearLine()
term.setCursorPos(1,17)
term.clearLine()
term.setCursorPos(1,14)
term.clearLine()
print("Do you want to quit?")
answer = read()
if answer == "yes" then
print("Ending...")
sleep(1)
term.clear()
term.setCursorPos(1,1)
end
end
function save()
term.setCursorPos(1,13)
term.clearLine()
term.setCursorPos(1,15)
term.clearLine()
term.setCursorPos(1,16)
term.clearLine()
term.setCursorPos(1,17)
term.clearLine()
term.setCursorPos(1,14)
term.clearLine()
print("Do you want to save?")
answer = read()
if answer == "yes" then
file = io.open(imagename, "w")
file:write(getimagecode())
file:close()
end
end
function moveandedit()
while true do
event, arg = os.pullEvent()
if event == "key"
then
key = arg
if key == 200 or key == 203 or key == 205 or key == 208 then
move()
end
elseif event == "char"
then
char = arg
if char == "0" or char == "1" or char == "2" or char == "3" or char == "4" or char == "5" or char == "6" then
char = tonumber(char)
image[curselpxlX][curselpxlY] = char
elseif char == "q" then quit() if answer == "yes" then break end
elseif char == "s" then save()
end
end
printfield()
showselectedpixel()
end
end
ini()
newimage()
printfield()
showselectedpixel()
moveandedit()
It's impossible to make the emptyimage file while it is very handy for shutting down the TV. It's a simple file though, just 450 zeros. Like this
About the buggy laser behaviour:
Do you think this might be caused because all lasers are fired at the same time?
Maybe firing them one after the other with a small delay before the next one might solve this problem?
Kind of like on a real cathode TV. />
I have absolutely no idea how the lasermod works though, so it might be a crappy idea, idk.
just a thought.
I have absolutely no idea how the lasermod works though, so it might be a crappy idea, idk.
just a thought.
Same for me /> this is the first time I use it in a creation. One thing I noticed is that it's usually the same pattern that is made, which is kinda strange.
i have a question with the waypoint movement. does it go based off where you placed it or does the api allow the turtle to sense where it is in the world . like if i placed the turtle 100 plocks from the waypoint in a non preset location would it be able to go to the waypoint? sorry if this is a noob question.
Turtlemoviesco, on 29 March 2012 - 01:35 AM, said:
What does the installer for the cookie system do? Does it just put the code files in the computer folder or does it install some mods too?
All files that are needed/important for the CookieSystem will be generated by the install program. It works by creating some folders and programs (with the regular io.open file:write functions). The only programs it installs are the account management programs (create, delete, ...), the interface program, an uninstall program and a startup to run it.
You could copy the stuff, put it on pastebin and then use the pastebin programs from v1.31 to get the installer and thus CookieSystem easy, as long as you got the HTTP api enabled in the CC config.
Nailcannon, on 28 March 2012 - 11:55 PM, said:
i have a question with the waypoint movement. does it go based off where you placed it or does the api allow the turtle to sense where it is in the world . like if i placed the turtle 100 plocks from the waypoint in a non preset location would it be able to go to the waypoint? sorry if this is a noob question.
You have to manually put in the starting coords and which direction it faces (with f3), Every time it moves or turns using the waypoints it will keep track of it.
Hey there i love rednet!
i think we should get a group of networking experts And build a internet working like this
1 You ping web server id with your id
2 the server replies with webpage!
would be great to get emails running maybe with a database so when you type lets say Cookiebal it thinks id 99!
i would love to get a fully functionel web going maybe on a white listed server completely flat and creative!
i would volunteer mine but its not 24/7 and its laggy!
maybe a team of 5 or so could help out so we'd need 3 more !maybe that encryption guy to make a ssl!
we could get this working with a edited rednet maybe so we could do DNS :
1 you ping DNS server with www.cookiebals.Rednet
2 it sends you Id of web server
This would mean each computer only needs to know one rnp(Red.Net.Protocol) (a twist on I.P(internet protocol))
or id!!!!
we just need a volunteered server!!Preferably running tekkti as that has a load of mods including cc Redpower IC BC
After my chemistry test tomorrow two weeks of vacation start, and I've been planning some of the stuff you mentioned for some time now, even got some basic stuff ready already for an email server, but I couldn't continue back then because I had lots of other stuff to do, but that's mostly done now. />
Would it be worth getting a team of 5 together to design this tuff together.
5 heads are quicker then 1!!!
And im pretty good at lua now !!
Our ultimate goal would to create a network to possibly withstand 1000's of computers with infinate capabilities .
And my final idea is to connect Worlds together somehow!!!!!1
meaning we could create The minecraft internet!!
aka we would set up a irc on the real intenet where Computer Craft netorks could send data to a main Computer craft network!!!
Meaning a technically world wide computer craft network !!
and world dominatation!mauahhahahahahahhahahahahhahahah
a extra cool thing to do is program a AI using muiltiple computers to work together!
It would be cool working with you! /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> />
look hard real hard!!
Finally Easter holiday!i hope chemistry want too bad or hard!
Was it gcse? If it was I hope it got you a*.
Are you English or American ? Tis is out of interest into time zones as im English!