检查 computercraft Lua 代码以操作一扇门
Checking computercraft Lua code to operate a door
我正在用一些自定义模组制作一个金库,我正在使用计算机控制门,但我只能打开门而不能关闭。这个代码对吗?
term.setTextColor(colors.yellow)
print("Vault-Tec Door Computer")
term.setTextColor(colors.white)
print("What Command Would You Like To Do?")
term.setTextColor(colors.blue)
print("Vault.Open")
print("Vault.Close")
print("")
term.setTextColor(colors.white)
io.write("Vault-Tec:")
io.close()
if io.read()=="Vault.Open" then
term.setTextColor(colors.red)
print("VAULT DOOR OPENING, PLEASE STAND BACK")
term.setTextColor(colors.white)
redstone.setAnalogOutput("bottom", 0)
sleep(5)
end
if io.read()=="Vault.Close" then
term.setTextColor(colors.red)
print("SHUTTING VAULT DOOR, PLEASE STAND BACK")
term.setTextColor(colors.white)
redstone.setAnalogOutput("bottom", 15)
sleep(5)
end
您的第一个 if 语句调用 io.read()
并读取键入的任何内容并将其与 Vault.Open
进行比较。您的下一个 if 语句读取 键入的下一个内容 并将其与 Vault.Close
进行比较。您应该只读取一次输入的内容并将其存储在一个变量中,然后您可以在多个地方使用该值。
.....
local valutStatus = io.read()
if valutStatus == "Vault.Open" then
term.setTextColor(colors.red)
print("VAULT DOOR OPENING, PLEASE STAND BACK")
term.setTextColor(colors.white)
redstone.setAnalogOutput("bottom", 0)
sleep(5)
end
if valutStatus == "Vault.Close" then
term.setTextColor(colors.red)
print("SHUTTING VAULT DOOR, PLEASE STAND BACK")
term.setTextColor(colors.white)
redstone.setAnalogOutput("bottom", 15)
sleep(5)
end
我正在用一些自定义模组制作一个金库,我正在使用计算机控制门,但我只能打开门而不能关闭。这个代码对吗?
term.setTextColor(colors.yellow)
print("Vault-Tec Door Computer")
term.setTextColor(colors.white)
print("What Command Would You Like To Do?")
term.setTextColor(colors.blue)
print("Vault.Open")
print("Vault.Close")
print("")
term.setTextColor(colors.white)
io.write("Vault-Tec:")
io.close()
if io.read()=="Vault.Open" then
term.setTextColor(colors.red)
print("VAULT DOOR OPENING, PLEASE STAND BACK")
term.setTextColor(colors.white)
redstone.setAnalogOutput("bottom", 0)
sleep(5)
end
if io.read()=="Vault.Close" then
term.setTextColor(colors.red)
print("SHUTTING VAULT DOOR, PLEASE STAND BACK")
term.setTextColor(colors.white)
redstone.setAnalogOutput("bottom", 15)
sleep(5)
end
您的第一个 if 语句调用 io.read()
并读取键入的任何内容并将其与 Vault.Open
进行比较。您的下一个 if 语句读取 键入的下一个内容 并将其与 Vault.Close
进行比较。您应该只读取一次输入的内容并将其存储在一个变量中,然后您可以在多个地方使用该值。
.....
local valutStatus = io.read()
if valutStatus == "Vault.Open" then
term.setTextColor(colors.red)
print("VAULT DOOR OPENING, PLEASE STAND BACK")
term.setTextColor(colors.white)
redstone.setAnalogOutput("bottom", 0)
sleep(5)
end
if valutStatus == "Vault.Close" then
term.setTextColor(colors.red)
print("SHUTTING VAULT DOOR, PLEASE STAND BACK")
term.setTextColor(colors.white)
redstone.setAnalogOutput("bottom", 15)
sleep(5)
end