AI Core
Crimen y carrerasai-robberies

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

Firma
GlobalState[`rob:${targetId}`]: boolean | undefined
Lua
local emptied = GlobalState['rob:' .. targetId] == true

Devuelve

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ándoCódigoTítuloIconoPrioridad
El primer robo de una visita (según la probabilidad de alerta del lugar)10-90Texto de alerta de robo, con el nombre del lugar como mensaje y el punto de alerta del lugar como coordenadassack-dollaralta
Empieza un trabajo de furgón blindado10-90Texto de alerta de furgón blindado, en la posición del ladrón, blip sprite 67 rojotruckalta

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.

NombreDirecciónQué transporta
ai-robberies:startcallback de cliente(targetId): empieza a robar un objetivo; responde { ok, entered? }. El servidor lleva la barra de progreso y la recompensa.
ai-robberies:exitcallback de cliente(): salir de la casa en la que está el jugador.
ai-robberies:client:insideservidor -> jugador(placeId | null, to): el jugador está ahora dentro de esta casa (o ha salido); teletransportar a to.
ai-robberies:truckStartcallback de cliente(): pagar un trabajo de furgón blindado en el punto del trabajo.
ai-robberies:client:truckJobservidor -> jugador(netId, x, y, z): el furgón que robar y sus puertas traseras.
ai-robberies:truckPlantcallback de cliente(): colocar el explosivo (barra de progreso llevada por el servidor; las puertas vuelan tras la mecha).
ai-robberies:client:truckOpenservidor -> jugadores cerca del furgón(netId): las puertas traseras están abiertas.
ai-robberies:truckLootcallback de cliente(): coger el dinero (barra de progreso llevada por el servidor).
ai-robberies:client:truckEndservidor -> jugadores que conocían el furgón(): el trabajo del furgón ha terminado.

En esta página