Jump to content

Computercraft- HIIILFEEEEE!


Corona

Empfohlene Beiträge

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

bearbeitet von Corona
Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

bearbeitet von idk.cpp
Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...
B
B