Gangwarsystem klappt nicht.

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo,
    ich habe ein Gangwarsystem was aber leider nicht ganz funktioniert. Wenn ich im Bereich der Zonen bin und /angriff eingebe bin ich angeblich nicht im Bereich..
    Ich hoffe Ihr könnt mir helfen 8)


    Der Befehl:
    // ---------------[Gangwar krimskrams]----------------//
    if(strcmp(cmd, "/angriff",true)==0)
    {
    new PlayerGangZone = GetPlayerGangZone(playerid);
    new PlayerFraction;
    if(IsPlayerInFrac(playerid,5) || IsPlayerInFrac(playerid,6) || IsPlayerInFrac(playerid,13)
    || IsPlayerInFrac(playerid,14) || IsPlayerInFrac(playerid,15) || IsPlayerInFrac(playerid,16) || IsPlayerInFrac(playerid,17)
    || IsPlayerInFrac(playerid,18) || IsPlayerInFrac(playerid,19) || IsPlayerInFrac(playerid,23))
    {
    if(PlayerGangZone >= 0 && PlayerGangZone < 10)
    {
    if(GangZone[PlayerGangZone][gzOwner] != PlayerInfo[playerid][pMember] && GangZone[PlayerGangZone][gzOwner] != PlayerInfo[playerid][pLeader])
    {
    if(GangZone[PlayerGangZone][gzLock] == 0)
    {
    for(new i=4; i<25; i++)
    {
    if(IsPlayerInFrac(playerid,i))
    {
    PlayerFraction = i;
    }
    }
    GangZone[PlayerGangZone][gzAttacker] = PlayerFraction;
    printf("%d",PlayerFraction);
    GangZone[PlayerGangZone][gzAttacked] = 1;
    GangZone[PlayerGangZone][gzLock] = 22;
    GangZone[PlayerGangZone][gzAttackerdeaths] = 0;
    GangZone[PlayerGangZone][gzOwnerdeaths] = 0;
    new getsAttackedstring[128];
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(GangZone[PlayerGangZone][gzOwner] == PlayerInfo[i][pMember] || GangZone[PlayerGangZone][gzOwner] == PlayerInfo[i][pLeader]
    ||GangZone[PlayerGangZone][gzAttacker] == PlayerInfo[i][pMember] || GangZone[PlayerGangZone][gzAttacker] == PlayerInfo[i][pLeader])
    {
    format(getsAttackedstring, sizeof(getsAttackedstring), "GZ: Die GangZone %d wird angegriffen begib dich schnell dort hin(blinkende GangZone)!",GangZone[PlayerGangZone][gzID]);
    SendClientMessage(i, COLOR_LIGHTRED, getsAttackedstring);
    SendClientMessage(i, COLOR_LIGHTRED, "Sieh zu dass du nicht stirbst und die Gegner tötest. In 7 Minuten wird der Gewinner entschieden.");
    GangZoneFlashForPlayer(i,GangZone[PlayerGangZone][gzID],GetPlayerGangZoneColor(playerid));
    }
    }


    new rand = random(sizeof(GangZoneAttackZeiten));
    SetTimerEx("GangZoneAttacked",GangZoneAttackZeiten[rand], false,"d",PlayerGangZone);
    }
    else
    {
    new Lockstring[128];
    format(Lockstring, sizeof(Lockstring), "GZ: Die GangZone ist noch etwa %d Minuten geschützt",GangZone[PlayerGangZone][gzLock]);
    SendClientMessage(playerid, COLOR_LIGHTRED, Lockstring);
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_LIGHTRED, "GZ: Diese GangZone gehört dir schon.");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_LIGHTRED, "GZ: Du bist in keiner Gangzone");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_LIGHTRED, "GZ: Dafür musst du in einer Gang/Mafia sein.");
    }
    return 1;
    }
    Und die Zonen..


    Function GetPlayerGangZone(playerid)
    {
    new GangZoneID;
    if(IsPlayerInArea(playerid,-2360.5784-25,-63.8015-25,-2266.4443+25,41.4670+25))//Gangzone 0
    {
    GangZoneID = 0;
    }
    //437.4212,-1748.4917,9.0968,148.5090
    else if(IsPlayerInArea(playerid,437.4212-25,-1748.4917-25,9.0968+25,148.5090+25))//Gangzone 1
    {
    GangZoneID = 1;
    }
    else if(IsPlayerInArea(playerid,-2243.7849-25,928.6682-25,-2157.0869+25,1086.2805+25))//Gangzone 2
    {
    GangZoneID = 2;
    }
    else if(IsPlayerInArea(playerid,-1579.2808-25,1016.1865-25,-1508.3629+25,1229.0961+25))//Gangzone 3
    {
    GangZoneID = 3;
    }
    else if(IsPlayerInArea(playerid,-387.1795-25,-1070.4860-25,-341.3897+25,-1032.0968+25))//Gangzone 4
    {
    GangZoneID = 4;
    }
    else if(IsPlayerInArea(playerid,609.4978-25,-525.3286-25,716.3276+25,-490.1229+25))//Gangzone 5
    {
    GangZoneID = 5;
    }
    else if(IsPlayerInArea(playerid,803.6276-25,-1387.7039-25,910.3912+25,-1333.4557+25))//Gangzone 6
    {
    GangZoneID = 6;
    }
    else if(IsPlayerInArea(playerid,2579.8970-25,-1249.8596-25,2634.1042+25,-1189.3790+25))//Gangzone 7
    {
    GangZoneID = 7;
    }
    else if(IsPlayerInArea(playerid,2183.9800-25,-2652.6365-25,2218.9609+25,-2496.9536+25))//Gangzone 8
    {
    GangZoneID = 8;
    }
    else if(IsPlayerInArea(playerid,148.0511-25,-1962.4158-25,165.0561+25,-1845.9280+25))//Gangzone 9
    {
    GangZoneID = 9;
    }
    else
    {
    GangZoneID = 255;
    }


    return GangZoneID;
    }