1

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

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

有什么建议么?谢谢!

4

1 回答 1

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
于 2015-10-19T13:58:24.630 回答