Advertisement
FL1K3R

server side script for CitizenMP SAVE/LOAD system

Jan 7th, 2015
522
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.89 KB | None | 0 0
  1. -- THIS IS SERVER SIDE SCRIPT
  2.  
  3. RegisterServerEvent('savePlayer')
  4. RegisterServerEvent('loadPlayer')
  5.  
  6. AddEventHandler('savePlayer', function(pos_x, pos_y, pos_z, pos_a)
  7.         local playername = GetPlayerName(source, _r)
  8.         local f,err = io.open(playername .. ".account","w")
  9.         if not f then return print(err) end
  10.         f:write(pos_x .. "," .. pos_y .. "," .. pos_z .. "," .. pos_a .. "\n")
  11.         print("SERVER: " .. playername .. ".account has been saved")
  12.         f:close()
  13. end)
  14.  
  15. AddEventHandler('loadPlayer', function()
  16.         local playername = GetPlayerName(source, _r)
  17.         local file = io.open(playername .. ".account", "r")
  18.         if file then
  19.                 io.input(file)
  20.                 local lines = io.read()
  21.                 local parts = lines:Split(",")
  22.                 TriggerClientEvent('updPlayer',source,
  23.                 tonumber(parts[0]),
  24.                 tonumber(parts[1]),
  25.                 tonumber(parts[2]),
  26.         tonumber(parts[3]))
  27.                 print("SERVER: " .. playername .. ".account has been loaded")
  28.         else
  29.                 file = io.open(playername .. ".account","w")
  30.                 file:write("2363.24,403.88,6.08, 90.00") -- type in your DEFAULT spawn coords
  31.                 print("SERVER: " .. playername .. "`s account didn`t found. Creating new account.")
  32.                 TriggerClientEvent('updPlayer',source,2363.24,403.88,6.08,90.00)  -- type in your DEFAULT spawn coords
  33.         end
  34.         io.close(file)
  35. end)
  36.  
  37. function Split(str, pat)
  38.    local t = {}
  39.    local fpat = "(.-)" .. pat
  40.    local last_end = 1
  41.    local s, e, cap = str:find(fpat, 1)
  42.    while s do
  43.       if s ~= 1 or cap ~= "" then
  44.      table.insert(t,cap)
  45.       end
  46.       last_end = e+1
  47.       s, e, cap = str:find(fpat, last_end)
  48.    end
  49.    if last_end <= #str then
  50.       cap = str:sub(last_end)
  51.       table.insert(t, cap)
  52.    end
  53.    return t
  54. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement