Couverture réseau
Combien de barres affiche un téléphone, et que se passe-t-il lorsqu’il n’en a aucune.
Elle est livrée désactivée. Une ville qui n’a pas demandé de couverture réseau conserve le téléphone habituel — toutes les barres partout, rien de refusé, rien de mesuré :
-- shared/config/signal.luaEnabled = false, -- turn it on when you want bars that come from where the player is standingUne fois activée sans rien changer d’autre, il ne se passe pas grand-chose non plus : sans antennes ni zones blanches, la carte bénéficie d’une couverture totale et la seule différence réside dans un indicateur de signal qui dit enfin la vérité. Ajoutez l’une des lignes ci-dessous et le système prend tout son sens.
Tout est décidé côté serveur, à partir de l’endroit où le joueur se trouve réellement. Un client qui déciderait de son propre signal serait un client sans réseau lorsque quelqu’un l’appelle et avec quatre barres lorsqu’il appelle lui-même.
Ce que signifie l’absence de signal
Section intitulée « Ce que signifie l’absence de signal »Exactement la même chose que le mode avion, car c’est le même phénomène vu sous un autre angle : la ville ne peut pas joindre ce téléphone.
- Les appels entrants et sortants sont refusés, et le téléphone indique Vous n’avez pas de réseau ici plutôt que non disponible.
- Les messages ne partent pas, et les messages qui leur sont envoyés sont mis en attente.
- Tout ce que la ville a tenté de délivrer est remis au joueur dès que les barres réapparaissent — rien n’est perdu, tout attend.
- Le téléphone lui-même continue de fonctionner : l’appareil photo, les notes, la lampe torche, les photos déjà enregistrées.
La barre d’état affiche les barres disponibles, et à zéro elle indique Aucun service.
Hors de la ville, sans rien à configurer
Section intitulée « Hors de la ville, sans rien à configurer »-- 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},Signal au maximum dans la ville, puis les barres diminuent une par une en s’en éloignant. Mesuré sur un serveur en production avec les valeurs par défaut ci-dessus :
| Emplacement | Barres |
|---|---|
| Legion Square | 4 |
| Sandy Shores | 3 |
| Paleto Bay | 1 |
Définissez City = false pour désactiver ce comportement et vous appuyer uniquement sur les antennes relais.
Antennes relais, pour une ville où la couverture est un élément physique
Section intitulée « Antennes relais, pour une ville où la couverture est un élément physique »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},Dès que cette liste contient un élément, les barres proviennent de l’antenne la plus proche et City est ignoré. Une antenne qu’un joueur fait exploser plonge un quartier entier sans réseau téléphonique jusqu’à sa réparation — c’est la formule idéale si votre ville souhaite en faire un élément de gameplay.
Zones blanches
Section intitulée « Zones blanches »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},Une zone blanche l’emporte toujours sur ce qu’indiquent les antennes, et lorsque deux zones se chevauchent, le nombre le plus faible prévaut : un bunker situé dans une vallée ne capte pas mieux pour autant. Bars = 0 équivaut à aucun signal ; tout autre chiffre correspond à un sous-sol qui capte encore une barre.
Une sphère, car le centre d’une sphère se repère à l’aide d’une seule commande.
Pour les autres ressources
Section intitulée « Pour les autres ressources »exports.mic_phone:GetSignal(src) --> 0 to Config.Signal.Barsexports.mic_phone:SetJammed(src, true) --> takes their bars away until you give them backCes deux fonctions fonctionnent même si la couverture réseau est désactivée. GetSignal renvoie le nombre maximal de barres, de sorte qu’un script peut le lire sans se demander si la fonctionnalité est active — et le brouillage retire bel et bien le signal à un joueur, car un braquage ou une prison souhaitant neutraliser les téléphones dans un bâtiment ne devrait pas avoir à configurer tout le système au préalable. C’est l’unique cas où un téléphone peut perdre son signal sur une installation par défaut, et c’est parce qu’une autre ressource l’a expressément demandé.
Le brouillage est géré côté serveur à dessein : un state bag que le client pourrait modifier serait un state bag que le client pourrait réinitialiser. C’est ce qu’utilise un braquage, une prison ou un scénario RP : brouillez tous les occupants du bâtiment, et levez le brouillage à la fin.
Sa lecture ne coûte strictement rien via le state bag :
if (Player(src).state.phoneSignal or 4) == 0 then -- nobody is calling the police from in hereendLes détails pratiques
Section intitulée « Les détails pratiques »- Aucun timing n’importe tant que
Enabled = truen’est pas activé ; désactivé, rien n’est mesuré. - Le calcul a lieu toutes les
Config.Signal.Ticksecondes, cinq par défaut. Il s’agit d’un simple calcul de distance sur une liste restreinte, et personne n’a besoin d’une précision à la seconde près. Config.Signal.Telldétermine si le téléphone affiche un message lorsque les barres disparaissent et lorsqu’elles reviennent. Les deux sont activés : perdre le réseau nécessite une explication, et le retrouver est l’instant précis où tous les messages en attente sont délivrés.