diff --git a/[gameplay]/scoreboard/dxscoreboard_client.lua b/[gameplay]/scoreboard/dxscoreboard_client.lua
index 0771f59f2..08837b973 100644
--- a/[gameplay]/scoreboard/dxscoreboard_client.lua
+++ b/[gameplay]/scoreboard/dxscoreboard_client.lua
@@ -69,9 +69,8 @@ addEventHandler( "onClientResourceStart", resourceRoot,
bindKey( settingsKey, "down", "Open scoreboard settings", "1" )
addEventHandler( "onClientRender", root, drawScoreboard )
- triggerServerEvent( "onClientDXScoreboardResourceStart", root )
readScoreboardSettings()
- triggerServerEvent( "requestServerInfo", root )
+ triggerServerEvent( "requestServerInfo", localPlayer )
colorPicker.constructor()
end
@@ -87,7 +86,7 @@ function sendServerInfo( output )
serverInfo = output
end
addEvent( "sendServerInfo", true )
-addEventHandler( "sendServerInfo", resourceRoot, sendServerInfo )
+addEventHandler( "sendServerInfo", root, sendServerInfo )
function toggleScoreboard( _, state )
state = iif( state == "1", true, false )
@@ -218,7 +217,7 @@ function doDrawScoreboard( rtPass, onlyAnim, sX, sY )
if not (windowSettings and isElement( windowSettings )) then
showCursor( false )
end
- triggerServerEvent( "requestServerInfo", root )
+ triggerServerEvent( "requestServerInfo", localPlayer )
end
scoreboardDrawn = true
end
@@ -791,7 +790,7 @@ end
addEvent( "doScoreboardAddColumn", true )
-addEventHandler( "doScoreboardAddColumn", resourceRoot,
+addEventHandler( "doScoreboardAddColumn", root,
function ( name, width, friendlyName, priority, fromResource, isImage, imageW, imageH )
scoreboardAddColumn( name, width, friendlyName, priority, nil, fromResource, isImage, imageW, imageH )
end
diff --git a/[gameplay]/scoreboard/dxscoreboard_exports.lua b/[gameplay]/scoreboard/dxscoreboard_exports.lua
index e9ea2e22f..93d4eb622 100644
--- a/[gameplay]/scoreboard/dxscoreboard_exports.lua
+++ b/[gameplay]/scoreboard/dxscoreboard_exports.lua
@@ -201,13 +201,20 @@ function scoreboardGetColumnCount()
return #scoreboardColumns
end
-function onClientDXScoreboardResourceStart()
- for key, column in ipairs( scoreboardColumns ) do
- triggerClientEvent( client, "doScoreboardAddColumn", root, column.name, column.width, column.friendlyName, column.priority, nil, column.isImage, column.imageW, column.imageH )
+function onPlayerResourceStartScoreboard(startedResource)
+ local validResource = startedResource == resource
+
+ if not validResource then
+ return false
+ end
+
+ for columnID = 1, #scoreboardColumns do
+ local columnData = scoreboardColumns[columnID]
+
+ triggerClientEvent(source, "doScoreboardAddColumn", source, columnData.name, columnData.width, columnData.friendlyName, columnData.priority, nil, columnData.isImage, columnData.imageW, columnData.imageH)
end
end
-addEvent( "onClientDXScoreboardResourceStart", true )
-addEventHandler( "onClientDXScoreboardResourceStart", resourceRoot, onClientDXScoreboardResourceStart )
+addEventHandler("onPlayerResourceStart", root, onPlayerResourceStartScoreboard)
function requestServerInfo()
local mapmanager = getResourceFromName( "mapmanager" )
@@ -230,10 +237,10 @@ function requestServerInfo()
output.map = getResourceInfo( map, "name" ) or getResourceName( map )
end
end
- triggerClientEvent( client, "sendServerInfo", root, output )
+ triggerClientEvent( client, "sendServerInfo", client, output )
end
addEvent( "requestServerInfo", true )
-addEventHandler( "requestServerInfo", resourceRoot, requestServerInfo )
+addEventHandler( "requestServerInfo", root, requestServerInfo )
function removeResourceScoreboardColumns( resource )
if resourceColumns[resource] then
diff --git a/[gameplay]/scoreboard/meta.xml b/[gameplay]/scoreboard/meta.xml
index 60fd2719e..ca5d7e4ae 100644
--- a/[gameplay]/scoreboard/meta.xml
+++ b/[gameplay]/scoreboard/meta.xml
@@ -1,12 +1,12 @@
+
-
+
-