PAWNO:Dini_Float 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 Leute,


    mein Problem besteht darin, dass wenn ich einen Float-Wert aus einer Datei abrufen will, stattdessen immer nur "0" rausbekommen.

    stock sLaden(playerid)
    {
    new sName2[MAX_PLAYER_NAME];
    new str[128];
    new Float:x,Float:y,Float:z;
    format(str,sizeof(str),"/SpielerDatenbank/%s.ini",sName2);
    x=dini_Float(str,"X_Position");
    y=dini_Float(str,"Y_Position");
    z=dini_Float(str,"Z_Position");
    SetPlayerPos(playerid,x,y,z);
    /*
    new Float:f=200;
    dini_FloatSet(str,"FloatTest",f);
    new Float:fa;
    fa= dini_Float(str,"FloatTest");
    printf("Float: %f",fa);
    */
    }


    Als Konsequenz ergibt sich daraus, das der Spieler immer an der Stelle 0,0,0 spawnt!


    Hier werden die Floats in der Funktion "sSpeichern" erfolgreich und korrekt gesetzt.



    stock sSpeichern(playerid)
    {
    new sName[MAX_PLAYER_NAME],string[128],Float:x,Float:y,Float:z;
    GetPlayerName(playerid,sName,sizeof(sName));
    GetPlayerPos(playerid,x,y,z);
    format(string,sizeof(string),"/SpielerDatenbank/%s.ini",sName);
    dini_FloatSet(string,"X_Position",x);
    dini_FloatSet(string,"Y_Position",y);
    dini_FloatSet(string,"Z_Position",z);
    }

    In der InI
    X_Position=119.261947
    Y_Position=-66.698364
    Z_Position=1.578125


    Mfg
    Gump

  • Du liesst den Namen nicht aus, GetPLayerName fehlt dir.
    Hier paar Tipps


    • via fexist [wiki]https://wiki.sa-mp.com/wiki/Fexist[/wiki] kannst du überprüfen ob ein File existiert oder nicht das hätte dir aufschluss darüber gegeben das die Datei nicht existiert ^^
    • Beachte das die Files den Wert 0 haben werden, wenn der Server abschmiert da GetPlayerPos in dem Moment nix mehr zurück liefert aus 0, daher speicher die position des Spielers regelmäßig zwischen , das kann man gut mit einem Anticheat verknüpfen Bsp: Antiteleporthack
  • Ok das zeugt von Konzentrationsschwäche alles Klar Vielen Dank.


    Den Fehler hätte ich mit gesundem Menschenverstand auch selbst gefunden, doch manchmal schadet es nicht, wenn 2 aufmerksame Augen auf ein Werk schauen.