Hey,
Ich habe ein kleines Problem, wenn ich einen Gangfight per /gangfight starten möchte.
Ich bekomme immer die Message, dass ich mich in keiner Gangzone befinde.
Meine Abfrage ob der Spieler in einer Gangzone ist:
stock IsPlayerInGFZone(playerid)
{
for(new i;i<MAX_ZONES;i++)
{
new Float:GetX,Float:GetY,Float:GetZ;
GetPlayerPos(playerid,GetX,GetY,GetZ);
if(Zone[i][gMinX] < GetX && Zone[i][gMaxX] > GetX && Zone[i][gMinY] < GetY && Zone[i][gMaxY] > GetY)
{
return i;
}
else
{
return -1;
}
}
return -1;
}
Und mein /Gangfight Command:
CMD:gangfight(playerid, params[])
{
if(Spieler[playerid][pRank] >= 7)
{
if(IsPlayerInGFZone(playerid) > -1)
{
new gid = IsPlayerInGFZone(playerid);
if(Zone[gid][gBlocked] == 0)
{
if(Zone[gid][gOwner] == Spieler[playerid][pFraktion]) return SendClientMessage(playerid, COLOR_GREY, "** Deine Fraktion ist bereits im Besitz dieses Gebietes.");
if(Zone[gid][gRunning] == 1) return SendClientMessage(playerid, COLOR_GREY, "** In diesem Gebiet läuft bereits ein Gangfight.");
Zone[gid][gAngreifer] = Spieler[playerid][pFraktion];
Zone[gid][gRunning] = 1;
Zone[gid][gBlocked] = 1;
SetTimerEx("GangFight", 2400000,0, "i", Zone[gid]);
for(new i;i<MAX_PLAYERS;i++)
{
if(Spieler[playerid][pFraktion] == Zone[gid][gAngreifer])
{
UpdateGangfightInfo(playerid);
ShowGangfightInfo(playerid);
}
else if(Spieler[playerid][pFraktion] == Zone[gid][gOwner])
{
UpdateGangfightInfo(playerid);
ShowGangfightInfo(playerid);
}
}
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "** Du befindest dich in keinem Gangfight-Gebiet.");
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "** Du kannst keinen Gangfight starten.");
}
return 1;
}