und zwar habe ich ein problem wenn ich auf meinen server /invade mache komtm deine gang ist schon in einen kampf wo is der fehler ?enum gebiet
{
gOwner,
Float:gMinX,
Float:gMinY,
Float:gMaxX,
Float:gMaxY,
gOn,
gStand1,
gStand2,
gAngreifer,
gzone
};
new Gebiete[1][gebiet] = //Erstellt eine Variable mit der Anzahl der Gebiete in der ersten [] angegeben und in der zweiten wird das Enum von oben eingefügt. (Dient zur genaueren Beschreibnung)
{
{0,1045.1472,-1579.7272,1141.4376,-1665.4949,0,0,0,0}//Hier werden dann die Zonen erstellt, eigentlich alles auf 0 lassen, außer die Koordinaten...
};
new Gebiet[1];//Hier werden die "GangZones" gespeichert, damit wir diese in Farbe setzen können usw...
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.
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
{
GangZoneHideForPlayer(player,Gebiet[i]);//Damit werden alle Gebiete für alle User versteckt
new color;//Erstellt eine neue Variable
if(Gebiete[i][gOwner] == 5){color=0x000000B2;}//Fragt ab welcher Frak das Gebiet gehört
if(Gebiete[i][gOwner] == 6){color=0xFFFFFFB2;}
GangZoneShowForPlayer(player, Gebiet[i], color); //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] == 5){color=0x000000B2;}//Fragt ab welche Frak das Gebiet angreift und setzt die Farbe
if(Gebiete[i][gAngreifer] == 6){color=0xFFFFFFB2;}
GangZoneFlashForPlayer(player,Gebiet[i],color);//"Flasht die Zone" in der Angreifer Farbe und Owner Farbe
}
}
}
}
Function GangFight(gebietid)
{
Gebiete[gebietid][gOn] = 0;
if(Gebiete[gebietid][gStand2] > Gebiete[gebietid][gStand1])
{
Gebiete[gebietid][gOwner] = Gebiete[gebietid][gAngreifer];
}
new string[128];
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]);
SendClientMessageToAll(0x000000,string);
Gebiete[gebietid][gStand2]= 0;
Gebiete[gebietid][gStand1]=0;
Gebiete[gebietid][gAngreifer]=0;
return 1;
}
if(IsPlayerInArea(playerid, 560.538, -724.0283, 875.8406, -362.0141))
{
GameTextForPlayer(playerid, "~r~Gangfightdeath", 5000, 3);
PlayerInfo[playerid][pGDeaths]++;
GameTextForPlayer(killerid, "~g~Gangfightkill", 5000, 3);
PlayerInfo[killerid][pGKills]++;
GivePlayerMoney(killerid, 1500);
GivePlayerMoney(playerid, -1500);
}
killerid = INVALID_PLAYER_ID;
SetPlayerColor(playerid,COLOR_GRAD2);
return 1;
}
Create3DTextLabel("Benutze /invade um das Gebiet anzugreifen", COLOR_RED,1072.4320,-1619.2638,20.4581,20,0);
Create3DTextLabel("Benutze /invade um das Gebiet anzugreifen", COLOR_RED,1924.1338,-2125.8567,13.1467,20,0);
Create3DTextLabel("Benutze /invade um das Gebiet anzugreifen", COLOR_RED,1958.2657,-1852.9225,3.8851,20,0);