M TODO.md => TODO.md +3 -0
@@ 12,6 12,9 @@
- [ ] org table not being removed once dissolved
- [ ] don't log leave event when a player dissolves a group?
- [ ] data: non-members receiving ranks from other created orgs
+- [ ] data: players remaining in orgs.Members even after leaving a group, need to resync
+- [ ] menu: confirmaton when kicking players
+- [ ] clientside options to disable halo, server and org settings to disable halo through wall
### Features to implement
- [ ] upgrade: remove allegiances if necessary, warning if group is hidden
M lua/orgs/cl_init.lua => lua/orgs/cl_init.lua +1 -1
@@ 218,6 218,6 @@ hook.Add( 'PreDrawHalos', 'orgs.MemberHalos', function()
end
- halo.Add( plys, Color( unpack( string.Explode( ',', org.Color ) ) ), 1, 1, 5, true, true )
+ halo.Add( plys, Color( unpack( string.Explode( ',', org.Color ) ) ), 1, 1, 5, true, false )
end )
M lua/orgs/sv_data.lua => lua/orgs/sv_data.lua +5 -3
@@ 391,10 391,12 @@ orgs.updatePlayer = function( ply, tab, ply2, done )
member = orgs.Members[steamID]
end
+ -- Log events for changed attributes
for k, v in pairs( tab ) do
- if k == 'Nick' or k == 'OrgID'
- or ( TruthTable{'RankID','Salary','Perms'}[k] and ( IsValid( ply ) and ply.orgs_GroupLock )
- or ( not orgs.List[member.OrgID] or orgs.List[member.OrgID].Forming ) ) then
+ -- Don't log nick updates, org changes, or attribute changes during
+ if k == 'Nick' or k == 'OrgID' or tab.OrgID
+ or ( IsValid( ply ) and ply.orgs_GroupLock )
+ or ( not member.OrgID or orgs.List[member.OrgID].Forming ) then
continue end
v = v == NULL and 'nothing' or v
M => +3 -4
@@ 300,13 300,13 @@ function PANEL:Init()
self.Player:orgs_Dock( LEFT, {l=15} )
self.Player:orgs_SetText( nil, 'orgs.Medium', orgs.Colors.MenuText )
self.Player:SetWide( 185 )
self.Player:AddChoice( 'Send by Steam ID', -1 )
self.Player:AddChoice( 'Send by Steam ID', false, true )
for k, ply in pairs( player.GetHumans() ) do
if orgs.Members[ply:SteamID64()] then continue end
self.Player:AddChoice( ply:Nick(), ply:SteamID64() )
end
self.Player.OnSelect = function( p, _, _, val )
self.SteamIDLine:SetVisible( val == -1 )
self.SteamIDLine:SetVisible( not val )
local to = not isnumber( val ) and val or
tonumber( self.SteamID:GetValue() ) and self.SteamID:GetValue()
or util.SteamIDTo64( self.SteamID:GetValue() )
@@ 377,9 377,8 @@ function PANEL:Init()
self.Send.DoClick = function( p )
local to = self.SteamID:IsVisible() and self.SteamID.Value
or self.Player.Value
or select( 2, self.Player:GetSelected() )
toPly = player.GetBySteamID64( to )
netmsg.Send( 'orgs.Menu.Members.Invite', {to} ) ( function( tab )
if tab[1] then
orgs.Menu:SetError( 'Couldn\'t invite because ' ..orgs.InviteFails[tab[1]] )