Habe ein Gangfightsystem im Script, aber man kann einfach jedes Gebiet einnehmen!
Es muss keiner Online sein, jeder kann alles einnehmen in einer Gang/Mafia!
Ich möchte aber das man nur das Gebiet angreifen kann wenn der Gegner da ist, also der aktuelle Besitzer der Base -.-'
Hier das Script!
Ich weiss echt nicht woran es liegt und habe es mehrfach durchsucht..
if(strcmp(cmdtext,"/invade",true)==0){
	    if(IsAFightFaction(GetPlayerFaction(playerid))){
	        for(new fs;fs<sizeof(FightSystem);fs++){
	            if((FightSystem[fs][fsOwnerFaction] == GetPlayerFaction(playerid) && FightSystem[fs][fsFightTime]) || FightSystem[fs][fsAttackFaction] == GetPlayerFaction(playerid))
	                return SendClientMessage(playerid,FS_COL_GREY,"** Deine Gang / Mafia ist bereits in einem Fight.");
	        }
	        new on[2];
	        on[0] = 0;
	        on[1] = 0;
			for(new fs;fs<sizeof(FightSystem);fs++){
			    for(new p=0;p<MAX_PLAYERS;p++)
			    {
					if(GetPlayerFaction(p) == FightSystem[fs][fsOwnerFaction]) {
					    on[0]++;
					}
					if(GetPlayerFaction(p) == GetPlayerFaction(playerid))
					{
					    on[1]++;
					}
				}
			}
			if(testphase == 0)
			{
				if(on[0] <= 2) return SendClientMessage(playerid, FS_COL_GREY, "Es sind nicht genügend Gegner Online (mindestens 2)");
				if(on[1] <= 2) return SendClientMessage(playerid, FS_COL_GREY, "Es sind nicht genügend Mitglieder deiner Fraktion Online (mindestens 2)");
			}
	        new TempZone = GetPlayerFightzone(playerid);
	        if(TempZone != -255){
  	            if(FightSystem[TempZone][fsFightTimeCool] != 0)
				  {
  	                format(stringx, sizeof(stringx), "Das Gebiet kann erst wieder in ca. %d Minuten erobert werden.", FightSystem[TempZone][fsFightTimeCool]);
  	                return SendClientMessage(playerid, FS_COL_GREY,stringx);
				}
	            if(!IsAFightFaction(FightSystem[TempZone][fsOwnerFaction]))
	                return SendClientMessage(playerid,FS_COL_GREY,"Gebiet wurde ausgeschaltet.");
	            if(FightSystem[TempZone][fsOwnerFaction] == GetPlayerFaction(playerid))
	                return SendClientMessage(playerid,FS_COL_GREY,"** Man greift nicht seine eigenen Leute an.");
				if(FightSystem[TempZone][fsFightTime] || FightSystem[TempZone][fsAttackFaction] != -255)
				    return SendClientMessage(playerid,FS_COL_GREY,"** In diesem Gebiet wird bereits geschossen.");
				if(FightSystem[TempZone][fsLastFight]){
				    new fsText[178];
				    format(fsText,sizeof(fsText),"Ganggebiet: Dieses Ganggebiet wurde bereits Angegriffen, wartet noch: '%d' Minuten.",FightSystem[TempZone][fsLastFight]);
				    SendClientMessage(playerid,FS_COL_GREY,fsText);
				    return 1;
				}
				for(new fs;fs<sizeof(FightSystem);fs++){
					if(FightSystem[fs][fsOwnerFaction] == FightSystem[TempZone][fsOwnerFaction] && (FightSystem[fs][fsFightTime] || FightSystem[fs][fsAttackFaction] != -255))
						return SendClientMessage(playerid,FS_COL_GREY,"Ganggebiet: Die Gang / Mafia der das Ganggebiet gehört hat bereits ein Kampf.");
				}
                new fsTextToOwner[255];
                format(fsTextToOwner,sizeof(fsTextToOwner),"Kent Brockman: ihr werdet von %s angegriffen, kämpf um deine Zone!!!",GetFactionNameOfFaction(GetPlayerFaction(playerid)));
				new fsName[MAX_PLAYER_NAME];
				GetPlayerName(playerid,fsName,MAX_PLAYER_NAME);
				new fsTextToAttack[255];
                format(fsTextToAttack,sizeof(fsTextToAttack),"Kent Brockman: %s hat einen Gangfight gegen %s gestartet, kämpft um die Zone!",fsName,GetFactionNameOfFaction(FightSystem[TempZone][fsOwnerFaction]));
				new fsText[64];
				format(fsText,sizeof(fsText),"~y~%s",GetFactionNameOfFaction(FightSystem[TempZone][fsOwnerFaction]));
				TextDrawSetString(FightSystem[TempZone][fsWinFaction],fsText);
				TextDrawSetString(FightSystem[TempZone][fsWinKills],"~y~00 Kills");
				format(fsText,sizeof(fsText),"~y~%s",GetFactionNameOfFaction(GetPlayerFaction(playerid)));
				TextDrawSetString(FightSystem[TempZone][fsLoseFaction],fsText);
				TextDrawSetString(FightSystem[TempZone][fsLoseKills],"~y~00 Kills");
				TextDrawSetString(FightSystem[TempZone][fsTime],"Verbl. Zeit: 10 Minuten");//ZEIT
				for(new i;i<MAX_PLAYERS;i++){
				    if(IsPlayerConnected(i)){
    					GangZoneFlashForPlayer(i,FightSystem[TempZone][fsZoneID],GetZoneColorOfFaction(GetPlayerFaction(playerid)));
				    	if(GetPlayerFaction(i) == FightSystem[TempZone][fsOwnerFaction]){
				    		PlayerPlaySound(i,1058,0.0,0.0,0.0);
				        	SendClientMessage(i,FS_COL_YELLOW,fsTextToOwner);
				        	TextDrawShowForPlayer(i,Fight);
				        	TextDrawShowForPlayer(i,Fight2);
				        	TextDrawShowForPlayer(i,FightBG);
							TextDrawShowForPlayer(i,FightUnderline);
							TextDrawShowForPlayer(i,FightSystem[TempZone][fsWinFaction]);
							TextDrawShowForPlayer(i,FightSystem[TempZone][fsWinKills]);
							TextDrawShowForPlayer(i,FightSystem[TempZone][fsLoseFaction]);
							TextDrawShowForPlayer(i,FightSystem[TempZone][fsLoseKills]);
							TextDrawShowForPlayer(i,FightSystem[TempZone][fsTime]);
      					}
				    	if(GetPlayerFaction(i) == GetPlayerFaction(playerid)){
				    		PlayerPlaySound(i,1058,0.0,0.0,0.0);
				        	SendClientMessage(i,FS_COL_YELLOW,fsTextToAttack);
				        	TextDrawShowForPlayer(i,Fight);
				        	TextDrawShowForPlayer(i,Fight2);
				        	TextDrawShowForPlayer(i,FightBG);
							TextDrawShowForPlayer(i,FightUnderline);
							TextDrawShowForPlayer(i,FightSystem[TempZone][fsWinFaction]);
							TextDrawShowForPlayer(i,FightSystem[TempZone][fsWinKills]);
							TextDrawShowForPlayer(i,FightSystem[TempZone][fsLoseFaction]);
							TextDrawShowForPlayer(i,FightSystem[TempZone][fsLoseKills]);
							TextDrawShowForPlayer(i,FightSystem[TempZone][fsTime]);
      					}
					}
				}
				FightSystem[TempZone][fsAttackFaction] = GetPlayerFaction(playerid);
    			FightSystem[TempZone][fsKillsOfOwner] = 0;
	    	    FightSystem[TempZone][fsKillsOfAttack] = 0;
	    	    FightSystem[TempZone][fsFightTime] = 10;//ZEIT
	    	    FightSystem[TempZone][fsFightTimeCool] = 20;//ZEIT
	    	    FightSystem[TempZone][fsCTF][0] = -255;
	    	    FightSystem[TempZone][fsCTF][1] = 0;
	    	    FightSystem[TempZone][fsCTF][2] = 0;
	    	    return 1;
			}return SendClientMessage(playerid,FS_COL_GREY,"** Du bist in keinem Gebiet!");
	    }else SendClientMessage(playerid,FS_COL_GREY,"** Du bist in keiner Gang / Mafia.");
		return 1;
	}