💎 VIP
B
Supporter
San Andreas Towing & Logistics
Rang 12 (Geschäftsführer)
103 Beiträge
dabei seit 07/2026
dabei seit 07/2026
Waffen-Großtransport – Erweiterung nach dem ersten Lauf
Live-Marker für alle · Entladung in zehn Kisten · verwundbare Schlussphase
1 · Warum wir nachlegen
Der erste Großtransport ist durchgelaufen und hat funktioniert. Zwei Dinge sind uns dabei aufgefallen:
Beides lässt sich mit überschaubarem Aufwand ändern.
2 · Live-Marker für alle Spieler
Sobald die Beladung abgeschlossen ist, bekommt jeder Spieler auf dem Server einen Marker auf der Karte, der die Position des Transports zeigt und sich alle 5 Sekunden aktualisiert.
Warum das richtig ist
Ein Transport, den niemand findet, ist kein Event, sondern eine lange Autofahrt. Der Reiz liegt nicht im Versteckspiel, sondern in der Entscheidung: Fahre ich hin? Traue ich mich an die Eskorte? Warte ich, bis sie am Ziel unaufmerksam wird?
Für die Eskorte ändert sich damit die Aufgabe. Sie kann nicht mehr hoffen, unbemerkt durchzukommen, sondern muss die Route so wählen, dass sie verteidigbar ist. Das ist die interessantere Aufgabe.
Falls es zu hart wird
Sollte sich zeigen, dass der Transport dadurch nie mehr ankommt, wäre die Stellschraube nicht der Marker selbst, sondern seine Genauigkeit: Der Marker zeigt dann nicht die exakte Position, sondern einen Umkreis, der sich alle 30 Sekunden neu setzt. Wir schlagen vor, mit dem exakten Marker zu starten und erst nachzujustieren, wenn es nötig ist.
3 · Entladung in zehn Kisten
Das ist die eigentliche Neuerung. Mit der Ankunft ist der Transport nicht abgeschlossen.
Ablauf
Warum das den Unterschied macht
Zehn Kisten bei Schritttempo bedeuten mehrere Minuten, in denen der Transport offen daliegt. Die Eskorte muss sich aufteilen: Wer trägt, wer sichert? Und die Angreifer bekommen ein zweites Zeitfenster, wenn der erste Versuch auf der Strecke gescheitert ist.
Genau in dieser Phase entsteht das, was der bisherige Ablauf nicht hergibt: eine Verteidigungssituation an einem festen Ort, mit klarem Ziel für beide Seiten.
Wer trägt
Die Kisten tragen die Beamten, nicht wir. Unser Fahrer öffnet den Trailer und bleibt beim Fahrzeug. Das passt zu unserer Neutralität — wir liefern, wir kämpfen nicht — und es sorgt dafür, dass der Staat für die Schlussphase auch genug Leute mitbringen muss.
Wenn ein Träger fällt
Die Kiste fällt zu Boden und liegt dort. Jeder kann sie aufnehmen, auch die Gegenseite — und auch ein Beamter, der sie wieder aufsammelt und zum Eingang zurückbringt. Eine Kiste ist erst dann endgültig weg, wenn sie in einer Gang-Base angekommen ist. Dazu Abschnitt 6.
Damit gibt es nicht mehr nur „durchgekommen" oder „verloren", sondern alles dazwischen.
4 · Wo entladen wird
Wir schlagen vor, den bestehenden Checkpoint zu verschieben.
Variante A — wie bisher
Der LKW fährt bis zum Haupteingang. Kurzer Weg für die Kisten, wenig Risiko.
Variante B — unser Vorschlag
Der LKW hält auf dem LSPD-Parkplatz. Der Checkpoint für den LKW liegt dort, die Kisten müssen von dort zum Haupteingang getragen werden — also genau dorthin, wo der LKW heute hineinfährt.
Richtwerte, bitte einmal per /save nachmessen.
Variante B ist deutlich besser, weil der Weg über offenes Gelände führt. Auf dem Parkplatz gibt es Deckung, am Eingang gibt es Deckung, dazwischen nicht. Das ist genau die Stelle, an der ein Überfall stattfinden soll.
5 · Nur der Trailer spawnt
Bereitgestellt wird nicht der komplette Sattelzug, sondern nur der Auflieger. Die Zugmaschine bringt SATL selbst mit — einen Roadtrain aus dem eigenen Fuhrpark.
Warum das besser ist
Ankuppeln
An den beladenen Trailer darf nur ein SATL-Fahrzeug ankuppeln. Sonst würde eine Gang mit eigenem Roadtrain den kompletten Transport wegfahren, und das ganze Kistensystem käme nie zum Einsatz. Wer die Ladung will, muss sie kistenweise holen.
6 · Die Beute wegbringen
Eine geraubte Kiste sollte nicht schon mit dem Kill gewonnen sein. Sie muss in die eigene Base gebracht werden. Erst dort geht sie ins Lager der Gang oder Mafia.
Kisten im Fahrzeug
Eine Kiste zu Fuß quer durch Los Santos zu tragen wäre keine Beute, sondern eine Strafe. Deshalb lassen sich Kisten in den Kofferraum oder das Ladelager laden.
Der Marker ist das Gegengewicht. Er macht aus dem Raub eine Verfolgungsjagd, statt dass die Beute im nächsten Seitenweg verschwindet. Nach fünf Minuten erlischt er — wer bis dahin abgehängt hat, hat es sich verdient.
Ankunft in der Base
Betritt ein Mitglied mit einer Kiste die eigene Base, wandert sie ins Fraktionslager. Kein Befehl, kein Menü, kein Timer — Zone betreten genügt.
Warum das besser ist als die bisherige Regelung
Bisher endete der Raub mit dem Feuergefecht am LSPD. Jetzt endet er erst zu Hause. Zwischen dem Kill und der Base liegen mehrere Minuten, in denen der Staat noch alles zurückholen kann — und in denen sich auch eine zweite Gang einmischen könnte, die auf die erste gewartet hat.
Aus einem Schusswechsel wird damit ein Ablauf mit offenem Ausgang, der über die halbe Stadt geht.
Eine Kiste ist immer zurückholbar
Das ist uns wichtig: Solange eine Kiste nicht in einer Base angekommen ist, kann sie den Besitzer noch wechseln. In jeder Phase, auf beiden Seiten.
Damit ist der Kill nie der Schlusspunkt. Wer den Träger erschießt, muss die Kiste anschließend auch noch wegbringen — und wird dabei selbst zum Ziel. Ein Fahrzeug voller Beute, das der Fahrer verlassen musste, ist für die Behörden ein Fund und für eine dritte Gang eine Gelegenheit.
Rückeroberung durch die Behörden
Nimmt ein Beamter eine liegengebliebene Kiste auf und bringt sie zum Haupteingang, zählt sie als geliefert. Der Staat kann also zurückholen, was er auf dem Parkplatz oder unterwegs verloren hat.
Der Zehn-Minuten-Zähler beginnt jedes Mal neu, sobald jemand die Kiste aufnimmt. Eine Kiste, die von Hand zu Hand geht, verfällt nicht mitten im Geschehen.
7 · Code
7.1 · Live-Marker
Der Timer läuft mit 5.000 ms und wird erst nach abgeschlossener Beladung gestartet.
7.2 · Kisten
7.3 · Beute wegbringen
7.4 · Ankunft in der Base
7.5 · Abgabe und Abschluss
7.6 · Konfiguration
8 · Punkte für das Team
[list=1]
[*]Safezone am LSPD. Wenn der Bereich um die Wache eine Schutzzone ist, kann in der Entladephase niemand angreifen und der ganze Aufwand läuft ins Leere. Für die Dauer der Entladung müsste die Zone entweder ausgesetzt oder die Abgabestelle außerhalb gelegt werden. Das ist die einzige Stelle, an der wir eine echte Entscheidung von euch brauchen.
[*]Kistentimeout. Liegen Kisten herum, weil beide Seiten abgezogen sind, sollten sie nach zehn Minuten verfallen. Sonst liegt Wochen später noch Munition auf dem Parkplatz.
[*]Wie viel darf eine Kiste enthalten? Zehn Kisten sind der ganze Transport. Wenn eine davon in einem Gang-Lager landet, sollte das spürbar sein, aber nicht den Waffenmarkt für zwei Tage fluten. Wir schlagen vor, den Inhalt überwiegend aus Pistolen und Maschinenpistolen zu bilden und nur ein bis zwei Kisten mit schwererem Gerät zu bestücken.
[/list]
9 · Was das zusammen ergibt
Aus einer Fahrt von A nach B wird damit ein Ablauf mit fünf Phasen, in denen jeweils etwas passieren kann. Der Moment, in dem alle denken, es sei geschafft, ist plötzlich der gefährlichste — und selbst danach ist noch nichts entschieden, solange die Beute unterwegs ist.
Über Rückmeldungen freue ich mich, besonders zur Safezone-Frage.
Breakout
Live-Marker für alle · Entladung in zehn Kisten · verwundbare Schlussphase
1 · Warum wir nachlegen
Der erste Großtransport ist durchgelaufen und hat funktioniert. Zwei Dinge sind uns dabei aufgefallen:
- Der Transport war zu schwer zu finden. Die serverweite Meldung sagt, dass er rollt, aber nicht wo. Wer ihn abfangen wollte, hat geraten. Das macht aus einem Event eine Schnitzeljagd.
- Mit der Ankunft war sofort alles vorbei. LKW im Checkpoint, fertig, Ladung gutgeschrieben. Der spannendste Moment — der Transport ist da, aber noch nicht sicher — fällt komplett weg.
Beides lässt sich mit überschaubarem Aufwand ändern.
2 · Live-Marker für alle Spieler
Sobald die Beladung abgeschlossen ist, bekommt jeder Spieler auf dem Server einen Marker auf der Karte, der die Position des Transports zeigt und sich alle 5 Sekunden aktualisiert.
Beladung fertig -> serverweite Meldung + Marker geht an
alle 5 Sekunden -> Marker wandert mit
Entladung fertig -> Marker geht aus
Transport geknackt -> Marker geht aus
Warum das richtig ist
Ein Transport, den niemand findet, ist kein Event, sondern eine lange Autofahrt. Der Reiz liegt nicht im Versteckspiel, sondern in der Entscheidung: Fahre ich hin? Traue ich mich an die Eskorte? Warte ich, bis sie am Ziel unaufmerksam wird?
Für die Eskorte ändert sich damit die Aufgabe. Sie kann nicht mehr hoffen, unbemerkt durchzukommen, sondern muss die Route so wählen, dass sie verteidigbar ist. Das ist die interessantere Aufgabe.
Falls es zu hart wird
Sollte sich zeigen, dass der Transport dadurch nie mehr ankommt, wäre die Stellschraube nicht der Marker selbst, sondern seine Genauigkeit: Der Marker zeigt dann nicht die exakte Position, sondern einen Umkreis, der sich alle 30 Sekunden neu setzt. Wir schlagen vor, mit dem exakten Marker zu starten und erst nachzujustieren, wenn es nötig ist.
3 · Entladung in zehn Kisten
Das ist die eigentliche Neuerung. Mit der Ankunft ist der Transport nicht abgeschlossen.
Ablauf
1 LKW erreicht den Checkpoint auf dem LSPD-Parkplatz
2 Fahrzeug wird eingefroren, Entladung beginnt
3 Zehn Kisten stehen am Trailer bereit
4 Jede Kiste muss einzeln zum Haupteingang getragen werden
5 Wer eine Kiste traegt, kann nicht rennen
6 Erst wenn alle zehn drin sind, ist der Transport abgeschlossen
Warum das den Unterschied macht
Zehn Kisten bei Schritttempo bedeuten mehrere Minuten, in denen der Transport offen daliegt. Die Eskorte muss sich aufteilen: Wer trägt, wer sichert? Und die Angreifer bekommen ein zweites Zeitfenster, wenn der erste Versuch auf der Strecke gescheitert ist.
Genau in dieser Phase entsteht das, was der bisherige Ablauf nicht hergibt: eine Verteidigungssituation an einem festen Ort, mit klarem Ziel für beide Seiten.
Wer trägt
Die Kisten tragen die Beamten, nicht wir. Unser Fahrer öffnet den Trailer und bleibt beim Fahrzeug. Das passt zu unserer Neutralität — wir liefern, wir kämpfen nicht — und es sorgt dafür, dass der Staat für die Schlussphase auch genug Leute mitbringen muss.
Wenn ein Träger fällt
Die Kiste fällt zu Boden und liegt dort. Jeder kann sie aufnehmen, auch die Gegenseite — und auch ein Beamter, der sie wieder aufsammelt und zum Eingang zurückbringt. Eine Kiste ist erst dann endgültig weg, wenn sie in einer Gang-Base angekommen ist. Dazu Abschnitt 6.
10 Kisten geliefert voller Erfolg, volle Verguetung
7 geliefert, 3 weg Teilerfolg, anteilige Verguetung
0 geliefert Transport verloren
Damit gibt es nicht mehr nur „durchgekommen" oder „verloren", sondern alles dazwischen.
4 · Wo entladen wird
Wir schlagen vor, den bestehenden Checkpoint zu verschieben.
Variante A — wie bisher
Der LKW fährt bis zum Haupteingang. Kurzer Weg für die Kisten, wenig Risiko.
Variante B — unser Vorschlag
Der LKW hält auf dem LSPD-Parkplatz. Der Checkpoint für den LKW liegt dort, die Kisten müssen von dort zum Haupteingang getragen werden — also genau dorthin, wo der LKW heute hineinfährt.
Punkt X Y Z
------------------------------------------------------
LKW-Checkpoint, Parkplatz 1588.00 -1638.00 13.50
Kistenabgabe, Haupteingang 1555.00 -1675.60 16.20
Fussweg ca. 50 m, ohne Rennen
Richtwerte, bitte einmal per /save nachmessen.
Variante B ist deutlich besser, weil der Weg über offenes Gelände führt. Auf dem Parkplatz gibt es Deckung, am Eingang gibt es Deckung, dazwischen nicht. Das ist genau die Stelle, an der ein Überfall stattfinden soll.
5 · Nur der Trailer spawnt
Bereitgestellt wird nicht der komplette Sattelzug, sondern nur der Auflieger. Die Zugmaschine bringt SATL selbst mit — einen Roadtrain aus dem eigenen Fuhrpark.
Trailer-Bereitstellung -485.50 -509.10 25.50
Zugmaschine Roadtrain aus dem SATL-Fuhrpark
Warum das besser ist
- Das Fahrzeug der Fraktion zählt wieder. Wer den Auftrag annimmt, muss erst mit dem eigenen Roadtrain vom Filmgelände losfahren. Das ist eine echte Anfahrt und keine Formalität.
- Eine zusätzliche Phase, in der etwas passieren kann. Der Weg zum Trailer ist noch unmarkiert und unbewacht. Wer weiß, dass ein Transport bestellt wurde, kann dort schon warten.
- Es macht den Verlust der Zugmaschine schmerzhaft. Wird der Roadtrain unterwegs zerlegt, steht der beladene Trailer irgendwo herum, und es muss erst ein neuer geholt werden.
Ankuppeln
An den beladenen Trailer darf nur ein SATL-Fahrzeug ankuppeln. Sonst würde eine Gang mit eigenem Roadtrain den kompletten Transport wegfahren, und das ganze Kistensystem käme nie zum Einsatz. Wer die Ladung will, muss sie kistenweise holen.
Ankuppeln erlaubt nur Fahrzeuge der SATL
Trailer abgerissen kann wieder angekuppelt werden
Zugmaschine zerstoert Trailer bleibt stehen, ein zweiter
Roadtrain kann uebernehmen
Ladung haengt am Trailer, nicht an der Zugmaschine
6 · Die Beute wegbringen
Eine geraubte Kiste sollte nicht schon mit dem Kill gewonnen sein. Sie muss in die eigene Base gebracht werden. Erst dort geht sie ins Lager der Gang oder Mafia.
Kiste aufnehmen am Boden, nachdem der Traeger gefallen ist
Wegbringen zu Fuss im Schritttempo oder im Fahrzeug
Eigene Base betreten Kiste geht automatisch ins Fraktionslager
Kisten im Fahrzeug
Eine Kiste zu Fuß quer durch Los Santos zu tragen wäre keine Beute, sondern eine Strafe. Deshalb lassen sich Kisten in den Kofferraum oder das Ladelager laden.
Ladevorgang 10 Sekunden je Kiste, Fahrzeug muss stehen
Kapazitaet 3 Kisten pro Fahrzeug
Sichtbarkeit Fahrzeug bekommt einen Marker, den nur LSPD,
FBI und Army sehen, fuer 5 Minuten
Der Marker ist das Gegengewicht. Er macht aus dem Raub eine Verfolgungsjagd, statt dass die Beute im nächsten Seitenweg verschwindet. Nach fünf Minuten erlischt er — wer bis dahin abgehängt hat, hat es sich verdient.
Ankunft in der Base
Betritt ein Mitglied mit einer Kiste die eigene Base, wandert sie ins Fraktionslager. Kein Befehl, kein Menü, kein Timer — Zone betreten genügt.
- Nur die eigene Base zählt. Eine Kiste in fremdem Gebiet abzustellen bringt nichts.
- Auch aus dem Kofferraum: Fährt das Fahrzeug in die Base, gehen alle geladenen Kisten über.
- Der Inhalt geht ins Waffenlager der Organisation, nicht ins persönliche Inventar.
Warum das besser ist als die bisherige Regelung
Bisher endete der Raub mit dem Feuergefecht am LSPD. Jetzt endet er erst zu Hause. Zwischen dem Kill und der Base liegen mehrere Minuten, in denen der Staat noch alles zurückholen kann — und in denen sich auch eine zweite Gang einmischen könnte, die auf die erste gewartet hat.
Aus einem Schusswechsel wird damit ein Ablauf mit offenem Ausgang, der über die halbe Stadt geht.
Eine Kiste ist immer zurückholbar
Das ist uns wichtig: Solange eine Kiste nicht in einer Base angekommen ist, kann sie den Besitzer noch wechseln. In jeder Phase, auf beiden Seiten.
Traeger stirbt Kiste faellt sofort zu Boden, egal wer
sie getragen hat und egal wo
Fahrzeug explodiert alle geladenen Kisten fallen am Wrack
Fahrzeug steht jeder kann den Laderaum oeffnen und
verlassen die Kisten ausladen, 10 Sekunden je Kiste
Kiste liegt sichtbar durch ein Label im Umkreis,
damit sie nicht im Gebuesch verschwindet
Damit ist der Kill nie der Schlusspunkt. Wer den Träger erschießt, muss die Kiste anschließend auch noch wegbringen — und wird dabei selbst zum Ziel. Ein Fahrzeug voller Beute, das der Fahrer verlassen musste, ist für die Behörden ein Fund und für eine dritte Gang eine Gelegenheit.
Rückeroberung durch die Behörden
Nimmt ein Beamter eine liegengebliebene Kiste auf und bringt sie zum Haupteingang, zählt sie als geliefert. Der Staat kann also zurückholen, was er auf dem Parkplatz oder unterwegs verloren hat.
Kiste liegt jeder kann sie aufnehmen
Gang bringt sie heim endgueltig verloren, geht ins Gang-Lager
Staat bringt sie zaehlt als geliefert
zum Eingang
nach 10 Minuten niemand hat sie geholt, Kiste verfaellt
Der Zehn-Minuten-Zähler beginnt jedes Mal neu, sobald jemand die Kiste aufnimmt. Eine Kiste, die von Hand zu Hand geht, verfällt nicht mitten im Geschehen.
7 · Code
7.1 · Live-Marker
▸ Code: Live-Marker
#define TRANSPORT_ICON ? // Icon-ID vom Team festzulegen
#define TRANSPORT_MARKER 99
new bool:TransportAktiv, TransportVid;
forward SATL_TransportMarkerTimer();
public SATL_TransportMarkerTimer()
{
if(!TransportAktiv || !TransportVid) return 1;
new Float:x, Float:y, Float:z;
GetVehiclePos(TransportVid, x, y, z);
foreach(new i : Player)
SetPlayerMapIcon(i, TRANSPORT_MARKER, x, y, z,
TRANSPORT_ICON, 0, MAPICON_GLOBAL);
return 1;
}
stock SATL_TransportMarkerAus()
{
TransportAktiv = false;
foreach(new i : Player)
RemovePlayerMapIcon(i, TRANSPORT_MARKER);
return 1;
}
Der Timer läuft mit 5.000 ms und wird erst nach abgeschlossener Beladung gestartet.
7.2 · Kisten
▸ Code: Kisten
#define KISTEN_ANZAHL 10
#define KISTE_OBJEKT ? // Objekt-ID vom Team festzulegen
enum e_Kiste {
kObjekt,
kTraeger, // INVALID_PLAYER_ID wenn sie liegt
kFahrzeug, // 0 wenn nicht verladen
Float:kX, Float:kY, Float:kZ,
kStatus // BEREIT, GETRAGEN, LIEGT, IM_FAHRZEUG,
// GELIEFERT, GERAUBT
};
new Kiste[KISTEN_ANZAHL][e_Kiste];
stock SATL_EntladungStarten(vid)
{
SetVehicleParamsEx(vid, 0, 0, 0, 0, 0, 0, 0); // Motor aus
FreezeVehicle(vid, true); // eingefroren
new Float:x, Float:y, Float:z;
GetVehiclePos(vid, x, y, z);
for(new i = 0; i < KISTEN_ANZAHL; i++)
{
Kiste[i][kStatus] = KISTE_BEREIT;
Kiste[i][kTraeger] = INVALID_PLAYER_ID;
Kiste[i][kX] = x + (i % 5) * 1.2;
Kiste[i][kY] = y - 4.0 - (i / 5) * 1.2;
Kiste[i][kZ] = z - 0.8;
Kiste[i][kObjekt] = CreateObject(KISTE_OBJEKT,
Kiste[i][kX], Kiste[i][kY], Kiste[i][kZ], 0.0, 0.0, 0.0);
}
SendClientMessageToAll(COLOR_ORANGE,
"Der Waffentransport wird entladen. 10 Kisten.");
return 1;
}
stock SATL_KisteAufnehmen(playerid, k)
{
if(Kiste[k][kTraeger] != INVALID_PLAYER_ID) return 0;
if(SATL_TraegtKiste(playerid) != -1) return 0; // nur eine
Kiste[k][kTraeger] = playerid;
Kiste[k][kStatus] = KISTE_GETRAGEN;
AttachObjectToPlayer(Kiste[k][kObjekt], playerid,
0.0, 0.4, 0.0, 0.0, 0.0, 0.0);
ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.0, 1, 1, 1, 0, 0);
return 1;
}
stock SATL_KisteFallenlassen(k)
{
new p = Kiste[k][kTraeger];
if(p == INVALID_PLAYER_ID) return 0;
new Float:x, Float:y, Float:z;
GetPlayerPos(p, x, y, z);
DetachObjectFromPlayer(Kiste[k][kObjekt], x, y, z - 0.9, 0.0, 0.0, 0.0);
ClearAnimations(p);
Kiste[k][kTraeger] = INVALID_PLAYER_ID;
Kiste[k][kStatus] = KISTE_LIEGT;
Kiste[k][kX] = x; Kiste[k][kY] = y; Kiste[k][kZ] = z;
return 1;
}
// Wer eine Kiste traegt, kann nicht rennen
public OnPlayerUpdate(playerid)
{
if(SATL_TraegtKiste(playerid) != -1)
{
new keys, ud, lr;
GetPlayerKeys(playerid, keys, ud, lr);
if(keys & KEY_SPRINT)
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
}
return 1;
}
// Beim Tod faellt die Kiste - in jeder Phase, auf jeder Seite
public OnPlayerDeath(playerid, killerid, reason)
{
new k = SATL_TraegtKiste(playerid);
if(k != -1) SATL_KisteFallenlassen(k);
return 1;
}
// Explodiert ein Fahrzeug, fallen alle geladenen Kisten am Wrack
public OnVehicleDeath(vehicleid, killerid)
{
new Float:x, Float:y, Float:z;
GetVehiclePos(vehicleid, x, y, z);
for(new i = 0; i < KISTEN_ANZAHL; i++)
{
if(Kiste[i][kStatus] != KISTE_IM_FAHRZEUG) continue;
if(Kiste[i][kFahrzeug] != vehicleid) continue;
Kiste[i][kStatus] = KISTE_LIEGT;
Kiste[i][kFahrzeug] = 0;
Kiste[i][kX] = x + float(random(4)) - 2.0;
Kiste[i][kY] = y + float(random(4)) - 2.0;
Kiste[i][kZ] = z - 0.9;
Kiste[i][kObjekt] = CreateObject(KISTE_OBJEKT,
Kiste[i][kX], Kiste[i][kY], Kiste[i][kZ], 0.0, 0.0, 0.0);
SATL_KisteLabel(i); // sichtbar im Umkreis
SATL_KisteTimerNeu(i); // Verfallszeit beginnt neu
}
SATL_LoescheBeuteMarker(vehicleid);
return 1;
}
// Kisten aus einem stehenden Fahrzeug ausladen, auch aus fremdem
stock SATL_KisteAusladen(playerid, vid)
{
if(SATL_Tempo(vid) > 5)
return SendClientMessage(playerid, COLOR_RED, "Fahrzeug faehrt.");
new k = SATL_ErsteKisteImFahrzeug(vid);
if(k == -1)
return SendClientMessage(playerid, COLOR_GREY, "Laderaum leer.");
SATL_StarteLadevorgang(playerid, k, vid, LadedauerKiste);
return 1;
}
7.3 · Beute wegbringen
▸ Code: Beute wegbringen
#define KISTE_MARKER_ID 98
stock SATL_KisteVerladen(playerid, k)
{
new vid = SATL_FahrzeugInNaehe(playerid, 4.0);
if(!vid) return 0;
if(SATL_KistenImFahrzeug(vid) >= KistenProFahrzeug)
return SendClientMessage(playerid, COLOR_RED, "Laderaum voll.");
// Ladevorgang, Fahrzeug muss stehen
if(SATL_Tempo(vid) > 5)
return SendClientMessage(playerid, COLOR_RED, "Fahrzeug faehrt.");
SATL_StarteLadevorgang(playerid, k, vid, LadedauerKiste);
return 1;
}
stock SATL_KisteImFahrzeugFertig(k, vid)
{
Kiste[k][kStatus] = KISTE_IM_FAHRZEUG;
Kiste[k][kFahrzeug] = vid;
Kiste[k][kTraeger] = INVALID_PLAYER_ID;
DestroyObject(Kiste[k][kObjekt]);
// Marker nur fuer die Staatsfraktionen
SATL_SetzeBeuteMarker(vid, MarkerDauer);
return 1;
}
forward SATL_BeuteMarkerTimer();
public SATL_BeuteMarkerTimer()
{
for(new v = 1; v < MAX_VEHICLES; v++)
{
if(!BeuteMarker[v]) continue;
new Float:x, Float:y, Float:z;
GetVehiclePos(v, x, y, z);
foreach(new i : Player)
{
if(!SATL_IstBeamter(i)) continue;
SetPlayerMapIcon(i, KISTE_MARKER_ID, x, y, z,
BEUTE_ICON, 0, MAPICON_GLOBAL);
}
}
return 1;
}
7.4 · Ankunft in der Base
▸ Code: Ankunft in der Base
// Wird beim Betreten einer Fraktionszone geprueft
stock SATL_PruefeBaseAbgabe(playerid, zone)
{
new fraktion = PlayerInfo[playerid][pFraktion];
if(SATL_ZoneGehoertZu(zone) != fraktion) return 0; // nur eigene Base
new uebergeben;
// getragene Kiste
new k = SATL_TraegtKiste(playerid);
if(k != -1)
{
SATL_KisteInsLager(k, fraktion);
uebergeben++;
}
// Kisten im Fahrzeug
new vid = GetPlayerVehicleID(playerid);
if(vid && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
for(new i = 0; i < KISTEN_ANZAHL; i++)
{
if(Kiste[i][kStatus] != KISTE_IM_FAHRZEUG) continue;
if(Kiste[i][kFahrzeug] != vid) continue;
SATL_KisteInsLager(i, fraktion);
uebergeben++;
}
SATL_LoescheBeuteMarker(vid);
}
if(uebergeben)
{
new msg[128];
format(msg, sizeof(msg),
"%d Kiste(n) im Lager eingelagert.", uebergeben);
SendFraktionsMessage(fraktion, COLOR_GREEN, msg);
SATL_PruefeTransportEnde();
}
return uebergeben;
}
stock SATL_KisteInsLager(k, fraktion)
{
Kiste[k][kStatus] = KISTE_GERAUBT;
FraktionsWaffenlager[fraktion] += SATL_KisteInhalt(k);
SATL_LogBeute(fraktion, k);
return 1;
}
7.5 · Abgabe und Abschluss
▸ Code: Abgabe und Abschluss
stock SATL_KisteAbgeben(playerid, k)
{
if(!IsPlayerInRangeOfPoint(playerid, 3.0,
EingangX, EingangY, EingangZ)) return 0;
DestroyObject(Kiste[k][kObjekt]);
ClearAnimations(playerid);
Kiste[k][kTraeger] = INVALID_PLAYER_ID;
Kiste[k][kStatus] = KISTE_GELIEFERT;
new geliefert = SATL_KistenMitStatus(KISTE_GELIEFERT);
new geraubt = SATL_KistenMitStatus(KISTE_GERAUBT);
new msg[128];
format(msg, sizeof(msg),
"Waffentransport: %d von %d Kisten geliefert, %d verloren.",
geliefert, KISTEN_ANZAHL, geraubt);
SendClientMessageToAll(COLOR_ORANGE, msg);
if(geliefert + geraubt >= KISTEN_ANZAHL)
SATL_TransportAbschliessen(geliefert, geraubt);
return 1;
}
7.6 · Konfiguration
▸ Konfiguration
[Grosstransport]
TrailerSpawnX = -485.50
TrailerSpawnY = -509.10
TrailerSpawnZ = 25.50
TrailerSpawnWinkel = ? ; vom Team festzulegen
TrailerModel = 435 ; Artict1
ZugmaschineAusFuhrpark = 1 ; SATL bringt den Roadtrain selbst
AnkuppelnNurSATL = 1 ; Gangs koennen nicht wegfahren
TrailerNeuAnkuppelbar = 1 ; nach Abriss oder Fahrzeugverlust
LiveMarkerAktiv = 1
LiveMarkerIntervall = 5000 ; Millisekunden
LiveMarkerAbBeladung = 1 ; erst nach der Beladung
LiveMarkerGenau = 1 ; 0 = Umkreis statt Position
LiveMarkerUmkreis = 150 ; Meter, nur wenn Genau = 0
KistenAnzahl = 10
KistenTraegerFraktion = LSPD,FBI,ARMY ; SATL traegt nicht
KistenNurEineProSpieler = 1
KistenRennenErlaubt = 0
KistenFallenBeiTod = 1
KistenRaubbarDurchAlle = 1
KistenTimeout = 600 ; Sek., danach verfaellt eine Kiste
EntladungFahrzeugFreeze = 1
EntladungAbgabeRadius = 3.0
[Beute]
BeuteInBaseAbgeben = 1 ; Zone betreten genuegt
BeuteNurEigeneBase = 1
BeuteInsFraktionslager = 1 ; nicht ins persoenliche Inventar
KistenProFahrzeug = 3
LadedauerKiste = 10 ; Sekunden, Fahrzeug muss stehen
MarkerDauer = 300 ; Sekunden, nur fuer Staatsfraktionen
MarkerSichtbarFuer = LSPD,FBI,ARMY
RueckeroberungMoeglich = 1 ; Beamte koennen Kisten zurueckbringen
DropBeiTod = 1 ; Traeger stirbt, Kiste faellt
DropBeiFahrzeugtod = 1 ; Fahrzeug explodiert, Kisten fallen
AusladenDurchAlle = 1 ; auch aus fremden Fahrzeugen
KisteLabelRadius = 30.0 ; Meter, damit sie auffindbar bleibt
TimeoutNeuBeiAufnahme = 1 ; Verfallszeit startet neu
VerguetungAnteilig = 1 ; je gelieferter Kiste
8 · Punkte für das Team
[list=1]
[*]Safezone am LSPD. Wenn der Bereich um die Wache eine Schutzzone ist, kann in der Entladephase niemand angreifen und der ganze Aufwand läuft ins Leere. Für die Dauer der Entladung müsste die Zone entweder ausgesetzt oder die Abgabestelle außerhalb gelegt werden. Das ist die einzige Stelle, an der wir eine echte Entscheidung von euch brauchen.
[*]Kistentimeout. Liegen Kisten herum, weil beide Seiten abgezogen sind, sollten sie nach zehn Minuten verfallen. Sonst liegt Wochen später noch Munition auf dem Parkplatz.
[*]Wie viel darf eine Kiste enthalten? Zehn Kisten sind der ganze Transport. Wenn eine davon in einem Gang-Lager landet, sollte das spürbar sein, aber nicht den Waffenmarkt für zwei Tage fluten. Wir schlagen vor, den Inhalt überwiegend aus Pistolen und Maschinenpistolen zu bilden und nur ein bis zwei Kisten mit schwererem Gerät zu bestücken.
[/list]
9 · Was das zusammen ergibt
Bestellung Staatsfraktion bestellt, einmal alle 24 Stunden
Anfahrt SATL holt den Roadtrain vom Filmgelaende
Trailer steht bei -485.5 / -509.1 / 25.5, wird angekuppelt
Beladung zufaelliger Punkt, nur die Besteller sehen ihn
Meldung serverweit, Live-Marker geht an
Fahrt Route frei waehlbar, alle koennen mitverfolgen
Ankunft LSPD-Parkplatz, LKW wird eingefroren
Entladung 10 Kisten zu Fuss, Schritttempo, offen liegend
Beutezug geraubte Kisten muessen in die eigene Base,
Fahrzeug traegt einen Marker fuer die Behoerden
Rueckholung jeder Tod laesst die Kiste fallen, jedes Wrack
gibt sie frei - bis sie in einer Base ankommt
Abschluss anteilige Verguetung nach gelieferten Kisten
Aus einer Fahrt von A nach B wird damit ein Ablauf mit fünf Phasen, in denen jeweils etwas passieren kann. Der Moment, in dem alle denken, es sei geschafft, ist plötzlich der gefährlichste — und selbst danach ist noch nichts entschieden, solange die Beute unterwegs ist.
Über Rückmeldungen freue ich mich, besonders zur Safezone-Frage.
Breakout
👍1

