This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
X5452's profile picture

Enhanced Portals 3 Dialer help

Started by X5452, 11 March 2014 - 03:57 AM
X5452 #1
Posted 11 March 2014 - 04:57 AM
Hi All.

Im trying to use a computer to control a Enhanced Portals Dialer as seen here. Using the code provided here. http://pastebin.com/AGu2J1Q7


dial = peripheral.wrap("right")
monitor = peripheral.wrap("top")
controller = peripheral.wrap("Portal Controller_0")
portalActive = false
locationCount = 0

function update()
  portalActive = controller.isPortalActive()
  locationCount = dial.getStoredCount()
end

function drawScreen()
  if portalActive then
    monitor.setBackgroundColor(colors.green)
    monitor.clear()
    monW, monH = monitor.getSize()
    monitor.setCursorPos(monW / 2 - string.len("Terminate") / 2, monH / 2)
    monitor.write("Terminate")
  else
    monitor.setBackgroundColor(colors.black) 
    monitor.clear()

    if (locationCount - 1 > 0) then
	  for i = 1, locationCount do
	    monitor.setCursorPos(1, i)
	
	    if (i % 2 == 0) then
		  monitor.setBackgroundColor(colors.gray)
	    else
		  monitor.setBackgroundColor(colors.lightGray)
	    end
  
	    name = dial.getStoredName(i - 1)
	    monW, monH = monitor.getSize()
	
	    monitor.write(name)	 
	    k = string.len(name)
	
	    while (k < monW) do
		  monitor.write(" ")
		  k = k + 1
	    end
	
	  end
    else
	  monitor.setCursorPos(1, 1)
	  monitor.write("No Entries")
    end
  end
end

function handleInput()
  event, side, posX, posY = os.pullEvent("monitor_touch")

  if portalActive then
    dial.terminate()
  else
    if (posY <= locationCount) then
	  dial.dialStored(posY - 1)
    end
  end
end

while true do
  update()
  drawScreen()
  handleInput()
end


Attempting to run the program gives me the following error:

startup:8:Attempt to index ? (a nil value)

I'm assuming this indicates an error on line 8. But I don't know enough to determine what the issue might be. Any help is greatly appreciated.
Lyqyd #2
Posted 11 March 2014 - 04:59 AM
What was the peripheral name of the portal controller when you activated the wired modem that you attached to it? It would have mentioned it in chat.
X5452 #3
Posted 11 March 2014 - 06:45 AM
What was the peripheral name of the portal controller when you activated the wired modem that you attached to it? It would have mentioned it in chat.

Dialing Device_4

Thanks for helping!
Lyqyd #4
Posted 11 March 2014 - 02:25 PM
So, the third line should be changed to use that name instead of Portal Controller_0, in case you didn't know.