2017-05-15 3 views
2

os.time()関数から時刻を取得し、それを使ってredstone出力を変更するプログラムを作成しようとしています。再起動すると、プログラムは自動実行に設定されますが、再起動してプログラムを再起動すると、割り込みが発生してコードが再開します。私はすでにリブートせずに時間変数を更新するために、いくつかの場所やフォームでループを試してみましたが、無駄です。どんな助けもありがとう。 (それが動作する場合、私はまだループを持つソリューションに開いている)computercraft/luaプログラムのループが信号出力を維持できない

コード:

shell.run("time") 
x = os.time() 
print(x) 
if x > 18.500 then 
    redstone.setOutput("left", true) 
elseif x < 6.500 then 
    redstone.setOutput("left",true) 
else redstone.setOutput("left",false) 
end 
sleep(2) 
os.reboot() 

答えて

1

は、あなたが(os.rebootを必要とするはずの)、あなたのコードは、単純に次のようになります。

while true 
shell.run("time") 
x = os.time() 
print(x) 
if x > 18.500 then 
    redstone.setOutput("left", true) 
elseif x < 6.500 then 
    redstone.setOutput("left",true) 
else redstone.setOutput("left",false) 
end 
sleep(2) 
end 
+0

ありがとうございます!私は物事を複雑にしていたと思います... –

+0

ゲーム内の時間に基づく照明システムが必要な人は、ComputerCraftのコンピュータを使用した実行可能なソリューションがあります –

関連する問題