FreeScriptsDocsSupport

Browse

  • Documentation
    • FAQ
  • 📱 Phone
    • 🧠 Installation
    • 🦄 Unique phones
    • 💿 Configure
      • 💄 Additional Features
      • 📸 Camera
      • 📹 Video Calls
      • 🍏 Apps
      • 🪵 Logs
      • 🔋 Battery System
      • 🖼️ Media Customization
      • 🗣️ Multi-Language Support
      • 🗃️ SIM Cards
      • 🚗 Valet System
      • 🖼️ Wallpapers App
      • ⛅ Weather Widget
    • ⏭️ Exports
      • Client side
        • 👁️‍🗨️ General
        • 📞 Calls
        • ☀️ Groups
        • 🏢 Companies
        • 🔧 Misc
        • 🗼 Signal Towers
      • Server side
        • 🆔 Identify Player
        • ☎️ Sim Cards
        • 📞 Calls
        • 💬 Messages
        • ☀️ Groups
        • 🌐 Cell Broadcast
        • 💸 YPay
        • 📧 Mail
        • 📪 Notifications
        • 📵 Screen Damage
        • 🗯️ Dark Chat
        • 🔧 Misc
    • 🪛 Commands
    • 📡 Events
      • Server side
        • 📨 Messages
        • 📱 Social Media
        • ☎️ Calls
    • 🍎 Custom apps
    • 🏦 Banking App
    • 📈 Markets App
    • 👜 State bags
  • ☎️ Boomer Phone
    • 🧠 Installation
    • 🦄 Unique phones
    • ⏯️ Exports
      • Client side
  • 🏠 Properties
    • 🧠 Installation
    • 💿 Configure
    • 🔗 Compatibility
      • Phones
        • YSeries
        • LB Phone
    • 📖 Guides
      • 🛏️ Starter Apartments
      • 🐚 Add More Shells
      • 🔑 Physical Keys
      • 🪑 Furniture As Items
      • 🛠️ Fix Interactable Points
      • 📋 Discord Logs Setup
    • ⏭️ Exports
      • Client side
        • GetCurrentPropertyId
        • GetCurrentProperty
        • IsPointInsideProperty
        • OpenPropertyMenu
        • AddKey
        • RemoveKey
        • SetWaypointToProperty
        • GetAllProperties
        • GetKeyHolders
        • PoliceRaidDoor
        • WrapIntoProperty
        • GetClosestDoor
        • GetEntryCoordinates
        • UseLockpick
        • PoliceRaidDoor
      • Server side
        • GetAllProperties
        • GetPropertyData
        • AddKey
        • RemoveKey
        • ToggleDoorlock
        • GetPlayersInProperty
        • GetKeyHolders
        • DeleteProperty
        • AddStarterApartment
        • SellProperty
        • TransferProperty
    • 🪝 Hooks System
      • buyProperty
      • rentProperty
      • sellProperty
      • deleteProperty
      • createDoor
      • saveSettings
      • setInteractablePoint
      • canEnter
      • canExit
    • 👜 State bags
  • 🏦 Banking
    • 🧠 Installation
    • 🪛 Commands
    • ⏯️ Exports
      • Client side
      • Server side
    • 🪵 Logs
    • 🪝 Hooks
    • 🏦 Banking App
  • 💸 Billing
    • 🧠 Installation
    • ⏭️ Exports
      • Client side
      • Server side
  • 📊 Hud
    • 🧠 Installation
    • ⏭️ Exports
      • Client side
  • 📦 Storage Units
    • 🧠 Installation
  • 🎰 Slots
    • 🧠 Installation
    • 📱 Phone app
  • 🎃 Minigames
    • 🎯 Exports and Usage
    • 🔧 Commands

🗼 Signal Towers

Overview

The signal tower system simulates cell tower coverage and signal strength for the in-game phone. It determines the player's signal bars based on proximity to configured towers and updates the UI accordingly. The system also provides exports for other scripts to query or set signal strength.

How Signal Strength is Calculated

  • Towers are defined in Config.SignalTowers.Towers as a list of coordinates.
  • The system calculates the distance from the player to the nearest tower.
  • Signal strength (bars) is determined by which range threshold the player is within:
    • Config.SignalTowers.Range[1] (weakest, farthest)
    • ... up to Config.SignalTowers.Range[4] (strongest, closest)
  • If the player is outside all tower ranges, the signal is set to 0.

Debugging

  • If Config.SignalTowers.Debug is enabled, blips are created for each tower and their signal ranges:
    • Main tower blip (icon)
    • Colored radius blips for each signal level (red, yellow, blue, green)
  • Useful for visualizing coverage during development.

Exports

The following exports are provided for use in other scripts:

Get Current Service Bars

lua
local bars = exports.yseries:GetCurrentService()
-- bars is 0-4

Get All Towers

lua
local towers = exports.yseries:GetAllTowers()
-- towers is a table of vector3 positions

Force Signal Update

lua
local newBars = exports.yseries:UpdateSignalStrength()
-- Recalculates and updates the signal

Set Service Bars Manually

lua
---@param level   - The level of the service(min:0, max: 4).
---@param disable - If *true disables auto service calculation thread.
exports.yseries:SetServiceBars(3, true)

Configuration Notes

  • All towers and ranges are set in Config.SignalTowers.
  • To enable/disable the system, set Config.SignalTowers.Enabled.
  • To show debug blips, set Config.SignalTowers.Debug = true.

Events

  • The system triggers yseries:client:phone:service-changed whenever the signal bars change.

Troubleshooting

  • If the signal is not updating, check that the config is loaded and the system is enabled.
  • Use debug blips to verify tower placement and coverage.

For further customization, edit client/utils/signalTowers.lua and Config.SignalTowers as needed.

On this page

  • Overview
  • How Signal Strength is Calculated
  • Debugging
  • Exports
  • Get Current Service Bars
  • Get All Towers
  • Force Signal Update
  • Set Service Bars Manually
  • Configuration Notes
  • Events
  • Troubleshooting

All Rights Reserved

TeamsGG © 2026

Pages

FreeScriptsDocsSupport

Legal

Terms of ServiceRefunds

Tebex

Tebex ImpressumTebex TermsTebex Privacy

Socials

DiscordYouTube