Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local Contact = {}
- local Protocol = "1200"
- function Balance(Account,t,Amount)
- local file = fs.open(fs.combine("accounts/",Account),"a")
- local Bal = file.readLine()
- if Bal + (Amount * t) >= 0 then
- file.setCursorPos(1,1)
- file.clear()
- Bal = Bal + (Amount * t)
- file.write(Bal)
- file.close()
- return("success!")
- else
- file.close()
- return("failed")
- end
- end
- function Transfer(Account,Amount,Target)
- local TarChange = Amount * -1
- local Acc1 = fs.open(fs.combine("accounts/",Account),"a")
- local Acc2 = fs.open(fs.combine("accounts/",Target),"a")
- local BaseAcc = textutils.unserialize(Acc1.readAll())
- local TarAcc = textutils.unserialize(Acc2.readAll())
- if BaseAcc + Amount > 0 and TarAcc + TarChange > 0 then
- BaseAcc = BaseAcc + Amount
- TarAcc = TarAcc + TarChange
- Acc1.clear()
- Acc1.write(BaseAcc)
- Acc1.close()
- Acc2.clear()
- Acc2.write(TarAcc)
- Acc2.close()
- return("success!")
- else
- Acc1.close()
- Acc2.close()
- return("failed")
- end
- end
- function Loop()
- local protocol, message, id
- repeat
- protocol, message, id = rednet.receive()
- until protocol == Protocol
- Details = {message}
- if Details[4] == "withdraw" then
- rednet.send(id,Balance(Details[1],-1,Details[5]),Protocol)
- elseif Details[4] == "deposit" then
- rednet.send(id,Balance(Details[1],1,Details[5]),Protocol)
- elseif Details[4] == "transfer" then
- rednet.sent(id,Transfer(Details[1],Details[5],Details[6]),Protocol)
- elseif Details[4] == "createAccount" then
- local D = fs.open(fs.combine("accounts/",Details[1]),"w")
- D.writeLine(0)
- D.close()
- elseif Details[4] == "details" then
- local file = fs.open(fs.combine("accounts",Details[1]),"r")
- rednet.send(id,textutils.unserialize(file.readLine()),Protocol)
- elseif Details[4] == "Login_Request" then
- local R = true
- if fs.exists(fs.combine("accounts",Details[1])) then
- R = true
- else
- R = false
- end
- rednet.send(id,R,Protocol)
- end
- Loop()
- end
- if fs.exists("accounts") then
- else
- fs.makeDir("accounts")
- end
- rednet.open("back")
- rednet.host("1200","banking_public2_server_1")
- Loop()
Add Comment
Please, Sign In to add comment