AI Core
Kriminalität und Rennenai-streetraces

ai-streetraces für Entwickler

ai-streetraces hat keine Exports. Sein Polizeialarm, seine Buchungsgründe und seine privaten Events.

ai-streetraces hat keine Exports oder State Bags. Rennen existieren nur im Speicher des Servers, und Geld, Alarme und der Menü-Eintrag laufen über AI Core.

Polizeialarm

Wenn der Countdown eines Rennens startet, kann es einen Alarm senden (nach der Alert chance aus dem Panel) über dispatch.alert der Lib: der Titel „Street race“, die Nachricht „(count) vehicles lining up for an illegal race“, an der Startlinie, mit dem ersten Fahrer als source, Symbol flag-checkered. Er erreicht das jeweils laufende Alarmskript.

Geld

Alles Geld bewegt sich auf dem Money account aus dem Panel mit diesen Buchungsgründen:

GrundWann
streetrace:<raceId>Ein Einsatz wird beim Erstellen oder Beitreten abgebucht.
streetrace:refundEin Einsatz kommt zurück (vor dem Start ausgestiegen, abgebrochen, zu wenige Fahrer, Stopp der Ressource).
streetrace:wonDer Gewinner bekommt den Pott.
streetrace:splitDas Zeitlimit ist abgelaufen; jeder noch teilnehmende Fahrer bekommt einen Anteil.

Das Menü aus einem anderen Skript öffnen

Der Server öffnet das Rennmenü mit dem Client-Event ai-streetraces:client:openMenu (das macht /race). Nutze es, um das Menü in deine eigene Telefon-App oder auf einen Interaktionspunkt zu legen.

Seite: Server -> Client · Argumente: keine

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

Das Menü zeigt nur, was der Spieler gerade tun kann (zum Wegpunkt erstellen, einer Einladung beitreten, starten, abbrechen, aussteigen oder aufgeben), und jede Auswahl wird auf dem Server geprüft, daher ist es sicher, es für jeden zu öffnen.

Private Events und Callbacks

Der eigene Vertrag des Skripts (resource/common/race.ts). Der Server prüft bei jedem Aufruf das Fahrzeug, die Entfernung, das Geld und den Rennstatus. 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-streetraces:createClient-Callback(buyIn, finishX, finishY): ein Rennen von der Position des Spielers zum Ziel erstellen.
ai-streetraces:joinClient-Callback(raceId): einem Rennen beitreten, zu dem der Spieler eingeladen wurde (zahlt den Einsatz).
ai-streetraces:leaveClient-Callback(): das Rennen verlassen; verlässt der Gastgeber es vor dem Start, wird es abgebrochen.
ai-streetraces:beginClient-Callback(): Der Gastgeber beendet die Beitrittszeit jetzt.
ai-streetraces:finishClient-Callback(): Der Fahrer hat das Ziel erreicht.
ai-streetraces:client:stateServer -> Fahrer(race, serverNow): ein Snapshot des Rennens, in dem der Spieler ist.
ai-streetraces:client:racerServer -> Fahrer(racer, pot): Ein Fahrer ist beigetreten.
ai-streetraces:client:racerLeftServer -> Fahrer(racerId, pot): Ein Fahrer ist ausgestiegen.
ai-streetraces:client:startServer -> Fahrer(startAt, serverNow): Der Countdown läuft; GO bei startAt (Serveruhr).
ai-streetraces:client:endedServer -> Fahrer(): Das Rennen ist für diesen Spieler vorbei.
ai-streetraces:client:inviteServer -> Spieler in der Nähe eines neuen Rennens(invite, serverNow).
ai-streetraces:client:uninviteServer -> eingeladene Spieler(raceId): Das Rennen nimmt keine Fahrer mehr auf.

Auf dieser Seite