Hakz_Studioz 0 Posted March 12, 2020 Share Posted March 12, 2020 Can you please help tell me what I did wrong in my if then loop? Thank you, and have a good day Here’s the code (by the way,I’m using a microcontroller): local rs = component.proxy(component.list(“redstone”)()) Local wr = component.proxy(component.list(“modem”)()) wr.open(2110) local x,w,a,d,f,sent = computer.pullSignal() rs.setOutput(3,100) #output to front while true do if sent = “enon” then rs.setOutput(3,100) elseif sent = “enoff” then rs.setOutput(3,0) elseif computer.energy() < 150 then rs.setOutput(3,0) end end the error was “failed loading bios: bios:8: then expected near =“ where exactly? Again, thank you. Quote Link to post Share on other sites
0 Fictitious Rotor 2 Posted April 6, 2020 Share Posted April 6, 2020 local rs = component.proxy(component.list(“redstone”)()) Local wr = component.proxy(component.list(“modem”)()) --[[ ^ capital letter not allowed! Use 'local' ]] wr.open(2110) local x,w,a,d,f,sent = computer.pullSignal() rs.setOutput(3,100) #output to front --[[ ^ this is a shell comment - lua will try (and fail) to parse this! Learn about Lua comments here: https://www.lua.org/pil/1.3.html ]] while true do if sent = “enon” then --[[ ^ here you've missed the distinction between '=' and '=='. While '=' is an assignment operator (such as "local a = 4") then '==' is an equality expression (such as "if sent == 'enon'") The distinction is made to prevent you from accidentally doing one when you meant the other. ]] rs.setOutput(3,100) elseif sent = “enoff” then --[[ ^ don't forget to fix this one too ]] rs.setOutput(3,0) elseif computer.energy() < 150 then rs.setOutput(3,0) end --[[ ^ you were missing an 'end' here but it was hard to tell until I added indentation. Giving the program some shape makes it easier to spot grammatical mistakes like these ]] end -- I've also removed a lot of the whitespace between each of your lines of code. Bringing it closer together makes it easier to comprehend. I've taken your code, changed the whitespace a little and annotated it with all the mistakes I spotted. Hopefully you'll be able to fix up the code yourself! Also something to beware when pasting code raw - the forum exchanges some symbols to make them more aesthetically pleasing, but this breaks your code - use the "code" button in the editor instead! Hope this helps Quote Link to post Share on other sites
0 Lockl00p 0 Posted April 6, 2020 Share Posted April 6, 2020 Thank you, my friend. Quote Link to post Share on other sites
Can you please help tell me what I did wrong in my if then loop? Thank you, and have a good day
Here’s the code (by the way,I’m using a microcontroller):
local rs = component.proxy(component.list(“redstone”)())
Local wr = component.proxy(component.list(“modem”)())
wr.open(2110)
local x,w,a,d,f,sent = computer.pullSignal()
rs.setOutput(3,100)
#output to front
while true do
if sent = “enon” then
rs.setOutput(3,100)
elseif sent = “enoff” then
rs.setOutput(3,0)
elseif computer.energy() < 150 then
rs.setOutput(3,0)
end
end
the error was “failed loading bios: bios:8: then expected near =“
where exactly?
Again, thank you.
Link to post
Share on other sites