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
GlobalState[`rob:${targetId}`]: boolean | undefinedlocal emptied = GlobalState['rob:' .. targetId] == trueRü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:
| Wann | Code | Titel | Symbol | Priorität |
|---|---|---|---|---|
| Der erste Überfall eines Besuchs (nach der Alarmchance des Orts) | 10-90 | Alarmtext für Überfall, mit dem Namen des Orts als Nachricht und dem Alarmpunkt des Orts als Koordinaten | sack-dollar | hoch |
| Ein Geldtransporter-Job startet | 10-90 | Alarmtext für Geldtransporter, an der Position des Räubers, Blip-Sprite 67 rot | truck | hoch |
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.
| Name | Richtung | Was es überträgt |
|---|---|---|
ai-robberies:start | Client-Callback | (targetId): beginnen, ein Ziel auszurauben; antwortet mit { ok, entered? }. Der Server lässt den Fortschrittsbalken und die Belohnung laufen. |
ai-robberies:exit | Client-Callback | (): das Haus verlassen, in dem der Spieler ist. |
ai-robberies:client:inside | Server -> Spieler | (placeId | null, to): Der Spieler ist jetzt in diesem Haus (oder hat es verlassen); Teleport nach to. |
ai-robberies:truckStart | Client-Callback | (): beim Auftraggeber für einen Geldtransporter-Job bezahlen. |
ai-robberies:client:truckJob | Server -> Spieler | (netId, x, y, z): der auszuraubende Transporter und seine Hecktüren. |
ai-robberies:truckPlant | Client-Callback | (): den Sprengstoff anbringen (vom Server gesteuerter Fortschrittsbalken; die Türen fliegen nach der Zündung auf). |
ai-robberies:client:truckOpen | Server -> Spieler in der Nähe des Transporters | (netId): Die Hecktüren sind offen. |
ai-robberies:truckLoot | Client-Callback | (): das Bargeld nehmen (vom Server gesteuerter Fortschrittsbalken). |
ai-robberies:client:truckEnd | Server -> Spieler, die den Transporter kannten | (): Der Transporter-Job ist vorbei. |
ai-robberies
Überfälle auf Läden, Banken, Juweliere und Häuser plus der Geldtransporter-Job, alles im Admin-Panel eingestellt und auf dem Server geprüft.
ai-drugs
Straßenverkauf von Drogen an Fremde, über das Radialmenü eingeschaltet, und Cannabispflanzen, die mit der Zeit wachsen und in der Datenbank gespeichert werden.