23.01.2014, 20:56
I recently developed dynamic House System which always returns that we're not at the house even if we are when buying it.
I can send you anything required.
I can send you anything required.
pawn Код:
CMD:buyprop(playerid,params[])
{
new done=0;
for(new i = 0; i < MAX_HOUSES; i++)
{
if(IsPlayerInRangeOfPoint(playerid,2,HouseInfo[i][hX],HouseInfo[i][hY],HouseInfo[i][hZ]))
{
if(GetPlayerMoney(playerid) >= HouseInfo[i][hPrice])
{
if(pInfo[playerid][House] == 0)
{
if(strcmp(HouseInfo[i][hOwner],"",false))
{
format(HouseInfo[i][hOwner],24,"%s",pName(playerid));
pInfo[playerid][House] = i;
format(string,sizeof(string),"You've successfully bought property named \"%s\"",HouseInfo[i][hName]);
SendClientMessage(playerid,COLOR_YELLOW,string);
format(string,sizeof(string),"purchased a property named %s",HouseInfo[i][hName]);
DestroyDynamicPickup(HouseInfo[i][hPickup]);
DestroyDynamicMapIcon(HouseInfo[i][hIcon]);
GivePlayerMoney(playerid,-HouseInfo[i][hPrice]);
format(string,sizeof(string),"Owner: %s",HouseInfo[i][hOwner]);
HouseInfo[i][hText] = CreateDynamic3DTextLabel(string, 0xFFFFFFFF, HouseInfo[i][hX],HouseInfo[i][hY],HouseInfo[i][hZ], 50, INVALID_PLAYER_ID,INVALID_VEHICLE_ID, 0, -1,0);
HouseInfo[i][hPickup] = CreateDynamicPickup(1272,1,HouseInfo[i][hX],HouseInfo[i][hY],HouseInfo[i][hZ],-1,0,-1,50.0);
format(query,sizeof(query),"INSERT INTO `timeline` (name,date,text) VALUES ('%s',CURDATE(),'%s')",pName(playerid),string);
mysql_query(query);
done=1;
return 1;
}
else return SendClientMessage(playerid,COLOR_GREY,"That house is already owned by someone else.");
}
else return SendClientMessage(playerid,COLOR_GREY,"You already own a house.");
}
else return SendClientMessage(playerid,COLOR_GREY,"You don't have enough money to buy this property.");
}
else return SendClientMessage(playerid,COLOR_GREY,"You're nowhere close to any house.");
}
return 1;
}