Kurze Frage zum Operator "?"

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
  • Abend,
    kurze Frage, würde sowas gehen? (bin aufm handy on)
    ocmd:tele(playerid,params[])
    {
    (TeleportOnMap[playerid]==0) ? (TeleportOnMap[playerid]=1,SCM(playerid,grün,"Map Teleport aktiviert!")) : (TeleportOnMap[playerid]=0,SCM(playerid,rot,"Map Teleport deaktiviert!"));
    return 1;
    }

  • Wie wäre es mit ausprobieren?
    Aber da würde (soweit ich weiß) ein '?' Operator nicht funktionieren.
    Da würde ich diese "Methode" benutzen (denn ? benutzt man, wenn man einen Wert setzt o.Ä.)


    !TeleportOnMap[playerid] && TeleportOnMap[playerid]=1,SCM(playerid,grün,"Map Teleport aktiviert!") || TeleportOnMap[playerid] && TeleportOnMap[playerid]=0,SCM(playerid,rot,"Map Teleport deaktiviert!")


    Ansonstes eher so (eher zu empfehlen):

    TeleportOnMap[playerid] = !TeleportOnMap[playerid];
    return TeleportOnMap[playerid] ? SCM(playerid,grün,"Map Teleport aktiviert!") : SCM(playerid,rot,"Map Teleport deaktiviert!");

  • Sharpadox:


    Da warste ein paar Sekunden schneller :/
    Naja, trotzdem ist bei dir ein Fehler drin :D
    Strings sind da in Klammern zu setzen



    Sprich so
    TeleportOnMap[playerid] = !TeleportOnMap[playerid];
    SCM(playerid,grün,(TeleportOnMap[playerid])?("Map Teleport aktiviert!"):("Map Teleport deaktiviert!"));
    Was aber nur funktioniert, wenn TeleportOnMap auch ein bool ist und kein int

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • @BlackAce:
    Falsch ist es nicht, nein. Ich habe ja keine Strings gesetzt sondern die Funktion SendClientMessage jeweils ausgeschrieben, daher würde es keine Fehler geben ^^
    Aber das mit der Klammer ist gut zu wissen. Habe ich schon gefragt wie das mit den Strings funktioniert. Man kann immer dazu lernen :D

  • Falsch ist es nicht, nein. Ich habe ja keine Strings gesetzt sondern die Funktion SendClientMessage jeweils ausgeschrieben, daher würde es keine Errors geben ^^


    Das ist richtig, da habe ich in der Vorschau nicht richtig darauf geachtet :D


    Aber dieser trinitäts Operator, wird meist in Funktionen verwendendet, deswegen auch "inline function".

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski