Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- AddEventHandler("playerConnecting",function(name,setMessage, deferrals)
- deferrals.defer()
- local source = source
- Debug.pbegin("playerConnecting")
- local ids = GetPlayerIdentifiers(source)
- local ip = GetPlayerEndpoint(source)
- if ids ~= nil and #ids > 0 then
- deferrals.update("[vRP] Checking identifiers...")
- vRP.getUserIdByIdentifiers(ids, function(user_id)
- vRP.getPlayerEndpoint(source)
- -- 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)
- if user_id ~= nil then -- check user validity
- deferrals.update("[vRP] Checking banned...")
- vRP.isBanned(user_id, function(banned)
- if not banned then
- deferrals.update("[vRP] Checking whitelisted...")
- vRP.isWhitelisted(user_id, function(whitelisted)
- if not config.whitelist or whitelisted then
- Debug.pbegin("playerConnecting_delayed")
- if vRP.rusers[user_id] == nil then -- not present on the server, init
- -- init entries
- vRP.users[ids[1]] = user_id
- vRP.rusers[user_id] = ids[1]
- vRP.user_tables[user_id] = {}
- vRP.user_tmp_tables[user_id] = {}
- vRP.user_sources[user_id] = source
- -- load user data table
- deferrals.update("[vRP] Loading datatable...")
- vRP.getUData(user_id, "vRP:datatable", function(sdata)
- local data = json.decode(sdata)
- if type(data) == "table" then vRP.user_tables[user_id] = data end
- -- init user tmp table
- local tmpdata = vRP.getUserTmpTable(user_id)
- deferrals.update("[vRP] Getting last login...")
- vRP.getLastLogin(user_id, function(last_login)
- tmpdata.last_login = last_login or ""
- tmpdata.spawns = 0
- -- set last login
- local ep = vRP.getPlayerEndpoint(source)
- local last_login_stamp = ep.." "..os.date("%H:%M:%S %d/%m/%Y")
- MySQL.execute("vRP/set_last_login", {user_id = user_id, last_login = last_login_stamp})
- -- trigger join
- print("[vRP] "..name.." ("..vRP.getPlayerEndpoint(source)..") joined (user_id = "..user_id..")")
- TriggerEvent("vRP:playerJoin", user_id, source, name, tmpdata.last_login)
- deferrals.done()
- end)
- end)
- else -- already connected
- print("[vRP] "..name.." ("..vRP.getPlayerEndpoint(source)..") re-joined (user_id = "..user_id..")")
- TriggerEvent("vRP:playerRejoin", user_id, source, name)
- deferrals.done()
- -- reset first spawn
- local tmpdata = vRP.getUserTmpTable(user_id)
- tmpdata.spawns = 0
- end
- Debug.pend()
- else
- print("[vRP] "..name.." ("..vRP.getPlayerEndpoint(source)..") rejected: not whitelisted (user_id = "..user_id..")")
- deferrals.done("[vRP] Not whitelisted (user_id = "..user_id..").")
- end
- end)
- else
- print("[vRP] "..name.." ("..vRP.getPlayerEndpoint(source)..") rejected: banned (user_id = "..user_id..")")
- deferrals.done("[vRP] Banned (user_id = "..user_id..").")
- end
- end)
- else
- print("[vRP] "..name.." ("..vRP.getPlayerEndpoint(source)..") rejected: identification error")
- deferrals.done("[vRP] Identification error.")
- end
- end)
- elseif ids == nil or ip == "0.0.0.0" then
- print("[vRP] "..name.." ("..vRP.getPlayerEndpoint(source)..") rejected: missing identifiers")
- deferrals.done("[vRP] Missing identifiers.")
- DropPlayer(source, "Steam is required. Please start Steam and relaunch FiveM.")
- end
- Debug.pend()
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement