Beiträge von Beavis

    Mit gut 0,4% abweichung geht das :D
    //nachtrag


    Ich hatte es schonmal aber habs wieder vergessen :D
    Per CommandText kann man ja irgendwie mit sscanf machen
    Ich habe ein Command gebe ich da /unban ein, sagt er mir das es den Namen nicht gibt
    schreibe ich /unban werner, dann gibts nen Unkwon command ...


    Wo hab ich da den wurm sitzen?
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    new string[128];
    if(!strcmp("/unban", cmdtext, true))
    {
    if(!CheckAdmin(playerid,5))
    return ADMError(playerid,5);
    new UserName[MAX_PLAYER_NAME];
    if(sscanf(cmdtext,"s",UserName))
    return SendClientMessage(playerid,cWarn,"• /unban [Name]");
    format(string,128,"SELECT * FROM `DTuser` WHERE `Name` = '%s'",UserName);
    mysql_query(string, (-1), (0), SQL);
    mysql_store_result(SQL);
    if(mysql_num_rows(SQL)==0)
    return mysql_free_result(SQL), format(string, 128, "• Der Name \"%s\" existiert nicht!", UserName), SendClientMessage(playerid, cWarn, string);
    mysql_free_result(SQL);
    format(string, sizeof(string), "UPDATE `DTuser` SET `Gebannt`='0' WHERE `Name` = '%s'", UserName);
    mysql_query(string, (-1), (0), SQL);
    format(string, 128, "• \"%s\" wurde entbannt!", UserName);
    SendClientMessage(playerid, cGreen, string);
    return 1;
    }
    return 0;
    }

    Das geht auch rigendwie mit MySQL
    Nur ich weiß nicht wie man es macht das ist es ja...


    Kaliber:


    Die Funktion tut es jetzt endlich
    GetTimestamp(Timestamp)
    {
    new Wert[50],query[128];
    format(query, 128, "SELECT FROM_UNIXTIME(%d, '%s.%s.%s %s');", Timestamp, "%d","%m","%Y","%T");
    mysql_query(query, (-1), (0), SQL);
    mysql_store_result(SQL);
    mysql_fetch_string(Wert,SQL);
    mysql_free_result(SQL);
    return Wert;
    }
    Passgenau wenn ich den Timestamp eintrage bekomm ich das raus:
    16.04.2013 11:58:59

    Schau dir mal das Datum von dir an
    der Timestamp ist von meinen Account


    Der ist aber falsch der Timestamp: 1366106339
    Ist exakt die Zeitangabe: 16.04.2013 um 10:58:59 Uhr.


    Die Funktion die ich da nutze und auch du ist für die Tonne da die die Werte falsch wiedergibt

    Ich brauch den Timestamp da ich den auch für andere Zwecke nutze darum mach ich es auch so...
    Wenn ich das so mache wie Simon, dann darf ich wieder haufenweise umschreiben worauf ich kein Bock habe
    So les ich das aus
    new Test[6];
    date(PlayerInfo[playerid][RegisterTime], Test[0], Test[1], Test[2], Test[3], Test[4], Test[5]);
    format(string,128,"Registriert: %02d.%02d.%d - %02d:%02d:%02d Uhr", Test[3], Test[4], Test[5], Test[0], Test[1], Test[2]);

    Wie oft soll ich es noch schreiben das er mir das Falsche Datum ausgibe X(


    Den müll habe ich
    stock date(zeitpunkt, &hour, &minute, &second, &day, &month, &year) // by Martez
    {
    new h = 0, m = 0, s = 0, da = 1, mo = 1, ye = 1970;
    for(;;) { ye++; if(((zeitpunkt) - (mktime(h, m, s, da, mo, ye))) < 0) { ye--; break; } }
    for(;;) { mo++; if(((zeitpunkt) - (mktime(h, m, s, da, mo, ye))) < 0) { mo--; break; } }
    for(;;) { da++; if(((zeitpunkt) - (mktime(h, m, s, da, mo, ye))) < 0) { da--; break; } }
    for(;;) { h++; if(((zeitpunkt) - (mktime(h, m, s, da, mo, ye))) < 0) { h--; break; } }
    for(;;) { m++; if(((zeitpunkt) - (mktime(h, m, s, da, mo, ye))) < 0) { m--; break; } }
    for(;;) { s++; if(((zeitpunkt) - (mktime(h, m, s, da, mo, ye))) < 0) { s--; break; } }
    hour = h; minute = m; second = s; day = da; month = mo; year = ye; return 1;
    }


    stock mktime(hour,minute,second,day,month,year)
    {
    new timestamp2;
    timestamp2 = second + (minute * 60) + (hour * 3600);


    new days_of_month[12];
    if ( ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0) )
    {
    days_of_month = {31,29,31,30,31,30,31,31,30,31,30,31};
    }
    else
    {
    days_of_month = {31,28,31,30,31,30,31,31,30,31,30,31};
    }
    new days_this_year = 0;
    days_this_year = day;
    if(month > 1)
    {
    for(new i=0; i<month-1;i++)days_this_year += days_of_month[i];
    }
    timestamp2 += days_this_year * 86400;


    for(new j=1970;j<year;j++)
    {
    timestamp2 += 31536000;
    if ( ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0) ) timestamp2 += 86400;
    }
    return timestamp2;
    }

    das habe ich doch X(
    date(PlayerInfo[playerid][RegisterTime], Test[0], Test[1], Test[2], Test[3], Test[4], Test[5]);
    Heute mal nen Test gemacht und er sagte mir das ich mir im Januar nen Account erstellt habe...
    Die Funktion ist für die Tonne


    Selbst wenn ich das per Query umwandel is mir auch egal nur wie man es mit MySQL umwandelt hab ich nicht wirklich raus

    Das ist mir klar
    Ich lass aber den Timestamp abspeichern in der Account Tabelle, und möchte den Timestamp umrechnen da hilft mir das Beispiel ja net weiter...


    Guck mal in der Tabelle steht das: 1366106339
    So soll der Wert umgerechnet werden:
    %02d.%02d.%d - %02d:%02d:%02d Uhr// Hier soll der Timestamp umgerechnet werden der in den Account steht