Heyho,
Mein createhaus Befehl erstellt ein Haus in der DB und den 3DText aber er bleibt bei der ID 0. In der Datenbank ist aber alles Richtig mit den IDs.
ocmd:createhaus(playerid,params[])
{
new Float:xc,Float:yc,Float:zc, query[1024];
if(sInfo[playerid][pEingeloggt] == 0) return SendClientMessage(playerid, GRAU, LOGINERROR);
if(sInfo[playerid][pAdmin] < 3) return SendClientMessage(playerid, GRAU, ADMERROR);
GetPlayerPos(playerid, xc, yc, zc);
new id = GetFreeHausID();
hInfo[id][hX] = xc;
hInfo[id][hY] = yc;
hInfo[id][hZ] = zc;
hInfo[id][ihX] = 0.0;
hInfo[id][ihX] = 0.0;
hInfo[id][ihX] = 0.0;
hInfo[id][h_interior] = 0;
hInfo[id][Preis] = 1;
strmid(hInfo[id][hBesitzer], "", 0, MAX_PLAYER_NAME, MAX_PLAYER_NAME);
format(query,sizeof(query), "INSERT INTO haus (h_X, h_Y, h_Z, ih_X, ih_Y, ih_Z, Interior, Preis) VALUES ('%f', '%f', '%f', '0.0', '0.0', '0.0', '0', '1')", xc, yc, zc);
mysql_function_query(mysql, query, true, "OnHouseCreate", "i", id);
UpdateHaus(id);
return 1;
}
stock UpdateHaus(id)
{
new str[128];
if(hInfo[id][h_pickup] != -1)
{
DestroyPickup(hInfo[id][h_pickup]);
}
if(hInfo[id][h_text] != Text3D:-1)
{
Delete3DTextLabel(hInfo[id][h_text]);
}
if(!strlen(hInfo[id][hBesitzer]))
{
hInfo[id][h_pickup] = CreatePickup(1273, 1, hInfo[id][hX], hInfo[id][hY], hInfo[id][hZ], -1);
format(str,sizeof(str), "HausID: %i\nZu Verkaufen\nPreis: %i$\n/hauskaufen", hInfo[id][hID], hInfo[id][Preis]);
hInfo[id][h_text] = Text3D:Create3DTextLabel(str, WEISS, hInfo[id][hX], hInfo[id][hY], hInfo[id][hZ], 10, 0, 1);
} else {
hInfo[id][h_pickup] = CreatePickup(1272,1,hInfo[id][hX],hInfo[id][hY],hInfo[id][hZ], -1);
format(str,sizeof(str), "HausID: %i\nBesitzer: %s\n'F' zum hinein gehen.", hInfo[id][hID], hInfo[id][hBesitzer]);
hInfo[id][h_text] = Text3D:Create3DTextLabel(str, GELB, hInfo[id][hX], hInfo[id][hY], hInfo[id][hZ], 10, 0, 1);
}
return 1;
}