2 Abfragen in eine

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 Leute,
    ich habe ein Problem.
    Undzwar habe ich einen Skinshop.
    Ich möchte aber das wenn der Spieler noch im Tutorial ist an einer anderen Position gespawnt wird wie als wenn er im skinshop ist!


    Also so:
    if(Skinshop[playerid] == 0)
    {
    SetPlayerInterior(playerid, 15);
    SetPlayerPos(playerid,x,y,z);
    Skinshop[playerid] = -1;
    return 1;
    }


    Aber ich möchte dann machen das wenn der Spieler in dem Tutorial ist an einer anderen Postion gespawnt wird..
    Hier die Abfrage dafür:
    if(PlayerInfo[playerid][Tutorial] == 1)


    Aber ich bekomme das nicht so recht hin..
    Hoffe es kann mir jemand helfen..


    lg

  • Guten Tag,


    if(Skinshop[playerid] == 0 && PlayerInfo[playerid][Tutorial] == 1)
    {
    SetPlayerInterior(playerid, 15);
    SetPlayerPos(playerid,x,y,z);
    Skinshop[playerid] = -1;
    return 1;
    }


    Bitte, sprich du fragst mit "&&" ab beides zutrifft mit "||" fragst du ab ob eins der beiden zutrifft

  • Du kannst dir das == 0 und das == 1 auch noch sparen:
    if (!Skinshop[playerid] && PlayerInfo[playerid][Tutorial]) { ... }


    Denn 0 steht immer für FALSE und 1 immer für TRUE


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'


  • Danke dir erstmal.
    Und wenn eins nicht zutrifft?
    Kann ich dann irgendwo schreiben was dann passieren soll?


    lg

  • LeijaT:
    Aber der SkinShop hat ja 0, aber das Tutorial 1
    Geht das trotzdem das man es weg lässt?
    Weil es sind ja beide male andere zuweißungen einer Variable


    if(Skinshop[playerid] == 0 && PlayerInfo[playerid][Tutorial] == 1)
    {
    SetPlayerInterior(playerid, 15);
    SetPlayerPos(playerid,x,y,z);
    Skinshop[playerid] = -1;
    return 1;
    }
    else
    {
    //Was nicht stimmt
    }

  • Ja, weil 0 bedeutet immer FALSE und 1 bedeutet immer TRUE
    Das ! am Anfang kehrt den Inhalt quasi um *mal so beschreib*


    So geschieht Folgendes aus der Klausel:
    if (!Skinshop[playerid] && PlayerInfo[playerid][Tutorial])
    // gleichbedeutend mit
    if (!0 && 1)
    // gleichbedeutend mit
    if (!FALSE && TRUE)
    // gleichbedeutend mit
    if (TRUE && TRUE)


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'


  • Also wenn jetzt zum Beispiel bei dem Spieler das Tutorial auf 0 steht dann passiert das was unter dem "else" steht?

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • if(Skinshop[playerid] == 0 && PlayerInfo[playerid][Tutorial] == 1)
    {
    SetPlayerPos(playerid,x,y,z);
    Skinshop[playerid] = -1;
    return 1;
    }
    else
    {
    SetPlayerPos(playerid,x,y,z);
    }


    Bekomme den Fehler:
    error 001: expected token: ";", but found "if"


    Das if kommt aus der nächsten Zeile.

  • PlayerStoned[playerid] = 0;
    STDPlayer[playerid] = 0;
    TogglePlayerControllable(playerid, 0);
    I_SetPlayerHealth(playerid, 100);
    MedicBillTimer[playerid] = SetTimerEx("Krankenhaus",120000,0,"i",playerid);
    //MedicBillTimer[playerid] = SetTimerEx("Krankenhaus",250,0,"i",playerid);
    //GameTextForPlayer(playerid, "~r~In Krankenhausbehandlung ~n~~y~Ca. 120 Sekunden", 60000, 3);
    PlayerTextDrawShow(playerid,kh[0]);
    return 1;
    }
    }