Gangwarsystem von FoL-Community

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 Liebe Brotfische,


    leider muss ich mal einen extra Thread dazu erstellen da ich denke das der User nicht oft on sein wird. Letzte Aktivität des Users war im Mai diesen Jahres und somit denke ich das ich keinen Support zu seinem Tutorial erhalte.
    Ich habe das Tuturial von FoL-Community genutzt zur erstellung eines Gengfightsystems.


    Hier nochmal mein Post aus dem Thread:


    Leider buggt der Befehl /gangwar etwas rum. Die Meldung das das gebiet angegriffen wird geht nicht an der Owner sondern an den Angreifer der gegnerischen Fraktion. Desweiteren habe ich jetzt 4 Gebiete fü meine 2 Gangs und 2 Mafien. Leider kann nur das erste Gebiet angegriffen werden.
    Ich bitte um Hilfe wegen den Problemen.
    Im Vorhinein will ich aber sagen das ich alle Optionen eingestellt habe das er vier Gebiete erkennt und anzeigt, nur der Angriff geht nicht nur im ersten.


    Danke im Voraus für die Hilfe. Hoffe es wird dieses Problem behandelt und auch sinnvoll überdacht. Stehe euch aber gerne auch mit dem Code zur Verfügung.


    Hier schonmal der Code des Befehls zum starten des GW's.


    if(strcmp(cmd, "/gangwar", true) == 0)
    {
    if(PlayerInfo[playerid][pLeader] == 5 || PlayerInfo[playerid][pLeader] == 6 || PlayerInfo[playerid][pLeader] == 10 || PlayerInfo[playerid][pLeader] == 14)
    {
    if(IsPlayerInGebiet(playerid) > 0)
    {
    new zone = IsPlayerInGebiet(playerid);
    if(Gebiete[zone][gOn] == 1)
    {
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Das Gebiet wird schon Umkämpft!");
    return 1;
    }
    if(Gebiete[zone][gOwner] == PlayerInfo[playerid][pLeader])
    {
    SendClientMessage(playerid,COLOR_LIGHTBLUE," Deine Fraktion ist im Besitzt dieses Gebietes");
    return 1;
    }
    Gebiete[zone][gAngreifer] = PlayerInfo[playerid][pLeader];
    Gebiete[zone][gOn] = 1;
    SetTimerEx("GangFight",60000,0,"i",zone);
    for(new i = 0; i < MAX_PLAYERS; i++)//Damit jeder Spieler abgefragt wird
    {
    if(PlayerInfo[i][pLeader] == Gebiete[zone][gOwner] || PlayerInfo[i][pMember] == Gebiete[zone][gOwner])
    {
    SendClientMessage(playerid,COLOR_RED,"Eines ihrer Gebiete wird angegriffen.");//Sendet eine Mitteilung
    }
    if(PlayerInfo[i][pLeader] == Gebiete[zone][gAngreifer] ||PlayerInfo[i][pMember] == Gebiete[zone][gAngreifer])
    {
    SendClientMessage(playerid,COLOR_RED,"Dein Leader hat ein Gangwar gestartet!");
    }
    }


    }
    }
    return 1;
    }


    MFG


    Dj_Fire


    PS: Ich bin eigentlich kein Anfänger im pwn Code schreiben. Leider ist diese Problem mir echt zu unverständlich da es auch nicht näher erklärt oder behandelt wird.


    //edit: Rechtschreibfehler. Sollten noch welche drin sein weist mich bitte drauf hin denke schneller als ich schreibe.


    Nach längerer Versuchsphasen und umschreiben habe ich jetzt die Mögflichkeit die drei letzen Gebiete anzugreifen nur das erste nicht.
    Bitte helft mir und sagt mir wo der Fehler liegt.
    Hiermal der Originalcode:


    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;//Wenn der nirgendwo drin ist wird halt -1 returned damit wir einen unterschied haben
    }
    return -1;//Siehe oben
    }


    und hier mein abgeänderter Code bei dem ich jetzt die letzten drei oben im Script festgelegten Gebiete angreifen kann nur das erste nicht:


    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 i;//Wenn der nirgendwo drin ist wird halt -1 returned damit wir einen unterschied haben
    }
    return 0;//Siehe oben
    }
    //edit: pwn Code für die Gebietsabfrage und veränderung zum Original


    PS: Hoffe das zählt nicht als Doppelpost.

    Einmal editiert, zuletzt von Dj_Fire ()

  • Hallo Liebe Brotfische,




    ich finde es sehr schade das ihr egal wo, egal wann und egal wie überall irgendwelchen Schwachsinn posten könnt. Stellt man jedoch mal eine sinnvolle Frage auf ein Thema oder benötigt einen Support kommt wochen monatelang gar nichts. Sorry finde das echt schade in einem Scripterforum sowas feststellen zu dürfen.


    MFG


    Dj_Fire


    PS: Sorry für Doppelpost


    //edit: Rechtschreibfehler

  • leider muss ich mal einen extra Thread dazu erstellen da ich denke das der User nicht oft on sein wird. Letzte Aktivität des Users war im Mai diesen Jahres und somit denke ich das ich keinen Support zu seinem Tutorial erhalte.
    Ich habe das Tuturial von FoL-Community genutzt zur erstellung eines Gengfightsystems.



    soweit ich weiß ist "FoL-Community" gebannt...


    http://forum.sa-mp.de/index.php?page=User&userID=12577


    //E: Zitat eingefügt


  • Das ligt auch dran das von den 150-250 Leuten die täglich online sind nicht alle Scripter sind.Oder eher wenige davon




    MFG K44n

    Ich Scripte nicht mehr!
    Signatur zuletzt Aktualiesiert:11.07.2012





    MFG K44n