Ich check nicht woran das liegen kann.
1x funktioniert doch alles, dann wird nur noch HausID 0 geladen, aber die Namen wurden trotzdem alle gespeichert.
//Edit:
Das mit den Pickups funktioniert nun!
Problem: Eingetragene Strings werden nicht richtig ausgelesen.
Aktuelle Codes:
enum p_HausDaten
{
h_ID,
Float:h_x,
Float:h_y,
Float:h_z,
h_interior,
h_vworld,
Float:h_px,
Float:h_py,
Float:h_pz,
h_Preis,
h_locked,
h_Name[32],
h_Besitzer[MAX_PLAYER_NAME]
}
new HausInfo[MAX_HAUS][p_HausDaten] = {
{0,2527.654052,-1679.388305,1015.498596,1,300,2459.5750,-1690.8630,13.5434,1250},
{1,2454.717041,-1700.871582,1013.515197,2,301,2523.7327,-1658.7029,15.4935,1230},
{2,2807.619873,-1171.899902,1025.570312,8,302,2512.8721,-1651.3833,13.9735,1240}
};
new HausPickups[MAX_HAUS];
new Text3D:HausLabels[MAX_HAUS];
stock CheckHaus(id)
{
new Query[128];
format(Query,128,"SELECT * FROM `Houses` WHERE `HausID` = '%d'",id);
mysql_query(Query);
mysql_store_result();
new ergb = mysql_num_rows();
return ergb;
}
stock SaveHouses()
{
new Query[128];
for(new i;i<MAX_HAUS;i++)
{
if(!CheckHaus(i))
{
format(Query,128,"INSERT INTO Houses (HausID, Besitzer, Hausname) VALUES ('%d', '%s', '%s')",HausInfo[i][h_ID],HausInfo[i][h_Besitzer],HausInfo[i][h_Name]);
mysql_query(Query);
}
else
{
mysql_SetString("Houses", "Besitzer", HausInfo[i][h_Besitzer], "HausID", HausInfo[i][h_ID]);
mysql_SetString("Houses", "Hausname", HausInfo[i][h_Name], "HausID", HausInfo[i][h_ID]);
}
DestroyPickup(HausPickups[i]);
Delete3DTextLabel(HausLabels[i]);
}
return 1;
}
stock LoadHouses()
{
new str[124];
for(new i;i<MAX_HAUS;i++)
{
if(CheckHaus(i))
{
format(HausInfo[i][h_Besitzer],MAX_PLAYER_NAME,"%s",mysql_GetString2("Houses", "Besitzer", "HausID", HausInfo[i][h_ID]));
format(HausInfo[i][h_Name],32,"%s",mysql_GetString2("Houses", "Hausname", "HausID", HausInfo[i][h_ID]));
}
HausPickups[i] = CreatePickup(1239,23,HausInfo[i][h_px],HausInfo[i][h_py],HausInfo[i][h_pz],0);
format(str,sizeof(str),"%s\nHausID: %d\nBesitzer: %s\nPreis: $%d",HausInfo[i][h_Name],HausInfo[i][h_ID],HausInfo[i][h_Besitzer],HausInfo[i][h_Preis]);
HausLabels[i] = Create3DTextLabel(str,0xFFFFFFFF,HausInfo[i][h_px],HausInfo[i][h_py],HausInfo[i][h_pz],10,0,0);
}
return 1;
}
Alle Labels haben die Werte von HausID 0.
Entweder funktioniert der stock CheckHaus nicht oder es liegt am Laden.
//Edit:
Worttrennung.