Hallo liebe com, ich habe einen Fehler irgendwo gemacht aber finde ihn einfach nicht könnt ihr mir villt helfen? Jedesmal wenn ich ein haus kaufen will kann ich nur das erste haus aus der db kaufen und bei den anderen steht du bist nicht in der nähe eines hauses.
hatPlayerHaus(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
for(new i=0; i<sizeof(hInfo); i++)
{
if(!hInfo[i][h_id])continue;
if(!strcmp(name, hInfo[i][h_besitzer],true))return i;
}
return 0;
}
getPlayerName(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
return name;
}
SaveHaus(uid)
{
new query[164];
format(query,sizeof(query),"UPDATE houses SET besitzer='%s', preis='%i' WHERE id='%i'",hInfo[uid][h_besitzer],hInfo[uid][h_preis],hInfo[uid][h_db_id]);
mysql_function_query(dbhandle,query,false,"","");
return 1;
}
//Commands
ocmd:buyhaus(playerid,params[])
{
if(hatPlayerHaus(playerid))return SendClientMessage(playerid,rot,"Du hast berreits ein Haus!");
for(new i=0; i<sizeof(hInfo); i++)
{
if(!hInfo[i][h_id])continue;
if(IsPlayerInRangeOfPoint(playerid,2,hInfo[i][h_x],hInfo[i][h_y],hInfo[i][h_z]))
{
if(!strlen(hInfo[i][h_besitzer]))
{
if(GetPlayerMoney(playerid)<hInfo[i][h_preis])return SendClientMessage(playerid,rot,"Du hast nicht genug Geld!");
GivePlayerMoney(playerid,-hInfo[i][h_preis]);
strmid(hInfo[i][h_besitzer], getPlayerName(playerid),0, MAX_PLAYER_NAME,MAX_PLAYER_NAME);
updatehaus(i);
SaveHaus(i);
return 1;
}
else
{
SendClientMessage(playerid,rot,"Dieses Haus steht nicht zum Verkauf!");
return 1;
}
}
else
{
SendClientMessage(playerid,rot,"Du bist nicht in der nähe eines Hauses!");
return 1;
}
}
return 1;
}
ocmd:sellhaus(playerid,params[])
{
for(new i=0; i<sizeof(hInfo); i++)
{
if(!hInfo[i][h_id])continue;
if(IsPlayerInRangeOfPoint(playerid,5,hInfo[i][h_x],hInfo[i][h_y],hInfo[i][h_z]))
{
if(!strlen(hInfo[i][h_besitzer]))continue;
if(!strcmp(hInfo[i][h_besitzer],getPlayerName(playerid),true))
{
GivePlayerMoney(playerid,hInfo[i][h_preis]/2);
strmid(hInfo[i][h_besitzer], "",0, 0,0);
updatehaus(i);
SaveHaus(i);
new string[164];
format(string,sizeof(string),"Haus Verkauft! Du hast die Hälfte des Kaufpreises wieder beckommen (%i$)",hInfo[i][h_preis]/2);
SendClientMessage(playerid,gelb,string);
return 1;
}
else
{
SendClientMessage(playerid,rot,"Das Haus gehört nicht dir!");
return 1;
}
}
else
{
SendClientMessage(playerid,rot,"Du bist nicht in der nähe eines Hauses!");
return 1;
}
}
return 1;
}