Hallo,
derzeit bin ich dabei ein Gangfight System für mein Selfmade zu entwickeln. (MySQL)
Das ganze funktioniert aber noch nicht so, wie ich will. Erstmal bin ich dabei, dass die Zonen geladen und auf der Map angezeigt werden.
Die Zone wird geladen, wie man aus der Server Log entnehmen kann. Derzeit ein Gangfight, da in der Datenbank bis jetzt auch nur ein Eintrag existiert.
Wenn der Server startet, lasse ich eine eigenständige Funktion aufrufen. Diese Funktion sollte alle Gebiete laden, was meines Wissens nach auch funktioniert.
mysql_function_query(myCon, "SELECT * FROM `script_gangfight`", true, "LoadGangfight", "");
public LoadGangfight()
{
new rows,fields,count;
cache_get_data(rows,fields);
for(new i=0;i<rows;i++)
{
new gGangfightID = cache_get_field_content_int(i, "ID");
if(gGangfightID < MAX_GANGFIGHT)
{
Gangfight[gGangfightID][gID] = cache_get_field_content_int(i, "ID");
Gangfight[gGangfightID][minX] = cache_get_field_content_float(i, "minX");
Gangfight[gGangfightID][minY] = cache_get_field_content_float(i, "minY");
Gangfight[gGangfightID][maxX] = cache_get_field_content_float(i, "maxX");
Gangfight[gGangfightID][maxY] = cache_get_field_content_float(i, "maxY");
Gangfight[gGangfightID][gAngriff] = cache_get_field_content_int(i, "Angriff");
Gangfight[gGangfightID][gZonecolor] = cache_get_field_content_int(i, "Zonecolor");
Gangfight[gGangfightID][gPunkteTeam1] = cache_get_field_content_int(i, "PunkteTeam1");
Gangfight[gGangfightID][gPunkteTeam2] = cache_get_field_content_int(i, "PunkteTeam2");
Gangfight[gGangfightID][gFlag1] = cache_get_field_content_int(i, "Flag1");
Gangfight[gGangfightID][gFlag2] = cache_get_field_content_int(i, "Flag2");
Gangfight[gGangfightID][gFlag3] = cache_get_field_content_int(i, "Flag3");
Gangfight[gGangfightID][gBesitzer] = cache_get_field_content_int(i, "Besitzer");
count++;
GangfightZone[i] = GangZoneCreate(Gangfight[i][minX],Gangfight[i][minY],Gangfight[i][maxX],Gangfight[i][maxY]);
}
}
printf("[LOAD] Gangfights geladen: %d/%d", count, MAX_GANGFIGHT);
return 1;
}
Den Besitzer sowie die Farbe der Zone speichere ich als Integer, da ich gerne die normalen SAMP Color ID's verwenden möchte.
In der Ladefunktion ist ebenso die Funktion, dass die Gebiete erstellt werden.
Sobald sich der Spieler einloggt, lasse ich die Gangfight Gebiete auch für playerid anzeigen.
for(new i;i<MAX_GANGFIGHT;i++)
{
GangZoneShowForPlayer(playerid, GangfightZone[i], Gangfight[i][gZonecolor]);
}
Mir wird jedoch kein Gebiet auf der Karte angezeigt.. Kennt vielleicht jemand das Problem oder sieht den Fehler?
Gruß,
Cheevy
Jeffry:
//edit: Jeffry hinzugefügt, der weiß alles