13.10.2013, 14:42
There's a big bug in my server. When I create a new house with /createhouse and edit it about and try to buy it, it says I'm not near a buyable house, help? Same thing happens with businesses
Buyhouse:
Buybiz:
If you need any more code snippets or the full gamemode, comment below.
Thanks!
Buyhouse:
Код:
CMD:buyhouse(playerid, params[])
{
new string[128], done;
if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_GREY, "You need to login first before using any command.");
if(PlayerInfo[playerid][pHouse] && PlayerInfo[playerid][pVHouse] && PlayerInfo[playerid][pVIP] >= 3) return SendClientMessage(playerid, COLOR_GREY, "You already own two houses.");
if(PlayerInfo[playerid][pHouse] && PlayerInfo[playerid][pVIP] < 3) return SendClientMessage(playerid, COLOR_GREY, "You already own a house.");
for(new idx=1; idx<MAX_HOUSES; idx++)
{
if(IsPlayerInRangeOfPoint(playerid, 2, HouseInfo[idx][hX], HouseInfo[idx][hY], HouseInfo[idx][hZ]))
{
if(!strcmp("Infinity Roleplay", HouseInfo[idx][hOwner], false))
{
if(PlayerInfo[playerid][pMoney] < HouseInfo[idx][hPrice]) return SendClientMessage(playerid, COLOR_GREY, "You don't have enough money to buy this house.");
GiveDodMoney(playerid, -HouseInfo[idx][hPrice]);
if(PlayerInfo[playerid][pHouse]) PlayerInfo[playerid][pVHouse] = idx;
else PlayerInfo[playerid][pHouse] = idx;
format(HouseInfo[idx][hOwner], 32, "%s", RPNU(playerid));
format(string, sizeof(string), "{00C0FF}House of %s\nHouse Type: %s\nStatus: %s", HouseInfo[idx][hOwner], HT(idx), RHS(idx));
UpdateDynamic3DTextLabelText(HouseInfo[idx][hText], COLOR_WHITE, string);
SendClientMessage(playerid, COLOR_GREEN, " You have successfully bought a house.");
SendClientMessage(playerid, COLOR_WHITE, " Type /househelp to view your house commands.");
format(string, sizeof(string), "%s has bought house id %d.", RPN(playerid), idx);
Log("logs/house.log", string);
idx = MAX_HOUSES;
done = 1;
}
if(idx == MAX_HOUSES-1 && !done)
{
SendClientMessage(playerid, COLOR_GREY, "This house is owned by someone else.");
}
}
if(idx == MAX_HOUSES-1 && !done)
{
SendClientMessage(playerid, COLOR_GREY, "You are not near a buyable house.");
}
}
return 1;
}
Код:
CMD:buybiz(playerid, params[])
{
new string[128], done;
if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_GREY, "You need to login first before using any command.");
if(PlayerInfo[playerid][pBiz] && PlayerInfo[playerid][pVBiz] && PlayerInfo[playerid][pVIP] >= 4) return SendClientMessage(playerid, COLOR_GREY, "You already own two businesses.");
if(PlayerInfo[playerid][pBiz] && PlayerInfo[playerid][pVIP] < 4) return SendClientMessage(playerid, COLOR_GREY, "You already own a business.");
for(new idx=1; idx<MAX_BIZ; idx++)
{
if(IsPlayerInRangeOfPoint(playerid, 2, BizInfo[idx][bX], BizInfo[idx][bY], BizInfo[idx][bZ]))
{
if(!strcmp("Infinity Roleplay", BizInfo[idx][bOwner], false))
{
if(PlayerInfo[playerid][pMoney] < BizInfo[idx][bPrice]) return SendClientMessage(playerid, COLOR_GREY, "You don't have enough money to buy this business.");
GiveDodMoney(playerid, -BizInfo[idx][bPrice]);
if(PlayerInfo[playerid][pBiz]) PlayerInfo[playerid][pVBiz] = idx;
else PlayerInfo[playerid][pBiz] = idx;
format(BizInfo[idx][bOwner], 32, "%s", RPNU(playerid));
format(string, sizeof(string), "Business of %s\nBusiness type: %s\n%s", BizInfo[idx][bOwner], RBT(idx), RBS(idx));
UpdateDynamic3DTextLabelText(BizInfo[idx][bText], COLOR_WHITE, string);
SendClientMessage(playerid, COLOR_GREEN, " You have successfully bought a business.");
SendClientMessage(playerid, COLOR_WHITE, " Type /bizhelp to view your business commands.");
format(string, sizeof(string), "%s has bought business id %d.", RPN(playerid), idx);
Log("logs/business.log", string);
idx = MAX_BIZ;
done = 1;
}
if(idx == MAX_BIZ-1 && !done)
{
SendClientMessage(playerid, COLOR_GREY, "This business is owned by someone else.");
}
}
if(idx == MAX_BIZ-1 && !done)
{
SendClientMessage(playerid, COLOR_GREY, "You are not near a buyable business.");
}
}
return 1;
}
Thanks!


