ai-robberies para desarrolladores
Las claves de GlobalState de los objetivos robados, el metadata de las casas, las alertas y los motivos de registro de ai-robberies, y sus eventos privados.
ai-robberies no tiene exports. Los lugares y objetivos son datos del panel, y las recompensas, herramientas, alertas y puertas pasan por AI Core. Lo que otro script puede leer está abajo.
GlobalState rob:<targetId>
true mientras un objetivo está robado y espera el tiempo de espera de su lugar, false tras el tiempo de espera. El servidor la escribe; cualquier cliente puede leerla. Al iniciar el recurso se reinician todas las claves. Los ids de objetivo son los ids de registro de la pestaña Targets (store_1_register_1, store_1_safe, vangelico_vitrine_1...).
Lado: Servidor y cliente (lectura) · Espera: no
GlobalState[`rob:${targetId}`]: boolean | undefinedlocal emptied = GlobalState['rob:' .. targetId] == trueDevuelve
true mientras está vacío. false cuando terminó el tiempo de espera, undefined / nil cuando el objetivo no se ha robado desde que se inició el recurso.
Ejemplo
Mostrar una marca de "robado" en tu propio script de tienda mientras la caja fuerte está vacía:
// cliente
const SAFE = "store_1_safe";
AddStateBagChangeHandler(`rob:${SAFE}`, "global", (_bag: string, _key: string, value: unknown) => {
const emptied = value === true;
// ... mostrar u ocultar tu marca
});
const emptiedNow = GlobalState[`rob:${SAFE}`] === true;Lee estas claves, nunca las escribas: son de ai-robberies, que las fija con sus propios temporizadores. Un valor escrito por otro script desincroniza las comprobaciones del servidor y las etiquetas de los clientes.
Metadata del personaje robbery_house
El id del lugar de tipo casa en el que está un personaje (house_12), o null cuando está fuera. ai-robberies lo fija cuando el ladrón entra y lo borra cuando sale. Un personaje que salió del juego dentro de una casa vuelve a la puerta de la casa en su próxima carga.
Alertas policiales
Se envían con dispatch.alert de la lib, así que llegan al script de alertas que esté en uso:
| Cuándo | Código | Título | Icono | Prioridad |
|---|---|---|---|---|
| El primer robo de una visita (según la probabilidad de alerta del lugar) | 10-90 | Texto de alerta de robo, con el nombre del lugar como mensaje y el punto de alerta del lugar como coordenadas | sack-dollar | alta |
| Empieza un trabajo de furgón blindado | 10-90 | Texto de alerta de furgón blindado, en la posición del ladrón, blip sprite 67 rojo | truck | alta |
Dinero
El dinero robado va a la Money account del panel con el motivo de registro robbery:<placeId> (por ejemplo robbery:store_1).
Puertas
Un objetivo de puerta con un id de Doorlock door se desbloquea a través de la capa de puertas de AI Core (doors.setLocked de la lib) y se vuelve a bloquear cuando termina el tiempo de espera del lugar.
Eventos y callbacks privados
El contrato propio del script (resource/common/robbery.ts). El servidor comprueba el número de policías, la distancia, los objetos y las reservas en cada llamada. Pueden cambiar entre versiones: no los dispares ni los escuches desde otros recursos.
| Nombre | Dirección | Qué transporta |
|---|---|---|
ai-robberies:start | callback de cliente | (targetId): empieza a robar un objetivo; responde { ok, entered? }. El servidor lleva la barra de progreso y la recompensa. |
ai-robberies:exit | callback de cliente | (): salir de la casa en la que está el jugador. |
ai-robberies:client:inside | servidor -> jugador | (placeId | null, to): el jugador está ahora dentro de esta casa (o ha salido); teletransportar a to. |
ai-robberies:truckStart | callback de cliente | (): pagar un trabajo de furgón blindado en el punto del trabajo. |
ai-robberies:client:truckJob | servidor -> jugador | (netId, x, y, z): el furgón que robar y sus puertas traseras. |
ai-robberies:truckPlant | callback de cliente | (): colocar el explosivo (barra de progreso llevada por el servidor; las puertas vuelan tras la mecha). |
ai-robberies:client:truckOpen | servidor -> jugadores cerca del furgón | (netId): las puertas traseras están abiertas. |
ai-robberies:truckLoot | callback de cliente | (): coger el dinero (barra de progreso llevada por el servidor). |
ai-robberies:client:truckEnd | servidor -> jugadores que conocían el furgón | (): el trabajo del furgón ha terminado. |
ai-robberies
Robos a tiendas, bancos, joyería y casas, más el trabajo del furgón blindado, todo configurado en el panel de administración y comprobado en el servidor.
ai-drugs
Venta callejera de drogas a desconocidos, activada desde el menú radial, y plantas de marihuana que crecen con el tiempo y se guardan en la base de datos.