Advertisement
Guest User

Untitled

a guest
May 23rd, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.11 KB | None | 0 0
  1. AddEventHandler("playerConnecting",function(name,setMessage, deferrals)
  2. deferrals.defer()
  3.  
  4. local source = source
  5. Debug.pbegin("playerConnecting")
  6. local ids = GetPlayerIdentifiers(source)
  7. local ip = GetPlayerEndpoint(source)
  8.  
  9. if ids ~= nil and #ids > 0 then
  10. deferrals.update("[vRP] Checking identifiers...")
  11. vRP.getUserIdByIdentifiers(ids, function(user_id)
  12. vRP.getPlayerEndpoint(source)
  13. -- if user_id ~= nil and vRP.rusers[user_id] == nil then -- check user validity and if not already connected (old way, disabled until playerDropped is sure to be called)
  14. if user_id ~= nil then -- check user validity
  15. deferrals.update("[vRP] Checking banned...")
  16. vRP.isBanned(user_id, function(banned)
  17. if not banned then
  18. deferrals.update("[vRP] Checking whitelisted...")
  19. vRP.isWhitelisted(user_id, function(whitelisted)
  20. if not config.whitelist or whitelisted then
  21. Debug.pbegin("playerConnecting_delayed")
  22. if vRP.rusers[user_id] == nil then -- not present on the server, init
  23. -- init entries
  24. vRP.users[ids[1]] = user_id
  25. vRP.rusers[user_id] = ids[1]
  26. vRP.user_tables[user_id] = {}
  27. vRP.user_tmp_tables[user_id] = {}
  28. vRP.user_sources[user_id] = source
  29.  
  30. -- load user data table
  31. deferrals.update("[vRP] Loading datatable...")
  32. vRP.getUData(user_id, "vRP:datatable", function(sdata)
  33. local data = json.decode(sdata)
  34. if type(data) == "table" then vRP.user_tables[user_id] = data end
  35.  
  36. -- init user tmp table
  37. local tmpdata = vRP.getUserTmpTable(user_id)
  38.  
  39. deferrals.update("[vRP] Getting last login...")
  40. vRP.getLastLogin(user_id, function(last_login)
  41. tmpdata.last_login = last_login or ""
  42. tmpdata.spawns = 0
  43.  
  44. -- set last login
  45. local ep = vRP.getPlayerEndpoint(source)
  46. local last_login_stamp = ep.." "..os.date("%H:%M:%S %d/%m/%Y")
  47. MySQL.execute("vRP/set_last_login", {user_id = user_id, last_login = last_login_stamp})
  48.  
  49. -- trigger join
  50. print("[vRP] "..name.." ("..vRP.getPlayerEndpoint(source)..") joined (user_id = "..user_id..")")
  51. TriggerEvent("vRP:playerJoin", user_id, source, name, tmpdata.last_login)
  52. deferrals.done()
  53. end)
  54. end)
  55. else -- already connected
  56. print("[vRP] "..name.." ("..vRP.getPlayerEndpoint(source)..") re-joined (user_id = "..user_id..")")
  57. TriggerEvent("vRP:playerRejoin", user_id, source, name)
  58. deferrals.done()
  59.  
  60. -- reset first spawn
  61. local tmpdata = vRP.getUserTmpTable(user_id)
  62. tmpdata.spawns = 0
  63. end
  64.  
  65. Debug.pend()
  66. else
  67. print("[vRP] "..name.." ("..vRP.getPlayerEndpoint(source)..") rejected: not whitelisted (user_id = "..user_id..")")
  68. deferrals.done("[vRP] Not whitelisted (user_id = "..user_id..").")
  69. end
  70. end)
  71. else
  72. print("[vRP] "..name.." ("..vRP.getPlayerEndpoint(source)..") rejected: banned (user_id = "..user_id..")")
  73. deferrals.done("[vRP] Banned (user_id = "..user_id..").")
  74. end
  75. end)
  76. else
  77. print("[vRP] "..name.." ("..vRP.getPlayerEndpoint(source)..") rejected: identification error")
  78. deferrals.done("[vRP] Identification error.")
  79. end
  80. end)
  81. elseif ids == nil or ip == "0.0.0.0" then
  82. print("[vRP] "..name.." ("..vRP.getPlayerEndpoint(source)..") rejected: missing identifiers")
  83. deferrals.done("[vRP] Missing identifiers.")
  84. DropPlayer(source, "Steam is required. Please start Steam and relaunch FiveM.")
  85. end
  86. Debug.pend()
  87. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement