Hallo,
Ich habe mir ein Gangfight system nach dem Tutorial erstellt: http://forum.sa-mp.de/san-andr…m/?highlight=gangfight...
Alles funktioniert bei der 1. Zone die ich erstellt habe.
Doch bei der 2. Funktioniert das nicht
Da kommt nur, dass ich angeblich nicht im Gebiet bin.
Kann einer mit bitte helfen?
Hier die Gangzonen:
new Gebiete[3][gebiet] = {
//{gOwner,MinX,MinY,MaxX,MaxY,On,Stand1,Stand2,Angreifer}
{13,1033.2401,-1582.6832,1221.9924,-1398.4604,0,0,0,0},
{14,1837.2948,-1282.0463,2086.5544,-1103.2233,0,0,0,0},
{6,1582.5809,-1168.2468,1835.7797,-1021.9578,0,0,0,0}
};
Hier der Befehl:
if(strcmp(cmd, "/gw", true) == 0)
{
if(PlayerInfo[playerid][pChef] == 14||PlayerInfo[playerid][pChef] == 13||PlayerInfo[playerid][pChef] == 5||PlayerInfo[playerid][pChef]==6||PlayerInfo[playerid][pChef]==17||PlayerInfo[playerid][pChef]==18)
{
if(IsPlayerInGebiet(playerid) > -1)
{
new zone = IsPlayerInGebiet(playerid);
if(Gebiete[zone][gOn] == 1) return SendClientMessage(playerid,COLOR_BLUE,"Es wird bereits um dieses Gebiet gekämpft!");
if(Gebiete[zone][gOwner] == PlayerInfo[playerid][pChef]) return SendClientMessage(playerid,COLOR_BLUE,"Dieses Gebiet gehört bereits deiner Fraktion!");
Gebiete[zone][gAngreifer] = PlayerInfo[playerid][pChef];
Gebiete[zone][gOn] = 1;
SetTimerEx("GangFight",100000,0,"i",zone);
for(new i; i<MAX_PLAYERS; i++)
{
if(PlayerInfo[i][pChef] == Gebiete[zone][gOwner] ||PlayerInfo[i][pArbeiter] == Gebiete[zone][gOwner])
{
SendClientMessage(playerid,0xFFFF00FF,"=========||GangFight||==========");
SendClientMessage(playerid,0xA0A0A0FF,"Achtung! Eure Gangzone wird angegriffen!");
SendClientMessage(playerid,0xA0A0A0FF,"Verteidigt es oder es gehört bald dem Feind");
SendClientMessage(playerid,0xFFFF00FF,"=========||GangFight||==========");
}
if(PlayerInfo[i][pChef] == Gebiete[zone][gAngreifer] ||PlayerInfo[i][pArbeiter] == Gebiete[zone][gAngreifer])
{
SendClientMessage(playerid,0x00AFFFFF,"=========||GangFight||==========");
SendClientMessage(playerid,0x00FF3C9D,"Der Leader eurer Fraktion hat ein Gangfight gestartet!");
SendClientMessage(playerid,0x00FF3C9D,"Tötet die Feinde um Punkte zu erhalten!");
SendClientMessage(playerid,0x00AFFFFF,"=========||GangFight||==========");
}
}
}
else
{
SendClientMessage(playerid,COLOR_RED,"Du bist in keinem Gebiet, welches man einnehmen kann!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED,"Du bist in keiner Gang/Mafia!");
}
return 1;
}
Und hier der "IsPlayerInGebiet" stock:
stock IsPlayerInGebiet(playerid)
{
for(new i;i<sizeof(Gebiete);i++)
{
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid,X,Y,Z);
if(Gebiete[i][gMinX] < X && Gebiete[i][gMaxX] > X && Gebiete[i][gMinY] < Y && Gebiete[i][gMaxY] > Y)
{
return i;
}
return -1;
}
return -1;
}
Würde mich um Hilfe sehr freuen.