PDA

Просмотр полной версии : [Вопрос] Проблема со сливом дома



Alexander
11.01.2015, 14:16
Всем привет недавно я столкнулся с такой проблемой что когда я ввожу /debtorhouse 1 у меня в должниках высвечивается -1 потом если еще раз введу -2 и тд тоесть можно использовать эту команду хоть сколько раз и деньги будут прибавляться

if(!strcmp(cmd,"/debtorhouse",true))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid,CGRAY,"{"#cYELLOW"}• [Подсказка]: {"#cWHITE"}/debtorhouse [ID дома]");
new houseid = strval(tmp)-1;
if(!IsAbleToHire(playerid)) return SendClientMessage(playerid,CGRAY,"Ваш ранг недостаточен");
new Float:pos[3], full = 0;
GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
for(new i;i<MAX_PLAYERS;i++)
{
if(IsPlayerInRangeOfPoint(i, 15.0, pos[0], pos[1], pos[2]))
{
if(pData[playerid][pSubfraction] == pData[i][pSubfraction] && pData[i][pRank] > 3)
{
if(i >= 2)
{
full = 1;
break;
}
}
}
}
if(full == 0) return SendClientMessage(playerid, CGRAY, "Рядом нет двух сотрудников вашей организации");
if(gHouses[houseid][houseDays] <= 0 && !gHouses[houseid][houseOwnerID])
{
new query[512];
format(query,sizeof(query),"UPDATE `houses` SET `ownerid` = '0', `owner` = '', improve = '0|0|0|0|0', gun = '0|0|0|0|0|0|0|0|0', skin = '0|0|0|0',safecode='0', safemoney='0', drugs='0', products='0',inhabit2id = '0',inhabit3id = '0',inhabit4id = '0',inhabit2='',inhabit3='',inhabit4='',days='3' WHERE `id` = '%d'",houseid);
sql_query(zConn, query);
format(query,sizeof(query),"UPDATE `accounts` SET bank = '+%i', house = '0' WHERE id = '%i'", gHouses[houseid][housePrice], gHouses[houseid][houseOwnerID]);
sql_query(zConn, query);
gHouses[houseid][houseOwnerID] = 0;
strdel(gHouses[houseid][houseOwner],0,24);
strdel(gHouseHabits[houseid][0],0,24);
strdel(gHouseHabits[houseid][1],0,24);
strdel(gHouseHabits[houseid][2],0,24);
gHouses[houseid][houseHabitID][0] = 0;
gHouses[houseid][houseHabitID][1] = 0;
gHouses[houseid][houseHabitID][2] = 0;
for(new j;j<9;j++)
{
if(j < 5)
{
gHouses[houseid][houseImprove][j] = 0;
if(j < 4) gHouses[houseid][houseSkin][j] = 0;
}
gHouses[houseid][houseGun][j] = 0;
}
gHouses[houseid][houseSafeCode] = 0;
gHouses[houseid][houseSafeMoney] = 0;
gHouses[houseid][houseDrugs] = 0;
gHouses[houseid][houseDays] = 3;
gHouses[houseid][houseProducts] = 0;
for(new i;i<MAX_PLAYERS;i++)
{
if(IsPlayerInRangeOfPoint(i, 15.0, pos[0], pos[1], pos[2]))
{
if(pData[playerid][pSubfraction] == pData[i][pSubfraction])
{
//TransferMoney(-1,i,400,"debtor");
break;
}
}
}
TransferMoney(-1,playerid,400,"debtor");

Dolzen--;
new str1[100];
format(str1, 100, "Дома: %i", Dolzen);
SetObjectMaterialText(meria[0], str1, 0,OBJECT_MATERIAL_SIZE_256x256,"Arial", 50, 1, 0xFFFFFFFF, 0, OBJECT_MATERIAL_TEXT_ALIGN_LEFT);
if(Dolzen == 0) SetObjectMaterialText(meria[0], "Дома: 0", 0,OBJECT_MATERIAL_SIZE_256x256,"Arial", 50, 1, 0xFFFFFFFF, 0, OBJECT_MATERIAL_TEXT_ALIGN_LEFT);

DestroyDynamicPickup(gHousePickup[houseid]);
gHousePickup[houseid] = CreateDynamicPickup(1273,1,gHouses[houseid][houseX],gHouses[houseid][houseY],gHouses[houseid][houseZ]);
DestroyDynamicMapIcon(gHouseIcon[houseid]);
gHouseIcon[houseid] = CreateDynamicMapIcon(gHouses[houseid][houseX],gHouses[houseid][houseY],gHouses[houseid][houseZ],31,CWHITE);
}
else SendClientMessage(playerid, CGRAY, "Владелец этого дома не должник");
}