Public Zeit auslesen

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,


    Ich bin dabei ein Bestzeit System zu machen, wie kann ich aber an anderer Stelle auslesen lassen wie viel Zeit man gebraucht hat ?


    public TimerBC (playerid)
    {
    new tmp[64];
    new minuten = floatround(sekunden/60);
    sekunden -= minuten*60;
    format(tmp, sizeof(tmp), "[] Timer:%d,:%d", minuten, sekunden);
    TextDrawSetString(TextdrawTimeBC3,tmp);
    return 1;
    }


    angenommen ich möchte diese Zeit am Ende in eine SendClientMessage ausgeben, also hier:


    if(pickupid==BC)
    {
    SendClientMessage(playerid,ROT,"Gewonnen! benötigte Zeit: %d"); //*
    SetPlayerScore(playerid, GetPlayerScore(playerid) + 20);
    SpawnPlayer(playerid);
    return 1;
    }


    *nacher mit nem String is klar, aber wie komme ich dazu hier die Zeit auszulesen die man benötigt hat?


    Mfg: PrinceOfBelvedair


  • wie wäre es erstmal die Zeit die du per gettickcount ermittelst umzurechnen hier findest du ein kleine funktion von mir
    um dies zu tun besser gesagt eine rechnung


    http://forum.sa-mp.de/san-andreas-multiplayer/scripting-base/18-nützliche-codeschnipsel-40


    zu dem kannst du bei der stock-funktion auch einen string zurück geben lassen daher kannst du beim formatieren des strings
    %s als plathalter verwenden
    und um dies hier zu erklären (%02d:%02d) hier werden zweimal zwei plätze frei gehalten also ohne einen wert würde die zeit zu ausgegeb werden
    00:00


  • Ich ermittel die Zeit aber nicht per GetTickCount sondern per Timer:


    SetTimer("TimerBC", 1000, false);


    geht es nicht so wie ich es gemacht habe? ich will ja nur wissen wie man die Zeit hinterher auslesen kann^^


  • Ist nur ein Denkanstoß. Solltest du noch weiter Hilfe brauchen poste einfach.

  • Ich ermittel die Zeit aber nicht per GetTickCount sondern per Timer:


    SetTimer("TimerBC", 1000, false);


    geht es nicht so wie ich es gemacht habe? ich will ja nur wissen wie man die Zeit hinterher auslesen kann^^


    du kannst eine variabel hochzählen un den wert dann durch die funktion convertieren lassen aber ich würde gettickcount verwenden jedoch ist das
    doch die falsche funktion da diese nur sekunden in umwandelt in minuten ich schau mal das ich dazu noch was schreib


    //edit


    so nun aber


    stock minutes (sec) {
    return printf("%02d:%02d:%02d", ((sec / (1000*60)) % 60), (sec / 1000) % 60,sec %1000);
    }


    dies berechnet die minuten , sekunden und die milisekunden einer zeit die in millisekunden hinzugefügt wurde


    //edit ein kleiner rechnung fehler

    Einmal editiert, zuletzt von IPrototypeI ()