Hallo breadfish, (2 Probleme siehe weiter unten)
wenn ich ingame eine Zone lösche, löscht sich nur die Zone in der ich mich gerade befinde. Nach einem Serverrestart sind alle Zonen weg. Die werden komischerweise alle mit der Zonenid 0 erstellt.
ocmd:createflag(playerid, params[])
{
new query[500], Float:x, Float:y, Float:z;
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'!");
CZ[playerid][zid] = M_GetPlayerZone(playerid);
if(!M_IsPlayerInAnyZone(playerid)) return SendClientMessage(playerid, COLOR_WHITE, "Du bist in keiner Gangzone!");
if(CZ[playerid][zid] < 0) return SendClientMessage(playerid, COLOR_WHITE, "Du bist in keiner CZ!");
GetPlayerPos(playerid, x, y, z);
GZ[CZ[playerid][zid]][flagge_x] = x, GZ[CZ[playerid][zid]][flagge_y] = y, GZ[CZ[playerid][zid]][flagge_z] = z, CZ[playerid][create] = 0;
GZ[CZ[playerid][zid]][pickup] = CreatePickup(1314, 1, x, y, z, 0);
GZ[CZ[playerid][zid]][label] = Create3DTextLabel("{0099FF}[Gangfight]{FFFFFF}\nTippe {0099FF}/angriff{FFFFFF} um das Gebiet anzugreifen.\nTippe {0099FF}/flagge{FFFFFF} um die Flagge zu erobern.", COLOR_WHITE, x, y, z, 20, 0);
format(query, sizeof(query), "INSERT INTO gangfight (owner, maxX, maxY, minX, minY, flaggeX, flaggeY, flaggeZ, erstellt) VALUES ('%s', '%f', '%f', '%f', '%f', '%f', '%f', '%f', '%d')",
GZ[CZ[playerid][zid]][owner], GZ[CZ[playerid][zid]][max_x], GZ[CZ[playerid][zid]][max_y], GZ[CZ[playerid][zid]][min_x], GZ[CZ[playerid][zid]][min_y], GZ[CZ[playerid][zid]][flagge_x], GZ[CZ[playerid][zid]][flagge_y], GZ[CZ[playerid][zid]][flagge_z], CZ[playerid][zid]);
mysql_pquery(handle, query);
return SendClientMessage(playerid, COLOR_WHITE, "Du hast die Zone erfolgreich erstellt.");
}
Wenn ich eine Zone ingame erstelle, gehört sie noch keiner Gang an. Wenn ich die Zone dann angreife damit die Zone einer Gang angehört und einen Serverrestart mache, erstellt sich noch eine Zone die niemanden gehört und die Zone die der Gang angehört.
public LoadGZ()
{
new rows, fields, string[128], string2[128], Counter = 0;
cache_get_data(rows, fields);
for(new i = 0; i < rows; i++)
{
GZ[i][zid] = i;
GZ[i][owner] = cache_get_field_content_int(i, "owner", handle);
GZ[i][max_x] = cache_get_field_content_float(i, "maxX", handle);
GZ[i][max_y] = cache_get_field_content_float(i, "maxY", handle);
GZ[i][min_x] = cache_get_field_content_float(i, "minX", handle);
GZ[i][min_y] = cache_get_field_content_float(i, "minY", handle);
GZ[i][flagge_x] = cache_get_field_content_float(i, "flaggeX", handle);
GZ[i][flagge_y] = cache_get_field_content_float(i, "flaggeY", handle);
GZ[i][flagge_z] = cache_get_field_content_float(i, "flaggeZ", handle);
GZ[i][erstellt] = true;
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]));
GZ[i][pickup] = CreatePickup(1314,1,GZ[i][flagge_x],GZ[i][flagge_y],GZ[i][flagge_z],0);
GZ[i][label] = Create3DTextLabel("{0099FF}[Gangfight]{FFFFFF}\nTippe {0099FF}/angriff{FFFFFF} um das Gebiet anzugreifen.\nTippe {0099FF}/flagge{FFFFFF} um die Flagge zu erobern.", COLOR_WHITE, GZ[i][flagge_x], GZ[i][flagge_y], GZ[i][flagge_z], 20, 0);
format(string2, sizeof(string2), "%i| Besitzer: '%s'", GZ[i][zid], FrakName(GZ[i][owner]));
M_ZoneSetTextDraw(i, string2, FrakColor(GZ[i][owner]));
Counter++;
}
return printf("(%d) Gangzone(n) wurde(n) erfolgreich erstellt und geladen.", Counter);
}
Mit freundlichen Grüßen
Grapefruit