#SET_CLIENT

* Small fix for FilterCallsign string search
This commit is contained in:
Applevangelist 2023-09-14 12:36:15 +02:00
parent f8f4bac77e
commit bc16970d96

View File

@ -860,8 +860,10 @@ do -- SET_BASE
self:F3( Object ) self:F3( Object )
local outcome = false local outcome = false
local name = Object:GetName() local name = Object:GetName()
--self:I("SET_BASE: Objectname = "..name)
self:ForEach( self:ForEach(
function(object) function(object)
--self:I("SET_BASE: In set objectname = "..object:GetName())
if object:GetName() == name then if object:GetName() == name then
outcome = true outcome = true
end end
@ -4028,8 +4030,8 @@ do -- SET_CLIENT
Countries = nil, Countries = nil,
ClientPrefixes = nil, ClientPrefixes = nil,
Zones = nil, Zones = nil,
Playernames = nil, Playernames = nil,
Callsigns = nil, Callsigns = nil,
}, },
FilterMeta = { FilterMeta = {
Coalitions = { Coalitions = {
@ -4330,7 +4332,6 @@ do -- SET_CLIENT
function SET_CLIENT:FilterStart() function SET_CLIENT:FilterStart()
if _DATABASE then if _DATABASE then
self:_FilterStart()
self:HandleEvent( EVENTS.Birth, self._EventOnBirth ) self:HandleEvent( EVENTS.Birth, self._EventOnBirth )
self:HandleEvent( EVENTS.Dead, self._EventOnDeadOrCrash ) self:HandleEvent( EVENTS.Dead, self._EventOnDeadOrCrash )
self:HandleEvent( EVENTS.Crash, self._EventOnDeadOrCrash ) self:HandleEvent( EVENTS.Crash, self._EventOnDeadOrCrash )
@ -4339,6 +4340,7 @@ do -- SET_CLIENT
local timing = self.ZoneTimerInterval or 30 local timing = self.ZoneTimerInterval or 30
self.ZoneTimer:Start(timing,timing) self.ZoneTimer:Start(timing,timing)
end end
self:_FilterStart()
end end
return self return self
@ -4546,45 +4548,45 @@ do -- SET_CLIENT
MClientInclude = MClientInclude and MClientPrefix MClientInclude = MClientInclude and MClientPrefix
end end
if self.Filter.Zones then if self.Filter.Zones then
local MClientZone = false local MClientZone = false
for ZoneName, Zone in pairs( self.Filter.Zones ) do for ZoneName, Zone in pairs( self.Filter.Zones ) do
self:T3( "Zone:", ZoneName ) self:T3( "Zone:", ZoneName )
local unit = MClient:GetClientGroupUnit() local unit = MClient:GetClientGroupUnit()
if unit and unit:IsInZone(Zone) then if unit and unit:IsInZone(Zone) then
MClientZone = true MClientZone = true
end end
end end
MClientInclude = MClientInclude and MClientZone MClientInclude = MClientInclude and MClientZone
end end
if self.Filter.Playernames then if self.Filter.Playernames then
local MClientPlayername = false local MClientPlayername = false
local playername = MClient:GetPlayerName() or "Unknown" local playername = MClient:GetPlayerName() or "Unknown"
--self:T(playername) --self:T(playername)
for _,_Playername in pairs(self.Filter.Playernames) do for _,_Playername in pairs(self.Filter.Playernames) do
if playername and string.find(playername,_Playername) then if playername and string.find(playername,_Playername) then
MClientPlayername = true MClientPlayername = true
end end
end end
self:T( { "Evaluated Playername", MClientPlayername } ) self:T( { "Evaluated Playername", MClientPlayername } )
MClientInclude = MClientInclude and MClientPlayername MClientInclude = MClientInclude and MClientPlayername
end end
if self.Filter.Callsigns then if self.Filter.Callsigns then
local MClientCallsigns = false local MClientCallsigns = false
local callsign = MClient:GetCallsign() local callsign = MClient:GetCallsign()
--self:T(callsign) --self:I(callsign)
for _,_Callsign in pairs(self.Filter.Callsigns) do for _,_Callsign in pairs(self.Filter.Callsigns) do
if callsign and string.find(callsign,_Callsign) then if callsign and string.find(callsign,_Callsign,1,true) then
MClientCallsigns = true MClientCallsigns = true
end end
end end
self:T( { "Evaluated Callsign", MClientCallsigns } ) self:T( { "Evaluated Callsign", MClientCallsigns } )
MClientInclude = MClientInclude and MClientCallsigns MClientInclude = MClientInclude and MClientCallsigns
end end
end end
self:T2( MClientInclude ) self:T2( MClientInclude )
return MClientInclude return MClientInclude
end end