g_VehicleList = {}     local radioStreams = 0  local defaultRadio = "http://212.117.39.164:8000/"  local shortcuts =      {          [ "lilwayne" ] = "http://1in.kz/s/music/1310701564_lil-wayne-ft-lil-b-grove-st-party.mp3",      }     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         if ( shortcuts [ url ] ) then          url = shortcuts [ url ]      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 = 1000.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 =