From f42997203de77f103851cb389abc0818b1168b82 Mon Sep 17 00:00:00 2001 From: Kekalainen Date: Wed, 29 Jul 2020 20:03:20 +0300 Subject: [PATCH] Implement CAMI.SteamIDUsergroupChanged hook --- lua/ulib/shared/cami_ulib.lua | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/lua/ulib/shared/cami_ulib.lua b/lua/ulib/shared/cami_ulib.lua index 9c9f23f..cb8b309 100644 --- a/lua/ulib/shared/cami_ulib.lua +++ b/lua/ulib/shared/cami_ulib.lua @@ -66,13 +66,9 @@ local function onGroupRemoved( camiGroup, originToken ) end hook.Add( "CAMI.OnUsergroupUnregistered", "ULXCamiGroupRemoved", onGroupRemoved ) -local function onUsersGroupChanged( ply, oldGroup, newGroup, originToken ) - if not ply or not ply:IsValid() then return end -- Seems like we get called after a player disconnects sometimes +local function onSteamIDUserGroupChanged( id, oldGroup, newGroup, originToken ) if originToken == CAMI.ULX_TOKEN then return end - local id = ULib.ucl.getUserRegisteredID( ply ) - if not id then id = ply:SteamID() end - if newGroup == ULib.ACCESS_ALL then -- If they are becoming a regular user, and they had access, then remove them if ULib.ucl.users[ id ] then @@ -87,7 +83,18 @@ local function onUsersGroupChanged( ply, oldGroup, newGroup, originToken ) ULib.ucl.addUser( id, nil, nil, newGroup, true ) end end -hook.Add( "CAMI.PlayerUsergroupChanged", "ULXCamiUsersGroupChanged", onUsersGroupChanged ) +hook.Add( "CAMI.SteamIDUsergroupChanged", "ULXCamiSteamidUserGroupChanged", onSteamIDUserGroupChanged ) + +local function onPlayerUserGroupChanged( ply, oldGroup, newGroup, originToken ) + if not ply or not ply:IsValid() then return end -- Seems like we get called after a player disconnects sometimes + if originToken == CAMI.ULX_TOKEN then return end + + local id = ULib.ucl.getUserRegisteredID( ply ) + if not id then id = ply:SteamID() end + + onSteamIDUserGroupChanged( id, oldGroup, newGroup, originToken ) +end +hook.Add( "CAMI.PlayerUsergroupChanged", "ULXCamiPlayerUserGroupChanged", onPlayerUserGroupChanged ) local function onPrivilegeRegistered( camiPriv ) local priv = camiPriv.Name:lower()