also forward
forward GangFight(gebietid);//Dies ist eine Überschrift einer public funktion. (Dies wird für den Timer verwendet, wann der GangWar stoppt.)
forward UpdateZones();//Damit werden die Farben der zonen aktualisiert.
Die Enum
//GangWar System
enum gebiet//Dies leitet eine genauere Beschreibung für einen Array ein.
{
gOwner,//Hier wird die Fraktionsid gespeichert, der das Gebiet im moment gehört
Float:gMinX,//MinX - Koordinate für die Gangzone
Float:gMinY,//MinY
Float:gMaxX,//MaxX
Float:gMaxY,//MaxY
gOn,//Ob der Gangfight läuft
gStand1,//Der Score für das Owner Team
gStand2,//Score für die Angreifer
gAngreifer,//Hier wird die Fraktionsid gespeichert
gzone//die Gangzone, da das format immer Gebiete[gebitid][zone] = GangZoneCreate ist , zone ist die id der Gangzone
};
new Gebiete[2][gebiet] = {
{13,2541.2466,-1745.1479,2344.3047,-1625.3855,14,0,0,0,0},
{14,1830.4352,-2176.1614,1658.6804,-2060.5657,13,0,0,0,0}
};
//GangWar System
forward UpdateZones();
public UpdateZones()
{
for(new player; player < MAX_PLAYERS; player++)//Damit alle Spieler durchlaufen werden
{
for(new i; i<sizeof(Gebiete); i++)//Damit alle Gebiete durchlaufen werden
{
new gf2color;//Erstellt eine neue Variable
if(Gebiete[i][gOwner] == 13){gf2color=0x000000B2;}//Fragt ab welcher Frak das Gebiet gehört
if(Gebiete[i][gOwner] == 14){gf2color=0xFFFFFFB2;}
GangZoneShowForPlayer(player, Gebiete[i][gzone],gf2color); //Zeigt die Zone f ür die Spieler wieder mit der neuen/alten Farbe
if(Gebiete[i][gOn] == 1)//Fragt ab ob Gangfight in einem Gebiet läuft
{
if(Gebiete[i][gAngreifer] == 13){gf2color=0x000000B2;}//Fragt ab welche Frak das Gebiet angreift und setzt die Farbe
if(Gebiete[i][gAngreifer] == 14){gf2color=0xFFFFFFB2;}
GangZoneHideForPlayer(player,Gebiete[i][gzone]);
}
}
}
}
Hier das was du haben Wolltest
public GangFight(gebietid)
{
Gebiete[gebietid][gOn] = 0;
if(Gebiete[gebietid][gStand2] > Gebiete[gebietid][gStand1])//Hier wird abgefragt ob der Stand des angreigers größer ist als des Owners...
{
Gebiete[gebietid][gOwner] = Gebiete[gebietid][gAngreifer]; //Hier wird ein neuer Owner gesetzt, da die gAngreifer gewonnen haben...
}
//Wenn der Owner gewonnen hat bleibt die Gleich :P
new string[128];//ersteltl eininen string :D
format(string,sizeof(string),"Der Gewinner des Gebiets %d ist Fraktionsid: %d, mit %d : %d gewonnen",gebietid,Gebiete[gebietid][gOwner],Gebiete[gebietid][gStand1],Gebiete[gebietid][gStand2]);//Erstellt eine Message mit Variablen
SendClientMessageToAll(0x000000,string);
Gebiete[gebietid][gStand2]= 0; //Setzt die Scores zurück
Gebiete[gebietid][gStand1]=0;//oben
Gebiete[gebietid][gAngreifer]=0;//oben
return 1;
}Es Wird mit Return 1 returnt!