Hallo Breadfish !
Ich habe da ein Problem, und zwar wenn ich neue Gangfight gebiete hinzufüge sind die zwar makiert und das Icon zum angreifen ist auch da nur gibst da folgende Probleme:
Die Gangfight Zone ist Weiß Makiert auf der Map, und man kann die zone/n nicht angreifen !
Da ich gerne mehrere Zonen haben möchte hoffe ich auf hilfe von euch so das die hinzugefügten Zonene genauso funktionieren wie die anderen!
Hier mal die Gangfights PWN´s:
#define FS_COL_GREY (0xAFAFAFAA)
#define FS_COL_YELLOW (0xFFFF00FF)
forward Fight_Init();
forward Fight_Close();
forward FightUpdate_1();
forward FightUpdate_2();
enum fsSyS{
Float:fsMinX,
Float:fsMinY,
Float:fsMaxX,
Float:fsMaxY,
Float:fsCTFx,
Float:fsCTFy,
Float:fsCTFz,
fsOwnerFaction,
fsAttackFaction,
fsKillsOfOwner,
fsKillsOfAttack,
fsFightTime,
fsCTF[3],
fsLastFight,
fsZoneID,
fsFlag,
Text:fsWinFaction,
Text:fsLoseFaction,
Text:fsWinKills,
Text:fsLoseKills,
Text:fsTime,
fsFightTimeCool
};
new FightSystem[][fsSyS]={
/*MinX, MinY, MaxX, MaxY, CTFx, CTFy, CTFz*/
{1060.145,-1721.339,1166.624,-1583.168,1072.4016,-1619.3834,20.4583},//Kaufhaus
{990.2909,1821.38,1177.724,2057.332,1067.5798,1884.2932,10.8203},//Container
{-887.5186,1377.989,-583.8938,1634.903,-813.6335,1525.2080,26.5065},//Wüste
{-2506.7,740.0255,-2383.094,826.8147,2459.4094,787.3281,35.1719},//Markt
{-1850.044,1438.284,-1710.987,1584.248,-1789.1478,1543.3608,7.1875},//Hafen
{-1891.4263,857.8361,-1722.0261,1095.5897,-1720.0752,1018.2902,17.5859},//Bank
{1828.318,-1938.465,2071.699,-1760.817,1958.6156,-1853.2424,4.3392},//Tanke
{1828.0573,-2161.2705,1956.4136,-2057.7964,1924.0941,-2125.0146,13.5826}//Airport(LS)
};
new Text:Fight,Text:FightUnderline;
new FightTimer[2];
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;
Und mit der Fightzones.cfg was muss ich da eintragen ? weil da steht nur das
14 -255 0 0 0 0
5 -255 0 0 0 0
5 -255 0 0 0 0
5 -255 0 0 0 0
13 -255 0 0 0 0
13 -255 0 0 0 0
16 -255 0 0 0 0
16 -255 0 0 0 0
und wo oder was muss ich ändern das die Zonen gespeichert werden beim restart so das die eroberten Gebiete bleiben ?
Wäre nett wenn jemand helfen könnte
MfG