From 09d02e18cf4e88908138c3d48c26c6b4d7237565 Mon Sep 17 00:00:00 2001 From: FlightControl_Master Date: Tue, 12 Dec 2017 15:26:55 +0100 Subject: [PATCH] S_EVENT_PLAYER_ENTER_UNIT not called in MP --- Moose Development/Moose/Core/Database.lua | 47 +++++++++-------------- 1 file changed, 18 insertions(+), 29 deletions(-) diff --git a/Moose Development/Moose/Core/Database.lua b/Moose Development/Moose/Core/Database.lua index fe078f52b..8e40a793e 100644 --- a/Moose Development/Moose/Core/Database.lua +++ b/Moose Development/Moose/Core/Database.lua @@ -97,8 +97,7 @@ function DATABASE:New() self:HandleEvent( EVENTS.DeleteCargo ) -- Follow alive players and clients - --self:HandleEvent( EVENTS.PlayerEnterUnit, self._EventOnPlayerEnterUnit ) -- This is not working anymore! - self:HandleEvent( EVENTS.Birth, self._EventBirth ) + self:HandleEvent( EVENTS.PlayerEnterUnit, self._EventOnPlayerEnterUnit ) -- This is not working anymore!, handling this through the birth event. self:HandleEvent( EVENTS.PlayerLeaveUnit, self._EventOnPlayerLeaveUnit ) self:_RegisterTemplates() @@ -730,7 +729,19 @@ function DATABASE:_EventOnBirth( Event ) self:AddGroup( Event.IniDCSGroupName ) end end - --self:_EventOnPlayerEnterUnit( Event ) + if Event.IniObjectCategory == 1 then + Event.IniUnit = self:FindUnit( Event.IniDCSUnitName ) + local PlayerName = Event.IniUnit:GetPlayerName() + self:E( { "PlayerName:", PlayerName } ) + if PlayerName ~= "" then + self:E( { "Player Joined:", PlayerName } ) + if not self.PLAYERS[PlayerName] then + self:AddPlayer( Event.IniUnitName, PlayerName ) + end + local Settings = SETTINGS:Set( PlayerName ) + Settings:SetPlayerMenu( Event.IniUnit ) + end + end end end @@ -765,13 +776,14 @@ end function DATABASE:_EventOnPlayerEnterUnit( Event ) self:F2( { Event } ) - if Event.IniUnit then + if Event.IniDCSUnit then if Event.IniObjectCategory == 1 then self:AddUnit( Event.IniDCSUnitName ) + Event.IniUnit = self:FindUnit( Event.IniDCSUnitName ) self:AddGroup( Event.IniDCSGroupName ) - local PlayerName = Event.IniUnit:GetPlayerName() + local PlayerName = Event.IniDCSUnit:getPlayerName() if not self.PLAYERS[PlayerName] then - self:AddPlayer( Event.IniUnitName, PlayerName ) + self:AddPlayer( Event.IniDCSUnitName, PlayerName ) end local Settings = SETTINGS:Set( PlayerName ) Settings:SetPlayerMenu( Event.IniUnit ) @@ -779,29 +791,6 @@ function DATABASE:_EventOnPlayerEnterUnit( Event ) end end ---- Handles the Birth event to update the active players table. --- @param #DATABASE self --- @param Core.Event#EVENTDATA Event -function DATABASE:_EventBirth( Event ) - self:F2( { Event } ) - - if Event.IniUnit then - if Event.IniObjectCategory == 1 then - self:AddUnit( Event.IniDCSUnitName ) - self:AddGroup( Event.IniDCSGroupName ) - local PlayerName = Event.IniUnit:GetPlayerName() - if PlayerName ~= "" then - self:E( { "Player Joined:", PlayerName } ) - if not self.PLAYERS[PlayerName] then - self:AddPlayer( Event.IniUnitName, PlayerName ) - end - local Settings = SETTINGS:Set( PlayerName ) - Settings:SetPlayerMenu( Event.IniUnit ) - end - end - end -end - --- Handles the OnPlayerLeaveUnit event to clean the active players table. -- @param #DATABASE self