Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local lib = require("lib")
- local pd = peripheral.find("playerDetector")
- local filename = "db.txt"
- local debug = 0
- local username = "Bob"
- function getPlayerName()
- local _player = pd.getPlayersInRange(5)
- -- Get the name of the player in index one of table 'player'
- return _player[1]
- end
- function findPlayer(_player)
- local _file = fs.open(filename,"r")
- local _data = textutils.unserialize(_file.readAll())
- for k,v in pairs(_data) do
- print(k,v)
- if _player == k then print("Found",_player) return true,k,v end
- end
- _file.close()
- return false
- end
- function updatePlayer(_player)
- local _DBfile = fs.open(filename,"r")
- local database = textutils.unserialize(_DBfile.readAll())
- _DBfile.close()
- local _file = fs.open(filename,"w")
- database[_player] = lib.getCurrentDate()
- local _tbl = textutils.serialize(database)
- _file.writeLine(_tbl)
- _file.close()
- end
- -- function updatePlayerDate(_player)
- -- local _DBfile = fs.open(filename,"r")
- -- local database = textutils.unserialize(_DBfile.readAll())
- -- _DBfile.close()
- -- database[_player] = lib.getCurrentDate()
- -- Main Code Begins
- print("Waiting for redstone signal")
- local event = os.pullEvent("redstone") -- Wait for redstone signal
- print("Detected Signal")
- sleep(2)
- local player
- if debug == 1 then
- player = username
- else
- player = getPlayerName()
- end
- print("Detected player:",player)
- -- Find player in db
- if findPlayer(player) then
- local success,k,v = findPlayer(player)
- if v < lib.getCurrentDate() then
- print("Player is able to play, updating date")
- updatePlayer(player)
- -- Update player in db
- else
- print("You've already played today!")
- end
- --print(k,v)
- else
- print("Player not found! Adding player to 'db'...")
- updatePlayer(player)
- -- Player is able to play
- end
- -- If player is found in db, update 'last date played'
- -- If player is not found in db, add player to db
- -- Main Code Ends
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement