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

redstorm64

Members
  • Content Count

    12
  • Joined

  • Last visited

Posts posted by redstorm64

  1. I've got a simple program that won't run due to an apparent missing "end" somewhere in the code.  I've looked over the code a ridiculous number of times and can't find anything wrong with it.  Hoping somebody is willing to review my code quick to see if I've missed something.  I'm hoping I've just overlooked something simple.

     

    I've run the program successfully in parts, with everything included except for the first if statement (line 28 thru 86).  As soon as I add that section, I get an error looking for an 'end' to close the while loop at line 17 [see attached].

    local component = require("component")
    local modem = component.modem
    local term = require("term")
    local event = require("event")
    
    local prgms = {"move to","home","unready","reportPos","exit"}
    
    local port = 100
    print("Starting Robot Commander...")
    print("Opening port "..port.."...")
    modem.open(port)
    print("Port "..port.." open: :"..tostring(modem.isOpen(port)))
    os.sleep(1)
    
    local select = 0
    
    while prgms[select] ~= "exit" do
    
      print("\n\nRobot Commander\n")
      print("1) Move robot to...")
      print("2) Send robot home")
      print("3) Exit robot ready state\n   (unable to restart remotely)")
      print("4) Report robot position")
      print("5) Exit Robot Commander\n")
    
      select = tonumber(io.read())
    
      if prgms[select] == "move to" then
    
        local mode
        local valid = false
    
        while valid == false do
    
          print("\n(R)elative or (absolute) movement?")
          mode = io.read()
      
          if mode == "r" or mode == "R" then
            print("Enter x-distance:")
            xTarget = io.read()
            print("Enter y-distance:")
            yTarget = io.read()
            print("Enter z-distance:")
            zTarget = io.read()
            valid = true
    
          elseif mode == "a" or mode == "A" then
            print("Enter x-target:")
            xTarget = io.read()
            print("Enter y-target:")
            yTarget = io.read()
            print("Enter z-target:")
            zTarget = io.read()
            valid = true
      
          else
            print("Error: Must enter 'a' or 'r' for mode...\n")
          end
    
        end
    
        valid = false
        while valid == false do
    
          print("\nMode\tx\ty\tz")
          print(tostring(mode).."\t"..xTarget.."\t"..yTarget.."\t"..zTarget)
          print("Send command?  ('y' or 'n')")
          option = io.read()
    
          if option == "y" or option == "Y" then
            modem.broadcast(100,1,xTarget,yTarget,zTarget,tostring(mode))
            print("Command sent")
            valid = true
      
          elseif option == "n" or option == "N" then
            print("Please re-select command.")
            valid = true
    
          else
            print("Error: Must enter 'y' or 'n'")
    
          end
    
        end
    
      end
    
      if prgms[select] == "home" then
        modem.broadcast(port,2)
      end
    
      if prgms[select] == "unready" then
        modem.broadcast(port,3)
      end
    
      if prgms[select] == "reportPos" then
        local pos = {}
        modem.broadcast(port,4)
        pos = {event.pull(10,"modem")}
        print(pos[6].." "..pos[7].." "..pos[8])
        print("press any key to continue")
        os.sleep(3)
        io.read()
      end
    
      if prgms[select] == "exit" then
        print("Exiting Robot Commander...")
        os.sleep(1)
      end
    
    end
    

    post-703-0-93551800-1415918829_thumb.png

  2. Anybody else having issues where their robot(s) keep disappearing?   I've had it happen several times just while commanding the robot to move around.  The first time it disappeared it randomly showed up again several minutes later.  The last 2 times it never came back.  Very frustrating in smp...   :(     Any way this can be fixed?  I'm running on 1.4.0.6-rc.1.

  3.  

    Your problem is is that the second argument to shell.execute is the environment to run the program in. You are probably looking for os.execute, which doesn't pull shenanigans like this. You give os.execute one string, which is the program name followed by the arguments, the same as in the shell.

    os.execute("prgm_name arg1 arg2")
    

     

    Exactly what I was looking for.  Program is working great now, thank you!    :)

  4. I'm wondering how to call a program from within another program and pass it arguments.  I've gotten close by using the "shell.execute()" command but once it get into the 2nd program it get's a bit unhappy...   It doesn't like that I'm "requiring" things at again in the 2nd program...  Is there another command I should be using instead of "shell.execute()"?

     

    Here is how I'm using it currently:

    shell.execute("prgm_name",{arg1,arg2})
    
  5. I'm new to OC and am wondering if I'm using the charger block wrong or if there is a bug.  Basically, the charger block for charging robots won't stay active after a robot is charged.  Even with a constant redstone signal (and IC2 power), the second time I try to recharge a robot, nothing happens.  In order to make it work I have to break the charger block and replace it.  Something I'm doing wrong?

     

    Loving the mod so far though!!

×
×
  • Create New...

Important Information

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