Habe das Problem, dass wenn ich einen Gangfight starte, mir in der Gangfightbox die falschen "Daten" angezeigt werden.
Also Ort, und die Fraktionen.
forward GangfightUpdate(playerid);
public GangfightUpdate(playerid)
{
new OwnerText[128], GegnerText[128], GZName[128], GZFZeit[128], Af[128], Bf[128], Cf[128], OwnerPoints[128], GegnerPoints[128];
for(new i = 0; i < sizeof Gangzonen; i++)
{
if(Spieler[playerid][Fraktion] == Gangzonen[i][GFOwnerID] || Spieler[playerid][Fraktion] == Gangzonen[i][GFGegnerID])
{
//format(OwnerText,sizeof(OwnerText),"%s",Fraktionen[Gangzonen[i][GFOwnerID]][Frakname]);
if(Gangzonen[i][GFOwnerID] != -1) format(OwnerText,sizeof(OwnerText),"%s",Fraktionen[Gangzonen[i][GFOwnerID]][Frakname]);
else format(OwnerText,sizeof(OwnerText),"Niemand");
if(Gangzonen[i][GFGegnerID] != -1) format(GegnerText,sizeof(GegnerText),"%s",Fraktionen[Gangzonen[i][GFGegnerID]][Frakname]);
else format(GegnerText,sizeof(GegnerText),"Niemand");
//format(GegnerText,sizeof(GegnerText),"%s",Fraktionen[Gangzonen[i][GFGegnerID]][Frakname]);
format(GZName,sizeof(GZName),"~y~%s",Gangzonen[i][GangZoneName]);
format(GZFZeit,sizeof(GZFZeit),"~r~Verbl. Zeit %d Minuten",60-Gangzonen[i][GFRunningTime]);
format(Af,sizeof(Af),"~b~A: ~w~%s",Fraktionen[Gangzonen[i][GFFlaggenOwnerA]][Frakname]);
format(Bf,sizeof(Bf),"~b~B: ~w~%s",Fraktionen[Gangzonen[i][GFFlaggenOwnerB]][Frakname]);
format(Cf,sizeof(Cf),"~b~C: ~w~%s",Fraktionen[Gangzonen[i][GFFlaggenOwnerC]][Frakname]);
format(OwnerPoints, sizeof(OwnerPoints),"%s%d/100",(Gangzonen[i][GFOwnerPoints] < 10) ? ("00") : (""), Gangzonen[i][GFOwnerPoints]);
format(GegnerPoints, sizeof(GegnerPoints),"%s%d/100",(Gangzonen[i][GFGegnerPoints] < 10) ? ("00") : (""), Gangzonen[i][GFGegnerPoints]);
UpdateGangfightBox(playerid, OwnerText, GegnerText, GZName, GZFZeit, Af, Bf, Cf, OwnerPoints, GegnerPoints);
}
}
return 1;
}
enum GFInfo //Gangzonen
{
GangZoneName[64],
GangzoneID,
Float:koord1,
Float:koord2,
Float:koord3,
Float:koord4,
//Flaggen
Float:AFlaggeX,
Float:AFlaggeY,
Float:AFlaggeZ,
Float:BFlaggeX,
Float:BFlaggeY,
Float:BFlaggeZ,
Float:CFlaggeX,
Float:CFlaggeY,
Float:CFlaggeZ,
GFOwnerID,
GFGegnerID,
GFOwnerPoints,
GFGegnerPoints,
GFRunningTime,
GFPauseTime,
GFFlaggenOwnerA,
GFFlaggenOwnerB,
GFFlaggenOwnerC
}
Gangfight usw startet. Mein /zone Befehl funktioniert auch:
for(new i = 0; i < sizeof(Gangzonen); i++)
{
if(IsPlayerInArea(playerid, Gangzonen[i][koord1],Gangzonen[i][koord2],Gangzonen[i][koord3],Gangzonen[i][koord4]))
{
if(Gangzonen[i][GFGegnerID] != -1)
{
format(string, sizeof(string), "|__________ Gebietinfo (%s) __________|", Gangzonen[i][GangZoneName]);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string, sizeof(string), "%s (%d)/ %s (%d)", Fraktionen[Gangzonen[i][GFOwnerID]][Frakname], Gangzonen[i][GFOwnerPoints], Fraktionen[Gangzonen[i][GFGegnerID]][Frakname], Gangzonen[i][GFGegnerPoints]);
SendClientMessage(playerid, COLOR_GREY, string);
{
format(string, sizeof(string), "Der Kampf läuft noch %d Stunde(n) und %d Minute(n).", (60-Gangzonen[i][GFRunningTime])/60,(60-Gangzonen[i][GFRunningTime])%60);
SendClientMessage(playerid, COLOR_GREY, string);
}
}
else
{
format(string, sizeof(string), "|__________ Gebietinfo (%s) __________|", Gangzonen[i][GangZoneName]);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string, sizeof(string), "Besitzer: %s", Fraktionen[Gangzonen[i][GFOwnerID]][Frakname]);
SendClientMessage(playerid, COLOR_GREY, string);
SendClientMessage(playerid, COLOR_GREY, "Stündlicher Ertrag: 500$");
if(Gangzonen[i][GFPauseTime] != -1)
{
format(string, sizeof(string), "Das Gebiet ist noch für %d Stunde(n) und %d Minute(n) gesperrt.", (480-Gangzonen[i][GFPauseTime])/60,(480-Gangzonen[i][GFPauseTime])%60);
SendClientMessage(playerid, COLOR_GREY, string);
return 1;
}else{
SendClientMessage(playerid, COLOR_GREY, "Das Gebiet ist nicht gesperrt und kann {009800}angegriffen{AFAFAF} werden.");
}
}
}
}
Falls ihr etwas bestimmtes, weiteres braucht, sagt bescheid.