Return?

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
  • Ich kapier das leider nicht so ganz mit dem return wann und wo welches hingehört.
    Kann mir das wer vl mal erklären oder im wiki die seite posten
    Wenn ich bim ATM stehe soll eben /ATM kommen nur das tut es nicht



    stock AtATM(playerid)
    {
    for(new atm=0; atm<sizeof(ATMs); atm++)
    {
    if(IsPlayerInRangeOfPoint(playerid,2.5,ATMs[atm][0],ATMs[atm][1],ATMs[atm][2]))
    {
    GameTextForPlayer(playerid, "~w~/ATM", 3000, 3);//Fehler
    }
    return 1;
    }
    return 0;
    }


  • stock AtATM(playerid)
    {
    for(new atm=0; atm<sizeof(ATMs); atm++)
    {
    if(IsPlayerInRangeOfPoint(playerid,2.5,ATMs[atm][0],ATMs[atm][1],ATMs[atm][2]))
    {
    GameTextForPlayer(playerid, "~w~/ATM", 3000, 3);//Fehler
    return 1;
    }
    }
    return 0;
    }


    Du kannst diese stock-Funktion nicht mit einem Timer aufrufen, dazu müsstest du es forwarden und zu einem public machen.
    Erstell am besten pickups, läuft man in diese kommt der GameText, die AtATM Funktion kannst du dann für solche abfragen nutzen:
    if(AtATM(playerid) == 1)
    Sonst macht der GameText in der stock-Funktion keinen sinn


    return gibt wie der Name sagt etwas zurück, meißtens eine 1 , oder auch true (wahr) was die Funktion oder das public/callback sofort abbricht und halt 1 zurückgibt.
    Bei 0, bzw false (falsch) wird ebenfalls abgebrochen, manche returns haben sonder Funktionen, wenn sie in bestimmten publics stehen kann der Spieler z.B. keine Nachricht schreiben da das public mit return 0 also false abgebrochen wird.


    Grundlegend gilt aber das du wie mit dieser ATM Funktion solche Abfragen machen kannst: if(AtATM(playerid) == 1) wenn der rückgabewert der Funktion gleich 1 ist, ist die abfrage erfüllt und geht weiter. Wenn das return true nicht erreicht wird sondern das return false stimmt die Abfrage nichtmehr, folglich steht der Spieler nicht am ATM.
    Lässt man in Funktionen das return weg gibt der Compiler auch eine Warnung raus.


    return ist eigentlich auch so ein Thema, wenn man alles darüber weiß kommt es einem garnicht so wichtig oder viel vor, tatsächlich steckt aber sogar dahinter einiges an Wissen...