Copertura di rete
Quante tacche ha un telefono e cosa succede quando non ne ha nessuna.
Di base è disattivata. Una città che non ha richiesto la copertura ottiene il telefono che ha sempre avuto: tacche piene ovunque, nessuna chiamata rifiutata, nessuna misurazione:
-- shared/config/signal.luaEnabled = false, -- turn it on when you want bars that come from where the player is standingSe la attivi senza cambiare nient’altro, continua a non succedere quasi nulla: senza ripetitori e senza zone morte la mappa ha copertura totale e l’unica differenza è un indicatore di segnale che finalmente dice la verità. Aggiungi una riga qui sotto e inizia ad avere un senso.
Tutto viene deciso sul server, in base a dove si trova effettivamente il giocatore. Un client che decide da solo il proprio segnale è un client con zero tacche mentre qualcuno lo sta chiamando e quattro tacche mentre chiama lui.
Cosa significa assenza di segnale
Sezione intitolata “Cosa significa assenza di segnale”La stessa identica cosa della modalità aereo, perché è lo stesso fatto visto dalla direzione opposta: la città non può raggiungere quel telefono.
- Le chiamate in entrata e in uscita vengono rifiutate e il telefono dice Non hai segnale qui invece di non disponibile.
- I messaggi non partono e quelli inviati a quel numero vengono trattenuti.
- Tutto ciò che la città ha provato a consegnare viene recapitato nell’istante in cui tornano le tacche: non va perso nulla, resta in attesa.
- Il telefono in sé continua a funzionare: la fotocamera, le note, la torcia, le foto già presenti in galleria.
La barra di stato disegna le tacche disponibili e, quando è a zero, mostra Nessun servizio.
Fuori città, senza dover configurare nulla
Sezione intitolata “Fuori città, senza dover configurare nulla”-- 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},Tacche piene in città, che scendono una alla volta man mano che ci si allontana. Misurato su un server attivo con i valori predefiniti qui sopra:
| Dove | Tacche |
|---|---|
| Legion Square | 4 |
| Sandy Shores | 3 |
| Paleto Bay | 1 |
Imposta City = false per disattivarlo e usare solo i ripetitori.
Ripetitori, per una città dove la copertura è qualcosa che i giocatori possono indicare
Sezione intitolata “Ripetitori, per una città dove la copertura è qualcosa che i giocatori possono indicare”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 questo elenco contiene almeno un elemento, le tacche dipendono dal ripetitore più vicino e City viene ignorato. Un ripetitore fatto saltare in aria da qualcuno significa un intero quartiere senza telefoni finché non viene riparato — ed è la modalità che vale la pena usare se la tua città vuole costruirci sopra del gioco.
Zone d’ombra
Sezione intitolata “Zone d’ombra”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},Una zona d’ombra ha la priorità su qualsiasi cosa dicano i ripetitori e, dove due zone si sovrappongono, vince il numero più basso: un bunker dentro una valle non è coperto meglio solo perché si trova in entrambi. Bars = 0 significa nessun segnale; qualsiasi altro numero rappresenta uno scantinato che prende ancora una tacca.
È una sfera perché di una sfera puoi trovare il centro con un solo comando.
Per le altre risorse
Sezione intitolata “Per le altre risorse”exports.mic_phone:GetSignal(src) --> 0 to Config.Signal.Barsexports.mic_phone:SetJammed(src, true) --> takes their bars away until you give them backEntrambi funzionano anche con la copertura disattivata. GetSignal restituisce il massimo delle tacche, così uno script può leggerlo senza doversi chiedere se la funzione sia attiva — e il disturbatore di frequenze (jammer) toglie comunque le tacche a un giocatore, perché una rapina o una prigione che vogliono un edificio senza campo non dovrebbero richiedere prima la configurazione dell’intero sistema di copertura. Questo è l’unico caso in cui un telefono può perdere il segnale in un’installazione predefinita, ed è perché un’altra risorsa lo ha richiesto.
Il disturbatore è lato server di proposito: uno state bag scrivibile dal client sarebbe uno state bag che il client può ripulire. È pensato per rapine, prigioni o eventi di trama: disturba il segnale di tutti nell’edificio e rilascialo quando finisce.
Leggerlo non costa assolutamente nulla tramite lo state bag:
if (Player(src).state.phoneSignal or 4) == 0 then -- nobody is calling the police from in hereendI dettagli tecnici
Sezione intitolata “I dettagli tecnici”- Nessun intervallo di tempo conta finché non imposti
Enabled = true; quando è disattivato non viene misurato nulla. - Il calcolo viene effettuato ogni
Config.Signal.Ticksecondi, cinque per impostazione predefinita. È un controllo di distanza su una lista breve, e nessuno ha bisogno che venga aggiornato al secondo. Config.Signal.Telldecide se il telefono mostra un avviso quando finiscono le tacche e quando tornano. Entrambi sono attivi: perdere il segnale richiede una spiegazione, e riaverlo è il momento in cui arriva tutto ciò che era rimasto in attesa.