06.01.2015, 14:38
Hello, I've made a command /createhouse [price] [level] and my problem is when I do /createhouse 10000 1, many time, the house id always the same, I want the house id from 0 to 1,2,3,4, etc. Help me... I will rep if my problem is fixed.
Код:
CMD:createhouse(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] < 5)
{
SCM(playerid, COLOR_GRAD2,""COL_RED"You are not authorized to use this command!");
return 1;
}
if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
{
SCM(playerid,COLOR_WHITE,""COL_RED"You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
return 1;
}
new price, string[128], level;
if(sscanf(params, "dd", price, level))
{
SCM(playerid, COLOR_GRAD1, ""COL_BLUE"USAGE:"COL_WHITE" /createhouse [price] [level]");
return 1;
}
for(new idx=1; idx<MAX_HOUSES; idx++)
{
GetPlayerPos(playerid, HouseInfo[idx][hExteriorX], HouseInfo[idx][hExteriorY], HouseInfo[idx][hExteriorZ]);
GetPlayerFacingAngle(playerid, HouseInfo[idx][hExteriorA]);
HouseInfo[idx][hValue] = price;
HouseInfo[idx][hLevel] = level;
HouseInfo[idx][hOwned] = 0;
HouseInfo[idx][hLock] = 1;
format(string, sizeof(string), "This house is for sale!\n Level: %d\nID: %d\nPrice: $%d\nTo buy this house type /buyhouse",HouseInfo[idx][hLevel],idx,HouseInfo[idx][hValue]);
HouseInfo[idx][hTextID] = CreateDynamic3DTextLabel(string, COLOR_HOUSEGREEN, HouseInfo[idx][hExteriorX], HouseInfo[idx][hExteriorY], HouseInfo[idx][hExteriorZ]+0.5,3);
HouseInfo[idx][hPickupID] = CreateDynamicPickup(1273, 23, HouseInfo[idx][hExteriorX], HouseInfo[idx][hExteriorY], HouseInfo[idx][hExteriorZ]);
SaveHouses();
format(string, sizeof(string), "AdmcCmd: %s has created house ID %d.", GetPlayerNameEx(playerid), idx);
ABroadCast(COLOR_LIGHTRED, string, 2);
idx = MAX_HOUSES;
}
return 1;
}


