Frage zu einem Switch Modell

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 Fischis,


    ich frage mich wie bei diesem Codeschnipsel, wie der Code zum übertragen des Disconnect aussieht.


    switch(reason)
    {
    case 0: format(string, sizeof(string), "%s hat einen Verbindungsabbruch. (Timeout)", pname);
    case 1: format(string, sizeof(string), "%s hat den Server verlassen.", pname);
    case 2: format(string, sizeof(string), "%s wurde vom Server gekickt. ", pname);
    }


    Jemand eine Erklärung parat?

    "Dem wird befohlen, der sich nicht selbst gehorchen kann" - Friedrich Nietzsche

  • Ich wollte wissen wie der Code hinter der Funktion aussieht, der Automatisch den richtigen Reason rausfiltert, den der Switch dann anwendet.

    "Dem wird befohlen, der sich nicht selbst gehorchen kann" - Friedrich Nietzsche

  • stells dir vor wie ne if abfrage, nur das du oben festlegst, was abgefragt wird (in diesem fall ein integer).
    der code könnte im prinzip auch sein:


    if(reason == 1){...}
    else if(reason == 2){...}
    else if(reason == 3){...}


    Der einzige Vorteil: Bei vielen Abfragen spart die Switch-Funktion resourcen.

  • Das weiss ich doch was ein Switch ist. Wie kann mans denn anders erklären? Die Frage ist Konkret, welchen Code verwendet der Public selbst um zu erkennen um was für einen Disconnect es sich handelt.

    "Dem wird befohlen, der sich nicht selbst gehorchen kann" - Friedrich Nietzsche

  • Ums mal anders zu formulieren:
    0 Timed out
    1 Left normally (/q or ESC menu and quit)
    2 Kicked or banned
    Wie wird nun vom Callback selbst erkannt, ob der Spieler normal gequittet hat, oder einen TimeOut hatte?
    Wie kommt der Wert überhaupt zustande, der dann in 'reasen' übergeben wird?

  • Ja gut, ich hatte ne unruhige Nacht, kann grad nicht klar denken :D
    Beide Fragestellungen wären in Ordnung. Läuft auf meine Frage hinnaus. :P

    "Dem wird befohlen, der sich nicht selbst gehorchen kann" - Friedrich Nietzsche