Hallo Community,
Ich habe zwei Probleme mit meinem Gangwarsystem, undzwar einmal mit der Minimap, da die Ganggebiete auf der Minimap rum buggen, und zum 2. das der befehl /gw nicht funktioniert!
ocmd:gw(playerid)
{
new gangzone = IsPlayerInGangZone(playerid);
if(fInfo[sInfo[playerid][fraktion]][gangfightable]==0)
{
if(sInfo[playerid][fraktion]==0)
{
SendClientMessage(playerid,COLOR_RED,"Du bist in keiner Fraktion!");
return 1;
}
else
{
SendClientMessage(playerid,COLOR_RED,"Deine Fraktions kann keine Gangwars führen!");
return 1;
}
}
if(gwInfo[gangzone][besitzer]==sInfo[playerid][fraktion]) return SendClientMessage(playerid,C_Gruen,"Dieses Gebiet gehört bereits deiner Fraktion.");
if(gwInfo[gangzone][running]==1) return SendClientMessage(playerid,COLOR_RED,"Es läuft gereits ein Gangwar in diesem Gebiet!");
if(sInfo[playerid][rang]!=5) return SendClientMessage(playerid,COLOR_RED,"Nur der Leader einer Fraktion kann einen Gangwar starten!");
gwInfo[gangzone][angreifer]=sInfo[playerid][fraktion];
SetTimerEx("GangFight",3600000,0,"i",gangzone);
for(new i; i<MAX_PLAYERS;i++)
{
if(sInfo[i][fraktion]==gwInfo[gangzone][besitzer])
{
SendClientMessage(i,COLOR_RED,"Eines deiner Gebiete wird angegriffen!");
}
else if(sInfo[i][fraktion]==gwInfo[gangzone][angreifer])
{
SendClientMessage(i,C_Gruen,"Deine Fraktion greift ein Gebiet an!");
}
}
return 1;
}
IsPlayerInGangZone(playerid)
{
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
for(new i;i<sizeof(gwInfo);i++)
{
if(x>gwInfo[i][minx]&&x<gwInfo[i][maxx]&&y>gwInfo[i][miny]&&y<gwInfo[i][maxy])
{
return i;
}
}
return -1;
}
Und Minimap :
//Das enum
enum gangZones{
besitzer,
Float:minx,
Float:miny,
Float:maxx,
Float:maxy,
punkteAngreifer,
punkteVerteidiger,
running,
angreifer
}
new gwInfo[10][gangZones] = {
{3,343.2366,-221.5531,120.9273,-3.2783,0,0,0,0},
{3,696.6437,1335.3184,487.8692,1100.1583,0,0,0,0},
{3,-316.4751,2213.3062,-459.6156,2266.0515,0,0,0,0},
{3,-141.9772,2629.3047,-341.6631,2792.3972,0,0,0,0},
{3,-926.2476,1612.3423,-733.4478,1455.1957,0,0,0,0},
{3,1238.9016,2722.8767,1598.3860,2579.4768,0,0,0,0},
{3,878.0677,-617.6247,598.3074,-480.1673,0,0,0,0},
{3,1876.9275,-1145.8002,2056.8618,-1250.8899,0,0,0,0},
{3,2717.5879,-1267.0513,2648.2690,-1598.0088,0,0,0,0},
{3,2406.9998,-2060.2517,2624.3269,-1922.7266,0,0,0,0}
};
//Unter OnGameModeInit
for(new i;i<sizeof(gwInfo); i++)
{
new id=GetFreeGangZoneID();
gangZone[id] = GangZoneCreate(gwInfo[i][minx],gwInfo[i][miny],gwInfo[i][maxx],gwInfo[i][maxy]);
}
Ich hoffe irgendjemand kann mir helfen :D. MFG German_ScripterHD