Jump to content
  • Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal

All Activity

This stream auto-updates     

  1. Yesterday
  2. Programming and technology related survival server Start with basic stone tools and a golden shovel to create GriefPrevention claims. You can connect from this IP: codersnet.pw You can install the modpack from Technic Launcher: https://www.technicp...ersnet-official Also join our Discord Server! Mods: Applied Energistics 2 AutoRegLib Baubles BetterFPS BiblioCraft ComputerCraft: Tweaked Chisel Chisel & Bits CodeChicken Lib CoFH Core CoFH World Compact Machines Computronics ConnectedTexturesMod EnderCore Ender IO Extra Cells 2 Extra Utilities Forgelin Forge Multipart Hwyla Inventory Tweaks Iron Chests Just Enough Items LibrarianLib Mantle McJtyLib MCMultiPart Mekanism Mekanism Generators Minimal Peripherals MrTJPCore NoMoreRecipeConflict OpenComputers OpenSecurity PeripheralPlusOne Plethora Peripherals ProjectE Project Red (Link to the wiki containing all links of all mods) Psi Quark Oddities Quark Redstone Flux Refined Storage Refined Storage Addons RFTools Random PSIdeas Tinkers Construct The Framework Thermal Mods (Link to the download page containing all links of all mods) Tinkers' Tool Leveling Wawla The Weirding Gadget Xaero's Minimap
  3. Last week
  4. Oh, I see! Thank you I am on multiplayer server and I guess it is not updated to latest version.
  5. 1.7.2 had some serious bugs - not sure why you're not using latest builds.use our latest release build on curse ,or even better, try our latest dev builds https://minecraft.curseforge.com/projects/opencomputers/files https://ci.cil.li/
  6. Hi! I am new to the OpenComputers mod and to LUA in general. The OC version I am using is 1.7.2.67 Minecraft version 1.12.2 I have a Tier 3 Computer Case and Screen setup with these inside: I have already installed OS and OPPM and it was working after that. Everything was working before I logged off for the night (and I turned off the energy source for my computer and I shut the computer down by typing "shutdown"). Now that I am back in my server, I get the error: Unrecoverable Error, Computer Halted. I had used the "shutdown" way to turn off my computer, and it would still turn on, but now it is not. Not only my computer is not working, but my robot and Tier 1 computer too have ceased working. Tier 3 Computer: Robot: Tier 1 Computer: Tl;dr , All machines have computer halted error even though they were working fine before I logged off. Is there any way to fix this error besides making a new HDD and new robot?
  7. I'm not super familiar with this library so you may have to adjust the code as it is untested. local GUI = require("GUI") local component = require 'component' local thread = require 'thread' local event = require 'event' local reactor = component.reactor_chamber local currentTemps = reactor.getHeat() -------------------------------------------------------------------------------- -- Create new application local application = GUI.application() -- Add panel that fits application application:addChild(GUI.panel(1, 1, application.width, application.height, 0x262626)) -- Add smaller panels application:addChild(GUI.panel(4, 2, 23, 4, 0x880000)) application:addChild(GUI.text(5, 3, 0xFFFFFF, "Current Reactor Temps")) -- Grab a reference to the text object you need to update local gui_temp = GUI.text(5, 5, 0xFFFFFF, currentTemps) application:addChild(gui_temp) -- Create a timer that will run every 3 seconds, forever. local tid = event.timer(3, function() gui_temp.text = tostring(reactor.getHeat()) -- overwrite the text data gui_temp:update() -- notify the app that the state of gui_temp has changed end, math.huge) -------------------------------------------------------------------------------- application:draw(true) application:start() event.cancel(tid) -- cleanup the timer after application:start returns
  8. I am trying to make a robot to automate my Mystical Agriculture inferium farm, but I am not able to place the seeds with .use(). I tested my code with wheat seeds and it works fine. Does anyone know a workaround?
  9. Greetings, I'm new to Lua but familiar with some of the basics. I'm using this library for the GUI, but not sure on the proper procedure on updating the items on the screen. I have an adapter attached to an IC2 fluid reactor and want to call reactor.getHeat() to get the latest temps and update this child: application:addChild(GUI.text(5, 5, 0xFFFFFF, currentTemps)) If someone can kindly point me in the right direction I think I can go from there. The rest of my code is pretty basic which I haven't played around much on it. local GUI = require("GUI") local component = require 'component' local reactor = component.reactor_chamber local currentTemps = reactor.getHeat() -------------------------------------------------------------------------------- -- Create new application local application = GUI.application() -- Add panel that fits application application:addChild(GUI.panel(1, 1, application.width, application.height, 0x262626)) -- Add smaller panels application:addChild(GUI.panel(4, 2, 23, 4, 0x880000)) application:addChild(GUI.text(5, 3, 0xFFFFFF, "Current Reactor Temps")) application:addChild(GUI.text(5, 5, 0xFFFFFF, currentTemps)) -------------------------------------------------------------------------------- application:draw(true) application:start()
  10. Repository: https://github.com/cyb0124/OCRemote. The following is a copy of the repo's readme. OCRemote is an OpenComputers program by cyb0124 for item management and auto-crafting. Main features include: Extensive reuse of same machines for multiple recipes. Prioritization of recipes based on the current number of items stored. (e.g. deciding which crop to grow, or deciding which ore to process first.) Robust handling of multiple-input recipes to prevent clogging (e.g. for alloy furnaces). Preventing recipes from using up the last seed/sapling/etc. OCRemote is designed for survival/expert-mode gameplay in modpacks such as Enigmatica 2 and Project Ozone 3. When used correctly, it can completely replace ME-system based auto processing both in early game and in late game. It has been tested to function correctly in Sponge-based public servers. Server and clients OCRemote includes a TCP server program written in C++ that needs be run outside the minecraft world. All decision-makings happen in the server. The computers in minecraft world merely execute the commands sent by the server. Multiple clients can connect to the same server, which allows parallelization of inventory manipulation operations. Bus OCRemote requires a shared inventory to move items around. This inventory is called as the "bus" in the source code. The bus can be implemented using EnderStorage's ender chests, or using ActuallyAdditions' item lasers. Storage OCRemote currently supports 3 different types of storages: Chests OCRemote will use chests the most efficient way, i.e. coalescing item stacks to avoid wasting slots. StorageDrawers or equivalent. ME system OpenComputers' access to ME system is slow (throttled), so OCRemote is able to use multiple computers to access the same ME system to parallelize accesses. Auto Crafting OCRemote doesn't analyze any tree structure for recipe dependencies; instead it will simply start to craft an item if the amount stored of that item falls below a set point and if all ingredients are available. This will eventually propagate through all recipe dependencies. If multiple recipes use the same machine, OCRemote will prefer the recipe with the lowest percentage amount stored. All processes can also regulate the amount of items in the machine buffer to prevent bloating the machine buffers. OCRemote currently supports the following types of auto-crafting processes: ProcessSlotted This process is intended for machines that can only run 1 recipe at once and the input items need to go into specific slot with the correct ratio. OCRemote will only execute recipes that input items match the items already in the machine. ProcessCraftingRobot This process uses a single crafting robot to handle all grid crafting recipes. It also allows non-consumable items in recipes (e.g. Pam's Harvestcraft recipes that require utensils, or master infusion crystal). ProcessRFToolsControlWorkbench Same as ProcessCraftingRobot, but uses RFTools Control's Workbench as the crafter. In this case, non-consumable items are stored in a neighboring inventory. ProcessBuffered This process is intended for machines that can run multiple recipes at once, or for general buffering/pipelining of recipe inputs. In additional to recipes, it also allows items to be constantly refilled at the target inventory. Besides being able to regulate the total amount of items in the buffer, it also allows limiting each individual recipe's maximum number of items being processed. This process respects the ratio of the input items and only sends complete sets of inputs, which is useful for machines such as ExCompressum's Auto Compressor, or gear presses. ProcessScatteringWorkingSet This process is intended for machine that can run multiple recipes at once but independently for each slot. This process will try to spread out input items among slots to help with parallelization. ProcessInputless and ProcessHeterogeneousInputless These processes are for machines that passively generate outputs (e.g. cobblestone generators). ProcessReactorHysteresis This process is a simple hysteresis feedback controller for big/extreme reactors. ProcessReactorProportional This process is a simple proportional feedback controller for big/extreme reactors. ProcessPlasticMixer This process automatically sets PneumaticCraft's plastic mixer's color setting to produce the plastic that has the lowest amount stored. Usage The documentation is still WIP and there isn't a GUI for configuration yet. The storage/auto-crafting configuration is currently hardcoded in the server program's main function. It contains a sample configuration which you can adapt for your own use. To use OCRemote, you need to build and run the server program on a server that can be reached from OpenComputers' Internet Card. The server requires a C++ compiler (e.g. gcc) with C++17 support, CMake and Boost to build. For the client script, you need to edit the first 3 lines to match your server configuration. The client script is meant to run without any OS or storage medium. To run it, first compress it using Lua minifier and then flash it into an EEPROM. Alternatively, you can upload the client script to a HTTP server and flash the loader script to load the uncompressed client script from the Internet.
  11. I made a first implementation capable of parsing and displaying OHML. This implementation supports most things except: relative positions, buttons, images and progress bars. It's called minescape and for now is only published on my repo (available with Fuchas's fpm command)
  12. Earlier
  13. nope, 1.8 and 1.9 are no longer supported
  14. Hey! I just wondered if you guys were planning to release OpenComputers v1.7.4 for Minecraft 1.8.9. When I installed the mod it said that a newer version was available (v1.7.4), but it is not available for 1.8.9. Thanks!
  15. FullChest sorting storage system This program uses a robot to sort items into simple storage system. I am using iron chests mod here. There is an input chest (golden), storage chests (iron), and an overflow chest (diamond). The robot is placed behind the input chest facing the chest and I recommend placing a charger next to it. Red blocks are always required, orange and yellow blocks are required depending on storage size (in this one, orange blocks are needed). I usually place them all to be sure. The storage chests must always be on the right from the input chest. Each storage chest must have no empty slot! If you want a chest to contain certain items, put one of these items into a slot like this: The robot then goes around in zig-zag pattern and tries to put each item into each chest. All chests have no empty slots, therefore only wanted items can be put into each chest - for all other items the chest is full. If the robot is waiting on the start, it checks the input chest for new items every 10 seconds. If an item is found it will start sorting in 1 minute (except for the first check - then it si immidiet). Program also in attachments robot = require("robot") os = require("os") computer = require("computer") totalSlots = robot.inventorySize() function dropAll(slots) for i = 1, slots, 1 do robot.select(i) robot.drop() end robot.select(1) end function suckAll() count = 0 while robot.suck() do count = count + 1 end return count end -- direction false - left -- direction true - right function next(direction) if not direction then robot.turnLeft() else robot.turnRight() end b = robot.forward() if not direction then robot.turnRight() else robot.turnLeft() end return b end while true do first = true while robot.suck() == false do print("check") first = false os.sleep(10) end robot.drop() print("Sorting is starting...") if not first then print("in 60 seconds...") os.sleep(60) end print("now!") usedSlots = suckAll() if usedSlots > totalSlots then usedSlots = totalSlots end direction = false robot.turnLeft() robot.forward() robot.forward() robot.turnRight() while true do dropAll(usedSlots) while next(direction) do dropAll(usedSlots) end print("end of row") if not robot.up() then -- last row print("end of sorting") robot.turnRight() while robot.forward() do end robot.turnLeft() dropAll(usedSlots) while robot.down() do end dropAll(totalSlots) -- just to be sure break end direction = not direction end end sorter.lua
  16. Fuchas 0.4.0 is now available! The feature list can be seen below (and in the Projects page on GitHub)
  17. if you dont understand the compile error message (specifically, a lua load error message), then remove code until you pinpoint where the problem. anyways, `term.clear print("asdf")` is not valid lua, try `term.clear() print("asdf")`
  18. Hi! My program seems to think that any print statements that come after my code to receive modem signals, despite being correct, still result in syntax errors, while any that come before are completely fine. It doesn't matter if it's a variable, a number, or a string. It affects term.write(), and io.write() too. The goal of this program is to be a hub of sorts where I can remotely send commands to robots to do assigned tasks, but that obviously requires being able to send signals to them. So I was experimenting with it to learn, however, I have not been able to solve this issue. I have experimented with this a ton and narrowed it down to the code that receives the signal, as soon as that is removed, the print statements work fine. I'm hoping someone can tell me how and why this is happening. The Error: The Hub program: local os = require("os") local component = require("component") local event = require("event") local computer = require("computer") local term = require("term") local modem = component.modem local Robots = 1 local Openport = 2 local modemaddress = component.get("d25") local shutdown = false local message modem.open(1) modem.setStrength(20) print("port is opened:" .. tostring(modem.isOpen(1))) local function Recieve() local _, localNetworkCard, remoteAddress, port, distance, payload = event.pull("modem_message") print("Received data '" .. tostring(payload) .. "' from address " .. remoteAddress .. " on network card " .. localNetworkCard .. " on port " .. port .. ".") print(payload) message = tostring(payload) end event.listen("modem_message", Recieve) while(shutdown == false) do if(message == "Signal Test.") then broadcast(1, "Signal Test Reply.") end term.clear print(computer.uptime()) end It's far from finished so some variables are unused at the moment, sorry if it grinds your gears. The other computer which is acting as a test broadcaster has this program running to broadcast to the main computer, this has been working so far: local width = 4 local height = 13 local length local posx local posy local posz local os = require("os") local component = require("component") local modem = component.modem local modemaddress = component.get("68e") local event = require("event") modem.open(1) modem.setStrength(20) modem.broadcast(1, "Signal Test.") modem.send(modemaddress, 1, "Signal Test.") local _, localNetworkCard, remoteAddress, port, distance, payload = event.pull("modem_message") print("Received data '" .. tostring(payload) .. "' from address " .. remoteAddress .. " on network card " .. localNetworkCard .. " on port " .. port .. ".") I am also using the addon Computronics, though no parts from it are in either computer.
  19. is the pastebin thingy on the original post up to date? theres alot of apps in the GIF i cant find in the app store, and im particularly interested it what appeared to be a Fingerprint scanner? im faily new to opencomputers, and dont know much about computer language or anything like that.
  20. As an alternative option to `flash`, you can also (in openos) run `edit /dev/eeprom` to edit the eeprom itself.
  21. also a navigation upgrade in the robot can give you relative coordinates
  22. If you're talking about a robot that presses the `tilde` key, then no. Robot's can't use oreExcavator mod.
  23. If you're talking about the total slots available, `robot.inventorySize()` is the answer. But, if you're talking about the empty slots available, scanning slots one by one is an option. Here is a simple code for that: local robot = require('robot') local function getEmptySlots() local emptySlots = 0 for i = 1, robot.inventorySize() do if robot.count(i) == 0 then emptySlots = emptySlots + 1 end end return emptySlots end Hope this helps. Have a nice day!
  24. Well, if you're in the newest version of OpenComputes, there's no way to do it. Reference to the problem: https://github.com/MightyPirates/OpenComputers/issues/649 Hope this helps. Have a nice day!
  25. As Molinko said, this code goes to an EEPROM. To do this, follow these steps: Get a fresh EEPROM (not Lua BIOS included one). Get a computer with OpenOS loaded. Put the fresh EEPROM to the computer. run `edit /dev/eeprom` and paste the code there. But, I assume you already have it, you will just need to modify it. As the instruction said, modify the user list on top with your name and/or people you want to grant access to. If it's `Bob`, then write `{ "Bob" }`. Note: CaSe SeNsItIvE. Done. After setting up the EEPROM, set up another computer for the EEPROM, by following these steps: Set up a fresh computer (Tier 1 is okay), with door on top, or a redstone connection to other contraption. Put a CPU (Tier 1 is okay), a Memory (Tier 1 is okay too), and a redstone card. Put a number (1 or more) of GPU and screen. Turn on the computer Done! To use this code, sneak-rightclick the screen with barehand to trigger it, or open the screen gui, then click the screen. After trying the code you've shared, I found some oddities and, my suggestion, is to change to my modified code here: local user = { "user1", "user2", "user3" } local red = component.proxy(component.list("redstone")()) local scr = {} local gpu = {} for a in component.list("screen") do table.insert(scr, a) end for a in component.list("gpu") do table.insert(gpu, component.proxy(a)) end for i = 1, #gpu do if scr[i] ~= nil then gpu[i].bind(scr[i]) end end function showState(s) for i, g in ipairs(gpu) do g.setResolution(40, 20) if s then g.setForeground(0x00FF00) g.set(16, 10, "Access granted.") else g.setForeground(0xFF0000) g.set(16, 10, "Access denied.") end end end function sleep(x) local tgt = computer.uptime() + x while computer.uptime() < tgt do computer.pullSignal(tgt - computer.uptime()) end end while true do showState(false) local sigType, _, x, y, btn, nick = computer.pullSignal(5) if sigType == "touch" then for i, v in ipairs(user) do if v == nick then showState(true) red.setOutput(1, 255) sleep(2) red.setOutput(1, 0) end end end end Hope this solves your problem. Well, have a nice day then!
  26. You can either make your own library, or look mine. https://github.com/ayangd/oc-automate_everything/blob/master/oldfloppy/util/navigate.lua Basically, what it does, is to wrap the robot's movement API, and updates the position value when the function is called. If you really lazy, or want my code, tell me. I'll tell you how to use mine. I hope it helps. Have a nice day!
  1. Load more activity
  • Newsletter

    Want to keep up to date with all our latest news and information?

    Sign Up
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.