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


Popular Content

Showing content with the highest reputation since 05/19/18 in all areas

  1. 5 points
    https://minecraft.curseforge.com/projects/openpython https://github.com/EcmaXp/OpenPython OpenPython makes micropython available on OpenComputers. micropython is Python for embedded devices and is different from CPython. Currently, micropython is partially compatible with Python version 3.4 as of October 2018. Features include: - Fully persistable. - Runs in a sandboxed environment and does not require a separate native DLL. - Supports virtual file system. - It can call other components and supports Lua architecture's UserData. Limitations include: - The firmware is 256 KB and the memory limit has the same limit as the Lua architecture, but the stack is allocated in a separate memory. - Most modules are difficult to use because the battery is partially included. - The operating system is not yet fully implemented, so the Python interpreter now runs. - Ctrl + C is not supported, so if you accidentally run infinite repeated code, the only way to stop it is to turn the computer off and then on. To use the Python architecture, you need the following items: - EEPROM (OpenPython): I'm sorry, but you have to bring items from the Creative tab. - Floppy Disk (OpenPython OS): This item can be obtained by creating a floppy disk and Scrench, or you can check it on the Creative tab. - OpenPython CPU: You can choose OpenPython architecture by holding Shift + Right Click on the Lua architecture CPU. It is still unstable, but we plan to make further improvements in the future. I need help from people who are familiar with OpenComputers and Python. Thank you for playing.
  2. 5 points

    Introducing "Lunatic"

    No spoiler in the title. Just watch the video.
  3. 4 points
    Features: FlatScreen Panel frameless screen which can be configured to be "rotated/tilted" on the x/y axis and can render transparent (they work as normal Screens, Touchinput will be improved in the final release) CardDock external housing for OpenComputer Cards which can be bound to any machine in the Network Cases additional Tier3 computer cases from ZefTheFox Download on curseForge for Minecraft 1.12.2 https://minecraft.curseforge.com/projects/ocdevices
  4. 4 points

    Guide to the Sound Card

    The sound card is added by Computronics, a wonderful addon for OpenComputers. There are a few who actually know what it does. Even less people are able to use it. No one dares to understand how it works, or so I hope. Anyway, it appeared a few years (?) ago, and is still mostly undocumented. There is a page in the in-game manual, which fails to explain how great the card is. Of course it does! It has a heap of different methods, which you can use to cast many crazy magics to make the sound card sound, and it's impossible to teach someone to do magic by reading a single page. OK, I'm serious now. Last year I managed to understand how to use it, and even wrote a few posts about that. In Russian. Half a year later, I translated them to English. And now I thought of posting a topic here so that you could read them, too. Here's the link. The first two parts are all about basic things, like getting simple sounds, ADSR, and modulation. The third part features a little bit more complex things, like complex numbers and Fourier transforms. I tried to keep it simple, so I could get something wrong. If so, please leave a comment there pointing out the mistake. Grammar fixes are also highly appeciated.
  5. 3 points
    MineOS is half the operating system and half the graphical environment for OpenOS, which comes in OpenComputers mod by default. Oringinally it was developed in Russian, but it supports several languages. MineOS has following features: Multitasking Windowed interface with double buffered graphics context Animations, wallpapers, screensavers and color schemes Language packs and software localization User authorization by password and biometrics Support for file sharing over the local network via modems Support for client connection to real FTP servers Error reporting system with the possibility to send information to developers App Market with enormous amount of wonderful applications and possibility to publish your own programs for every MineOS user An internal IDE with syntax highlighting and debugger Open source system API and detailed illustrated documentations Custom EEPROM firmware with the possibility to select/format the boot volume and Internet recovery Almost complete compatibility with OpenOS software How to install? First, you need to install OpenOS from floppy disk to your HDD. After that you'll be able to run MineOS installer via single command: pastebin run 0nm5b1ju System requirements: Internet Card OpenOS installed on Tier 3 HDD Tier 3 GPU 2x Tier 3 RAM Tier 3 CPU (not really matters, just speed up) Troubleshooting: Are there any problems, suggestions? I'll be glad to see you on the operating system repository: https://github.com/IgorTimofeev/MineOS
  6. 3 points
    sence i saw igor Timofeev's mineos i was thinking if it was posible to get those static windows to move and infact there is: welcome to the first showcase of the (really un-creative named) tacti OS: as you can see it figtures moveable, sizeable, and interactive windows infact all programs running in the OS will be windowed! useing my easy-to-use windowLib and windowed-program-api i'll happyly resive any feedback (download link avalable in the below posts) (also its gonna happen anyway so come with those grammer currections poeple, i can take it) i hope you guys will like my project -thanks
  7. 3 points

    Drone usage?

    Of course there is. Assembling a drone with a leash upgrade produces a drone that can transport cows, horses, sheeps, and pigs. Like this: Or... like this: Besides, drones are entities. They move in straight lines; they don't get stuck in the fence and can actually enter a house through a door. They move pretty fast — about 6 blocks a second (robots are at least 2 times slower). Drone's movement is asynchronous, so the machine can execute some other code in the middle of the flight. Drones can fly above the block height limit. The screenshot above was made while enjoying the flight at a height of 260 blocks, for example. Oh, they can fly below the bedrock, too. Also, drones look cool. Jobs at which drones clearly outperform robots include player transportation (thanks to the leash upgrade) and item transportation (due to their mobility). And, if used with robots, drones can be useful for crop farming, autocrafting, and construction, for example.
  8. 3 points

    advancedLoader - Better BIOS

    This BIOS allows you to choose the boot device by either using the arrow keys or clicking/touching the monitor. When using the keyboard use Enter to boot, when using clicking/touching click an unselected entry to select it, click a selected entry to boot it. If there is only one bootable medium, that medium is autobooted. The default selected option is the last booted device. This supports booting from filesystems, using /init.lua as an entry point or from drives(HDDs or Floppys in unmanaged mode), by loading code from the first sector until the first \0 character appears as lua code. (From what I've seen unmanaged drives are mostly ignored in OC, which is kinda sad.) Screenshots: To install: (This file contains the code needed to flash the BIOS as well as the BIOS code itself, it will ask before flashing it to the EEPROM) pastebin run Cx4aTipt
  9. 3 points
    OpenOS has absolutely proper pipes now, such as those you invoke with `cat file | grep foobar`, and a kick butt threading library (read https://ocdoc.cil.li/api:thread ) As for virtual components? No, there is nothing built into OpenOS for virtual components, but gamax92 has written a nice vcomponent library you can add via oppm, `oppm install vcomponent` Plan9k is retired, to be honest. It was ahead of its time, but is now outdated. OpenOS is faster, lower memory, has gobs of great libraries, super awesome command line parsing, and is ACTIVELY developed. I might be biased....
  10. 3 points

    make opencomputers processors faster

    Please calm down. There are some component methods that block the computer for a tick when called, yes. Such methods usually interact with the world. For example, a transposer allows to transfer items between invetories by calling the transferItem method, which takes a tick to execute (so you get up to 20 stacks/second). On the other hand, there are a lot of direct methods, which can be called several times per tick. For example, the GPU's methods are direct. And the processor (as well as RAM) determines how many direct calls are allowed per tick. I think T2 T3 setup allows you to call gpu.get one thousand times every tick. Or 256 gpu.sets. Or 128 gpu.fills. I also believe you don't realize how bad ComputerCraft is for servers. A really simple and stupidly-written program can eat up all the memory the server has. That's why OC limits the memory available for an in-game computer. And running CPU-intensive tasks on a CC's computer makes the whole server run slow, whereas OC requires scripts to pause to allow other in-game computer to run. OpenComputers imposes the limits not because the mod developers want users to suffer (although I do sometimes think of that when I try to do some stupidly complex things with it), but to make it server-friendly. What's important is that OC allows you to configure these limits for your needs. Have you opened its configuration file? It is more than a 1.5k lines long, and has more than 300 settings you can change, each with a comment that explains the effect of the setting. There's callBudgets to increase the direct call number limit. Or decrease it. There's also the ramSizes setting for memory, and hddSizes for the HDD sizes. But even with all of these limits, OC can run a lot of programs, including graphical shells, 3D games, reactor control systems. It allows you to send HTTP requests to the real websites, and open raw TCP sockets to interact with network services. It can display 320x200 images. It can even play videos — inside the game, and on the default OC settings!
  11. 2 points

    Robot-miner with geolyzer

    I present you a program for a robot that allows you to mine ore without going down into the caves. Robot, using a geolyzer, can find and mine ore. All features are not yet implemented, so I ask you to test and inform me about a bugs. Requirements: Computer case (tier II or III) Inventory Upgrade (more the better) Inventory Controller Upgrade Hard Disk Drive EEPROM with Lua BIOS Geolyzer RAM (tier I or higher) CPU (any) Hover Upgrade (tier I) Diamond pickaxe or equivalent tool Optional: Crafting Upgrade Wireless Network Card or Linked Card Solar Generator Upgrade Battery Upgrade Experience Upgrade Chunkloader Upgrade Generator Upgrade Enderchest from EnderStorage mod Installing: Download and save the file as init.lua wget https://raw.githubusercontent.com/DOOBW/geominer/master/miner.lua init.lua Put this file in to root directory of the hard disc. Add the disk when crafting a robot. Place the robot on a solid blocks platform. Give the robot a pickaxe Place a container and the charger near the robot. Press the power button and enjoy a process.
  12. 2 points
    And just to push it over the top into the rediculous area I've doubled it again to 256! That should be enough for forever. (I even had a lot of trouble coming up with so many for testing)
  13. 2 points
    THIS MOD IS NO LONGER SERVICED, PLEASE DOWNLOAD THIS INSTEAD!!! A while ago there was a post on here about someone making custom cases, I am not that person but I do have a release. This may be improved upon in the future but as of right now it is in a completely usable state. This is a client side replacement for opencomputers. Do not use with normal opencomputers. This will be updated to release versions of OC and will not be for 1.7.10 Theoretically this should be usable as a client connecting to a server with normal opencomputers, this was not tested. To use this install this modified version of opencomputers, it includes a custom case with it. If you want a different case you can choose to install a resource pack, I have made 2 so far. If a resource pack says it is incompatible for any reason ignore it, it's a single number in the pack.mcmeta that has to be different for certain minecraft versions, it will not effect the pack. The default case that comes with the mod: 1.10, OC version 1.7.3 1.11, OC version 1.7.3 1.12, OC version 1.7.3 NZXT Case: download IBM 5150 Case: download Let me know of any issues, or any suggestions for future cases.
  14. 2 points
    Zorya BIOS Zorya BIOS is an extendable and configurable BIOS and bootloader, capable of booting any OS with the right extensions. It's similar to GRUB. (sorry in advance for bios.lua) All you need to install the BIOS is to flash bios.lua to a blank EEPROM, insert a blank floppy, then reboot. Note: This has only been tested on Tier 3 hardware and Lua 5.3. requires an Internet card. Github repo PRs are welcome! Future plans: Ability to load from non-managed disks (like disks formatted with msdosfs, etc) Make it easier to extend Clean up code! Ability to edit options from bootloader Automatically load an OS after n seconds
  15. 2 points

    No Bootable Medium Found

    that is a ComputerCraft disk drive, not the OpenComputers disk drive
  16. 2 points
  17. 2 points
    This is an object-oriented library, the main priority of which is the maximum possible performance. It works on the double buffering concept, it has a lot of widgets, animations and custom event handlers support. All programs from the screenshots above are implemented with its help. If you want to develop a fast and beautiful program in just a few lines of code without butthurt - then this library is made for you. Detailed illustrated documentation, installation methods and tons of practical examples are available at: https://github.com/IgorTimofeev/GUI
  18. 2 points

    make opencomputers processors faster

    While it is not possible to tell you exactly what to do instead, here are a few things you should've done a little bit differently to make this more pleasant and helpful for everyone: Your title: "make opencomputers processors faster". You are asking a question in your post which you want answered, why not make that the title instead: "How do I increase or remove the limits of the CPU/RAM?" This makes it easy at first glance for everyone to see what you try to accomplish "make [...] processors faster" sounds like you are giving someone the command to do so, which is not good when asking questions. What would've been even better is to ask a question in relation to your program(e.g. "How can I optimise a program for <this>?"), however that would require you to show the program to the community, which you seem unwilling to do so.(Also you should note that this decreases the chances of you getting help) Your post You should've clarified better what your actual problem was. E.g. "This program(<link to program>) is running slow, I tried <this and that> to optimise it, but it doesn't seem to work. I would be grateful for any ideas" Your first reply: "right... how lovely... ONLY ONE COMPONENT CALL PER TICK!!! JESUS duckING CRIST... that most be a joke, right? Screaming at people/Writing in all caps is not very well perceived by most and will not get you anywhere This also doesn't add something really constructive to the discussion Better would be something like: "This seems pretty slow. Is there any way to increase the component calls when in single player?" I guess that reply was written in a lot of anger, but if you are angry at something, it might be better to write the post, not click submit, wait a few minutes until you've calmed down and think again if this post will be constructive in any way "so i can see that buffer api thing have the standart gpu functions so i give the infomation to the buffer (eg buffer.set(2,2,0xff0000, 0, " ")) and the buffer api will only do a gpu.set opration when it has to limting unnessary gpu.set's? is that how that works?". This was actually a pretty good post: It shows that you've checked out the topic and know what you are talking about It states a clear question The three posts here are a bit unnecessary and could've been put in one post asking "I've tried this: <code here> and it doesn't work. I have <this and that> problem." These are just a few random thoughts about how you could've gotten/will get better help.
  19. 2 points
    This is a simple door opening script that requires a password to be entered. That being said it took me a ridiculously long time to work out all the bugs. It works by taking an input from one computer and sending it to another to check if the password is correct. This makes it much harder to simply look at the file to check what the password is. It also now has the ability to automatically encrypt your password if you have a T1 data card along with the server asking you to input a password on the first run. These ideas came from the user RandomRedMage Requirements: At least 2 computers with basic parts 2 Network cards or Wireless Network cards Redstone T1 card Data card T1 (optional) The pastebin id for the server version is 8Y2y9xH3 The pastebin id for the client version is F5P5V05P Source code for both here Currently it needs to be placed into /home/bin and named door.lua to work but editing the 4 spots where os.execute is called will let you place it wherever with any name Also you need to enter the password twice the first time it is booted in order to have both computers recognize each other this can be circumvented via hard coding the address of the modem of each system into the other or adding a file into each /home/bin called MAC.psd with the modem address of the other. It is currently set up for only one computer but it could easily made to work for multiple by making the address var into a table and having a loop check thru them though that may slowdown the process.
  20. 1 point

    Big Reactors Grid Control

    @BattyCynris When you update OpenComputers (the mod), It doesn't change what is on the computers, it only changes the contents of the OpenOS floppy disk. So updating the in-game computer after the mod update only requires you to insert the OpenOS floppy disk and running "install" again. The tool you linked is basically just for those who can't update their mod (playing on a server with outdated version but need features of a newer version) so don't use it if normal updating is available.
  21. 1 point

    Keep getting error when running

    you need to return your library object from your library file, i.e. add "return move" at the end of "move.lua"
  22. 1 point

    Hep with my code?

    Print3d doesn't check getMaxShapeCount() at all. Go to your OpenComputer config file and check the value of "maxPrinterShapes".
  23. 1 point
    can you write in english on this forum? use translate.google.com if you must
  24. 1 point

    IC2 reactor control

    Hey, here is a list of all methods for ic2 reactors. local component = require'component' local reactor = component.reactor reactor.getHeat() reactor.getMaxHeat() reactor.getReactorEUOutput() reactor.getReactorEnergyOutput() reactor.producesEnergy() You have to connect the reactor via an adapter.
  25. 1 point
    I believe I see where you're trying to go with this but I think there is an easier way. Store the reactor proxies as values in a key/value table and then send method names and args to be executed. Here's a simple example.. -- # Reactor server: Recieves commands from remote client to be run local component = require 'component' local event = require 'event' local modem = component.modem modem.open(1040) -- # List of reactors to call methods remotely upon local reactors = { r1 = component.proxy(component.get '0c60c'), r2 = component.proxy(component.get '0ef58'), r3 = component.proxy(component.get '255aa') } repeat -- # pack it all into a table local msg = table.pack(event.pull('modem_message')) -- # the droids we're looking for local reactor, method = msg[6], msg[7] -- # args to call with the remote method (if any) local args = #msg > 7 and table.pack(table.unpack(msg, 8)) or {} -- # if remote reactor id is present then... if reactors[reactor] then -- # execute the method call with args on a specific reactor. guarded for faulty messages with pcall so we dont crash. local result = table.pack(pcall(reactors[reactor][method], table.unpack(args))) print(sting.format("called %s on reactor id %s", method, reactor)) -- # respond to client with result modem.send(msg[2], msg[3], table.unpack(result)) end -- # client can send the message 'exit' to quit or hold Ctrl+C on the server until msg[6] == 'exit' -- # End of server -- # client: Send remote commands to be run on server components -- # A very simple client... Spruce it up as needed local component = require 'component' local event = require 'event' local modem = component.modem modem.open(1040) modem.send(server.address, server.port, 'r1', 'isProcessing') -- # exec 'isProcessing' on 'r1' at server print(event.pull('modem_message', modem.address, server.address, server.port)) -- # print and await server response -- # End of client
  26. 1 point
    Admin edit: This is a project run by HydroNitrogen, the OC Staff Team do not have or exert any control over it. Introduction: Hey all! A long time ago, I started an OC/CC Discord server, and it was and still is a big success. We've helped numerous people with their problems quickly, laughed together, discussed ideas and shared cat pictures with over 150 members! A not so long while ago I re-launched a new version of this OC/CC Discord with more properly optimized structuring, clean looks and correct configuration to give you the best experience. This new server is targeted to Minecraft Computer Mods in general. We have CC enthousiasts, OC enthousiasts, and even programmers who just are into Minecraft in general. This Discord is unofficial and not oficially related to ComputerCraft, OpenComputers or RetroComputers. About the server: This server focuses on providing a quick and talkative chat based place for people with interests in ComputerCraft and/or OpenComputers to interact, ask for help, show creations and more. Everyone is welcome here and banning or kicking shouldn't be necessary. Still, some people may push limits and therefore we have to enforce simple rules. Do not harass, excessively insult, act annoying, spam or post malicious content. These rules can be interpreted in a lot of ways, but as long as you don't have malicious intentions, you don't need to worry about it ;). To help you during your stay we've specified a few distinct places to chat, called channels. We provide the following channel structure: INFORMATON - #welcome -> In this text channel you can view relevant information regarding channels, roles and rules. - #news -> This channel wil present you with occasional (important) updates regarding the Computer Modding community. For really rare special events, an @everyone ping may be used. COMPUTERCRAFT - #computercraft -> For discussing anything directly related to ComputerCraft. Here you can ask for help, share ideas and more. OPENCOMPUTERS - #opencomputers -> For discussing anything directly related to OpenComputers. Here you can ask for help, share ideas and more. LISTS AND ADS - #creations -> Here you can advertise your creations for both OC and CC. You should only post one message per creation with a link to a forum post if available. This channel is not for chatting, only for posting! - #resources -> Here you can advertise your creations for both OC and CC. You should only post one message per creation with a link to a forum post if available. This channel is not for chatting, only for posting! OFF-TOPIC - #everything -> For anything, literally anything that is not directly related to ComputerCraft or OpenComputers. You can talk other mods here, or post a picture of your cat. We're still the internet. - #meta -> The meta channel is for anything regarding this Discord itself. Found something wrong, weird or have ideas how this Discord could be better? Share and discuss them here! That are all the text channels. Moreover, there also exists a voice channel voice for those of you who must speak out loud. Joining the Discord server: CLICK HERE TO ENTER THE DISCORD SERVER (as of writing we have 300 members and are still growing!) I hope everyone can benefit from and enjoy their stay in the Discord servers. Idea's, issues and feedback should be posted in the Discord itself! See you there!
  27. 1 point
    I fully back this I just updated mineOs and that has made my old induction matrix monitor program not run again course its made for openOS (originally CC) but now I will have to rewrite it base up (witch I can't be bothered to do) or downgrade to open os for this computer
  28. 1 point
    Make sure that port status is set to "open" (the button in the upper right corner). Iris is opened by sending a wireless signal to SGCX, so the computer must have wireless network card installed (a relay with wireless network card is good to). When dialing to a remote stargate, computer with SGCX must be within the chunk loading range of SGCraft (1 chunk by default). Title updated, thanks for the info. Sure, no problem. You can also include it as an external program - it's hosted on a public GitLab repository and everyone (well.. at least GitLab members) can contribute to it.
  29. 1 point

    Zorya BIOS and Bootloader

    Yea, no problem. I'll also probably add the option to make the zorya-modules and zorya-config folders part of the normal filesystem. Might change how Zorya stores options to specify if it should download the modules or load them from the github repo. But I'll have to test that on my PC since OCEmu locks up when I try to fetch things from HTTPS
  30. 1 point
    That's right! A NoteBlock Studio player! The bane of all multiplayer servers, as I have myself learned. I wrote this first a standalone OpenOS program but I later ported it to work on drones (it loads code from a remote server). Honestly, I just wanted to listen to positive force from VVVVVV and found that nbs is a fairly easy format to parse and play... So I did! And now the server I play on is full of drones playing awful renditions of despacito. I guess I brought this upon myself. Anyway, here is a github repository https://github.com/thekoksus/oc-nbs-player And a video demonstration, where I show both the standalone and drone player (Excuse the weird audio, idk what caused my OBS to record like this): Currently I also am experiencing a weird issue where sometimes the audio skips or repeats but I am unable to fix that. However if you do come up with something, please do open a pull request. So, are you ready to experience the music revolution? (All .lua files published in the repository are released to the public domain. I do not claim rights to songs featured in that repo.) Enjoy :-)
  31. 1 point
    I just finished the first version of bundle - a rc application which virtually merges multiple filesystems into a bigger one. You can use it whenever a RAID full of tier 3 HDD isn't enough for your needs. On the picture above, for example, you can see 10 RAIDs with 30 tier 3 HDDs which yield a virtual HDD that can store over 200MB of data. You can also use filesystems of different size and create files bigger than any of the used filesystems since bundle is capable of storing a file on multiple HDDs. If you encounter any bug, please report it on my github repository. Also check out the wiki page. How to use it First of all you can download it from pastebin (id: TmeSNidd) or my github repository and install the file in the directory for rc script (/etc/rc.d/bundle.lua). Before using it you should configure the constants at the top of the script in accordance with their descriptions. Otherwise Bundle might work incorrectly. Then you need to add some filesystems by executing rc bundle add [address] in the shell. Please replace [address] by the address of the desired filesystem. Doing so wipes the added filesystem. However, Bundle never incorporates filesystems automatically. Next you should allow bundle to run in background by executing rc bundle enable Just reboot the computer and it should be listed by df Note that the label of the first added filesystem and the filesystem provided by Bundle are always equal since that's the way how bundle stores it. You can also view the added filesystems by executing rc bundle list You can also remove added filesystems by rc bundle remove [forcefully] Currently, this just removes the last added filesystem, however. If the removal causes the lose of data this fails except you set [forcefully]. Usage notes Don't install the OS on a Bundle filesystem since Bundle requires some functions of OpenOS. Bundle uses a virtual copy of the file structure. On the one hand this makes "hardware" operations faster, on the other hand it might lead to errors when running out of memory. Bundle works with Lua 5.2 as well as Lua 5.3. Known bugs Seek operations that set the current position to a value that is bigger than the size of the file cause the file the become bigger than its actual physical size. This is also the case on filesystem components of Open Computers but with bundle it might cause internal errors. That is it for now, have fun using Bundle.
  32. 1 point
    @CocoVanChoco The reason the reactor is shutting down is because you enabled "failsafe" - this option doesn't do what you think it does and i advise against using it - it becomes useless after past 11% fuel conversion anyways. The reason your reactor is filling up is because energy can not be transferred away from the core fast enough (if at all)
  33. 1 point

    Help with wireless redstone

    No worries @Molinko. I really appreciate you taking your time to help me with this problem. Thank you.
  34. 1 point

    No Bootable Medium Found

    I need to see how your disk drive is "connected" to this computer
  35. 1 point

    More Cases for OC

    I am working on something similar, it will only be available for 1.8+ and I'm doing this in my free time so it may never get released. However it's almost ready, I will make a post once I get finished!
  36. 1 point

    Big/Extreme reactors issue

    The pastebin link you're trying to use has expired/been deleted/removed. Not sure what one you were trying before but this might be good to look at
  37. 1 point
    I haven't had the pleasure to try this out because I'm on a long road trip, however I love that some wonderful person has made this. I think this could be a great alternative for those who don't like Lua (I<3lua).
  38. 1 point

    Nadeshicodec - 320x200 OC video encoder

    https://git.asie.pl/asie-minecraft/Nadeshicodec Apologies for scarce documentation, it's a bit of a project dump. It has a GUI, however. Feel free to fork and clean it up with the terms of the license in mind.
  39. 1 point
    Ta©ti Tac0Z

    Webhook / POST request

    so i made a little test php script on my website: http://test.noahtg.com/postTest.php you can try to do this: internet.request("http://test.noahtg.com/postTest.php", {p = "steve"}) that should give you (amoung some html code) a list of all post data that got transfered sysesfully
  40. 1 point
    The most efficient way that I know of would probably be double buffering. (The reason for that being the fact that direct GPU calls like set or setForeground take a certain amount of time depending on the tier and a good double buffering API has an algorithm that minimizes the amount of GPU calls) On the other hand I don't know if that's actually necessary for a text editor.
  41. 1 point
    terms: the working directory: "the path that the shell is currently in (eg: if in the shell it says: "/home #" the working directory whould be "/home") file-root (root): "is the root foldire of the virtuel computers filesystem "/" if not chanched in the mods code. all you need to know is that root means "/" your program install/downloads the file on the working directory say for instane i am in "/home" when i start the program the files is going to be installed in that foldire then (eg "/home/0-41-0.mb3d") altho when you are deleteing the files you do not delete them from the working directory (eg: the program is trying to delete: "0-41-0.mb3d" insted of "/home/0-41-0.mb3d". toavoid OC to write the files to the working directory we write "/" infront of all the paths when downloading so we tell the mod to write the files at the root ("/") insted of just the working directory a good practese is to all ways incluce a "/" first sense its not all functions who uses the working direcrtory forintance "fs.remove()" doesn't this is a working version: local c = require("component") local computer = require("computer") local internet = require("internet") local fs = require("filesystem") local p = c.printer3d args = {...} link = "https://raw.githubusercontent.com/LordNocturnus/sf-" folder = "/master/" imax = 0 local TIMEOUT = 4 -- in seconds for i = 0, imax do local url = link .. i .. folder .. "list.txt" local status, connection = pcall(internet.request, url) if not status or not connection then print("Download of " .. url .. " failed.") else local startTime = computer.uptime() while true do local response, isFinished = pcall(connection.finishConnect) if response and isFinished then local f = io.open("list.txt", "wb") -- print(status) -- print(response) print(isFinished) -- print(connection) for chunk in connection do f:write(chunk) end f:close() break elseif computer.uptime() - startTime > TIMEOUT then print("Request to " .. url .. " timed out") os.exit() else os.sleep(0.25) end end end for line in io.lines('list.txt') do print(line) local url = link .. i .. folder .. line .. ".mb3d" local status, connection = pcall(internet.request, url) if not status or not connection then print("Download of " .. url .. " failed.") else local startTime = computer.uptime() while true do local response, isFinished = pcall(connection.finishConnect) if response and isFinished then local f = io.open("/"..line .. ".mb3d", "wb") -- print(status) -- print(response) print(isFinished) -- print(connection) for chunk in connection do f:write(chunk) end f:close() break elseif computer.uptime() - startTime > TIMEOUT then print("Request to " .. url .. " timed out") os.exit() else os.sleep(0.25) end end end cords = {} for i in string.gmatch(line,"([^-]+)") do cords[#cords+1] = tonumber(i) end print(cords[1],cords[2],cords[3]) -- printer(cords[1],cords[2],cords[3]) -- do something with the file file = "/"..string.format("%d-%d-%d.mb3d", cords[1],cords[2],cords[3]) fs.remove(file) print(file) end end i added the tihng i was talking about: adding a "/".. on line 77 and on line 53 am happy to help btw, the 3d files that the program downloads sems to be curupted.
  42. 1 point

    make opencomputers processors faster

    I'm not interested in reading up posts which consist of passive-aggressive comments from the person that created the thread as you seemed not to appreciate the help of others and just cry and complain constantly. Yes I know but the way I understood your tears that I skimmed over I thought you didn't like the fact that the library he gave you only has one buffer and you thought it was a "bug" at first that you had to reboot or something like that. What? The comment you quoted doesn't really clear up or negate what I've said. My comment you've quoted is basically the answer for your quote. Anyway, you don't seem like a person someone can talk to normally. You don't seem to appreciate help from others other than using a solution but still crying about something and answering other posts that don't fit your expectations with passive-aggressive comments so I'm done with you. I recommend you not to post anything on this forum if you plan on being stubborn.
  43. 1 point
    I whould have tryed to save my position in this argument but that point is simply to good You are right (i gave up quteing at this time...) The thread was not related to any program when this thread was made i was still on the CC side of the community i did rellate it to a program later tho with the checker patten thing i made "it was a joke yes" he lied While thinking about hes math was crappy and forgot how many ticks Per secount minecraft haves. No qestions was asked after that, sens the man infront of him sems to be able to read hes mind. "..." the man lost hes apillity to talk, turned around and walked away "the tree post here..." ye i guess my problem was OC's apillity to Update screens and Why there was so aggressive limits in genual (and yes You May not comment this Line please) conclusion: i suck at forums you are right in all most all your points in You lates post i suck at forums ohhh Wait i Ran out of ideas... Why did i make a list...
  44. 1 point
    I have this error help ^^ Conf:
  45. 1 point
    The bug is really simple. To find it, follow through the code line-by-line, analyzing what happens at each line. (This is something I do quite often when debugging an obscure problem.) First, skip the first few dozens of lines until we get to the L65 (short for line 65), where the loop is defined. We then encounter the if block at L68, of which the first branch is actually run (page == "page1" as it was set to this value on L63), resulting in the pageOne call. The next line to examine is L79, where the program stops until it pulls the touch event. Here, I check that the event parameters weren't mixed up. All right, let's go on and press the button. The first condition, on L82, is satisfied (page == "page1", set on L63), so we get the page variable updated to the new value, "page2". But there's more code to run before we loop back! The second condition, on L89. The coodinate mess after the first and evaluates to true. What about page? Well, we've just set it to "page2", so... it, too, yields true. Therefore, the whole condition is satisfied. And the variable is set back to "page1". We loop back, and redraw the first page. This is how we've just spotted the bug. In case you wonder why Event 2 isn't written to the screen: well, it is written. At position (4, 45). You've just mistaken x for y (and vice versa): 4 is the column, 45 is the row. This is clearly beyond the viewport 58×18, so you see nothing actually printed. OK. How should you fix it? It's simple: use elseifs. if (x >= w / 2 - 5 and x <= w / 2 - 5 + 11 and y >= h / 2 - 1 and y <= h / 2 + 1) then if page == "page1" then mon.set(4, 10, "Event 1") table.insert(a, "X") page = "page2" elseif page == "page2" then mon.set(45, 10, "Event 2") page = "page1" end end
  46. 1 point
    I feel like I should add some more information.. Just some things I learned asking around and poking at the OpenOS source. So here it goes. Term "windows" aren't really a feature of the OS, they're kinda hidden, and in my quest to abuse them I learned that at the moment they're kinda 'half baked', although functional. If you look at the `term` library you'll see that a lot of methods take an optional `window` argument but the library lacks a documented way to create or get a new or active pty. Wtf mang. Another tip would be to note that the computer has no preference for screen and/or keyboard proximity, hence why you're in this mess in the first place. So it would be handy to know that the "boot screen" is what will become the "primary" screen component and thus the init process(highest process in the OS) will bind the boot screen and first gpu compatible with that screen. `tty.window` is referenced in `process.info(init_index).data.window` You can see more of this reflected in the concept of primary components and that even extends to the /dev dir... i.e. -- # get the first non-'primary' component of `ctype` local function getSecondary(ctype) -- # dev component/ listings start at 0. Thus /dev/components/by-type/`ctype`/1 is the second gpu.. local fd = assert(io.open('/dev/components/by-type/'..ctype..'/1/address', 'r')) local address = fd:read('*a') fd:close() return address end You could use this in my example above. local component = require "component" local process = require "process" local term = require "term" local function getSecondary(ctype) local fd = assert(io.open('/dev/components/by-type/'..ctype..'/1/address', 'r')) local address = fd:read('*a') fd:close() return address end -- # Get the first non-primary gpu and screen, assuming that this is in a condition where we want to switch the screen... local termGpuAddr, termScrAddr = getSecondary('gpu'), getSecondary('screen') local termGpu = component.proxy(termGpuAddr) termGpu.bind(termScrAddr) local window = term.internal.open() term.bind(termGpu, window) window.keyboard = component.invoke(termScrAddr, 'getKeyboards')[1] local init_index = 1 while true do if process.info(init_index + 1) then init_index = init_index + 1 else break end end process.info(init_index).data.window = window I hope some of this info may save you some time.. Good luck. And feel free to ask away bud
  47. 1 point

    event.pull freezing loop workaround

    event.pull has an optional first argument, a timeout. local name, _, x, y = event.pull(0.1, "touch") if name then -- # name will be nil if event.pull(0.1, ...) times out after 0.1 sec if y == 1 and x < 30 and x > 18 and reactorOnline then r.setActive(false) elseif y == 1 and x < 30 and x > 21 then r.setActive(true) elseif y == 8 and x == 21 or x == 22 then r.setAllControlRodLevels(rodLevel - 10) elseif y == 8 and x == 28 or x == 29 then r.setAllControlRodLevels(rodLevel + 10) end end
  48. 1 point
    Hello! I'm trying to create a program that can know what is being crafted in the ME network. I want to implement this: when you submit a crafting task in the ME terminal, the computer get notified about it and control machines to finish the task. I've read the code in package li.cil.oc.intergration.appeng but seemed to find nothing related. I'll be glad if someone could help me.
  49. 1 point
    1. Require looks if the library has been loaded before and if so it just returns the cached version, otherwise it searches in some predefined paths (usually the current directory, /lib and /usr/lib) for the library, reads the content of the file and uses the load() function to parse and execute the lua code, it caches the returned value from the executed lua / library file (so it is faster if the library is required again) and returns it. You can find the OpenOS implementation in /lib/package.lua 2. You don't have to make any library for a custom filesystem. In theory you can do everything with the filesystem component. But many systems implement a object oriented filesystem api and also a way to mount other filesystem component (like /mnt in OpenOS). Again you can look at OpenOS implementation in /lib/filesystem.lua and /boot/90_filesystem.lua. If you want a custom directory structure you can also do that. OpenOS uses a unix like structure but you can also make your own. If you use Lua BIOS the only requirement is a init.lua in the root directory, but you can also change that by writing a custom BIOS, if you want. EDIT: You might want to add basic programs to list, copy, rename, delete and edit files and directories and also to go to another directory (like "cd").
  50. 1 point
    In his Russian terms of service it says you are now his slave Russian Terms of service Note: I am not responsible for anything you read here Note: This page is in Russian and will need to be translated to English if you are English ------------------------------------------------------------------ From GitHub - Pre translated - By Google Translate Carefully read the terms of this license agreement before installing the operating system. By clicking "Accept", you agree to the following: ● You have to act immediately in the anal slavery to the author this operating system. ● Some of your personal data (user names, passwords pastebin.com sites and vk.com) can be read by others humans and used for personal gain because of your same inattention. ● You agree not to distribute this OS, as well as its individual components under its own copyright mark without copyright. ● Do you accept the fact that the author of the operating system does not bear any responsible for any physical or mental injury, you may suffer by using this OS. ● ... ● Yes whom it **** bro? Legs together, **** in the prick, and forward toward the unknown! In case of disagreement with any of the above claims, you have to press the key combination Ctrl + Alt + C, to complete installer.
  • 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.