Skip to content

Commit a3c9e17

Browse files
authored
internet radio: fix few things (#500)
1 parent 0c19332 commit a3c9e17

File tree

2 files changed

+36
-35
lines changed

2 files changed

+36
-35
lines changed

[gameplay]/internetradio/client.lua

Lines changed: 27 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
local resX, resY = guiGetScreenSize()
2-
local tbl = {}
3-
1+
local radioSpeakers = {}
2+
local blackColor = tocolor(0, 0, 0, 255)
3+
local textColor = tocolor(150, 50, 150, 255)
44
local radioTable = {
55
{"[Top 40 Mix] BAYERN Radio - Top40", "http://stream.antenne.de:80/top-40"},
66
{"[Top 40 Mix] 1.FM - Absolute Top 40", "http://185.33.21.111:80/top40_32a"},
@@ -89,12 +89,13 @@ local radioTable = {
8989
}
9090

9191
function speakersysGUI()
92-
9392
if (speakersys) then
9493
return true
9594
end
9695

97-
speakersys = guiCreateWindow((resX - 325) / 1.1, (resY - 380) / 1.4, 325, 380, "SPEAKER MUSIC (RADIO/MP3)", false)
96+
local screenX, screenY = guiGetScreenSize()
97+
98+
speakersys = guiCreateWindow((screenX - 325) / 1.1, (screenY - 380) / 1.4, 325, 380, "SPEAKER MUSIC (RADIO/MP3)", false)
9899
guiSetAlpha(speakersys, 1)
99100
guiWindowSetSizable(speakersys, false)
100101
urlGrid = guiCreateGridList(10, 54, 304, 139, false, speakersys)
@@ -192,36 +193,36 @@ end
192193
addEventHandler("onClientGUIClick", resourceRoot, clickEvent)
193194

194195
function setData(value, theType, serial)
195-
if (not tbl[serial]) then
196+
if (not radioSpeakers[serial]) then
196197
return
197198
end
198199

199-
if (not isElement(tbl[serial][1])) then
200+
if (not isElement(radioSpeakers[serial][1])) then
200201
return
201202
end
202203

203204
if (theType == "vol") then
204-
setSoundVolume(tbl[serial][1], value)
205+
setSoundVolume(radioSpeakers[serial][1], value)
205206
elseif (theType == "dist") then
206-
setSoundMaxDistance(tbl[serial][1], 65)
207+
setSoundMaxDistance(radioSpeakers[serial][1], 65)
207208
elseif (theType == "destroy") then
208-
stopSound(tbl[serial][1])
209-
destroyElement(tbl[serial][2])
210-
tbl[serial] = nil
209+
stopSound(radioSpeakers[serial][1])
210+
destroyElement(radioSpeakers[serial][2])
211+
radioSpeakers[serial] = nil
211212
end
212213
end
213214
addEvent("speaker.setData", true)
214215
addEventHandler("speaker.setData", root, setData)
215216

216217
function setPaused(serial)
217-
if (not tbl[serial]) then
218+
if (not radioSpeakers[serial]) then
218219
return
219220
end
220221

221-
if (not isElement(tbl[serial][1])) then
222+
if (not isElement(radioSpeakers[serial][1])) then
222223
return
223224
end
224-
setSoundPaused(tbl[serial][1], not isSoundPaused(tbl[serial][1]))
225+
setSoundPaused(radioSpeakers[serial][1], not isSoundPaused(radioSpeakers[serial][1]))
225226
end
226227
addEvent("speaker.ps", true)
227228
addEventHandler("speaker.ps", root, setPaused)
@@ -233,9 +234,9 @@ function setBox(str)
233234

234235
for serial, ent in pairs(str) do
235236

236-
if (tbl[serial] and isElement(tbl[serial][1])) then
237-
destroyElement(tbl[serial][1])
238-
destroyElement(tbl[serial][2])
237+
if (radioSpeakers[serial] and isElement(radioSpeakers[serial][1])) then
238+
destroyElement(radioSpeakers[serial][1])
239+
destroyElement(radioSpeakers[serial][2])
239240
end
240241

241242
if (isElement(ent[1])) then
@@ -246,7 +247,7 @@ function setBox(str)
246247
setElementAlpha(dumm, 0)
247248
setElementCollisionsEnabled(dumm, false)
248249
attachElements(dumm, ent[1], -0.32, -0.22, 0.8)
249-
tbl[serial] = {radio, dumm}
250+
radioSpeakers[serial] = {radio, dumm}
250251

251252
if (ent[6] and isElement(ent[6])) then
252253
attachElements(radio, ent[6])
@@ -265,16 +266,16 @@ addEvent("speaker.setBox", true)
265266
addEventHandler("speaker.setBox", root, setBox)
266267

267268
function getRadioInfo()
268-
for key, radio in pairs(tbl) do
269+
for key, radio in pairs(radioSpeakers) do
269270
if (radio[1] and isElement(radio[1])) then
270-
tbl[key][3] = nil
271-
table.insert(tbl[key], getSoundMetaTags(radio[1]).stream_title or getSoundMetaTags(radio[1]).title)
271+
radioSpeakers[key][3] = nil
272+
table.insert(radioSpeakers[key], getSoundMetaTags(radio[1]).stream_title or getSoundMetaTags(radio[1]).title)
272273
end
273274
end
274275
end
275276

276277
function drawData()
277-
for key, radio in pairs(tbl) do
278+
for key, radio in pairs(radioSpeakers) do
278279
if (radio[2] and isElement(radio[2] and radio[1])) then
279280
local eX, eY, eZ = getElementPosition(radio[2])
280281
eZ = (eZ + 1)
@@ -285,7 +286,7 @@ function drawData()
285286
if (not enable and getElementData(radio[1], "ob") ~= getPlayerName(localPlayer)) then
286287
stopSound(radio[1])
287288
destroyElement(radio[2])
288-
tbl[key] = nil
289+
radioSpeakers[key] = nil
289290
return false
290291
end
291292

@@ -302,8 +303,8 @@ function drawData()
302303

303304
local width = dxGetTextWidth(text, 1, "default-bold")
304305

305-
dxDrawRectangle(sx - width / 2 - 5, sy, width + 8, height, tocolor(0, 0, 0, 255), false)
306-
dxDrawText(text, sx - width / 2, sy, sx - width / 2, sy, tocolor(150, 50, 150, 255), 1, "default-bold")
306+
dxDrawRectangle(sx - width / 2 - 5, sy, width + 8, height, blackColor, false)
307+
dxDrawText(text, sx - width / 2, sy, sx - width / 2, sy, textColor, 1, "default-bold")
307308
end
308309
end
309310
end

[gameplay]/internetradio/server.lua

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ function startStream(url, vol)
4545
end
4646

4747
outputServerLog("[SPEAKER] "..getPlayerName(client):gsub("#%x%x%x%x%x%x", "").." created speaker with URL: "..url)
48-
triggerClientEvent(root, "speaker.setBox", root, sounds[client])
48+
triggerClientEvent(root, "speaker.setBox", client, sounds[client])
4949
end
5050
addEvent("speaker.startStream", true)
5151
addEventHandler("speaker.startStream", root, startStream)
@@ -55,12 +55,12 @@ function setting(vol, dist)
5555

5656
if (sounds[client]) then
5757
if (vol) then
58-
triggerClientEvent(root, "speaker.setData", root, vol, "vol", serial)
58+
triggerClientEvent(root, "speaker.setData", client, vol, "vol", serial)
5959
return true
6060
end
6161

6262
if (dist) then
63-
triggerClientEvent(root, "speaker.setData", root, dist, "dist", serial)
63+
triggerClientEvent(root, "speaker.setData", client, dist, "dist", serial)
6464
return true
6565
end
6666
end
@@ -85,7 +85,7 @@ function delAdmin(player, cmd, ID)
8585
if (ID and s2 and sounds[s2]) then
8686
local serial = getPlayerSerial(s2)
8787
destroyElement(sounds[s2][serial][1])
88-
triggerClientEvent(root, "speaker.setData", root, false, "destroy", serial)
88+
triggerClientEvent(root, "speaker.setData", player, false, "destroy", serial)
8989
outputChatBox("Speaker removed!", player, 0, 255, 0)
9090
sounds[s2] = nil
9191
else
@@ -99,7 +99,7 @@ function destroySpeaker()
9999
local serial = getPlayerSerial(client)
100100
if (sounds[client]) then
101101
destroyElement(sounds[client][serial][1])
102-
triggerClientEvent(root, "speaker.setData", root, false, "destroy", serial)
102+
triggerClientEvent(root, "speaker.setData", client, false, "destroy", serial)
103103
sounds[client] = nil
104104
end
105105
end
@@ -109,7 +109,7 @@ addEventHandler("speaker.destroy", root, destroySpeaker)
109109
function pauseSpeaker()
110110
if (sounds[client]) then
111111
local serial = getPlayerSerial(client)
112-
triggerClientEvent(root, "speaker.ps", root, serial)
112+
triggerClientEvent(root, "speaker.ps", client, serial)
113113
end
114114
end
115115
addEvent("speaker.pause", true)
@@ -126,8 +126,8 @@ function getSpeakers()
126126
end
127127
end
128128

129-
if (speakers >= 1) then
130-
triggerClientEvent(source, "speaker.setBox", source, ltable)
129+
if (speakers > 0) then
130+
triggerClientEvent(client, "speaker.setBox", client, ltable)
131131
end
132132
end
133133
addEvent("getSpeakers", true)
@@ -138,7 +138,7 @@ function onPlayerQuit()
138138

139139
if (sounds[source]) then
140140
destroyElement(sounds[source][serial][1])
141-
triggerClientEvent(root, "speaker.setData", root, false, "destroy", serial)
141+
triggerClientEvent(root, "speaker.setData", source, false, "destroy", serial)
142142
sounds[source] = nil
143143
end
144144
end

0 commit comments

Comments
 (0)