←  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
Quote

Lyqyd's Photo Lyqyd 13 Jun 2014

Moved to Ask a Pro.
Quote

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
modemback.transmit(senderChannel..replyChannel..message)

to this
modemback.transmit(senderChannel,replyChannel,message)

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.
Quote