ai-robberies dla deweloperów
Klucze GlobalState obrabowanych celów, metadane domu, alerty i powody wpisów ai-robberies oraz jego prywatne zdarzenia.
ai-robberies nie ma eksportów. Miejsca i cele to dane panelu, a nagrody, narzędzia, alerty i drzwi przechodzą przez AI Core. Poniżej jest to, co może odczytać inny skrypt.
GlobalState rob:<targetId>
true, gdy cel został obrabowany i czeka na czas odnowienia swojego miejsca, false po upływie tego czasu. Zapisuje go serwer; każdy klient może go odczytać. Przy starcie zasobu każdy klucz jest resetowany. ID celów to ID rekordów z zakładki Targets (store_1_register_1, store_1_safe, vangelico_vitrine_1...).
Strona: serwer i klient (odczyt) · Czeka: nie
GlobalState[`rob:${targetId}`]: boolean | undefinedlocal emptied = GlobalState['rob:' .. targetId] == trueZwraca
true, gdy cel jest opróżniony. false po zakończeniu czasu odnowienia, undefined / nil, gdy cel nie był obrabowany od startu zasobu.
Przykład
Pokaż znacznik „obrabowane” we własnym skrypcie sklepu, dopóki sejf jest opróżniony:
// klient
const SAFE = "store_1_safe";
AddStateBagChangeHandler(`rob:${SAFE}`, "global", (_bag: string, _key: string, value: unknown) => {
const emptied = value === true;
// ... pokaż lub ukryj swój znacznik
});
const emptiedNow = GlobalState[`rob:${SAFE}`] === true;Tylko odczytuj te klucze, nigdy ich nie zapisuj: należą do ai-robberies, który ustawia je według własnych liczników czasu. Wartość zapisana przez inny skrypt rozsynchronizowuje sprawdzenia serwera i etykiety klientów.
Metadane postaci robbery_house
ID domu, w którym jest postać (house_12), lub null, gdy jest na zewnątrz. ai-robberies ustawia je, gdy rabuś się włamie, i czyści, gdy wyjdzie. Postać, która opuściła grę w domu, przy następnym wczytaniu pojawia się przy drzwiach domu.
Alerty policyjne
Wysyłane przez dispatch.alert biblioteki, więc trafiają do tego skryptu alertów, który działa:
| Kiedy | Kod | Tytuł | Ikona | Priorytet |
|---|---|---|---|---|
| Pierwszy napad podczas wizyty (według szansy alertu miejsca) | 10-90 | Tekst alertu o napadzie, z nazwą miejsca jako wiadomością i punktem alertu miejsca jako współrzędnymi | sack-dollar | wysoki |
| Rozpoczyna się zlecenie na furgonetkę konwojową | 10-90 | Tekst alertu o furgonetce, w miejscu rabusia, czerwony blip ze sprite 67 | truck | wysoki |
Pieniądze
Skradzione pieniądze trafiają na konto ustawione w Money account w panelu z powodem wpisu robbery:<placeId> (na przykład robbery:store_1).
Drzwi
Cel typu drzwi z ID Doorlock door jest odblokowywany przez warstwę drzwi AI Core (doors.setLocked biblioteki) i blokowany ponownie po zakończeniu czasu odnowienia miejsca.
Prywatne zdarzenia i callbacki
Własny kontrakt skryptu (resource/common/robbery.ts). Serwer sprawdza liczbę policjantów, odległość, przedmioty i zajęcie celu przy każdym wywołaniu. Mogą się zmieniać między wersjami: nie wywołuj ich ani nie nasłuchuj ich z innych zasobów.
| Nazwa | Kierunek | Co przenosi |
|---|---|---|
ai-robberies:start | callback klienta | (targetId): zacznij rabować cel; odpowiada { ok, entered? }. Serwer prowadzi pasek postępu i nagrodę. |
ai-robberies:exit | callback klienta | (): opuść dom, w którym jest gracz. |
ai-robberies:client:inside | serwer -> gracz | (placeId | null, to): gracz jest teraz w tym domu (albo z niego wyszedł); teleport do to. |
ai-robberies:truckStart | callback klienta | (): zapłać zleceniodawcy za zlecenie na furgonetkę konwojową. |
ai-robberies:client:truckJob | serwer -> gracz | (netId, x, y, z): furgonetka do obrabowania i jej tylne drzwi. |
ai-robberies:truckPlant | callback klienta | (): podłóż ładunek (pasek postępu prowadzony przez serwer; drzwi wylatują po czasie zapalnika). |
ai-robberies:client:truckOpen | serwer -> gracze przy furgonetce | (netId): tylne drzwi są otwarte. |
ai-robberies:truckLoot | callback klienta | (): zabierz gotówkę (pasek postępu prowadzony przez serwer). |
ai-robberies:client:truckEnd | serwer -> gracze, którzy znali furgonetkę | (): zlecenie na furgonetkę się skończyło. |
ai-robberies
Napady na sklepy, banki, jubilera i domy oraz zlecenie na furgonetkę konwojową, wszystko ustawiane w panelu administratora i sprawdzane na serwerze.
ai-drugs
Uliczna sprzedaż narkotyków nieznajomym, włączana z menu radialnego, oraz rośliny marihuany, które rosną z czasem i są zapisywane w bazie danych.