【问题标题】:Computercraft bundled cable program not respondingComputercraft 捆绑的电缆程序没有响应
【发布时间】:2015-10-19 21:58:24
【问题描述】:

经过多次修改,我的 Lua 程序仍然拒绝执行任何操作。

--Let's Go!
--Program Infos
--Mappings
--Pink: Gate 1
--Red: East Tower 2
--Orange: West Tower 3
--Lime: Armoury 4
--Blue: Master Bedroom 5
--Grey: Guest Bedroom 6
--Cyan: Power Generation 7

--arbitrary variables
-- c is the variable for adding and subtracting. keeps track of what is CURRENTLY ACTIVE.
--Beginning values


--Start out with listening for arguments
local args = {...}
arg1=args[1]
arg2=args[2]

--Where are our outputs?
local towere = colors.red
local towerw = colors.orange
local gate = colors.pink
local armoury = colors.lime
local mstr = colors.blue
local guest = colors.grey
local power = colors.cyan
--bundled outputs
local output = "right"



-- ADD AND SUBTRACT MAKE LIFE EASIER CODE
--Courtesy of @Kingdaro on Computercraft Fourm (adapted for practical use in project)
--Original Link: http://www.computercraft.info/forums2/index.php?/topic/7641-redpower-bundled-cable/

--How to close a door
function close(door)
local input = rs.getBundledOutput("right")
rs.setBundledOutput("right", colors.combine(input, door))
end

function open(door)
local input = rs.getBundledOutput("right")
rs.setBundledOutput("right", colors.subtract(input, door))
end

--Make a good base for closing/opening things
--Basically, Functions Galore.

--GATE CONTROLS
function gateclose()
rs.setOutput(top, true)
wait(1)
rs.setOutput(top, false)
close(colors.pink)
end
function gateopen()
open(colors.pink)
end


--Beef of the program
--Start out with all doors open

if args[1] == gate and args[2] == open then --if the command is gate open
gateopen()
elseif args[1] == gate and args[2] == close then --if the command is gate close
gateclose()
end

我试了又试,还是没有反应。我的设置(物理上,如果你可以这么称呼的话)正确(捆绑的电缆在右侧)并且没有错误消息,但是当使用“门关闭”参数运行时,电线没有响应。

有什么建议吗?谢谢!

【问题讨论】:

    标签: lua computercraft


    【解决方案1】:

    很可能你想比较字符串:

    if args[1] == "gate" and args[2] == "open" then --if the command is gate open
        gateopen()
    elseif args[1] == "gate" and args[2] == "close" then --if the command is gate close
        gateclose()
    end
    

    【讨论】:

    • @RTB779500 如果回复有帮助,请将其标记为答案,这样问题就不会出现在未回答的问题列表中。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-24
    • 2018-05-30
    • 2023-03-16
    • 2014-06-18
    • 1970-01-01
    • 2014-01-02
    • 2020-12-27
    相关资源
    最近更新 更多