Bestzeit Speichern, mit einer Kommazahl, Fehler

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 habe ein Racesystem in meinem Freeroam Script das 100% funktioniert.
    Nun wollte ich die Zeit in einer Variable Speichern lassen.



    format(string, sizeof(string), "Deine Zeit ist %i,%i Sekunden", secrace1[playerid], milisecrace1[playerid]);
    SendClientMessage(playerid, COLOR_RED, string);


    Die Zeit wird richtig angezeigt.
    Nun das hier:

    Bestzeitrace1 = secrace1[playerid].milisecrace1[playerid];

    Funktioniert nicht, wie muss ich es richtig machen?
    MfG

  • Hast du minen Thread Gelesen? ;D


    Die Zeit Wird richtig angezeigt bei
    format(string, sizeof(string), "Deine Zeit ist %i,%i Sekunden", secrace1[playerid], milisecrace1[playerid]);
    SendClientMessage(playerid, COLOR_RED, string);

    Allerdings möchte ich Beide Variablen nun in einer Variable speichern, also wenn es 59 Sekunden und 5 Milisekunden sind, soll es 59,5 Speichern, verstanden?

  • Probier es mal so:
    Bestzeitrace1 = secrace1[playerid] + (milisecrace1[playerid] / 1000);


    Ich scripte NICHT mehr, ich möchte mit NIEMANDEM einen Server aufmachen habe auch NICHTS mehr mit LoH zu tun, also lasst es mit den PNs!

  • Probier es mal so:
    Bestzeitrace1 = secrace1[playerid] + (milisecrace1[playerid] / 1000);

    Das gibt keinen Sinn, dabei kommt ein Total Falsches Ergebnis raus

  • new Float:Bestzeitrace1;
    Bestzeitrace1 = secrace1[playerid].milisecrace1[playerid];


    Ja klar,wenn das funktioniert ...


    Wie auch immer,so mach Ich es ungefähr ( Basic Methode )
    new
    tickRace_Start,
    tickRace_Finish[MAX_PLAYERS];

    // Wenn das Rennen startet
    tickRace_Start = GetTickCount();

    // Wenn Spieler Rennen beendet
    new
    ticks;
    tickRace_Finish[playerid] = GetTickCount();
    ticks = tickRace_Finish[playerid] - tickRace_Start;
    // Um es umzurechnen in Sekunden,Minute usw.
    new
    _msec,
    _sec,
    _min,
    _hour;
    ConvertMSec(ticks,_msec,_sec,_min,_hour);
    printf("Rennzeit von SpielerID %d : %dmin %dsec %dmsec",playerid,_min,_sec,_msec);

    // Funktion die Ich irgendwann mal geschrieben hab um ticks / MSec umzurechnen
    stock ConvertMSec(msecs,&msec,&sec,&min,&hour) {
    new
    rest;
    sec = 0;
    min = 0;
    hour = 0;
    msec = 0;
    hour = (msecs / ((60*60) * 1000));
    rest = (msecs % ((60*60) * 1000));


    min = (rest / (60 * 1000));
    rest = (rest % (60 * 1000));


    sec = (rest / 1000);
    rest = (rest % 1000);
    msec = rest;
    return 1;
    }

  • @ John, genau so hab ich es oben geschrieben und es war falsch ;)


    Danke Goldkiller du hast mir sehr geholfen