Minecraft Computercraft Rednet.broadcast() 没有传递正确的值



完整的代码本身非常复杂、冗长,而且是新手编写的;我正试图通过红网将x和z坐标从计算机发送到一个单独的接收器乌龟。

接收器

rednet.broadcast("Awaiting Input!")
xAxis = rednet.receive() --Have tried tonumber(rednet.receive()) on both same result
zAxis = rednet.receive()
rednet.broadcast(xAxis) --Both values return 2 regardless of what I enter in the sender.
rednet.broadcast(zAxis)

发送器

if(irrelevant == "genericstringhere") then
print(rednet.recieve()) --Awaiting Input!
io.write("X Axis: ") --Pizzaz
message = io.read() --Have tried using terms like X and xAxis.
rednet.broadcast(message) --Broadcast whatever tf I typed in.
sleep(0.3)
io.write("Z Axis: ") --More Pizzaz
message = io.read() --Have tried using terms like Z or zAxis
rednet.broadcast(message) --Broadcast whatever tf I typed in. again.
print(rednet.receive()) --Receive xAxis value from sender.
print(rednet.receive()) --Receive zAxis value from sender.
end

执行结束时的两个结果都返回2,而不是在io.read()中输入的值I。我已经尝试过tonumber()tostring()和两者的每一种组合,但我似乎无法使其发挥作用。

根据rednet.receive:的文档

返回 号码发送方ID,任何消息,字符串协议

您看到的2是发件人ID,而不是邮件。代替xAxis = rednet.receive(),执行senderId, xAxis = rednet.receive(),类似地,对于其他任何位置,都可以指定其值。(如果你想知道print为什么在消息之前给你显示数字,那就是为什么。(

最新更新