for-schleife Stoppen

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 Brotfische ^^


    Ich habe folgendes Problem:
    Nehmen wir an ich suche über for-Schleife eine bestimmte Variable, wenn ich diese Variable finde, soll an den Spieler etwas ausgegeben werden (SendClientMessage o.Ä.), genau in diesem Moment soll die Schleife gestoppt werden, bzw. soll verhindert werden dass noch mehr Aktionen durchgeführt werden. Wie würde das gehen? Mit continue; wird nur SERVER: Unknown Command zurückgegeben.




    Mit freundlichen Grüßen
    iBox

  • break;


    bitte:D


    Der Beitrag ist zu kurz. Der Beitrag muss mindestens 15 Zeichen lang sein und 6 Wörter enthalten.

  • Mit return oder break funktioniert dies nicht.


    code:

    CMD:hbuy(playerid,params[])
    {
    foreach(House,h)
    {
    if(IsPlayerInRangeOfPoint(playerid,2.5,HausInfo[h][hX],HausInfo[h][hY],HausInfo[h][hZ]))
    {
    if(HausInfo[h][hOwned] == false)
    {
    SetPlayerPos(playerid,HausInfo[h][hiX],HausInfo[h][hiY],HausInfo[h][hiZ]);
    SetPlayerInterior(playerid,HausInfo[h][hInt]);
    SetPlayerVirtualWorld(playerid,HausInfo[h][hWorld]);
    HausInfo[h][hLocked] = false;
    format(HausInfo[h][hOwner],MAX_PLAYER_NAME,"%s",GetName(playerid));
    HausInfo[h][hOwned] = true;
    SaveHouse(h);
    UpdateHouse(h);
    continue;
    }
    else SendClientMessage(playerid,COLOR_RED,"Dieses Haus gehört schon jemandem"); continue;
    }
    else SendClientMessage(playerid,COLOR_RED,"Du bist an keinem Haus!"); continue;
    }
    return 1;
    }


    *EDIT: Chrome Fehler

  • Könntest du mal den Code richtig posten?
    Keine Lust 24 Stunden das jetzt einzurücken.


    CMD:hbuy(playerid,params[])
    {
    foreach(House,h)
    {
    if(IsPlayerInRangeOfPoint(playerid,2.5,HausInfo[h][hX],HausInfo[h][hY],HausInfo[h][hZ]))
    {
    if(HausInfo[h][hOwned] == false)
    {
    SetPlayerPos(playerid,HausInfo[h][hiX],HausInfo[h][hiY],HausInfo[h][hiZ]);
    SetPlayerInterior(playerid,HausInfo[h][hInt]);
    SetPlayerVirtualWorld(playerid,HausInfo[h][hWorld]);
    HausInfo[h][hLocked] = false;
    format(HausInfo[h][hOwner],MAX_PLAYER_NAME,"%s",GetName(playerid));
    HausInfo[h][hOwned] = true;
    SaveHouse(h);
    UpdateHouse(h);
    return 1;
    }
    else SendClientMessage(playerid,COLOR_RED,"Dieses Haus gehört schon jemandem");
    }
    else SendClientMessage(playerid,COLOR_RED,"Du bist an keinem Haus!");
    }
    return 1;
    }

  • Machs mal Klassisch.


    CMD:hbuy(playerid,params[])
    {
    for(new h; h < VariableDerHausAnzahl; h++)
    {
    if(!IsPlayerInRangeOfPoint(playerid,2.5,HausInfo[h][hX],HausInfo[h][hY],HausInfo[h][hZ])) continue;
    if(HausInfo[h][hOwned]) continue;
    SetPlayerPos(playerid,HausInfo[h][hiX],HausInfo[h][hiY],HausInfo[h][hiZ]);
    SetPlayerInterior(playerid,HausInfo[h][hInt]);
    SetPlayerVirtualWorld(playerid,HausInfo[h][hWorld]);
    HausInfo[h][hLocked] = false;
    format(HausInfo[h][hOwner],MAX_PLAYER_NAME,"%s",GetName(playerid));
    HausInfo[h][hOwned] = true;
    SaveHouse(h);
    UpdateHouse(h);
    return 1;
    }
    return 1;
    }

  • return 1337, wenn überhaupt...


    BTW try this
    CMD:hbuy(playerid,params[])
    {
    foreach(House,h)
    {
    if(IsPlayerInRangeOfPoint(playerid,2.5,HausInfo[h][hX],HausInfo[h][hY],HausInfo[h][hZ]) && HausInfo[h][hOwned] == false)
    {
    SetPlayerPos(playerid,HausInfo[h][hiX],HausInfo[h][hiY],HausInfo[h][hiZ]);
    SetPlayerInterior(playerid,HausInfo[h][hInt]);
    SetPlayerVirtualWorld(playerid,HausInfo[h][hWorld]);
    HausInfo[h][hLocked] = false;
    format(HausInfo[h][hOwner],MAX_PLAYER_NAME,"%s",GetName(playerid));
    HausInfo[h][hOwned] = true;
    SaveHouse(h);
    UpdateHouse(h);
    return 1;
    }
    }
    return SendClientMessage(playerid,COLOR_RED,"Du bist an keinem Haus!");
    }

    The fact is, I am right. And if you think I'm wrong, you are wrong.