• Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal
Welcome to OpenComputers

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more!

This message will be removed once you have signed in.

  • Announcements

    • Lizzy Trickster

      Latest Stable OpenComputers Version   11/26/16

      The latest released version of OpenComputers is version 1.6.1 for MC 1.7.10, 1.8.9, 1.9.4 & 1.10.2. See more information here! Beta/Dev builds can be found at the Jenkins Build Server (ci.cil.li)
    • Lizzy Trickster

      README: FORUM DOWNTIME!   04/19/17

      These forums will be down from 2017-04-29 @ 1200 GMT for up-to 1 hour (1300 GMT). This is due to the host box needing a reboot to apply Kernel updates. I don't expect the update to take the full hour specified but I have allocated this timeframe in the event that stuff breaks.   Apologies for any inconvenience this causes


Popular Content

Showing content with the highest reputation since 03/24/17 in all areas

  1. 1 point
    Hi guys, Draconic Control will be the first program I'll be releasing (more to come). The important stuff first: By now there are quite a few programs out there to control draconic reactors. However most of these don't even get close to about 1 MR/t. With this program 1.9 MRF/t (on average) is very well possible. Of course if you're not interested in RF/t but only total RF generated, this program is for you as well. Also, this one has a nice gui. Go check it out here: https://tenyx.de/draconic_control/ Yes, it comes with yet another (unreleased) GUI library *cough*. And yes it uses some kind of self built installer *doublecough*. This program has a CC and OC version. If you want to skip to the OC setup instructions, click here: https://tenyx.de/draconic_control/#setup_oc I'm open for suggestions and so forth. This is the first of quite a few things I'm about to release so stay tuned if you like this one You can follow me on twitter @XyFreak1 to stay up-to-date - I promise I won't spam your tweetdeck or something - mostly release related stuff Have Fun - XyFreak
  2. 1 point

    Big Reactors Grid Control

    Extra cells worked like a charm: use storage busses on turbines, use interfaces on reactors -> DONE (other way around for water)
  3. 1 point

    Use an off-game Editor like VS

    In the OpenComputers config set bufferedChanges to false, and start MC, now everything changed in game is saved in real time to the host FS, and any changes made on the host FS are reflected in game.
  4. 1 point

    Format Command? SecuriWipe Idea!

    Yeah sorry about that. I'm still new to programming the computers. Thanks for the reply though.. One step closer to learning!
  5. 1 point

    The Debugging Guide

    Content Introduction Reproducing an Error Error Messages Debug Output Appendix List of Error Messages Using a Debugger Ad alert: cbrowse Introduction Writing code is one thing, making it work is a completely different story. More often than not something is not working as intended and sometimes your program just crashes the instant you run it. This can be fun and inspiring but most often it is just frustrating. This guide is meant to introduce you to several useful debugging techniques with the primary focus being OpenComputers and Lua. I could use your help to improve this guide. If you spot an error or miss some content: Please tell me! Reproducing an Error Even with maxed out debugging skills you are going to have a hard time fixing a bug if you can't see it. So step one in debugging is finding a way to reproduce the bug. This is something that does not necessarily require programming. You can even do that as a user! It is very good manners to add a step by step instruction to your bug report: Write down every step of what you did to reach the bug. Test this instruction yourself and try to find ways to make it as short as possible. Maybe the work you did before opening *this* file did not have anything to do with your bug. Also try some variations to find out if this bug needs a specific setup or if it happens in a more general use case. If the program had no trouble on a T3 screen but crashes on a T1 screen there might be something involving the resolution or color depth. Does it work with a T2 screen? This makes it very easy to see the bug in action. Even if it is just 1 in 10 times. It helps. Beware of the Heisenbug which only appears when you are not watching it! ;-) Error Messages Debug Output Appendix List of error messages Syntax Error: detected when loading code syntax error near 'x' 'x' expected near 'y' 'a' expected (to close 'b' at line c) near 'c' Most of the time it's just a missing 'end' or bracket. That's easy to see if you use indentation. Sometimes it is a bit harder to find, but b()=2 clearly is not correct. <eof> means the end of file Runtime Error: detected when the code is executed Runtime errors aren't as easy. They can hide in rarely used code and there is a variety of them: bad argument #1 to 'func' ('type' expected, got 'wrongType') You called a function but one of the parameters you've given has the wrong type. You should check the functions documentation and compare to how you use it in your program. attempt to index local/global/field 'name' (a 'type' value) attempt to index a 'type' value You tried to access a table field but there actually was no table you could access. (but nil, a number, a function etc.) Check the return value/variable you are using and work backwards to find out where a check has failed, the value has been overwritten or not written. table index is NaN/nil You tried to access a table using an invalid index. Everything is allowed to be an index except nil and NaN. attempt to call local/global/field 'name' (a 'type' value) attempt to call a 'type' value The return value/variable you tried to call as a function hasn't been a function or a value with a __call metamethod. Using a Debugger In other environments it is possible to use an external program to help debugging, a 'debugger'. This would display and modify the values of variables and would allow to stop the program at previously defined breakpoints. After stopping it is possible to step through the program line by line to check what it is doing. Just to be clear: This is possible in normal Lua but OpenComputers already occupies the same feature to limit execution time. Ad Alert: cbrowse You can easily add advanced debug in/output by installing my program cbrowse. The debug interface works by calling this: local a, b, c = 1, "A", {test = true} require"cbrowse".view(a, b, c) Tables can be manipulated. If you want to change the value of a variable you have to temporarily use a table and manually export the result back to the local variable. local a = 1 local _t = {a = a} require"cbrowse".view(_t) a = _t.a But there is one drawback: None of the events happening while cbrowse runs reach your event.pull in your program. Event listeners work though.
  6. 1 point

    Noob Lua question about an error

    The ":int" at the end of your 2nd line is causing the error. The documentation shows you the returns/expected params that way, but you don't include them.
  7. 1 point

    Simultaneous and tick based redstone outputs

    I believe the later version of oc has good support for enderio bundled cable. Also, I believe the delay between setting two colors at once is solved with bundled cable here. Just a thought
  8. 1 point

    Simultaneous and tick based redstone outputs

    OpenComputers is not the best for timed redstone due to the forced delay, I have to use computercraft when I want to do it.
  9. 1 point

    Simultaneous and tick based redstone outputs

    Not sure if this will solve the delay between calls, but you can try using rs bundled cable and set the output simultaneously.. rsComponent.setBundledOutput(sides.back, colors.green, colors.red) I don't think you can specify ticks for delay.. Only seconds and a tenth I believe...
  10. 1 point

    MineOS - beautiful GUI to standard shell.

    Thank you very much
  11. 1 point

    MineOS - beautiful GUI to standard shell.

    hold the CPU in your hand and R-click (I forget if you need to Shift)
  12. 1 point

    MineOS - beautiful GUI to standard shell.

    is that with my image?? I think I get that error when I use lua 5.3... try switching the cpu to the older API and it should work.
  13. 1 point
    Fictitious Rotor

    dum question's #2

    Well I can answer your first question - no clue about the second one though HEX is literally binary but in a form that's easier for humans to read. http://www.binaryhexconverter.com/hex-to-binary-converter So just stuff your hex number into this and paste the result into your program.
  14. 1 point

    for loop storing data

    So there's quite a bit wrong with this, for a start the for loop can't be used that way, not in Lua atleast. I'd recomend a while loop which would look something like this. while true do local gis = tp.getItemInSlot(sides,east,i) --store item that is being read to recall later if not gis then break end -- Rest of code end With your list, you first need to create a table before you can reference gp like that. So at the top of your code you would need something like "local gp = {}". Then when adding to it the simplest way is to use gp[slot] = gis -- or if you want to copy it gp[slot] = {} gp[slot].label = gis.label gp[slot].size = gis.size In above code I also fixed some other issues where you used the calling syntax "(" and ")" instead of indexing syntax "[" and "]". Also "==" is the equality operator, what you meant to have was "=" the assignment operator. For the last bit of code the easiest way to do it correctly is using the same indexing you saw in above code (gp[slot].label) and replace slot with #gp
  15. 1 point

    BIOS equivalent of 'require'

    All libraries that are required by "require" are generally part of OpenOS meaning if you're using an eeprom... good luck. Also component.primary or component.filesystem are not native. They are part of OpenOS. BIOS don't have libraries thus it doesn't have require. What they do have is components. Everything plopped into your computer is a component, including that disk drive. OpenOS is not special it is something you can make from hand using what is given to you. Also "require" is not much more than loading and executing a file.
  16. 1 point

    OC sort-of multitasking API

    Soo I was kinda bored doing basically nothing when I thought about making an OS for OC, which I wanted to do for a long time now. I got pretty far, considering that I'm pretty new to OC, up to the point where it is supposed to start up background "services" at the same time. I didn't know that computer.pullSignal / event.pull doesn't let a coroutine yield (I copied the event and keyboard api over to my OS because I thought I didn't need to rewrite these things on my own) so I quickly had to think of a solution and came up with this. Functions Currently I made it usable for normal OpenOS so that everyone can use it: createTasklist(): returns a table with premade functions which will basically contain all of your tasks createTask(tasklist [tasklist table], name [string], func [string], env [environment table], disableG [bool]): creates a task using the given name, sets its environment to the given one , modifies event.pull (yes you need to have the event library available) and adds a sleep([number]) function which is the same as os.sleep() but only for the task quit([name]): if no name is given, it stops running all the tasks. if a name is given, it stops only the specified task runAll(tasklist): This is the main function. It is the main loop which iterates through every task until it gets a quit signal tasklist:clearLog(): clears the errorLog table and the log table inside the tasklist table tasklist:killTask([name]): Kills the task with the given name. However, I don't recommend this one and you should use quit([name]) for that Short explanation Basically it modifies event.pull (and adds sleep() if you need that) so that it doesn't pull an event, but adds a filter and lets the coroutine yield until it gets an event. (or it yields until it gets the event with the given filters OR until it times out) Which allows us to quickly iterate through every coroutine over and over again. Coroutines which don't yield for a while get killed but while they're not yielding they are basically pausing the whole computer until they time out. Code Pastebin
  17. 1 point

    OpenNet - Webpages inside Minecraft

    The OpenNet: Internet like simulation in Minecraft REQUIRES WIRELESS NETWORK CARD Not tested with wired network card This is very WIP, but it still works well for what it does. The OpenNet requires one computer to be running at all times as DNS. This allows for DNS lookup and not having to type things like "af4c71b5-c3be-4da1-b595-4d0afd40359d" to go to a page. It also requires a computer to be running all the time for each web server. The client and web server need to know the DNS server's address, so if this is implemented on a server, it is best to have one central DNS server. Downloads: DNS Server pastebin get 1pp05ryR opennet-dns.lua OpenNet Web Server (configure dns network card address inside file) pastebin get PRTmhN1a opennet-server.lua OpenNet Web Browser (configure dns network card address inside file) pastebin get jMNz5Bej OpenNet.lua Screenshots: OpenNet DNS OpenNet Server: OpenNet Client: ONML: ONML (OpenNet Markup Language) is a simple web page language (not many features yet) that allows you to change the background and foreground color of the site. The colors are cleared after displaying them. To change the color of text, prefix the color with one of these colors (use three letter name): "RED", "ORA"(orange), "YEL"(yellow),"GRE"(green),"BLU"(blue),"PUR"(purple),"WHI"(white),"BLA"(black) To change the color of the background, type "BACK <COLOR NAME>". <COLOR NAME> is one of the colors shown above (use three letter name) Example ONML file: BACK RED WHI The OpenNet: Internet for OpenComputers YEL The OpenNet is an open source wireless communication system made with Lua for OpenComputers. WHI It includes a 8 color (red "RED", orange "ORA", yellow "YEL", green "GRE", blue "BLU", purple "PUR", white "WHI". black "BLA") foreground and background system, along with things similar to DNS Demonstration of the shown ONML file: Roadmap (in no order): Real Internet ONML ONML links/interaction More pages than just the main page
  18. 1 point

    hallo some more dum questions

    Look up the function 'load' and or 'loadstring'. I'd post more but I'm on my phone at work
  19. 1 point


    While starting with Opencomputers scripting (and learning some lua), I found out that while not much, there computers still need some power. So here came my idea to build a powercheck script (deamon) to show my power level of the computer (or network) and be ready to save my files before the computer shuts down mid editing a script. this version is only a visual aid for knowing your energy leven, executing some functions if the power is to low to continue aren't implemented. Requirements: not much, the openOS should be enough, and a valid computer with screen. script & installation: http://pastebin.com/0112kJVN after downloading this script: copy or move it to /etc/rc.d/<your chosen filename> then rc <yourchosenfilename without .lua> enable once you reboot your system you should have an indicator of the power level in the right bottom corner of the screen. hope this is usefull for someone
  20. 1 point
    Lizzy Trickster

    IRC Webchat

    Since we don't have an easy way to create custom pages, welcome to the IRC Webchat page! If you find issues with it please make a post in the feedback subforum!