gangfight system

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
  • und zwar habe ich ein problem wenn ich auf meinen server /invade mache komtm deine gang ist schon in einen kampf wo is der fehler ?enum gebiet
    {
    gOwner,
    Float:gMinX,
    Float:gMinY,
    Float:gMaxX,
    Float:gMaxY,
    gOn,
    gStand1,
    gStand2,
    gAngreifer,
    gzone
    };



    new Gebiete[1][gebiet] = //Erstellt eine Variable mit der Anzahl der Gebiete in der ersten [] angegeben und in der zweiten wird das Enum von oben eingefügt. (Dient zur genaueren Beschreibnung)
    {
    {0,1045.1472,-1579.7272,1141.4376,-1665.4949,0,0,0,0}//Hier werden dann die Zonen erstellt, eigentlich alles auf 0 lassen, außer die Koordinaten...
    };
    new Gebiet[1];//Hier werden die "GangZones" gespeichert, damit wir diese in Farbe setzen können usw...
    forward GangFight(gebietid);//Dies ist eine Überschrift einer public funktion. (Dies wird für den Timer verwendet, wann der GangWar stoppt.)
    forward UpdateZones();//Damit werden die Farben der zonen aktualisiert.


    forward UpdateZones();
    public UpdateZones()
    {
    for(new player; player < MAX_PLAYERS; player++)//Damit alle Spieler durchlaufen werden
    {
    for(new i; i<sizeof(Gebiete); i++)//Damit alle Gebiete durchlaufen werden
    {
    GangZoneHideForPlayer(player,Gebiet[i]);//Damit werden alle Gebiete für alle User versteckt
    new color;//Erstellt eine neue Variable
    if(Gebiete[i][gOwner] == 5){color=0x000000B2;}//Fragt ab welcher Frak das Gebiet gehört
    if(Gebiete[i][gOwner] == 6){color=0xFFFFFFB2;}
    GangZoneShowForPlayer(player, Gebiet[i], color); //Zeigt die Zone f ür die Spieler wieder mit der neuen/alten Farbe
    if(Gebiete[i][gOn] == 1)//Fragt ab ob Gangfight in einem Gebiet läuft
    {
    if(Gebiete[i][gAngreifer] == 5){color=0x000000B2;}//Fragt ab welche Frak das Gebiet angreift und setzt die Farbe
    if(Gebiete[i][gAngreifer] == 6){color=0xFFFFFFB2;}
    GangZoneFlashForPlayer(player,Gebiet[i],color);//"Flasht die Zone" in der Angreifer Farbe und Owner Farbe
    }
    }
    }
    }




    Function GangFight(gebietid)
    {
    Gebiete[gebietid][gOn] = 0;
    if(Gebiete[gebietid][gStand2] > Gebiete[gebietid][gStand1])
    {
    Gebiete[gebietid][gOwner] = Gebiete[gebietid][gAngreifer];
    }


    new string[128];
    format(string,sizeof(string),"Der Gewinner des Gebiets %d ist Fraktionsid: %d, mit %d : %d gewonnen",gebietid,Gebiete[gebietid][gOwner],Gebiete[gebietid][gStand1],Gebiete[gebietid][gStand2]);
    SendClientMessageToAll(0x000000,string);
    Gebiete[gebietid][gStand2]= 0;
    Gebiete[gebietid][gStand1]=0;
    Gebiete[gebietid][gAngreifer]=0;
    return 1;
    }




    if(IsPlayerInArea(playerid, 560.538, -724.0283, 875.8406, -362.0141))
    {
    GameTextForPlayer(playerid, "~r~Gangfightdeath", 5000, 3);
    PlayerInfo[playerid][pGDeaths]++;
    GameTextForPlayer(killerid, "~g~Gangfightkill", 5000, 3);
    PlayerInfo[killerid][pGKills]++;
    GivePlayerMoney(killerid, 1500);
    GivePlayerMoney(playerid, -1500);
    }
    killerid = INVALID_PLAYER_ID;
    SetPlayerColor(playerid,COLOR_GRAD2);
    return 1;
    }


    Create3DTextLabel("Benutze /invade um das Gebiet anzugreifen", COLOR_RED,1072.4320,-1619.2638,20.4581,20,0);
    Create3DTextLabel("Benutze /invade um das Gebiet anzugreifen", COLOR_RED,1924.1338,-2125.8567,13.1467,20,0);
    Create3DTextLabel("Benutze /invade um das Gebiet anzugreifen", COLOR_RED,1958.2657,-1852.9225,3.8851,20,0);