Guten Tag Community,
ich bin momentan an der arbeit eines Haussystems aber leider habe ich probleme und zwar wenn ich ein Häuser erstelle wird aber immer nur 1 Haus erstellt.
Wenn einer ein Haus kauft wird er nicht in die Datenbank eingetragen
ocmd:ch(playerid,params[])
{
for(new i = 1; i < MAX_HAUSER; i++)
{
if(Hauser[i][pCreated] == 0)
{
new query[256];
format(query, sizeof(query), "INSERT INTO `haus` (id) VALUES ('%d')", i);
mysql_query(query);
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid,X,Y,Z);
CreateHaus(i,X,Y,Z,1,0);
new string[128];
format(string,sizeof(string),"ID: %d\nDas Haus ist zum Verkaufen\nPreis: %d\nLevel: %d",i,Hauser[i][pPrice],Hauser[i][pLevel]);
Create3DTextLabel(string, 0x008080FF, X, Y, Z, 40.0, 0, 0);
SaveHaus(i);
return 1;
}
}
return 1;
}
ocmd:bh(playerid,params[])
{
for(new i = 0; i < MAX_HAUSER; i++)
{
if(Hauser[i][pCreated] == 1)
{
if(IsPlayerInRangeOfPoint(playerid,5.0,Hauser[i][pEnterX],Hauser[i][pEnterY],Hauser[i][pEnterZ]))
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,24);
strmid(Hauser[i][pOwner],name, 0, strlen(name), 255);
new query[128];
format(query,sizeof(query), "UPDATE `haus` SET `Besitzer` = '%s', WHERE `id` = '%d'", Hauser[i][pOwner],i);
mysql_query(query);
SaveHaus(i);
return 1;
}
}
}
return 1;
}
stock CreateHaus(hausid,Float:X,Float:Y,Float:Z,level,price)
{
strmid(Hauser[hausid][pOwner],"Niemand",0,strlen("Niemand"),24);
Hauser[hausid][pPrice] = price;
Hauser[hausid][pEnterX] = 0;
Hauser[hausid][pEnterY] = 0;
Hauser[hausid][pEnterZ] = 0;
Hauser[hausid][pExitX] = X;
Hauser[hausid][pExitY] = Y;
Hauser[hausid][pExitZ] = Z;
Hauser[hausid][pLevel] = level;
Hauser[hausid][plock] = 1;
Hauser[hausid][pInt] = 0;
Hauser[hausid][pMieter] = 0;
Hauser[hausid][pMiete] = 0;
Hauser[hausid][pRentable] = 0;
return 1;
}
stock SaveHaus(haus)
{
if(Hauser[haus][pCreated] == 1)
{
new query[256];
format(query,sizeof(query),"UPDATE `haus` SET `Besitzer` = '%s' WHERE `id` = '%d'",Hauser[haus][pOwner],haus);
mysql_query(query);
printf("Es wurden %d Häuser gespeichert",haus);
}
return 1;
}