Tabelle anlegen.
DROP TABLE IF EXISTS `Fraktionscars`;
CREATE TABLE `Fraktionscars` (
`id` int(11) NOT NULL,
`modelid` int(11) NOT NULL,
`x` float(10,6) NOT NULL,
`y` float(10,6) NOT NULL,
`z` float(10,6) NOT NULL,
`a` float(10,6) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Dann lädst du die so.
(Beispiel... ich weiß nicht mit welchem mysql plugin du arbeitest etc.)
forward LoadCars();
public LoadCars()
{
new query[68],
result[9][16],
vehicleid;
format(query, sizeof query, "SELECT * FROM `Fraktionscars` ORDER BY `id` ASC LIMIT %i;", MAX_VEHICLES);
mysql_query(query);
mysql_store_result();
while(mysql_retrieve_row())
{
mysql_fetch_field_row(result[0], "modelid");
mysql_fetch_field_row(result[1], "x");
mysql_fetch_field_row(result[2], "y");
mysql_fetch_field_row(result[3], "z");
mysql_fetch_field_row(result[4], "a");
vehicleid = CreateVehicle(strval(result[0]), floatstr(result[1]), floatstr(result[2]), floatstr(result[3]), floatstr(result[4]), random(10), random(10), 60);
}
mysql_free_result();
return 1;
}
Außerdem kann man diverse Abfragen bzw. Abläufe bei dem o.g. Script noch anpassen, damit es besser ist. (Threaden)
Und speichern ist halt wie du die definiert hast.
Da habe ich auch keine Informationen über dein Script, also keine Ahnung. Bau es um. Pass es an.
forward SaveCars();
public SaveCars()
{
new query[195],
Float:Pos[4];
for(new vehicleid; vehicleid < MAX_VEHICLES; vehicleid++)
{
GetVehiclePos(vehicleid, Pos[0], Pos[1], Pos[2]);
GetVehicleZAngle(vehicleid, Pos[3]);
if(Pos[0] > 0.0 && Pos[1] > 0.0 && Pos[2] > 0.0)
{
// Im folgenden wird als "id" "vehicleid" eingetragen.
// Das ist natürlich völliger Quatsch für später.
// Zum lernen sollte es reichen.
format (
query,
sizeof query,
"INSERT INTO `Fraktionscars` (`id`, `modelid`, `x`, `y`, `z`, `a`) VALUES (%i, %i, '%f', '%f', '%f', '%f') ON DUPLICATE KEY UPDATE `modelid` = %i, `x` = '%f', `y` = '%f', `z` = '%f', `a` = '%f';",
vehicleid, GetVehicleModel(vehicleid), Pos[0], Pos[1], Pos[2], Pos[3],
GetVehicleModel(vehicleid), Pos[0], Pos[1], Pos[2], Pos[3]
);
mysql_query(query);
}
}
}