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

Wireless Modem Messaging System

Started by wadeywoo, 13 June 2014 - 04:16 PM
wadeywoo #1
Posted 13 June 2014 - 06:16 PM
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 #2
Posted 13 June 2014 - 06:35 PM
Moved to Ask a Pro.
Dog #3
Posted 13 June 2014 - 06:40 PM
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 on 13 June 2014 - 05:58 PM