format stock

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
  • ich wolte grade eine format/stock funktion machen die suche hat nichts ergeben ?(


    jedenfals siht das bis jetz so aus


    stock printfy(const format[], {Float,_}:...)
    {
    new string[256];
    format(string,sizeof(string),format, {Float,_}:...);//zeile 47


    new time[100],stun,minu,sek,jahr,monat,tag;
    gettime(stun,minu,sek);
    getdate(jahr,monat,tag);
    format(time, sizeof(time), "zeit:%02d:%02d:%02d datum:%02d.%02d.%d",stun,minu,sek,tag,monat,jahr);
    dini_Set("loggy.log",time,string);
    }



    bekomme aber dort erstmal ordentlich errors




    wolte mir das da ein bisschen abgucken aber naja klapte nicht so =D


    native printf(const format[], {Float,_}:...);
    native format(output[], len, const format[], {Float,_}:...);


    Danke für die antworten greeetz vitamin ;)

  • das soll eine funktion sein wie "printf" nur soll er es nicht in die log schreiben sondern in eine dini ;)


    Greetz Vitamin



    EDIt: sind schonmal weniger errors


    Zitat

    C:\Users\timo\Desktop\print.pwn(46) : error 035: argument type mismatch (argument 3)


    stock printfy(const format[], {Float,_}:...)
    {
    dini_Set("loggy.log",timini(),format);//zeile 46
    return 1;
    }
    stock timini()
    {
    new time[100],stun,minu,sek,jahr,monat,tag;
    gettime(stun,minu,sek);
    getdate(jahr,monat,tag);
    format(time, sizeof(time), "zeit:%02d:%02d:%02d datum:%02d.%02d.%d",stun,minu,sek,tag,monat,jahr);
    return time;
    }

    Einmal editiert, zuletzt von Vitamin[X] ()

  • Also das als stock funktion ist definitiv ne mühsame arbeit. Aber als define lässt sich das relativ einfach umsetzen:


    #define printfy(%0,%1) \
    do{new _string[128],File:_Lfile = fopen("loggy.log",io_append); \
    format(_string,sizeof(_string),%0,%1); \
    fwrite(_Lfile,_string); \
    fclose(_Lfile);} while(FALSE)


    new bool:FALSE = false;


    Dann kannste einfach machen:
    public OnPlayerConnect(playerid)
    {
    new Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
    printfy("Spieler %s hat den Server betreten",Name);
    return 1;
    }
    und es wird in die loggy.log datei gespeichert.

    The fact is, I am right. And if you think I'm wrong, you are wrong.

  • ok danke ich werds mal versuchen


    ... aber jetz hab ich die zeit nicht mehr davor stehen =/



    EDIT: bei dieser lösung verreckt pawno :rolleyes: