Frage zu OnPlayerDeath

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 eine Frage, bzw. ein kleines Problem. Und zwar ist dieses, dass ich unter OnPlayerDeath einige Funktionen habe und sobald ich eine Funktion ganz oben bei "OnPlayerDeath" einfüge und diese mit "return 1;" oder "return 0;" returne, die Funktionen darunter nicht ausgeführt werden.


    Also ist das wie ein Stop im Script, was kann ich dagegen tun? Einige Funktionen müssen diese return Funktion haben, da sie auch nicht weiter ausgeführt werden sollen, die restlichen aber schon?


    Hoffe mir kann hier jemand helfen.


    MfG,


    coVer

    Ihr habt das normale Pawno satt? Notepad ++ mit allen Pawnofunktionen, hier zum Downloaden, Klick

  • Warum denn Code, es geht lediglich um die Frage, warum eine Funktion mit einem "return", die restlichen darunter blockiert ;)


    MfG

    Ihr habt das normale Pawno satt? Notepad ++ mit allen Pawnofunktionen, hier zum Downloaden, Klick

  • Dann musst du wohl allein zurecht finden... Wir können ja net riechen wo der Fehler liegt


    Hier die Antwort:


    Sobald ein return 1 oder so steht, dann hört der an der Stelle auf und gibt eine 1 auf den public zurück.
    Mehr können wir dir net weiterhelfen da wir nicht wissen worum es geht

  • Dann musst du wohl allein zurecht finden... Wir können ja net riechen wo der Fehler liegt


    Hier die Antwort:


    Sobald ein return 1 oder so steht, dann hört der an der Stelle auf und gibt eine 1 auf den public zurück.
    Mehr können wir dir net weiterhelfen da wir nicht wissen worum es geht


    Das hat mir schon mal weitergeholfen, nur die Frage, wie unterbreche ich dann eine einzelne Funktion ohne, dass die darunter blockiert werden?


    MfG

    Ihr habt das normale Pawno satt? Notepad ++ mit allen Pawnofunktionen, hier zum Downloaden, Klick

  • Wenn du mit dem nicht weiter ausführen Schleifen meinst, so kannst du diese mit


    break;


    abbrechen. Dann gehts zum nächsten Codeteil weiter.


    Ansonsten kann man ja Abfragen einbauen, damit ein Code nicht "weiter" ausgeführt wird.


  • Wenn ich "break" einfügen will, egal ob mit oder ohne "return" davor, kommt folgender Error.


    C&R.pwn(4475) : error 024: "break" or "continue" is out of context

    Ihr habt das normale Pawno satt? Notepad ++ mit allen Pawnofunktionen, hier zum Downloaden, Klick

  • break und/oder continue verwendet man auch nur in Schleifen :D


    Poste uns doch mal den Code deiner Funktion, dann können wir dir helfen ^^


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Hier ein Ausschnitt



    if(playerid != INVALID_PLAYER_ID && killerid != INVALID_PLAYER_ID)
    {
    if(duell[killerid] == 1 || duell1[killerid] == 1) // <- Wenn das 1 ist soll diese Funktion für den Spieler ausgeschlossen werden und zur nächsten gehen
    {
    if(sSpieler[playerid][gTeam] == sSpieler[killerid][gTeam])
    {
    if(teamdmg[killerid] == 0)
    {
    SCM(killerid,FARBE_ROT,"|- Du darfst deine Teammitglieder nicht angreifen! Warnung 1/3.");
    teamdmg[killerid] ++;
    return 1; // bei jedem return hier werden die darauffolgenden Funktionen ausgelassen
    }
    if(teamdmg[killerid] == 1)
    {
    SCM(killerid,FARBE_ROT,"|- Du darfst deine Teammitglieder nicht angreifen! Warnung 2/3.");
    teamdmg[killerid] ++;
    return 1;
    }
    if(teamdmg[killerid] == 2)
    {
    SCM(killerid,FARBE_ROT,"|- Du darfst deine Teammitglieder nicht angreifen! Warnung 3/3.");
    teamdmg[killerid]++;
    return 1;
    }
    if(teamdmg[killerid] == 3)
    {
    Kick(killerid);
    }
    }
    }
    }


    MfG

    Ihr habt das normale Pawno satt? Notepad ++ mit allen Pawnofunktionen, hier zum Downloaden, Klick

  • Schreibe das mal einfach so:


    if(playerid == killerid) return 1;
    if(duell[killerid] == 1 || duell1[killerid] == 1) return 1;// <- Wenn das 1 ist soll diese Funktion für den Spieler ausgeschlossen werden und zur nächsten gehen
    if(sSpieler[playerid][gTeam] == sSpieler[killerid][gTeam])
    {
    if(teamdmg[killerid] == 0)
    {
    SCM(killerid,FARBE_ROT,"|- Du darfst deine Teammitglieder nicht angreifen! Warnung 1/3.");
    teamdmg[killerid] ++;
    }
    else if(teamdmg[killerid] == 1)
    {
    SCM(killerid,FARBE_ROT,"|- Du darfst deine Teammitglieder nicht angreifen! Warnung 2/3.");
    teamdmg[killerid] ++;
    }
    else if(teamdmg[killerid] == 2)
    {
    SCM(killerid,FARBE_ROT,"|- Du darfst deine Teammitglieder nicht angreifen! Warnung 3/3.");
    teamdmg[killerid]++;
    }
    else if(teamdmg[killerid] == 3)
    {
    Kick(killerid);
    return 1;
    }
    }
    //am Ende von dem Callback
    return 1;


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S