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

melanchol_69

Members
  • Content Count

    18
  • Joined

  • Last visited

Posts posted by melanchol_69

  1. Program sneak peak:
    Improved loadfile() function, will be included with every VEB OS/Kernel Product

    local loadfile=function(proxy,mode,path,len)
      if proxy.type=="drive" then
        local ts=proxy.getCapacity()
        if path > 0 and path <= ts then
          if type(len)=="number" and len >=1 then
            local rd=""
            local count=path
            for i=count,len do
              local rv=proxy.readByte(count)
              local rv2=proxy.readByte(count+1)
              local rv3=proxy.readByte(count+2)
              if string.char(rv)=="\0"and string.char(rv2)=="\0"and string.char(rv3)=="\0"then
                break
              elseif count == len then
                rd=rd..string.char(rv)
                break
              else
                rd=rd..string.char(rv)
                count=count+1
              end
            end
            local f1,e1=load(rd)
            if type(f1)=="function" then
              if mode=="r" or mode==1 then
                local s2,e2=pcall(f1)
                if s2 then
                  return e2
                else
                  return false,"Error: Failed to return library: "..e2
                end
              else
                return f1
              end
            else
              return false,"Error: Failed to load function: "..e1
            end
          else
            local rd=""
            local count=path
            for i=count,ts do
              local rv=proxy.readByte(count)
              local rv2=proxy.readByte(count+1)
              local rv3=proxy.readByte(count+2)
              if string.char(rv)=="\0"and string.char(rv2)=="\0"and string.char(rv3)=="\0"then
                break
              elseif count==ts then
                local fv=string.char(rv)
                rd=rd..fv
                break
              else
                local fv=string.char(rv)
                rd=rd..fv
              end
            end
            local f1,e1=load(rd)
            if type(f1)=="function" then
              if mode=="r" or mode==1 then
                local s2,e2=pcall(f1)
                if s2 then
                  return e2
                else
                  return false,"Error: Failed to return library: "..e2
                end
              else
                return f1
              end
            else
              return false,"Error: Failed to load function: "..e1
            end
          end
        else
          return false,"Error: Path out of bounds"
        end
      elseif proxy.type=="filesystem" then
        if type(path)=="string"then
          if proxy.exists(path) and proxy.isDirectory(path)==false then
            local rd=""
            local rs=proxy.size(path)
            local rf=proxy.open(path,"r")
            if type(len)=="number" and len >=1 and len <=rs then
              rd=proxy.read(rf,len)
              proxy.close(rf)
            elseif type(len)=="number" and (len <1 or len >rs) then
              return false,"Error: Length < 1 or > file size"
            else
              rd=proxy.read(rf,rs)
              proxy.close(rf)
            end
            local f1,e1=load(rd)
            if type(f1)=="function" then
              if mode=="r" or mode==1 then
                local s2,e2=pcall(f1)
                if s2 then
                  return e2
                else
                  return false,"Error: Failed to return library: "..e2
                end
              else
                return f1
              end
            else
              return false,"Error: Failed to load: "..e1
            end
          else
            return false,"Error: Path either a directory or invalid"
          end
        else
          return false,"Error: Path Invalid"
        end
      elseif proxy.type=="disk_drive" then
        if proxy.isEmpty() then
          return false,"Error: Disk Drive has no media"
        else
          local rad=proxy.media()
          local rp=com.proxy(rad)
          return loadfile(rp,mode,path,len)
        end
      else
        return false,"Error: Proxy is not a storage medium"
      end
    end

    Feel free to use it if you want, just be careful with run mode

  2. On 6/9/2024 at 6:59 AM, .theros said:

    you could make an installer that pulls it from github

    How would you feel about the OS having well, an activation system?

  3. Ohh, I forgot to mention, it will be on github as a zip folder which's contents you can add to a specified filesystem folder in your savegame

  4. I have created a Mockup of a Potential Operating System for OpenComputers 1.8.x, this OS is based off of the SharePoint and DOS 5 styles.

    Here are some designs:

    1158447185_ShellNetwork.thumb.jpg.6e889ba0570252c3b43f4e6e0dcb938b.jpg2023678709_ShellHome.thumb.jpg.ded30875a250b977fd275d2be9d2d88a.jpg1676096543_ShellApplications.thumb.jpg.3a44e2cbf7cc82ea3b83837b1231cae1.jpg

     

    899671506_ShellManagement.thumb.jpg.99f70f1e3f452f80f23900d192c321a9.jpg362164631_ShellLogin.thumb.jpg.5681ccd4fcb84c6c610e099972527dbb.jpg1100783806_ShellDisconnect.thumb.jpg.bcd4b02f26bb9042e43054fb584d8b95.jpg

     

     

     

     

     

     

     

     

     

     

    2020672572_ShellFiles.thumb.jpg.b17e4ba270b772040160e7c00fd7bb4a.jpgIf you would like to see this become a real OS in OC, please reply.

  5. I think I uploaded Rough Diamond to my Github, however you will have to import it to a Floppy Disk yourself, I don't feel comfortable making a program that rips from pastebin for security.

    https://github.com/melanchol69/VEB-For-Banks/tree/VEB_For_Banks-V0.1.0-Rough_Diamond

    To install it, make a floppy disk in game, add a random file to it and save the file, then go back to the main menu.

    After that, open the world directory and find the address of the floppy disk under the oc folder, insert the contents of the zip folder into the disk and then go back into your world, change your directory to the disk and run setup.lua

    This is called Rough Diamond for a reason, because it's Alpha and Has a few bugs, RC 1.5 is coming along with new features month by month.

  6. VEB For Banks is a yet to be released Banking Program for OpenComputers, it runs on low tier computers but works best with a tier 2 screen. The Program allows you to manage bank accounts and transactions as well as record player banking activity over time. It has an install wizard and is quite automated so u wont need to know much about programming for it to work.

    Computer Requirements:
    Basic Components
    OpenOS (Lua 5x)

    Recommended:
    Tier 2 Components
    Tier 2 Screen and Graphics Card
    OpenOS (Lua 5x)

    Feel free to add comments, I would love recommendations

×
×
  • Create New...

Important Information

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