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