So das ist der /gw start Befehl,
der nur bei den 4 Gebieten funktioniert.
if(strcmp(cmd,"/gw",true) == 0)
{
tmp = strtok(cmdtext,idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "BENUTZUNG: /gw [start/info]");
return 1;
}
if(strcmp(tmp,"start",true) == 0)
{
if(SpielerInfo[playerid][sMember] == 5 || SpielerInfo[playerid][sMember] == 6 || (SpielerInfo[playerid][sMember] >= 12 && SpielerInfo[playerid][sMember] <= 17) || SpielerInfo[playerid][sMember] == 20 || SpielerInfo[playerid][sMember] == 21 || SpielerInfo[playerid][sMember] == 22)
{
if(SpielerInfo[playerid][pRank] < 11) return SendClientMessage(playerid, COLOR_GREY, "Gangwar ab Rang 11 startbar!");
//new Hour,Minute,Sec;
//gettime(Hour,Minute,Sec);
//if(Hour > 14 && Hour < 22) // Zwischen 15 und 21 uhr.
{
if(M_GetPlayerCurrentZone(playerid) > -1)//Ob der Spieler in einem Gebiet ist.
{
if(GangwarGerade[SpielerInfo[playerid][sMember]] == true) return SendClientMessage(playerid, COLOR_GREY, "Deine Fraktion veranstaltet gerade ein Gangwar!");
new gzone = M_GetPlayerCurrentZone(playerid);//Die Gebietsid wird in der Variable zone gespeichert.
if(Gebiete[gzone][gOn] == 1) return SendClientMessage(playerid,COLOR_BLUE,"Das Gebiet wird schon Umkämpft!");//Hier wird abgefragt ob das Gebiet schon bekämpft wird
else if(Gebiete[gzone][gOwner] == SpielerInfo[playerid][sMember]) return SendClientMessage(playerid,COLOR_BLUE," Deine Fraktion ist im Besitzt dieses Gebietes");//Hier wird abgefragt ob die Fraktion schon im besitzt dieser Funktion ist
Gebiete[gzone][gAngreifer] = SpielerInfo[playerid][sMember];//Hier wird der Angreifer gesetzt.
Gebiete[gzone][gOn] = 1;//Das der Gangfight für dieses Gebiet läuft
SetTimerEx("GangFight",1800000,0,"i",gzone); // 1800000 Dies startet einen Timer der eine Stunde läuft , damit beenden wir den Gangifght. Die Zoneid wird mit übergeben
Gebiete[gzone][gTimer] = 30;
format(string,sizeof(string),"=============== [ Gangwar in der Zone %i ] ===============",gzone);
SendClientMessageToAll(COLOR_LIGHTBLUE,string);
if(Gebiete[gzone][gOwner] == 999) {
format(string,sizeof(string),"Angreifer: %s Verteidiger: Niemand",Fracs[Gebiete[gzone][gAngreifer]-1]);
} else {
format(string,sizeof(string),"Angreifer: %s Verteidiger: %s",Fracs[Gebiete[gzone][gAngreifer]-1],Fracs[Gebiete[gzone][gOwner]-1]);
}
GangwarGerade[Gebiete[gzone][gAngreifer]] = true;
GangwarGerade[Gebiete[gzone][gOwner]] = true;
SendClientMessageToAll(COLOR_LIGHTBLUE,string);
Gebiete[gzone][gStand2] ++;
Gebiete[gzone][gStand1] ++;
for(new i; i<MAX_PLAYERS; i++)//Damit jeder Spieler abgefragt wird
{
if(SpielerInfo[i][sMember] == Gebiete[gzone][gOwner])//Ob spieler oder Leader in dieser Fraktion ist
{
SendClientMessage(i,COLOR_RED,"Eines ihrer Gebiete wird angegriffen.");//Sendet eine Mitteilung
}
if(SpielerInfo[i][sMember] == Gebiete[gzone][gAngreifer])//siehe oben
{
SendClientMessage(i,COLOR_RED,"Dein Leader hat ein Gangwar gestartet!");
SendClientMessage(i,COLOR_RED,"Ihr bekommt dafür den ersten Punkt.");
}
}
}
}
/*else
{
SendClientMessage(playerid,COLOR_RED,"Gangwars nur in der Zeit von 15 Uhr bis 21Uhr.");
}*/
}
else
{
SendClientMessage(playerid,COLOR_RED,"Gangwars dürfen nur die Gangs oder Mafien machen!");
}
}
Hier dann noch, wo er stehen muss also die Gebietsauslesung:
if(M_GetPlayerCurrentZone(playerid) > -1)
{
new gzone = M_GetPlayerCurrentZone(playerid) ;
if(Gebiete[gzone][gOn] == 1)
{
if(SpielerInfo[playerid][sMember]==Gebiete[gzone][gOwner])
{
if(SpielerInfo[killerid][sMember] == Gebiete[gzone][gAngreifer])
{
Gebiete[gzone][gStand2] ++;
}
}
if(SpielerInfo[playerid][sMember]==Gebiete[gzone][gAngreifer])
{
if(SpielerInfo[killerid][sMember] == Gebiete[gzone][gOwner])
{
Gebiete[gzone][gStand1] ++;
}
}