LeviM

FileServer

Jan 13th, 2015
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.65 KB | None | 0 0
  1. rednet.open("back")
  2.  
  3. while true do
  4.          id,request = rednet.receive()
  5.          if request == "balance" then
  6.                   id,name = rednet.receive(.5)
  7.                   id,pass = rednet.receive(.5)
  8.                   --#if pass ~= nil or name ~= nil then
  9.                   if pass ~= nil and name ~= nil then
  10.                            --#check if exist
  11.                            if not fs.exists('Accounts/'..name) then return; end
  12.                            local account = fs.open("Accounts/"..name,"r")
  13.                            local accountInfo = {}
  14.                            for line in account.readLine do
  15.                                         accountInfo[#accountInfo+1] = line
  16.                            end
  17.                            account.close()
  18.                            if accountInfo[1] == pass then
  19.                                         rednet.send(id,accountInfo[2])
  20.                            end
  21.                   end
  22.          elseif request == "transfer" then
  23.                   --#got rid of id cause its not being used
  24.                   _,name = rednet.receive(.5)
  25.                   _,pass = rednet.receive(.5)
  26.                   _,to = rednet.receive(.5)
  27.                   _,ammount = rednet.receive(.5)
  28.  
  29.                   --#if name ~= nil or pass ~= nil or to ~= nil or ammount ~= nil then
  30.                   if name ~= nil and pass ~= nil and to ~= nil and ammount ~= nil then
  31.                            --#check if exist
  32.                            if not fs.exists('Accounts/'..name) then return; end
  33.                            if not fs.exists('Accounts/'..to) then return; end
  34.                            local account = fs.open("Accounts/"..name,"r")
  35.                            local accountInfo = {}
  36.                            for line in account.readLine do
  37.                                         print(line)
  38.                                         --#accountInfo[#accountInfo+1] = line  --this one is just preference
  39.                                         table.insert(accountInfo,line)
  40.                            end
  41.                            account.close()
  42.                            if pass == accountInfo[1] then
  43.                                         if fs.exists("Accounts/"..to) == true then
  44.                                                  local tmpPerson = fs.open("Accounts/"..to,"r")
  45.                                                  local personInfo = {}
  46.                                                  for line in tmpPerson.readLine do
  47.                                                           --#personInfo[#personInfo+1] = line  --this one is just preference
  48.                                                           table.insert(personInfo,line)
  49.                                                  end
  50.                                                  tmpPerson.close()
  51.                                                  if tonumber(accountInfo[2]) >= ammount then
  52.                                                           personInfo[2] = tonumber(personInfo[2])+ammount
  53.                                                           print('added '..personInfo[2])
  54.                                                           local person = fs.open("Accounts/"..to,"w")
  55.                                                           --#for i=0, #personInfo do --mainly causing the java error i believe
  56.                                                           for i=1, #personInfo do
  57.                                                                    person.writeLine(personInfo[i])
  58.                                                           end
  59.                                                           person.close()
  60.                                                           local account = fs.open("Accounts/"..name,"w")
  61.                                                           accountInfo[2] = tonumber(accountInfo[2])-ammount
  62.                                                           --#for i=0, #accountInfo do --mainly causing the java error i believe
  63.                                                           for i=1, #accountInfo do
  64.                                                                    --#person.writeLine(accountInfo[i])
  65.                                                                    account.writeLine(accountInfo[i])
  66.                                                           end
  67.                                                           account.close()
  68.                                                           --#person.close() moved higher up
  69.                                                  end
  70.                                         end
  71.                            end
  72.                   end
  73.          end
  74. end
Advertisement
Add Comment
Please, Sign In to add comment