Lezte Login Abfragen

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 Community.


    Ich habe jezt Uhrzeit und Datum gescriptet, alles funktioniert einwandfrei, nun wollte ich euch fragen, wie kann ich machen, das jeder login abgespeichert wird, und beim nächsten login dann angezeigt wird,..


    Beispiel:


    Am 17.4.2013 um 18:15uhr Eingeloggt,


    Dann soll beim Nächsten Login sowas hier stehen:



    Dein Lezter Login war am 17.4.2013 um 18:15Uhr

  • Du speicherst das einfach unter deinem stock, wo du die Spieler abspeicherst, ich nutze DINI und habs so:

    new timestr[32],datestr[32], Stunde, Minute, Tag, Monat, Jahr; //Zeit und Datumstring definieren + Variablen für Datum und Uhrzeit erstellen
    getdate(Jahr, Monat, Tag); //Jahr, Monat und Tag abfragen
    gettime(Stunde, Minute); //Stunde und MInute abfragen
    format(datestr,32,"%02d.%02d.%d",Tag, Monat, Jahr); //Datum im String formatieren
    format(timestr,32,"%02d:%02d",Stunde,Minute); //Zeit im String formatieren
    dini_Set(Spielerdatei,"Datum",datestr); //Datum mit DINI abspeichern
    dini_Set(Spielerdatei,"Uhrzeit",timestr); //Zeit mit DINI abspeichern


    mfg :thumbup:

  • 1. Du Speicherst dein Datum und Uhrzeit in der MySQL-Tabelle
    2. Bei OnPlayerConnect rufst du die gespeicherten Werte ab und wiedergibst dem Spieler
    3. Nach wiedergeben der Informationen an den Spieler speicherst du die neuen Werte.


    Das wars schon.

  • Hai, Ich habe das jetz so gemacht



    stock SavePlayer(playerid)
    {
    new StringUhr[32],StringDatum[32],Stunde, Minute, Tag, Monat, Jahr;
    getdate(Jahr,Monat,Jahr);
    gettimer(Stunde,Minute);
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 1)
    {
    format(StringUhr,32,"%02d.%02d.%d",Tag, Monat, Jahr);
    format(StringDatum,32,"%02d:%02d",Stunde, Minute);
    mysql_SetInt("accounts", "LezteLoginUhr", SpielerInfo[playerid][pLezteLoginUhr], "Name", SpielerInfo[playerid][pSpieler],StringUhr);
    mysql_SetInt("accounts", "LezterLoginDatum", SpielerInfo[playerid][pLezterLoginDatum], "Name", SpielerInfo[playerid][pSpieler],StringDatum);
    }
    }
    return 1;
    }


    und bekomme diese Fehler hier:


    C:\Users\Gta Server\Desktop\Neuer Ordner\SEHR WICHTIG\Selfmade\gamemodes\SelfMade-Fix.pwn(3855) : error 017: undefined symbol "gettimer"
    C:\Users\Gta Server\Desktop\Neuer Ordner\SEHR WICHTIG\Selfmade\gamemodes\SelfMade-Fix.pwn(3877) : warning 202: number of arguments does not match definition
    C:\Users\Gta Server\Desktop\Neuer Ordner\SEHR WICHTIG\Selfmade\gamemodes\SelfMade-Fix.pwn(3878) : warning 202: number of arguments does not match definition
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

  • stock SavePlayer(playerid)
    {
    new StringUhr[32],StringDatum[32],Stunde, Minute, Tag, Monat, Jahr;
    getdate(Jahr,Monat,Jahr);
    gettime(Stunde,Minute);
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 1)
    {
    format(StringUhr,32,"%02d.%02d.%d",Tag, Monat, Jahr);
    format(StringDatum,32,"%02d:%02d",Stunde, Minute);
    mysql_SetString("accounts", "LezteLoginUhr", SpielerInfo[playerid][pLezteLoginUhr], "Name", SpielerInfo[playerid][pSpieler],StringUhr);
    mysql_SetString("accounts", "LezterLoginDatum", SpielerInfo[playerid][pLezterLoginDatum], "Name", SpielerInfo[playerid][pSpieler],StringDatum);
    }
    }
    return 1;
    }


    Und bekomme die Warnings hier:

    C:\Users\Gta Server\Desktop\Neuer Ordner\SEHR WICHTIG\Selfmade\gamemodes\SelfMade-Fix.pwn(3877) : warning 202: number of arguments does not match definition
    C:\Users\Gta Server\Desktop\Neuer Ordner\SEHR WICHTIG\Selfmade\gamemodes\SelfMade-Fix.pwn(3878) : warning 202: number of arguments does not match definition
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Warnings.


    komme nicht weiter -.- :D

  • entweder so:
    mysql_SetString("accounts", "LezteLoginUhr", StringUhr, "Name", SpielerInfo[playerid][pSpieler]);
    mysql_SetString("accounts", "LezterLoginDatum", StringDatum, "Name", SpielerInfo[playerid][pSpieler]);
    oder so:

    SpielerInfo[playerid][pLezteLoginUhr] = StringUhr;
    SpielerInfo[playerid][pLezterLoginDatum] = StringDatum;
    mysql_SetString("accounts", "LezteLoginUhr", SpielerInfo[playerid][pLezteLoginUhr], "Name", SpielerInfo[playerid][pSpieler]);
    mysql_SetString("accounts", "LezterLoginDatum", SpielerInfo[playerid][pLezterLoginDatum], "Name", SpielerInfo[playerid][pSpieler]);

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • SpielerInfo[playerid][pLezteLoginUhr] = mysql_GetString("accounts", "LezteLoginUhr", "Name", SpielerInfo[playerid][pSpieler]);
    SpielerInfo[playerid][pLezteLoginDatum] = mysql_GetString("accounts", "LezterLoginDatum", "Name", SpielerInfo[playerid][pSpieler]);

  • format(string, sizeof(string),"Du warst das letze mal am %02d.%02d.%d um %02d:%02d online.", SpielerInfo[playerid][pLetzerLoginDatum], SpielerInfo[playerid][pLetzeLoginUhr]);
    Versuch das mal, bin mir nicht sicher ob es funktioniert.

  • oder machs so:

    new string[256];
    format(string, sizeof(string),"Du warst das letze mal am %s um %s online.", mysql_GetString("accounts", "LezterLoginDatum", "Name", SpielerInfo[playerid][pSpieler]), mysql_GetString("accounts", "LezteLoginUhr", "Name", SpielerInfo[playerid][pSpieler]);

  • Er will doch anzeigen lassen 'am 21.06.2013 um 21:13', oder nicht?
    Mit %s kann das nix werden.
    Versuch mal meine Variante.


    MySQL gibt ja schon den fertigen string zurück, also stimmt das schon.
    Und deine Variante wird nicht tun, da du 5 Platzhalter und 2 nur variablen hast. ;)


    Du liegst also meilenweit falsch.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen