Gangfight Fehler

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
  • Guten Tag Community,


    Ich habe ein folgendes Problem mit mein Gangfight, ich kann überall /fight eingeben


    Bitte um Hilfe.


    Der Befehl



    • if(strcmp(cmd, "/fight", true) == 0)
      {
      if(IsPlayerConnected(playerid))
      {
      if(Spieler[playerid][Leader] == 10 || Spieler[playerid][Leader] == 11 || Spieler[playerid][Leader] == 12 ||
      Spieler[playerid][Leader] == 13 || Spieler[playerid][Leader] == 14 || Spieler[playerid][Leader] == 16 ||
      Spieler[playerid][Leader] == 16)//Hier wird abefragt welche Fraktion einen Gangfight starten darf
      {
      if(IsPlayerInGebiet(playerid) >= 0)
      {
      new zone = IsPlayerInGebiet(playerid);
      if(Gebiete[zone][gOn] == 1)
      {
      SendClientMessage(playerid,COLOR_BLAU,"Das Gebiet wird schon Umkämpft!");
      return 1;
      }
      if(Gebiete[zone][gOwner] == Spieler[playerid][Leader])
      {
      SendClientMessage(playerid,COLOR_BLAU," Deine Fraktion ist im Besitzt dieses Gebietes");
      return 1;
      }
      Gebiete[zone][gAngreifer] = Spieler[playerid][Leader];
      Gebiete[zone][gOn] = 1;
      SetTimerEx("GangFight",3600000,0,"i",zone);
      for(new i = 0; i < MAX_PLAYERS; i++)
      {
      if(Spieler[i][Leader] == Gebiete[zone][gOwner] || Spieler[i][Team] == Gebiete[zone][gOwner])
      {
      SendClientMessage(playerid,COLOR_ROT,"Eines ihrer Gebiete wird angegriffen.");
      }
      else if(Spieler[i][Leader] == Gebiete[zone][gAngreifer] || Spieler[i][Team] == Gebiete[zone][gAngreifer])
      {
      SendClientMessage(playerid,COLOR_ROT,"Dein Leader hat ein Gangwar gestartet!");
      }
      }
      }
      else
      {
      SendClientMessage(playerid,COLOR_GRAU,"Du bist in kein Gangfight Gebiet!");
      }
      }
      else
      {
      SendClientMessage(playerid,COLOR_GRAU,"Du bist kein Leader!");
      }
      }
      return 1;
      }



      Stock:



    • stock IsPlayerInGebiet(playerid)//Funktion bennen mit den jeweiligen Variablen oder auch Parameter genannt.
      {
      for(new i = 0; i < sizeof(Gebiete); i++)//Damit wieder nach allen Zonen geschaut wird.
      {
      new Float:GetX,Float:GetY,Float:GetZ;//Neue Float Variablen erstellen, damit wir dort die Positionen des Spielers speichern können
      GetPlayerPos(playerid,GetX,GetY,GetZ);//Die Position des Spielers in den oben genannten Variablen speichern.
      if(Gebiete[i][gMinX] < GetX && Gebiete[i][gMaxX] > GetX && Gebiete[i][gMinY] < GetY && Gebiete[i][gMaxY] > GetY)//Hier wird abgefragt ob die Spielerkooridnanten in dem Bereich der Gangzone sind.
      {
      return i;//Hier wird die Gebietsid returned
      }
      }
      return 0;//Das ist das entscheidende zum Bugfixx.
      }


    Danke im vor raus ;)

  • stock IsPlayerInGebiet(playerid)//Funktion bennen mit den jeweiligen Variablen oder auch Parameter genannt.
    {
    for(new i = 0; i < sizeof(Gebiete); i++)//Damit wieder nach allen Zonen geschaut wird.
    {
    new Float:GetX,Float:GetY,Float:GetZ;//Neue Float Variablen erstellen, damit wir dort die Positionen des Spielers speichern können
    GetPlayerPos(playerid,GetX,GetY,GetZ);//Die Position des Spielers in den oben genannten Variablen speichern.
    if(Gebiete[i][gMinX] < GetX && Gebiete[i][gMaxX] > GetX && Gebiete[i][gMinY] < GetY && Gebiete[i][gMaxY] > GetY)//Hier wird abgefragt ob die Spielerkooridnanten in dem Bereich der Gangzone sind.
    {
    return i;//Hier wird die Gebietsid returned
    }
    }
    return 1;//Das ist das entscheidende zum Bugfixx.
    }
    So vielleicht? :D