ame824 Posted June 8, 2014 Posted June 8, 2014 Guten Tag. Mein Problem ist wie Folgt: Ich bin derzeit dabei ein Verwaltungssystem zu bauen und das erste was es haben soll, ein Funktionierendes Login/Register System aber jetzt kommt der Punkt. Das System macht in Zeile:95 einen Fehler zumindest sagt das der In-Game PC. script:95: attempt to call table os.loadAPI("/rom/apis/encrypt") term.clear() function core() if fs.exists("./GRZ") and fs.isDir("./GRZ") then header() login() else install() end end function install() print("##############################") print("# GRZ-Gamerz AG #") print("# Kontrollzentrum #") print("# #") print("# Installation des Systems #") print("# #") print("# Wollen sie das System #") print("# installieren? (J/N) #") print("##############################") print("") antwort = read("*") if antwort == "J" or antwort == "j" then fs.makeDir("./GRZ") fs.makeDir("./GRZ/users") fs.makeDir("./GRZ/openDoc") fs.makeDir("./GRZ/log") core() elseif antwort == "N" or antwort == "n" then print("Installation abgebrochen!") os.reboot() else print("Du musst J/j oder N/n benutzen!") install() end end function header() print("############################") print("# GRZ-Gamerz AG #") print("# Kontrollzentrum #") print("# #") print("# Herzlich Willkommen! #") print("############################") print("") end function login() term.setTextColor(colors.yellow) print("Bitte geben Sie ihren Namen ein!") term.setTextColor(colors.white) name = read("*") if name == nil then term.setTextColor(colors.red) print("Sie müssen einen Namen angeben") sleep(200) term.clearLine() login() else passwort = nil if fs.exists("./GRZ/users/"..name) and fs.isDir("./GRZ/users/"..name) then term.setTextColor(colors.yellow) print("Bitte geben Sie ihr Passwort ein!") term.setTextColor(colors.white) passwort = read("*") if fs.exists("./GRZ/users/pwd/"..encrypt(passwort,"GRZ-Gamerz")) then term.setTextColor(colors.lime) print("Herzlich Willkommen"..name.."!") shell.setDir("./GRZ/users/"..name) term.clear() sleep(100) header() end else register(passwort,passwort,name) end end end function register(pw1,pw2,name) if pw1 == nil then term.setTextColor(colors.yellow) print("Sie haben noch kein Benutzer-Konto!") print("Bitte geben sie ein Passwort ein!") term.setTextColor(colors.white) pw1 = read("*") register(pw1,pw2) elseif pw2 == nil and pw1 ~= nil then term.setTextColor(colors.yellow) print("Nun geben Sie das Passwort erneut ein!")-- <------ term.setTextColor(colors.white) pw2 = read("*") register(pw1,pw2) elseif pw1 == pw2 then enc = encrypt(pw1,"GRZ-Gamerz") fs.makeDir("./GRZ/users/"..name) fs.makeDir("./GRZ/users/"..name.."/documents") fs.makeDir("./GRZ/users/"..name.."/pwd") fs.makeDir("./GRZ/users/"..name.."/files") fs.makeDir("./GRZ/users/"..name.."/programs") fs.makeFile("./GRZ/users/"..name.."/pwd/"..enc) fs.makeFile("./GRZ/users/"..name.."/pwd/dontRemoveThis") shell.setDir("./GRZ/users/"..name) term.setTextColor(colors.lime) print("Herzlich Willkommen "..name.."! Viel Spaß mit dem System!") term.setTextColor(colors.white) sleep(300) term.clear() sleep(100) header() elseif pw1 ~= pw2 then term.setTextColor(colors.red) print("Die Passwoerter sind nicht die gleichen") register(nil,nil) end end core() Ich hoffe ihr könnt mir weiter helfen mfg ame824
Corona Posted June 8, 2014 Posted June 8, 2014 Du machst nirgends was mit tables, das wird ein interner Bug sein, hatte ich auch schon mal. portiere alles mal auf einen komplett neuen Computer und probiers erneut. BTW: diese crypto-API, wie sieht die aus? ist die von dir?
ame824 Posted June 9, 2014 Author Posted June 9, 2014 (edited) Nich direkt ich hab ein Funktionierendes Encrypt gesucht ... und komplett wie sie ist als API gemacht Warum? muss ich da was zu schreiben? Wenn ich wüsste wie ich soeine mache dann Mach ich mir die später selbst bin noch in der anfängerphase des Lua Programming #Neues Erfahren Das war das Encrypt was den scheiß gemacht hat aber jetzt hab ich das Problem das der mir den Namen aus der Login-Funk nicht in die Register rein tut obwohl ich das ja mit register(passwort,passwort,name) mache Ich habe des Jetzt Was ich im login mit passwort,passwort,name mache muss ich auch in der register func machen (pw1, pw2) Edited June 9, 2014 by ame824
Corona Posted June 9, 2014 Posted June 9, 2014 Ich bräuchte so eine Crypto-API, nutze im Moment das Peripheral von Immibis, um meine Sachen zu Ciphern (:
ame824 Posted June 12, 2014 Author Posted June 12, 2014 (edited) Ich weiß nicht ob ich diesen Link posten darf (Computercraft Forum) Da issn Crypto API habs nich getestet mach ich später jetzt bin ich grad an dem Hauptprogramm was ich eigendlich steuern wollte und da ist mir ein Problem zuerst einmal : Ich Steuere diverse Redstoneausgänge (Bundled Cable) über zahlen 1-6 und nun möchte ich diese auch benutzen aber der computer schmeißt mich immer zu meiner Fehlermeldung: "ungueltige Eingabe" Hier is der Code da seht ihr meine Meldung wenn ihr nicht wisst was ich meine function main() while true do term.clear() term.clearLine() print("##############") print("# Status #") print("##############") print("") print("") print("EU-Leitungen: "..leitEUstat.." | EU-Kraftwerk: "..kwEUstat) print("MJ-Leitungen: "..leitMJstat.." | MJ-Kraftwerk: "..kwMJstat) print("Erzschmelze: "..erzSchmelzStat) print("") print("Druecke diese Tasten um den Status zu aendern") print("1 - EU Leitungen") print("2 - EU Kraftwerk") print("3 - MJ Leitungen") print("4 - MJ Kraftwerk") print("5 - Erzschmelze") print("6 - Beenden") local event, key = os.pullEvent("char") if key == keys.getName("6") then if(erzSchmelzStat == "aus") then erzschmelze(an) else erzschmelze(aus) end break elseif key == keys.getName("2") then if(leitEUstat == "aus") then EUleitung(an) else EUleitung(aus) end break elseif key == keys.getName("3") then if(kwEUstat == "aus") then EUkw(an) else EUkw(aus) end break elseif key == keys.getName("4") then if(leitMJstat == "aus") then MJkw(an) else MJkw(aus) end break elseif key == keys.getName("5") then if(kwMJstat == "aus") then MJkw(an) else MJkw(aus) end break elseif key == keys.getName("7") then break else print("Eingabe ungueltig!") sleep(2) main() end endendmain() mitkeys.one, keys.two und so weiter hab ich es auch schon versucht Edited June 12, 2014 by ame824
Corona Posted June 12, 2014 Posted June 12, 2014 Ist in der neuesten CC Version der Support für die ProjRed Bundled schon drin?
ame824 Posted June 12, 2014 Author Posted June 12, 2014 (edited) ehm... Ich hab früher mal mit meinem bruder des gemacht und die Bundles haben funktioniert und da war computercraft noch so das man die rom in der appdata hatte und nicht im archiv #edit ja klar am anfang meinses scriptes steuert das script ja schon eins meiner redstoneleitungen an os.loadAPI("/rom/apis/keys") c = 0 an = "on" aus = "off" kwEUstat = "aus" kwMJstat = "aus" leitEUstat = "aus" leitMJstat = "aus" erzSchmelzStat = "aus" c = colors.combine(c, colors.lightBlue) rs.setBundledOutput("top", c) print("System wurde geladen!") sleep(3) mir gehts ja ehr drum warum die keys_ nicht gehen ... Edited June 12, 2014 by ame824
Corona Posted June 12, 2014 Posted June 12, 2014 du kriegst mit pullEvent("char") bereits "6" raus. du musst also nur noch if key == "6" machen, nicht keys.getName("6") (;
ame824 Posted June 13, 2014 Author Posted June 13, 2014 Trotzdem erkennt der mir das nicht an ..... Warum nur local event, key = os.pullEvent("char") if key == "6" then if(erzSchmelzStat == "aus") then erzschmelze(an) else erzschmelze(aus) end break usw.
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