Corona Posted July 26, 2013 Share Posted July 26, 2013 (edited) Hallo Community, ich hab mich heute daran gewagt, meinen ur alten Autentifikationsautomaten zu renovieren, aber immer wenn ich mein fertiges Programm laufen lassen will, sagt er dass eine Klammer auf Line 49, also "while(reader.readLine() != nil)"fehlt. BITTE helft mir diesen dämlichen Fehler zu suchen! :'( Code: local allowedPlayers = {"Coronaxe","TheWarflash"} while true do local evn, evt = os.pullEvent() --print(evt) if evn == "player" then for i=1,#allowedPlayers do if(allowedPlayers[i] == evt) then --print("Player authenticated: "..evt) local stw = "Player "..evt.." logged in at day "..os.day().." at "..os.time() print(stw) local writer = fs.open("log","a") writer.writeLine(stw) writer.close() timeout = os.startTimer(60) --print(timeout) rs.setOutput("top",true) rs.setOutput("right",true) os.sleep(0.5) else local stw = "Player "..evt.."failed to log in at day "..os.day().." at "..os.time() print(stw) local writer = fs.open("log","a") writer.writeLine(stw) writer.close() rs.setOutput("top",false) rs.setOutput("right",false) end end end if evt == timeout or evn == "redstone" then --print(timeout) rs.setOutput("top",false) rs.setOutput("right",false) os.sleep(0.5) end if evt == "p" then term.clear() term.setCursorPos(1,1) print("Do you want to print the log file? y/n") local ev,key = os.pullEvent("char") if key == "y" then local printer = peripheral.wrap("back") local reader = fs.open("log","r") printer.setCursorPos(1,1) do printer.write(reader.readLine()) local _,y = printer.getCursorPos() printer.setCursorPos(1,y+1) while(reader.readLine() != nil) end end end Edited July 26, 2013 by Corona Link to comment Share on other sites More sharing options...
idk.cpp Posted July 28, 2013 Share Posted July 28, 2013 (edited) Welche Sprachen kannst du noch so... Abgesehen davon, dass das ziemlich episch ist was du da gemacht hast, hast du einen kleinen Fehler gemacht. Alle Sprachen sind nur FAST gleich! In LUA macht das keinen Sinn: while conditionend In C++ würde das so aussehen: do { stuff();} while (condition); In LUA schaut das aber so aus: repeat stuffuntil condition Die Frage die ich mir stelle ist, warum kreidet dir der Parser nicht das "do" an? Probier mal ob es geht wenn du das "do" zu "repeat" und das "while" zu "until" änderst. Edited July 28, 2013 by idk.cpp Link to comment Share on other sites More sharing options...
Corona Posted July 29, 2013 Author Share Posted July 29, 2013 Daran lags nicht, aber ich bin dir trotzdem dankbar, habs schon gelöst (: Link to comment Share on other sites More sharing options...
Jumipa Posted July 30, 2013 Share Posted July 30, 2013 da verstehe ich nur bahnhof und bratkartoffeln ) hmmmmm braaaaatkartoffellnn Link to comment Share on other sites More sharing options...
Corona Posted July 30, 2013 Author Share Posted July 30, 2013 Link to comment Share on other sites More sharing options...
idk.cpp Posted July 30, 2013 Share Posted July 30, 2013 und was wars jetzt eigentlich? Link to comment Share on other sites More sharing options...
Corona Posted July 30, 2013 Author Share Posted July 30, 2013 Dass das Symbol für "Nicht" nicht "!=" ist, sondern "~=" Und die Sache mit dem Repeat, da hattest du recht, hast eh ein Like bekommen Link to comment Share on other sites More sharing options...
idk.cpp Posted July 30, 2013 Share Posted July 30, 2013 Oh, tja das mit "~=" hab ich nicht nachgeschaut.... Da hab ich den selben Fehler gemacht.. Sh*t Danke für das Like Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now