AI Core
Kriminalität und Rennenai-robberies

ai-robberies für Entwickler

Die GlobalState-Schlüssel ausgeraubter Ziele, die Haus-Metadaten, die Alarme und Buchungsgründe von ai-robberies und seine privaten Events.

ai-robberies hat keine Exports. Orte und Ziele sind Panel-Daten, und Belohnungen, Werkzeuge, Alarme und Türen laufen über AI Core. Was ein anderes Skript lesen kann, steht unten.

GlobalState rob:<targetId>

true, solange ein Ziel ausgeraubt ist und auf die Abklingzeit seines Orts wartet, false nach der Abklingzeit. Der Server schreibt ihn; jeder Client kann ihn lesen. Beim Start der Ressource wird jeder Schlüssel zurückgesetzt. Ziel-IDs sind die Datensatz-IDs des Tabs Targets (store_1_register_1, store_1_safe, vangelico_vitrine_1...).

Seite: Server und Client (lesen) · Wartet: nein

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

Rückgabewert

true, solange geleert. false, nachdem die Abklingzeit abgelaufen ist, undefined / nil, wenn das Ziel seit dem Start der Ressource nicht ausgeraubt wurde.

Beispiel

In deinem eigenen Ladenskript eine „ausgeraubt“-Markierung zeigen, solange der Tresor geleert ist:

// Client
const SAFE = "store_1_safe";

AddStateBagChangeHandler(`rob:${SAFE}`, "global", (_bag: string, _key: string, value: unknown) => {
  const emptied = value === true;
  // ... deine Markierung zeigen oder ausblenden
});

const emptiedNow = GlobalState[`rob:${SAFE}`] === true;

Lies diese Schlüssel, schreibe sie nie: ai-robberies besitzt sie und setzt sie über seine eigenen Timer. Ein von einem anderen Skript geschriebener Wert bringt die Prüfungen des Servers und die Beschriftungen der Clients aus dem Takt.

Charakter-Metadaten robbery_house

Die ID des Hausorts, in dem ein Charakter ist (house_12), oder null, wenn draußen. ai-robberies setzt sie, wenn der Einbrecher einbricht, und löscht sie, wenn er geht. Ein Charakter, der das Spiel in einem Haus verlassen hat, wird beim nächsten Laden an die Haustür zurückgesetzt.

Polizeialarme

Werden über dispatch.alert der Lib gesendet, sodass sie das jeweils laufende Alarmskript erreichen:

WannCodeTitelSymbolPriorität
Der erste Überfall eines Besuchs (nach der Alarmchance des Orts)10-90Alarmtext für Überfall, mit dem Namen des Orts als Nachricht und dem Alarmpunkt des Orts als Koordinatensack-dollarhoch
Ein Geldtransporter-Job startet10-90Alarmtext für Geldtransporter, an der Position des Räubers, Blip-Sprite 67 rottruckhoch

Geld

Gestohlenes Geld geht auf das Money account aus dem Panel mit dem Buchungsgrund robbery:<placeId> (zum Beispiel robbery:store_1).

Türen

Ein Tür-Ziel mit einer Doorlock door-ID wird über den Tür-Layer von AI Core aufgeschlossen (doors.setLocked der Lib) und wieder abgeschlossen, wenn die Abklingzeit des Orts endet.

Private Events und Callbacks

Der eigene Vertrag des Skripts (resource/common/robbery.ts). Der Server prüft bei jedem Aufruf Polizeianzahl, Entfernung, Items und Ansprüche. Sie können sich zwischen Versionen ändern: Löse sie nicht aus anderen Ressourcen aus und höre nicht darauf.

NameRichtungWas es überträgt
ai-robberies:startClient-Callback(targetId): beginnen, ein Ziel auszurauben; antwortet mit { ok, entered? }. Der Server lässt den Fortschrittsbalken und die Belohnung laufen.
ai-robberies:exitClient-Callback(): das Haus verlassen, in dem der Spieler ist.
ai-robberies:client:insideServer -> Spieler(placeId | null, to): Der Spieler ist jetzt in diesem Haus (oder hat es verlassen); Teleport nach to.
ai-robberies:truckStartClient-Callback(): beim Auftraggeber für einen Geldtransporter-Job bezahlen.
ai-robberies:client:truckJobServer -> Spieler(netId, x, y, z): der auszuraubende Transporter und seine Hecktüren.
ai-robberies:truckPlantClient-Callback(): den Sprengstoff anbringen (vom Server gesteuerter Fortschrittsbalken; die Türen fliegen nach der Zündung auf).
ai-robberies:client:truckOpenServer -> Spieler in der Nähe des Transporters(netId): Die Hecktüren sind offen.
ai-robberies:truckLootClient-Callback(): das Bargeld nehmen (vom Server gesteuerter Fortschrittsbalken).
ai-robberies:client:truckEndServer -> Spieler, die den Transporter kannten(): Der Transporter-Job ist vorbei.

Auf dieser Seite