Cobertura
Cuántas barras tiene un teléfono y qué pasa cuando no tiene ninguna.
Viene desactivada. Una ciudad que no ha pedido cobertura tiene el teléfono de siempre: barras completas en todas partes, nada rechazado, nada medido:
-- shared/config/signal.luaEnabled = false, -- turn it on when you want bars that come from where the player is standingSi la activas sin cambiar nada más, sigue sin pasar gran cosa: sin antenas ni zonas muertas el mapa tiene cobertura completa, y la única diferencia es un indicador de señal que por fin dice la verdad. Añade una de las líneas de abajo y empieza a significar algo.
Todo se decide en el servidor, a partir de donde está realmente el jugador. Un cliente que decide su propia señal es un cliente sin barras cuando alguien le llama y con cuatro cuando es él quien llama.
Qué significa no tener señal
Sección titulada «Qué significa no tener señal»Lo mismo que el modo avión, porque es el mismo hecho visto desde el otro lado: la ciudad no puede llegar a ese teléfono.
- Las llamadas entrantes y salientes se rechazan, y el teléfono dice No tienes señal aquí en lugar de no disponible.
- Los mensajes no se envían, y los mensajes enviados a ese teléfono se guardan.
- Todo lo que la ciudad intentó entregar se entrega en cuanto vuelven las barras: no se pierde nada, solo espera.
- El teléfono en sí sigue funcionando: la cámara, las notas, la linterna, las fotos que ya tiene.
La barra de estado dibuja las barras que tiene, y cuando no hay ninguna dice Sin servicio.
Fuera de la ciudad, sin nada que configurar
Sección titulada «Fuera de la ciudad, sin nada que configurar»-- shared/config/signal.luaCity = { Centre = vector3(195.0, -890.0, 30.0), -- Legion Square, near enough Full = 3000.0, -- full signal within this None = 9000.0, -- nothing at all past this},Barras completas en la ciudad, y van bajando de una en una a medida que te alejas. Medido en un servidor en vivo con los valores por defecto de arriba:
| Dónde | Barras |
|---|---|
| Legion Square | 4 |
| Sandy Shores | 3 |
| Paleto Bay | 1 |
Pon City = false para desactivarlo y usar solo antenas.
Antenas, para una ciudad donde la cobertura es algo que los jugadores pueden señalar
Sección titulada «Antenas, para una ciudad donde la cobertura es algo que los jugadores pueden señalar»Range = 900.0, -- full signal this close to a mastFade = 1400.0, -- and nothing this much further outMasts = { vector3(-75.0, -818.0, 326.0), -- the tower on Maze Bank vector3(2358.0, 2570.0, 46.0), -- the masts above Sandy Shores},Cuando esta lista tiene algo, las barras vienen de la antena más cercana y City se ignora. Una antena que alguien ha volado es un barrio sin teléfonos hasta que se repare, que es justo la versión que merece la pena si tu ciudad quiere hacer algo con ello.
Agujeros
Sección titulada «Agujeros»Dead = { { Coords = vector3(895.0, -3245.0, -98.0), Radius = 120.0, Bars = 0 }, -- the labs { Coords = vector3(480.0, -1310.0, 29.0), Radius = 40.0, Bars = 1 }, -- the chop shop},Un agujero gana a lo que digan las antenas, y donde dos se solapan gana el número más pequeño: un búnker dentro de un valle no tiene mejor cobertura por estar en los dos. Bars = 0 es nada; cualquier otro número es un sótano que todavía recibe una barra.
Una esfera, porque una esfera es algo cuyo centro puedes encontrar con un solo comando.
Para otros recursos
Sección titulada «Para otros recursos»exports.mic_phone:GetSignal(src) --> 0 to Config.Signal.Barsexports.mic_phone:SetJammed(src, true) --> takes their bars away until you give them backLos dos funcionan con la cobertura desactivada. GetSignal responde con el número completo, así que un script puede leerlo sin preguntar si la función existe, y el bloqueo sigue quitando las barras a alguien, porque un atraco o una prisión que quiere un edificio sin teléfonos no debería necesitar configurar antes toda la función. Es el único caso en que un teléfono puede perder la señal en una instalación por defecto, y es porque otro recurso lo ha pedido.
El bloqueo es del lado del servidor a propósito: un state bag que el cliente pudiera escribir es un state bag que el cliente puede borrar. Es el que usa un atraco, una prisión o una historia: bloquea a todos los que están en el edificio y suéltalos cuando acabe.
Leerlo no cuesta absolutamente nada a través del bag:
if (Player(src).state.phoneSignal or 4) == 0 then -- nobody is calling the police from in hereendLa letra pequeña
Sección titulada «La letra pequeña»- Nada del tiempo importa hasta
Enabled = true; con eso desactivado no se mide nada. - Se calcula cada
Config.Signal.Ticksegundos, cinco por defecto. Es una comprobación de distancia contra una lista corta, y nadie la necesita al segundo. Config.Signal.Telldecide si el teléfono dice algo cuando se acaban las barras y cuando vuelven. Las dos están activadas: perder la señal necesita una razón, y recuperarla es el momento en que llega todo lo que estaba esperando.