@@ -74,11 +74,11 @@ function checkForNearbySpeakers()
7474
7575 for objectID = 1 , # nearbyObjects do
7676 local nearbyObject = nearbyObjects [objectID ]
77- local _ , speakerSound , speakerDummy = isObjectSpeaker (nearbyObject )
77+ local _ , speakerSound , speakerDummy , speakerOwner = isObjectSpeaker (nearbyObject )
7878 local trackName = getSpeakerTrackName (speakerSound )
7979
8080 if (speakerDummy and trackName ) then
81- NEARBY_SPEAKERS [speakerDummy ] = trackName
81+ NEARBY_SPEAKERS [speakerDummy ] = { trackName , speakerOwner }
8282 end
8383 end
8484
@@ -89,7 +89,7 @@ setTimer(checkForNearbySpeakers, 1000, 0)
8989function onClientRenderRadioTrackName ()
9090 local cameraX , cameraY , cameraZ = getCameraMatrix ()
9191
92- for nearbySpeaker , trackName in pairs (NEARBY_SPEAKERS ) do
92+ for nearbySpeaker , speakerData in pairs (NEARBY_SPEAKERS ) do
9393 local speakerX , speakerY , speakerZ = getElementPosition (nearbySpeaker )
9494 local distanceToSpeaker = getDistanceBetweenPoints3D (speakerX , speakerY , speakerZ , cameraX , cameraY , cameraZ )
9595 local closeToSpeaker = (distanceToSpeaker <= RADIO_MAX_SOUND_DISTANCE )
@@ -99,6 +99,17 @@ function onClientRenderRadioTrackName()
9999 local screenX , screenY = getScreenFromWorldPosition (speakerX , speakerY , speakerOffsetZ , 0 , false )
100100
101101 if (screenX and screenY ) then
102+ local trackName = speakerData [1 ]
103+ local displaySpeakerOwner = getKeyState (RADIO_SHOW_SPEAKER_OWNER_KEY )
104+
105+ if (displaySpeakerOwner ) then
106+ local speakerOwner = speakerData [2 ]
107+ local speakerName = getPlayerName (speakerOwner )
108+ local speakerPlayerName = removeHex (speakerName )
109+
110+ trackName = " (Owner: " .. speakerPlayerName .. " ) " .. trackName
111+ end
112+
102113 local textWidth = dxGetTextWidth (trackName , RADIO_TRACK_SCALE , RADIO_TRACK_FONT , trackNameColorCoded )
103114 local textPosX = (screenX - textWidth / 2 )
104115 local textBackgroundPosX = (textPosX - 5 )
0 commit comments