Kontrollstruktur ?: | Warning

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
  • Tag,


    wollte mal was neues ausprobieren, da der Compiler mir aber sagt es keinen Effekt hat wollte ich hier mal nachfragen was ich denn genau falsch mache.


    case DIALOG_REGISTER:{
    new l = PlayerInfo[playerid][pLanguage], errmsg[2][50];
    errmsg[0] = "INFO: {FFFFFF}Du hast den Vorgang abgebrochen.";
    errmsg[1] = "INFO: {FFFFFF}You have cancelled the operation.";
    if(!response)
    { (l == SPRACHE_GERMAN) ? (SendClientMessage(playerid, COLOR_RED, errmsg[0])) : (SendClientMessage(playerid, COLOR_RED, errmsg[1])); Kick(playerid); return false; }
    }


    Zitat

    DIR://(481) : warning 215: expression has no effect


    mfg :thumbup:

  • (l == SPRACHE_GERMAN) ? (SendClientMessage(playerid, COLOR_RED, errmsg[0])) : (SendClientMessage(playerid, COLOR_RED, errmsg[1]));
    Das ist keine Zulässige Anweisung. Das müsste in einem Parameter stehen, oder in einem return Wert (etc). Aber als Anweisung (expression) ist es nicht möglich.


    Nutze einfach:
    if(!response)
    {
    if(l == SPRACHE_GERMAN) SendClientMessage(playerid, 1, errmsg[0]);
    else SendClientMessage(playerid, 1, errmsg[1]);
    Kick(playerid);
    return false;
    }
    Das ist auch wesentlich leichter zu lesen. Du solltest dir nicht angewöhnen alles in eine Zeile zu schreiben, das ist ein ganz schlechter Programmierstil.

  • Ah Okay, ich danke dir.


    case DIALOG_REGISTER:{
    if(!response){
    switch(PlayerInfo[playerid][pLanguage]){
    case SPRACHE_GERMAN: SendClientMessage(playerid, COLOR_RED, "INFO: {FFFFFF}Du hast den Vorgang abgebrochen.");
    case SPRACHE_ENGLISCH: SendClientMessage(playerid, COLOR_RED, "INFO: {FFFFFF}You have cancelled the operation.");
    default: print("Server->Language Error!");
    }
    Kick(playerid);
    return false;
    }
    }
    Habe das ganze jetzt mal so geschrieben, sollte denke passen.


    mfg :thumbup: