Cobertura de sinal
Quantas barras de sinal um telefone tem e o que acontece quando ele não tem nenhuma.
Ele vem desligado de fábrica. Uma cidade que não pediu cobertura recebe o telefone que sempre teve — barras cheias em todos os lugares, nada recusado, nada medido:
-- shared/config/signal.luaEnabled = false, -- turn it on when you want bars that come from where the player is standingLigado e sem mais nada alterado, ainda não acontece muita coisa: sem antenas e sem zonas mortas, o mapa tem cobertura total e a única diferença é um medidor de sinal que finalmente diz a verdade. Adicione uma linha abaixo e isso começa a significar alguma coisa.
Tudo é decidido no servidor, a partir de onde o jogador realmente está. Um cliente que decide o próprio sinal é um cliente sem barras quando alguém está ligando para ele e com quatro barras quando ele está fazendo uma ligação.
O que significa ficar sem sinal
Seção intitulada “O que significa ficar sem sinal”A mesma coisa que o modo avião significa, porque é o mesmo fato vindo da direção oposta: a cidade não consegue alcançar aquele telefone.
- Chamadas recebidas e realizadas são recusadas, e o telefone diz Você está sem sinal aqui em vez de indisponível.
- As mensagens não serão enviadas, e as mensagens enviadas para ele ficam retidas.
- Tudo o que a cidade tentou entregar é repassado no momento em que as barras voltam — nada é perdido, tudo espera.
- O telefone em si continua funcionando: a câmera, as notas, a lanterna, as fotos que já estão nele.
A barra de status desenha as barras que tem e, quando não há nada, exibe Sem serviço.
Fora da cidade, sem nada para configurar
Seção intitulada “Fora da cidade, sem nada para 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 cheias na cidade, diminuindo uma a uma conforme você se afasta. Medido em um servidor ativo com os padrões acima:
| Onde | Barras |
|---|---|
| Legion Square | 4 |
| Sandy Shores | 3 |
| Paleto Bay | 1 |
Defina City = false para desativar isso e usar apenas antenas.
Antenas, para uma cidade onde a cobertura é algo para o qual os jogadores podem apontar
Seção intitulada “Antenas, para uma cidade onde a cobertura é algo para o qual os jogadores podem apontar”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},Quando esta lista tem qualquer item, as barras vêm da antena mais próxima e City é ignorado. Uma antena que alguém explodiu representa um bairro sem telefones até que seja consertada — que é a versão que vale a pena ter se a sua cidade quiser fazer algo com isso.
Zonas sem sinal
Seção intitulada “Zonas sem sinal”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},Uma zona morta vence o que quer que as antenas digam e, onde duas se sobrepõem, o menor número vence: um bunker dentro de um vale não tem cobertura melhor por estar em ambos. Bars = 0 é nada; qualquer outro número é um porão que ainda pega uma barra.
É uma esfera porque uma esfera é algo cujo centro você consegue encontrar com um único comando.
Para outros recursos
Seção intitulada “Para outros recursos”exports.mic_phone:GetSignal(src) --> 0 to Config.Signal.Barsexports.mic_phone:SetJammed(src, true) --> takes their bars away until you give them backAmbos funcionam mesmo com a cobertura desligada. GetSignal responde a contagem máxima, para que um script possa lê-la sem perguntar se o recurso existe — e o bloqueio de sinal ainda tira as barras de alguém, porque um assalto ou uma prisão que queira um prédio sem telefones funcionando não deveria precisar configurar o recurso inteiro primeiro. Esse é o único caso em que um telefone pode perder o sinal em uma instalação padrão, e acontece porque outro recurso pediu por isso.
O bloqueio fica no lado do servidor de propósito: uma state bag na qual o cliente pudesse escrever seria uma state bag que o cliente poderia limpar. É isso que um assalto, uma prisão ou uma história usa — bloqueie todo mundo no prédio e libere quando acabar.
Ler isso não custa absolutamente nada através da state bag:
if (Player(src).state.phoneSignal or 4) == 0 then -- nobody is calling the police from in hereendAs letras miúdas
Seção intitulada “As letras miúdas”- Nenhum tempo importa até que
Enabled = true; com isso desligado, nada é medido. - O cálculo é feito a cada
Config.Signal.Ticksegundos, cinco por padrão. É uma verificação de distância contra uma lista curta, e não é nada que alguém precise atualizar a cada segundo. Config.Signal.Telldecide se o telefone avisa quando as barras acabam e quando elas voltam. Ambos vêm ligados: perder o sinal precisa de um motivo, e recuperá-lo é o momento em que tudo o que estava em espera chega.