AI Core
Przestępczość i wyścigiai-streetraces

ai-streetraces dla deweloperów

ai-streetraces nie ma eksportów. Jego alert policyjny, powody wpisów i prywatne zdarzenia.

ai-streetraces nie ma eksportów ani state bagów. Wyścigi istnieją tylko w pamięci serwera, a pieniądze, alerty i pozycja menu przechodzą przez AI Core.

Alert policyjny

Gdy zaczyna się odliczanie wyścigu, może on wysłać jeden alert (według ustawienia Alert chance w panelu) przez dispatch.alert biblioteki: tytuł „Street race”, wiadomość „(count) vehicles lining up for an illegal race”, na linii startu, z pierwszym kierowcą jako source, ikona flag-checkered. Trafia do tego skryptu alertów, który działa.

Pieniądze

Wszystkie pieniądze przechodzą przez konto ustawione w Money account w panelu z tymi powodami wpisów:

PowódKiedy
streetrace:<raceId>Wpisowe jest pobierane przy tworzeniu lub dołączaniu.
streetrace:refundWpisowe wraca (wyjście przed startem, anulowanie, za mało kierowców, zatrzymanie zasobu).
streetrace:wonZwycięzca dostaje pulę.
streetrace:splitSkończył się limit czasu; każdy kierowca, który nadal jedzie, dostaje część.

Otwieranie menu z innego skryptu

Serwer otwiera menu wyścigu zdarzeniem klienta ai-streetraces:client:openMenu (tak działa /race). Użyj go, aby umieścić menu we własnej aplikacji telefonu lub w punkcie interakcji.

Strona: serwer -> klient · Argumenty: brak

// serwer
emitNet("ai-streetraces:client:openMenu", source);

Menu pokazuje tylko to, co gracz może teraz zrobić (utworzyć wyścig do punktu na mapie, przyjąć zaproszenie, wystartować, anulować, wyjść lub się poddać), a każdy wybór jest sprawdzany na serwerze, więc otwarcie go dla kogokolwiek jest bezpieczne.

Prywatne zdarzenia i callbacki

Własny kontrakt skryptu (resource/common/race.ts). Serwer sprawdza pojazd, odległość, pieniądze i stan wyścigu przy każdym wywołaniu. Mogą się zmieniać między wersjami: nie wywołuj ich ani nie nasłuchuj ich z innych zasobów.

NazwaKierunekCo przenosi
ai-streetraces:createcallback klienta(buyIn, finishX, finishY): utwórz wyścig od pozycji gracza do mety.
ai-streetraces:joincallback klienta(raceId): dołącz do wyścigu, do którego gracz został zaproszony (płaci wpisowe).
ai-streetraces:leavecallback klienta(): opuść wyścig; wyjście gospodarza przed startem anuluje wyścig.
ai-streetraces:begincallback klienta(): gospodarz kończy teraz czas dołączania.
ai-streetraces:finishcallback klienta(): kierowca dojechał do mety.
ai-streetraces:client:stateserwer -> kierowca(race, serverNow): migawka wyścigu, w którym jest gracz.
ai-streetraces:client:racerserwer -> kierowcy(racer, pot): dołączył kierowca.
ai-streetraces:client:racerLeftserwer -> kierowcy(racerId, pot): kierowca wyszedł.
ai-streetraces:client:startserwer -> kierowcy(startAt, serverNow): trwa odliczanie; GO o startAt (zegar serwera).
ai-streetraces:client:endedserwer -> kierowca(): wyścig się skończył dla tego gracza.
ai-streetraces:client:inviteserwer -> gracze w pobliżu nowego wyścigu(invite, serverNow).
ai-streetraces:client:uninviteserwer -> zaproszeni gracze(raceId): wyścig nie przyjmuje już kierowców.

Na tej stronie