ai-robberies pour les développeurs
Les clés GlobalState des cibles braquées, la métadonnée de maison, les alertes et les motifs de registre d’ai-robberies, et ses events privés.
ai-robberies n’a aucun export. Les lieux et les cibles sont des données du panneau, et les récompenses, les outils, les alertes et les portes passent par AI Core. Ce qu’un autre script peut lire est listé ci-dessous.
GlobalState rob:<targetId>
true tant qu’une cible est braquée et attend la fin du temps de recharge de son lieu, false après ce temps de recharge. Le serveur l’écrit ; chaque client peut le lire. Au démarrage de la ressource, chaque clé est réinitialisée. Les id de cibles sont les id d’enregistrement de l’onglet Targets (store_1_register_1, store_1_safe, vangelico_vitrine_1...).
Côté : Serveur et client (lecture) · Attend : non
GlobalState[`rob:${targetId}`]: boolean | undefinedlocal emptied = GlobalState['rob:' .. targetId] == trueRetour
true tant que la cible est vidée. false une fois le temps de recharge terminé, undefined / nil quand la cible n’a pas été braquée depuis le démarrage de la ressource.
Exemple
Afficher une marque « braqué » dans votre propre script de magasin tant que le coffre est vidé :
// client
const SAFE = "store_1_safe";
AddStateBagChangeHandler(`rob:${SAFE}`, "global", (_bag: string, _key: string, value: unknown) => {
const emptied = value === true;
// ... afficher ou masquer votre marque
});
const emptiedNow = GlobalState[`rob:${SAFE}`] === true;Lisez ces clés, ne les écrivez jamais : ai-robberies en est propriétaire et les règle à partir de ses propres minuteurs. Une valeur écrite par un autre script désynchronise les vérifications du serveur et les libellés des clients.
Métadonnée de personnage robbery_house
L’id du lieu de type maison dans lequel se trouve un personnage (house_12), ou null quand il est dehors. ai-robberies la règle quand le braqueur entre par effraction et l’efface quand il sort. Un personnage qui a quitté le jeu à l’intérieur d’une maison est replacé devant la porte de la maison à son prochain chargement.
Alertes police
Envoyées via le dispatch.alert de la lib, elles atteignent donc le script d’alerte qui tourne, quel qu’il soit :
| Quand | Code | Titre | Icône | Priorité |
|---|---|---|---|---|
| Le premier braquage d’une visite (selon la chance d’alerte du lieu) | 10-90 | Texte d’alerte de braquage, avec le nom du lieu comme message et le point d’alerte du lieu comme coordonnées | sack-dollar | high |
| Une mission de fourgon blindé démarre | 10-90 | Texte d’alerte du fourgon blindé, à la position du braqueur, blip sprite 67 rouge | truck | high |
Argent
L’argent volé va sur le Money account du panneau avec le motif de registre robbery:<placeId> (par exemple robbery:store_1).
Portes
Une cible de type porte avec un id Doorlock door est déverrouillée via la couche portes d’AI Core (doors.setLocked de la lib) et reverrouillée à la fin du temps de recharge du lieu.
Events et callbacks privés
Le contrat propre du script (resource/common/robbery.ts). Le serveur vérifie le nombre de policiers, la distance, les objets et les réservations à chaque appel. Ils peuvent changer d’une version à l’autre : ne les déclenchez pas et ne les écoutez pas depuis d’autres ressources.
| Nom | Direction | Ce qu’il transporte |
|---|---|---|
ai-robberies:start | callback client | (targetId) : commencer à braquer une cible ; répond { ok, entered? }. Le serveur exécute la barre de progression et la récompense. |
ai-robberies:exit | callback client | () : quitter la maison dans laquelle se trouve le joueur. |
ai-robberies:client:inside | serveur -> joueur | (placeId | null, to) : le joueur est maintenant dans cette maison (ou en est sorti) ; téléportation vers to. |
ai-robberies:truckStart | callback client | () : payer une mission de fourgon blindé auprès du donneur. |
ai-robberies:client:truckJob | serveur -> joueur | (netId, x, y, z) : le fourgon à braquer et ses portes arrière. |
ai-robberies:truckPlant | callback client | () : poser l’explosif (barre de progression exécutée par le serveur ; les portes sautent après la mèche). |
ai-robberies:client:truckOpen | serveur -> joueurs proches du fourgon | (netId) : les portes arrière sont ouvertes. |
ai-robberies:truckLoot | callback client | () : prendre l’argent (barre de progression exécutée par le serveur). |
ai-robberies:client:truckEnd | serveur -> joueurs qui connaissaient le fourgon | () : la mission du fourgon est terminée. |
ai-robberies
Braquages de magasins, de banques, de bijouterie et de maisons, plus le fourgon blindé, tous réglés dans le panneau d’administration et vérifiés sur le serveur.
ai-drugs
Vente de drogue dans la rue à des inconnus, activée depuis le menu radial, et plants de cannabis qui poussent avec le temps et sont enregistrés dans la base de données.