Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- rednet.open("back")
- --[[
- Description:
- Splits a string by spaces.
- Parameters:
- input: The text to split.
- Returns:
- Table
- -The separate words.
- ]]--
- local function splitBySpaces(input)
- local output={} ; i=1
- for str in string.gmatch(input, "([^%s]+)") do
- output[i] = str
- i = i + 1
- end
- return output
- end
- while true do
- local id, message_string = rednet.recieve()
- local message = splitBySpaces(message_string)
- --Get a player's data
- if message[1] == "get_player_data" then
- local datafile = fs.open("playerdata","r")
- local datatable = textutils.unserialize(datafile.readAll())
- datafile.close()
- if datatable[message[2]] then
- rednet.send(id,textutils.serialize(datatable[message[2]]))
- else
- local playerdata = {}
- playerdata["playername"] = message_2
- playerdata["balance"] = 0
- playerdata["terms_accepted"] = false
- rednet.send(id,textutils.serialize(playerdata))
- datatable[message[2]] = playerdata
- datafile = fs.open("playerdata","w")
- datafile.write(textutils.serialize(datatable))
- datafile.close()
- end
- end
- --Set a player's balance
- if message[1] == "set_player_balance" then
- local datafile = fs.open("playerdata","r")
- local datatable = textutils.unserialize(datafile.readAll())
- datafile.close()
- if datatable[message[2]] then
- local playerdata = datatable[message[2]]
- playerdata["balance"] = tonumber(message[3])
- datatable[message[2]] = playerdata
- datafile = fs.open("playerdata","w")
- datafile.write(textutils.serialize(datatable))
- datafile.close()
- else
- local playerdata = {}
- playerdata["playername"] = message[2]
- playerdata["balance"] = tonumber(message[3])
- playerdata["terms_accepted"] = false
- rednet.send(id,textutils.serialize(playerdata))
- datatable[message[2]] = playerdata
- datafile = fs.open("playerdata","w")
- datafile.write(textutils.serialize(datatable))
- datafile.close()
- end
- end
- --Set if a player accepted terms
- if message[1] == "player_accepted" then
- local datafile = fs.open("playerdata","r")
- local datatable = textutils.unserialize(datafile.readAll())
- datafile.close()
- if datatable[message[2]] then
- local playerdata = datatable[message[2]]
- playerdata["terms_accepted"] = true
- datatable[message[2]] = playerdata
- datafile = fs.open("playerdata","w")
- datafile.write(textutils.serialize(datatable))
- datafile.close()
- else
- local playerdata = {}
- playerdata["playername"] = message[2]
- playerdata["balance"] = 0
- playerdata["terms_accepted"] = true
- rednet.send(id,textutils.serialize(playerdata))
- datatable[message[2]] = playerdata
- datafile = fs.open("playerdata","w")
- datafile.write(textutils.serialize(datatable))
- datafile.close()
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement