Mach es so wie ich es hier mache gebe dir ein besseres System.
Als erstes definierst du die Anzahl der Blitzer so wie hier bei deinen defines.
#define MAX_BLITZER 40 // Maximale Anzahl von Blitzern#define BLITZER_TIMER_INTERVALL 500 // Intervall für das Blitzen (in Milliesekunden)#define BLITZER_PAUSE 1 // Anzahl der Minuten, in denen der Spieler nicht mehr geblitzt werden kann
Dann machst du ein enum und erstellst was neues wie hier bei den new
enum eBlitzer { ID,Float:BlitzerX, Float:BlitzerY, Float:BlitzerZ, Radius, Geschwindigkeit, Erstellt, Strafe};
new Blitzer[MAX_BLITZER][eBlitzer];new GesammtBlitzer;new BlitzerErstellt[MAX_PLAYERS];
Dann unter OnPlayerCommandText & unter den anderen Befehlen den Befehl hinzufügen.
if(strcmp(cmd, "/blitzer", true) == 0) { if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1|| PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 22 || PlayerInfo[playerid][pLeader] == 22) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GOLD, "___________________________|Blitzer|___________________________"); SendClientMessage(playerid, COLOR_WHITE, "Benutzung: /blitzer [Funktion]"); SendClientMessage(playerid, COLOR_WHITE, "Verfügbare Funktionen: neu, weg, alleweg [Rang 4], anzeigen"); SendClientMessage(playerid, COLOR_GOLD, "_____________________________________________________________"); return 1; } if(strcmp(tmp,"neu",true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GREY, "Benutzung: /blitzer neu [Geschwindigkeit] [Strafe]"); return 1; } new b_speed; b_speed = strval(tmp); if(b_speed < 20 || b_speed > 180) { SendClientMessage(playerid, COLOR_GREY, "Hinweis: Die Geschwindigkeit muss zwischen 45 und 200 km/h liegen."); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GREY, "Benutzung: /blitzer neu [Geschwindigkeit] [Strafe]"); return 1; } new b_strafe; b_strafe = strval(tmp); if(b_strafe < 10 || b_strafe > 100) { SendClientMessage(playerid, COLOR_GREY, "Hinweis: Die Strafe muss zwischen 10$ / KMH und 100$ / KMH liegen."); return 1; } AddBlitzer(playerid,b_speed,b_strafe); new player[MAX_PLAYER_NAME]; GetPlayerName(playerid, player, sizeof(player)); format(string, sizeof(string), "%s hat einen Blitzer aufgestellt.", player); ProxDetector(20.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); format(string, sizeof(string), "Blitzer aufgestellt, Max. Geschwindigkeit: %d, Strafe: %d.", b_speed, b_strafe); SendClientMessage(playerid, COLOR_GREEN, string); BlitzerErstellt[playerid] = 1; { return 1; } } else if(strcmp(tmp,"weg",true) == 0) { RemoveBlitzer(playerid); new player[MAX_PLAYER_NAME]; GetPlayerName(playerid, player, sizeof(player)); format(string, sizeof(string), "%s hat seinen Blitzer abgebaut.", player); ProxDetector(20.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); BlitzerErstellt[playerid] = 0; return 1; } else if(strcmp(tmp,"alleweg",true) == 0) { if(PlayerInfo[playerid][pRank] <= 4) { SendClientMessage(playerid, COLOR_GREY, "Mindestens Rang 4 benötigt!"); return 1; } RemoveAllBlitzer(); SendClientMessage(playerid, COLOR_GREEN, "Alle Blitzer abgebaut."); for(new i=0; i<MAX_PLAYERS; i++) { if(PlayerInfo[i][pMember] == 24 || PlayerInfo[i][pLeader] == 24) { RemoveBlitzer(i); UnFreezePlayer(i); new player[MAX_PLAYER_NAME]; GetPlayerName(playerid, player, sizeof(player)); format(string, sizeof(string), "*Alle Blitzer wurden von %s abgebaut.", player); SendClientMessage(i, COLOR_LIGHTBLUE, string); } } return 1; } else if(strcmp(tmp, "anzeigen", true) == 0) { if(GesammtBlitzer != 0) { SendClientMessage(playerid, COLOR_GOLD, "______________| Aktive Blitzer |_______________"); format(string, sizeof(string), "%d / 40 Blitzer derzeit aktiv.", GesammtBlitzer); SendClientMessage(playerid, COLOR_WHITE, string); SendClientMessage(playerid, COLOR_GOLD, "_____________________________________________"); } else { SendClientMessage(playerid, COLOR_GRAD1, "Keine Blitzer aktiv."); } } else { SendClientMessage(playerid, COLOR_RED, "___________________________|Fehler|__________________________"); SendClientMessage(playerid, COLOR_RED, "Benutzung: /blitzer [Funktion]"); SendClientMessage(playerid, COLOR_RED, "Verfügbare Funktionen: neu, weg, alleweg [Rang 4], anzeigen"); SendClientMessage(playerid, COLOR_RED, "_____________________________________________________________"); return 1; } } else { SendClientMessage(playerid, COLOR_GRAD1, "Du bist kein Poliezei-beamter!"); } return 1; }
Hoffe konnte dir helfen