Truceed Posted July 23, 2021 Share Posted July 23, 2021 O Som Fala Que ta Ligado Mas Não Sai Som Algum g_VehicleList = {} local radioStreams = 0 local defaultRadio = "http://icecast.funx.nl:8000/funx-dance.m3u" local defaultRadio = "http://64.56.64.82:14596" addEventHandler("onResourceStart", resourceRoot, function() for i,veh in ipairs(getElementsByType("vehicle")) do g_VehicleList[veh] = { } g_VehicleList[veh].radio = false g_VehicleList[veh].radioStation = defaultRadio g_VehicleList[veh].volume = 1.0 end end ) addEventHandler("onPlayerJoin", root, function() for i,veh in ipairs(getElementsByType("vehicle")) do if g_VehicleList[veh] ~= nil then if g_VehicleList[veh].radio == true then triggerClientEvent(source, "onServerToggleRadio", root, true, g_VehicleList[veh].radioStation, veh, g_VehicleList[veh].volume) end end end end ) addEventHandler("onVehicleExplode", root, function() if g_VehicleList[source] ~= nil then if g_VehicleList[source].radio == true then triggerClientEvent("onServerToggleRadio", root, false, nil, source) g_VehicleList[source].radio = false destroyElement(g_VehicleList[source].radioMarker) killTimer(g_VehicleList[source].idleTimer) if radioStreams ~= 0 then radioStreams = radioStreams - 1 end end end end ) addEventHandler("onElementDestroy", root, function() if g_VehicleList[source] ~= nil then if g_VehicleList[source].radio == true then triggerClientEvent("onServerToggleRadio", root, false, nil, source) g_VehicleList[source].radio = false destroyElement(g_VehicleList[source].radioMarker) killTimer(g_VehicleList[source].idleTimer) if radioStreams ~= 0 then radioStreams = radioStreams - 1 end end end end ) addEvent("onPlayerToggleRadio", true) addEventHandler("onPlayerToggleRadio", root, function() if source and getElementType(source) == "player" then toggleRadio(source) end end ) function toggleRadio(player) local veh = getPedOccupiedVehicle(player) if veh then local occupants = getVehicleOccupants(veh) local seats = getVehicleMaxPassengers(veh) local playerSeat = getPedOccupiedVehicleSeat(player) if playerSeat ~= 0 and playerSeat ~= 1 then outputChatBox("You can't switch the radio.", player, 255, 255, 255) return end if g_VehicleList[veh] == nil then g_VehicleList[veh] = { } g_VehicleList[veh].radio = false g_VehicleList[veh].radioStation = defaultRadio g_VehicleList[veh].volume = 1.0 end if g_VehicleList[veh].radio == false then if not get("toggleAntifloodTick") or not get("streamLimit") or not get("radioEnabledIdleTime") then return end local settingToggleAntifloodTick = get("toggleAntifloodTick") local settingStreamLimit = get("streamLimit") local idleTime = get("radioEnabledIdleTime") if g_VehicleList[veh].lastTick and (getTickCount() - g_VehicleList[veh].lastTick) <= settingToggleAntifloodTick then return end if radioStreams >= settingStreamLimit then outputChatBox("The limit of streams has reached (" .. settingStreamLimit .. ")", player, 255, 255, 255) return end local x, y, z = getElementPosition(veh) g_VehicleList[veh].radio = true g_VehicleList[veh].lastTick = getTickCount() g_VehicleList[veh].turnedOnBy = getPlayerName(player) g_VehicleList[veh].radioMarker = createMarker(x, y, z, "corona", 0.05, 255, 0, 0) attachElements(g_VehicleList[veh].radioMarker, veh) g_VehicleList[veh].idleTimer = setTimer(radioIdleTimer, idleTime, 0, veh) radioStreams = radioStreams + 1 outputServerLog(getPlayerName(player) .. " has turned the radio on in his vehicle (streams: " .. radioStreams .. ")") for seat = 0, seats do local occupant = occupants[seat] if occupant and getElementType(occupant) == "player" then triggerClientEvent("onServerToggleRadio", root, true, g_VehicleList[veh].radioStation, veh, g_VehicleList[veh].volume) local r, g, b = getPlayerNametagColor(player) colorHex = string.format("%02X%02X%02X", r, g, b) outputChatBox("#" .. colorHex .. "" .. getPlayerName(player) .. " #696969Rádio: [#00ff00ON#696969]", occupant, 0, 0, 0, true) end end else g_VehicleList[veh].radio = false destroyElement(g_VehicleList[veh].radioMarker) killTimer(g_VehicleList[veh].idleTimer) radioStreams = radioStreams - 1 outputServerLog(getPlayerName(player) .. " has turned the radio off in his vehicle (streams: " .. radioStreams .. ")") for seat = 0, seats do local occupant = occupants[seat] if occupant and getElementType(occupant) == "player" then triggerClientEvent("onServerToggleRadio", root, false, nil, veh, g_VehicleList[veh].volume) local r, g, b = getPlayerNametagColor(player) colorHex = string.format("%02X%02X%02X", r, g, b) outputChatBox("#" .. colorHex .. "" .. getPlayerName(player) .. " #696969Rádio: [#ff0000OFF#696969]", occupant, 0, 0, 0, true) end end end end end function radioIdleTimer(veh) if not get("radioIdlePlayerDistanceCheck") then return end local settingDist = get("radioIdlePlayerDistanceCheck") if veh then if g_VehicleList[veh] ~= nil then if g_VehicleList[veh].radio == true then local playerInRange = false local vx, vy, vz = getElementPosition(veh) for i,player in ipairs(getElementsByType("player")) do local px, py, pz = getElementPosition(player) local distance = getDistanceBetweenPoints3D(vx, vy, vz, px, py, pz) if distance ~= false and distance < settingDist then playerInRange = true end end if playerInRange == false then triggerClientEvent("onServerToggleRadio", root, false, nil, veh) g_VehicleList[veh].radio = false destroyElement(g_VehicleList[veh].radioMarker) killTimer(g_VehicleList[veh].idleTimer) if radioStreams ~= 0 then radioStreams = radioStreams - 1 end outputServerLog("An " .. getVehicleName(veh) .. "'s radio has been idled (streams: " .. radioStreams .. ")") end end end end end addEvent("onPlayerRadioVolumeChange", true) addEventHandler("onPlayerRadioVolumeChange", root, function(currentVol, volumeUp) local veh = getPedOccupiedVehicle(source) if veh then local playerSeat = getPedOccupiedVehicleSeat(source) if playerSeat == 0 or playerSeat == 1 then if volumeUp == true then g_VehicleList[veh].volume = currentVol + 0.05 if g_VehicleList[veh].volume >= 1.00 then g_VehicleList[veh].volume = 1.00 end else g_VehicleList[veh].volume = currentVol - 0.05 if g_VehicleList[veh].volume <= 0.00 then g_VehicleList[veh].volume = 0.00 end end triggerClientEvent("onServerVolumeChangeAccept", root, veh, g_VehicleList[veh].volume) end end end ) function cmdChangeRadioURL(source, commandName, url) if not url then outputChatBox("Usage: /setradio newurl", source, 255, 255, 255) return end local veh = getPedOccupiedVehicle(source) if veh then local occupants = getVehicleOccupants(veh) local seats = getVehicleMaxPassengers(veh) if g_VehicleList[veh] == nil then local x, y, z = getElementPosition(veh) g_VehicleList[veh] = { } g_VehicleList[veh].radio = true g_VehicleList[veh].lastTick = getTickCount() g_VehicleList[veh].radioStation = defaultRadio g_VehicleList[veh].volume = 1.0 g_VehicleList[veh].radioMarker = createMarker(x, y, z, "corona", 0.1, 255, 0, 0) attachElements(g_VehicleList[veh].radioMarker, veh) g_VehicleList[veh].idleTimer = setTimer(radioIdleTimer, idleTime, 0, veh) end local playerSeat = getPedOccupiedVehicleSeat(source) if playerSeat ~= 0 and playerSeat ~= 1 then outputChatBox("You can't switch the radio station URL.", source, 255, 255, 255) return end for seat = 0, seats do local occupant = occupants[seat] if occupant and getElementType(occupant) == "player" then g_VehicleList[veh].radioStation = url g_VehicleList[veh].changedBy = getPlayerName(source) if g_VehicleList[veh].radio == true then triggerClientEvent("onServerRadioURLChange", root, g_VehicleList[veh].radioStation, veh, g_VehicleList[veh].volume) end local r, g, b = getPlayerNametagColor(source) colorHex = string.format("%02X%02X%02X", r, g, b) outputChatBox("#" .. colorHex .. "" .. getPlayerName(source) .. " #FFFFFFhas changed the radio station.", occupant, 0, 0, 0, true) outputConsole(getPlayerName(source) .. " has changed the radio station on his vehicle to: " .. url, occupant) end end outputServerLog(getPlayerName(source) .. " has changed the radio station on his vehicle to: " .. url) end end function cmdDumpVehRadioInfo(source, commandName) for i,veh in ipairs(getElementsByType("vehicle")) do if g_VehicleList[veh] ~= nil then if g_VehicleList[veh].radio == true then local strOut if g_VehicleList[veh].changedBy ~= nil then strOut = "Vehicle: " .. getVehicleName(veh) .. ", URL = " .. g_VehicleList[veh].radioStation .. ", Turned on by: " .. g_VehicleList[veh].turnedOnBy .. ", URL changed by: " .. g_VehicleList[veh].changedBy else strOut = "Vehicle: " .. getVehicleName(veh) .. ", URL = " .. g_VehicleList[veh].radioStation .. ", Turned on by: " .. g_VehicleList[veh].turnedOnBy end if getElementType(source) == "console" then outputServerLog(strOut) elseif getElementType(source) == "player" then outputChatBox(strOut, source, 255, 255, 255) end end end end end addCommandHandler("setradio", cmdChangeRadioURL) addCommandHandler("dumpradio", cmdDumpVehRadioInfo) Link to comment
Administrators Tut Posted July 23, 2021 Administrators Share Posted July 23, 2021 I've moved the thread into a better section for you Link to comment
Other Languages Moderators androksi Posted July 23, 2021 Other Languages Moderators Share Posted July 23, 2021 Olá! Aqui nestas linhas: local defaultRadio = "http://icecast.funx.nl:8000/funx-dance.m3u" local defaultRadio = "http://64.56.64.82:14596" Você pode trocar para um link de rádio que seja funcional. Esse resource de rádio é bem antigo, provavelmente os links atuais estão fora do ar. Eu tenho um link funcional. Substitua aquelas duas linhas por apenas esta: local defaultRadio = "https://live.hunter.fm/pop_high" Caso você queira alterar o link dentro do servidor, no seu carro, basta usar o comando setradio no F8 (Console). Por exemplo: setradio https://live.hunter.fm/pop_high 1 Link to comment
Truceed Posted July 23, 2021 Author Share Posted July 23, 2021 3 horas atrás, Androksi disse: Olá, o que está fazendo? Aqui nestas linhas: local defaultRadio = "http://icecast.funx.nl:8000/funx-dance.m3u" local defaultRadio = "http://64.56.64.82:14596" Você pode trocar para um link de rádio que seja funcional. Esse recurso de rádio é bem antigo, provavelmente os links atuais estão para um do ar. Eu tenho um link funcional. Substitua aquelas duas linhas por só esta: local defaultRadio = "https://live.hunter.fm/pop_high" Caso você queira alterar o link dentro do servidor, no seu carro, basta usar o comando setradio na F8 (Console). Por exemplo: setradio https://live.hunter.fm/pop_high Vlw Irmão Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now