Computercraft捆绑的有线电视节目没有响应

时间:2015-10-19 02:39:20

标签: lua computercraft

经过多次修改,我的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

我已经尝试过,但仍然没有回应。我有设置(物理上,如果你可以称之为)正确(捆绑的电缆在右边)并且没有错误消息,但是当关闭'门关闭时#39;参数,电线无响应。

有什么建议吗?谢谢!

1 个答案:

答案 0 :(得分:2)

很可能你想比较字符串:

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