Guten Tag,
wenn Ich /createhouse eingebe, denn wird zwar ein neues Haus erstellt (Pickup & 3D-Text), jedoch verschwindet das Alte, das Ich davor erstellt habe.
Komisch ist es, dass in der Datenbank beide Häuser zu finden sind.
Also wird das Haus überschrieben, der Pickup und der 3D-Text zerstört und dafür das neue erstellt.
Wo habe Ich einen Fehler gemacht?
ocmd:createhouse(playerid, params[])
{
if(!IsPlayerAnAdmin(playerid, 4))return 0;
new Float: Create_X, Float: Create_Y, Float:Create_Z;
GetPlayerPos(playerid, Create_X, Create_Y, Create_Z);
new id=GetFreeHouseID();
hInfo[id][HausPickup_X] = Create_X;
hInfo[id][HausPickup_Y] = Create_Y;
hInfo[id][HausPickup_Z] = Create_Z;
hInfo[id][HausEnter_X] = 235.508994;
hInfo[id][HausEnter_Y] = 1189.169897;
hInfo[id][HausEnter_Z] = 1080.339966;
hInfo[id][Haus_Interior] = 3;
format(hInfo[id][Haus_Besitzer], MAX_PLAYER_NAME, "");
hInfo[id][Haus_Preis] = 500;
UpdateHouse(id);
//In Datenbank abspeichern
new query[256];
format(query, sizeof(query), "INSERT INTO haus (HausPickupX, HausPickupY, HausPickupZ, HausEnterX, HausEnterY, HausEnterZ, HausInterior, HausPreis) VALUES ('%f', '%f', '%f', '%f', '%f', '%f', '%i', '%i')",
Create_X, Create_Y, Create_Z, hInfo[id][HausEnter_X], hInfo[id][HausEnter_Y], hInfo[id][HausEnter_Z], hInfo[id][Haus_Interior], hInfo[id][Haus_Preis]);
mysql_function_query(dbhandle, query, true, "OnHouseCreated", "i", id);
return 1;
}
stock GetFreeHouseID()
{
for(new i=0; i<sizeof(hInfo); i++)
{
if(hInfo[i][Haus_ID]==0)return 1;
}
return 0;
}
public OnHouseCreated(id)
{
hInfo[id][Haus_ID] = cache_insert_id();
}
public UpdateHouse(id)
{
new string[128];
if(hInfo[id][Haus_Pickup])
{
DestroyPickup(hInfo[id][Haus_Pickup]);
}
if(hInfo[id][Haus_Text])
{
Delete3DTextLabel(hInfo[id][Haus_Text]);
}
if(!strlen(hInfo[id][Haus_Besitzer]))
{
hInfo[id][Haus_Pickup] = CreatePickup(1273, 1, hInfo[id][HausPickup_X], hInfo[id][HausPickup_Y], hInfo[id][HausPickup_Z], -1);
format(string, sizeof(string), "Dieses Haus steht zum Verkauf!\nKosten: %i$", hInfo[id][Haus_Preis]);
hInfo[id][Haus_Text] = Create3DTextLabel(string, COLOR_RED, hInfo[id][HausPickup_X], hInfo[id][HausPickup_Y], hInfo[id][HausPickup_Z], 10, 0, 1);
}
else
{
hInfo[id][Haus_Pickup] = CreatePickup(1272, 1, hInfo[id][HausPickup_X], hInfo[id][HausPickup_Y], hInfo[id][HausPickup_Z], -1);
format(string, sizeof(string), "Besitzer: %s", hInfo[id][Haus_Besitzer]);
hInfo[id][Haus_Text] = Create3DTextLabel(string, COLOR_RED, hInfo[id][HausPickup_X], hInfo[id][HausPickup_Y], hInfo[id][HausPickup_Z], 10, 0, 1);
}
return 1;
}