Hallo Community,
ich habe folgendes Problem:
Ich will bei OnPlayerConnect die Fahrzeuge laden und das klappt auch ganz gut, bis auf die Positionen (Float).
Ich bin echt am verzweifeln, weil ich schon 3 Tage dran sitze und ich anscheinend zu dumm dafür bin.
Das Script läuft unter Linux (Debian) und das MySQL-Plugin ist von Strickenkid.
enum auto_daten
{
model,
col1,
col2,
key[24],
id,
Float:x,
Float:y,
Float:z,
Float:a
}
new Auto[5][auto_daten],
daten1[128],
daten2[128];
mysql_init();
mysql_connect("localhost", "***", "***", "***");
new query[100];
format(query, sizeof query, "SELECT Count(*) FROM test WHERE `key` = '%s' ", SpielerName(playerid));
mysql_query(query);
mysql_store_result();
mysql_fetch_row(daten1);
mysql_free_result();
for(new i = 1; i<strval(daten1)+1; i++)
{
format(query, sizeof query, "SELECT * FROM test WHERE `key` = '%s' LIMIT %d,1", SpielerName(playerid), i-1);
mysql_query(query);
mysql_store_result();
mysql_fetch_row(daten2);
mysql_free_result();
sscanf(daten2, "e<p<|>iiis[24]iffff>", Auto[i]);
printf("Auto erstellt! Name:%s | Model:%d | Farben:%d/%d | X:%f Y:%f Z:%f A:%f", Auto[i][key], Auto[i][model], Auto[i][col1], Auto[i][col2], Auto[i][x], Auto[i][y], Auto[i][z], Auto[i][a]);
}
Ich habe eine "Debug-Ausgabe" erstellt (printf).
Diese sagt mir nicht die Koordinate 0.0 aus (So, wie sie in der Datenbank steht), sondern "-1.812719" und die anderen Koordinaten sind alle um 1 nach hinten gerutscht.
Wer das nicht kapiert / vorstellen kann, hier die Ausgabe, die ich bekomme:
Auto erstellt! Name:[Irgendein Name] | Model:596 | Farben:1/2 | X:-1.812719 Y:0.000000 Z:0.000000 A:5.000000
So sollte es eigentlich sein:
Auto erstellt! Name:[Irgendein Name] | Model:596 | Farben:1/2 | X:0.000000 Y:0.000000 Z:5.000000 A:0.000000
Ich weiß echt nicht mehr weiter und hoffe, jemand weiß, wie ich das Problem lösen kann.
Freundliche Grüße
Duck_Sauce