←  Ask a Pro

ComputerCraft | Programmable Computers for Minecraft


Wireless Modem Messaging System

wadeywoo's Photo wadeywoo 13 Jun 2014

So, recently I've been trying to make a messaging system but I have a dilemma, wireless modems can only transmit 64 blocks and that is where a relay is used, to relay a message from one computer to another over long distances, but my program won't work. It says Unexpected Number when I am giving it the number as a variable.

  • modem = peripheral.wrap("right")

  • modemback = peripheral.wrap("left")

  • modem.closeAll()

  • modemback.closeAll()

  • while true do

  • modem.open(1)

  • event, modemSide, senderChannel, replyChannel, message, senderDistance = os.pullEvent("modem_message")

  • senderChannel = senderChannel + 1

  • modemback.open(senderChannel)

  • print(senderChannel)

  • print(replyChannel)

  • print(message)

  • modemback.transmit(senderChannel..replyChannel..message)

  • end

Lyqyd's Photo Lyqyd 13 Jun 2014

Moved to Ask a Pro.

Dog's Photo Dog 13 Jun 2014

A quick look at your code shows you are concatenating your modem transmit info which is not what you want to do - the data should be comma separated.

change this

to this

Also, you're opening the modem channel every time you iterate through your loop - you should move your 'modem.open' line above the loop so you aren't wasting computing time/power re-opening an already open channel over and over.
Edited by Dog, 13 June 2014 - 06:58 PM.