random() für Floats Problem

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.
    Brauche ne random Funktion die auch Float Werte annimmt.
    Hab jetzt ne Funktion von Y_Less hier gefunden, aber wenn ich jetzt frandom(0.1, 0.2); mache, dann kommen Werte wie: 9018952.00, 1102353.00 oder so raus.
    Stimmt eben aber nicht ^^
    Hier mein Code:


    if(!strcmp(cmd, "/floatrandom", true))
    {
    tmp = strtok(cmdtext, idx);
    new Float:val1 = floatstr(tmp);
    tmp = strtok(cmdtext, idx);
    new Float:val2 = floatstr(tmp);
    new str[50], Float:wert = frandom(val1, val2);
    format(str, sizeof str, "%f", wert );
    SendClientMessage(playerid, Grey, str);
    return 1;
    }


    Liegts an meinem Code oder an dem von Y_Less?
    Wenn letzteres Zutrifft, könnte mir pls jmd die richtige Funktion geben?
    Ty :*

  • also an Y_Less lliegts jedenfalls nicht ;)


    Hab mal ne Sekunde für Google aufgebracht;


    Entweder so: new Float:myRandomFloat= float(random(20000)/10000);
    Oder so:

    stock randomfloat(Float:max)
    {
    new bob[32], floats[2][16];
    format(bob, 32, \"%0.1f\", max);
    split(bob, floats, \'.\');
    format(bob, 32, \"%d.%d\",random(strval(floats[0])), random(strval(floats[1])));
    return _:floatstr(bob);
    }
    Quelle