Merk dir das mit dem Verschwinden für später, jetzt machen wir erst mal das eine.
Schreibe den /createzone2 Befehl mal so:
ocmd:createzone2(playerid, params[])
{
new Float:x, Float:y, Float:z, i,string[64];
if(SpielerInfo[playerid][sEingeloggt] == 0) return SendClientMessage(playerid, COLOR_LIGHTGREY, "[Warnung]: Du musst dich erst einloggen, um den Befehl zu benutzen!");
if(SpielerInfo[playerid][sAdminlevel] < 3) return SendClientMessage(playerid, COLOR_LIGHTGREY, "[Warnung]: Du bist nicht berechtigt diesen Befehl zu benutzen!");
if(SpielerInfo[playerid][sAdminduty] == 0) return SendClientMessage(playerid, COLOR_LIGHTGREY, "[Warnung]: Du befindest dich nicht im Administrator Dienst!");
if(CZ[playerid][create] != 1) return SendClientMessage(playerid, COLOR_WHITE, "Um eine Gangzone zu erstellen, benutze '/createzone'!");
GetPlayerPos(playerid, x, y, z);
CZ[playerid][max_x] = x, CZ[playerid][max_y] = y;
for(; i<MAX_GZ; i++)
{
if(GZ[i][erstellt] == 1) continue;
GZ[i][min_x] = CZ[playerid][min_x], GZ[i][min_y] = CZ[playerid][min_y], GZ[i][max_x] = CZ[playerid][max_x], GZ[i][max_y] = CZ[playerid][max_y];
GZ[i][erstellt] = 1, GZ[i][owner] = 0;
format(string, sizeof(string), "%i| Besitzer: '%s'", GZ[i][zid], FrakName(GZ[i][owner]));
M_CreateZone(GZ[i][min_x], GZ[i][min_y], GZ[i][max_x], GZ[i][max_y], FrakColor(GZ[i][owner]), string, FrakColor(GZ[i][owner]));
printf("Zone: %d Min: %f / %f Max: %f / %f", i, GZ[i][min_x], GZ[i][min_y], GZ[i][max_x], GZ[i][max_y]);
GZ[i][zid] = i, CZ[playerid][zid] = i;
break;
}
return SendClientMessage(playerid, COLOR_WHITE, "Nun gehe zum Angriffspunkt hin und tippe '/createflag'.");
}
Klappt es dann? Wenn nicht, was steht im Server Log?