Skip to content

Commit 9be00d6

Browse files
authored
scoreboard: Trigger events improvements (#403)
* Push fixes. * Use shared type in meta.xml
1 parent 316f536 commit 9be00d6

File tree

3 files changed

+20
-14
lines changed

3 files changed

+20
-14
lines changed

[gameplay]/scoreboard/dxscoreboard_client.lua

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,8 @@ addEventHandler( "onClientResourceStart", resourceRoot,
6969
bindKey( settingsKey, "down", "Open scoreboard settings", "1" )
7070

7171
addEventHandler( "onClientRender", root, drawScoreboard )
72-
triggerServerEvent( "onClientDXScoreboardResourceStart", root )
7372
readScoreboardSettings()
74-
triggerServerEvent( "requestServerInfo", root )
73+
triggerServerEvent( "requestServerInfo", localPlayer )
7574

7675
colorPicker.constructor()
7776
end
@@ -87,7 +86,7 @@ function sendServerInfo( output )
8786
serverInfo = output
8887
end
8988
addEvent( "sendServerInfo", true )
90-
addEventHandler( "sendServerInfo", resourceRoot, sendServerInfo )
89+
addEventHandler( "sendServerInfo", root, sendServerInfo )
9190

9291
function toggleScoreboard( _, state )
9392
state = iif( state == "1", true, false )
@@ -218,7 +217,7 @@ function doDrawScoreboard( rtPass, onlyAnim, sX, sY )
218217
if not (windowSettings and isElement( windowSettings )) then
219218
showCursor( false )
220219
end
221-
triggerServerEvent( "requestServerInfo", root )
220+
triggerServerEvent( "requestServerInfo", localPlayer )
222221
end
223222
scoreboardDrawn = true
224223
end
@@ -791,7 +790,7 @@ end
791790

792791

793792
addEvent( "doScoreboardAddColumn", true )
794-
addEventHandler( "doScoreboardAddColumn", resourceRoot,
793+
addEventHandler( "doScoreboardAddColumn", root,
795794
function ( name, width, friendlyName, priority, fromResource, isImage, imageW, imageH )
796795
scoreboardAddColumn( name, width, friendlyName, priority, nil, fromResource, isImage, imageW, imageH )
797796
end

[gameplay]/scoreboard/dxscoreboard_exports.lua

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -201,13 +201,20 @@ function scoreboardGetColumnCount()
201201
return #scoreboardColumns
202202
end
203203

204-
function onClientDXScoreboardResourceStart()
205-
for key, column in ipairs( scoreboardColumns ) do
206-
triggerClientEvent( client, "doScoreboardAddColumn", root, column.name, column.width, column.friendlyName, column.priority, nil, column.isImage, column.imageW, column.imageH )
204+
function onPlayerResourceStartScoreboard(startedResource)
205+
local validResource = startedResource == resource
206+
207+
if not validResource then
208+
return false
209+
end
210+
211+
for columnID = 1, #scoreboardColumns do
212+
local columnData = scoreboardColumns[columnID]
213+
214+
triggerClientEvent(source, "doScoreboardAddColumn", source, columnData.name, columnData.width, columnData.friendlyName, columnData.priority, nil, columnData.isImage, columnData.imageW, columnData.imageH)
207215
end
208216
end
209-
addEvent( "onClientDXScoreboardResourceStart", true )
210-
addEventHandler( "onClientDXScoreboardResourceStart", resourceRoot, onClientDXScoreboardResourceStart )
217+
addEventHandler("onPlayerResourceStart", root, onPlayerResourceStartScoreboard)
211218

212219
function requestServerInfo()
213220
local mapmanager = getResourceFromName( "mapmanager" )
@@ -230,10 +237,10 @@ function requestServerInfo()
230237
output.map = getResourceInfo( map, "name" ) or getResourceName( map )
231238
end
232239
end
233-
triggerClientEvent( client, "sendServerInfo", root, output )
240+
triggerClientEvent( client, "sendServerInfo", client, output )
234241
end
235242
addEvent( "requestServerInfo", true )
236-
addEventHandler( "requestServerInfo", resourceRoot, requestServerInfo )
243+
addEventHandler( "requestServerInfo", root, requestServerInfo )
237244

238245
function removeResourceScoreboardColumns( resource )
239246
if resourceColumns[resource] then

[gameplay]/scoreboard/meta.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
<meta>
2+
<min_mta_version server="1.5.8-9.20957"/>
23
<info author="Awwu" type="script" name="Scoreboard" description="DirectX scoreboard resource" showInResourceBrowser="true" version="2.7.2"/>
34

4-
<script src="dxscoreboard_shared.lua" type="server" />
5+
<script src="dxscoreboard_shared.lua" type="shared" />
56
<script src="dxscoreboard_exports.lua" type="server" />
67
<script src="dxscoreboard_http.lua" type="server" />
78
<script src="dxscoreboard_client.lua" type="client" />
89
<script src="dxscoreboard_clientsettings.lua" type="client" />
9-
<script src="dxscoreboard_shared.lua" type="client" />
1010
<script src="dxscoreboard_countries.lua" type="server" />
1111

1212
<script src="colorpicker/colorpicker.lua" type="client" />

0 commit comments

Comments
 (0)