Fragen zu Logout

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
  • new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    CreatePickup(1275, 4, x, y, z, -1);
    new szString[64],
    playerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);
    new szDisconnectReason[3][] =
    {
    "Timeout/Crash",
    "Verlassen",
    "Kick/Ban"
    };



    Soweit bin ich mal :)


    Wie lasse ich das (Verlassen) (Timout) (Gekickt/Gebannt) anzeigen in einem 3DTextLabel + Uhrzeit wie auf dem Bild



    //E: Update

  • //Ich bin neuling im Scriptingbereich



    Entweder du erstellt eine Variable und speicherst dort drin ob er gekickt oder einen timeout hatte.
    Und gibst es mit einem format mit der Funktion CreateTextLabel wieder.

  • Versuch's mal so:
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    CreatePickup(1275, 4, x, y, z, -1);
    new szString[64],
    playerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);
    new szDisconnectReason[3][] =
    {
    "Timeout/Crash",
    "Verlassen",
    "Kick/Ban"
    };
    format(szString,sizeof(szString),"%s hat Verlassen. Grund: %s", playerName, szDisconnectReason[reason]);
    Create3DTextLabel(szString, 0x008080FF, x, y, z, 10.0, 0, 0);


  • public OnPlayerDisconnect(playerid, reason)
    {
    new Stunden, Minuten, Sekunden, Timestamp;
    Timestamp = gettime(Stunden, Minuten, Sekunden);
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    CreatePickup(1275, 23, x, y, z, -1);
    new szString[64],
    playerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);
    new szDisconnectReason[3][] =
    {
    "(Timeout/Crash)",
    "(Verlassen)",
    "(Kick/Ban)"
    };
    format(szString,sizeof(szString),"%s\n%s\n%02d:%02d:%02d", playerName, szDisconnectReason[reason], Timestamp);
    Create3DTextLabel(szString, 0xFFFFFF, x, y, z, 10.0, 0, 0);
    savePlayer(playerid);
    resetPlayer(playerid);
    return 1;
    }



    Kann das so stimmen :)?

  • public OnPlayerDisconnect(playerid, reason){new Stunden, Minuten, Sekunden, Timestamp;Timestamp = gettime(Stunden, Minuten, Sekunden);new Float:x, Float:y, Float:z;GetPlayerPos(playerid, x, y, z);CreatePickup(1275, 23, x, y, z, -1);new szString[64],playerName[MAX_PLAYER_NAME];GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);new szDisconnectReason[3][] ={"(Timeout/Crash)","(Verlassen)","(Kick/Ban)"};format(szString,sizeof(szString),"%s\n%s\n%02d:%02d:%02d", playerName, szDisconnectReason[reason], Timestamp);Create3DTextLabel(szString, 0xFFFFFF, x, y, z, 10.0, 0, 0);savePlayer(playerid);resetPlayer(playerid);return 1;}



    Kann das so stimmen :)?

    Hast du es schon ausprobiert Ingame, oder bekommst du Errors/Warnings? :D

  • :)

  • Nein, aber beim erstellen musst du ja den Pickups und den 3D-Texten eine Variable zuweisen, für jeden Spieler eine.
    Sprich:


    new Text3D:Logout3D[MAX_PLAYERS];
    new LogoutPickup[MAX_PLAYERS];


    Beim erstellen zuweisen, und dann erstellst du den Timer beim Logout, ebenfalls mit einer Spieler-Variable.
    Und dann lässt du die einfach löschen. :)

  • Hier auch eine Möglichkeit wie du es machen könntest:



    Dann schenkst dir paar Variablen ^^

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S