Windows_8
Умник
При покупке дома, в чате пишет 2 строки сразу "Вы успешно купили дом" и "Рядом с вами нет дома"
После, в БД, в house записывается в строку NamePlayer значение "0"
Дом по итоге не куплен и так и стоит на продаже
После, в БД, в house записывается в строку NamePlayer значение "0"
Дом по итоге не куплен и так и стоит на продаже
C++:
CMD:buyhouse(playerid){
for(new h;h<=HoiseCol;h++)
{
if(!IsPlayerInRangeOfPoint(playerid,1.5,HouseInfo[h][hX],HouseInfo[h][hY],HouseInfo[h][hZ])) continue;
if(givCash(playerid) < HouseInfo[h][hMoney])return SendClientMessage(playerid,-1,"У вас не хватает средств!");
if(strcmp(HouseInfo[h][hPlayerName],"None",true)!=0)return SendClientMessage(playerid,-1,"Дом уже куплен!");
strmid(HouseInfo[h][hPlayerName],PlayerInfo[playerid][pName], 0, 24, 24), UpDateHouse(HouseInfo[h][hID]);
give_money(playerid,-HouseInfo[h][hMoney]);
SendClientMessage(playerid,-1,"Вы успешно купили дом!");
break;
}
SendClientMessage(playerid,-1,"Рядом с вами нет дома!");
return 1;
}
C++:
stock GetHousePlayer(playerid){
for(new h; h < HoiseCol; h++){
if(!strcmp(HouseInfo[h][hPlayerName],PlayerInfo[playerid][pName],true)) return h;
}
return -1;
}
stock UpDateHouse(HouseID){
if(HoiseCol < HouseID) return -1; //Дома не существует
static const mysql_sql_house[] = "UPDATE `house` SET `NamePlayer`='%d' WHERE `id` = '%d' LIMIT 1";
new format_mysql_sql[sizeof mysql_sql_house + 100];
format(format_mysql_sql, sizeof format_mysql_sql, mysql_sql_house,HouseInfo[HouseID][hPlayerName], HouseID);
mysql_query(mysql_data_server, format_mysql_sql);
DestroyPickup(HouseInfo[HouseID][hPick]);
DestroyDynamicMapIcon(HouseInfo[HouseID][hIcon]);
static const house_class_text[][3] = {
"",
"A",
"B",
"C"
};
if(!strcmp(HouseInfo[HouseID][hPlayerName],"None",true)){
static const house_info_text[] = "[Дом продаётся]\nКласс: %s\nЦена: %d\nКупить: /buyhouse";
new format_house_info[sizeof house_info_text + 11 + 2];
format(format_house_info, sizeof format_house_info, house_info_text , house_class_text[HouseInfo[HouseID][hClass]] ,HouseInfo[HouseID][hMoney]);
HouseInfo[HouseID][hPick] = CreatePickup(1273,23,HouseInfo[HouseID][hX],HouseInfo[HouseID][hY],HouseInfo[HouseID][hZ],0);
HouseInfo[HouseID][hText] = Create3DTextLabel(format_house_info,0xFFFFFFFF,HouseInfo[HouseID][hX],HouseInfo[HouseID][hY],HouseInfo[HouseID][hZ],4.0,0,0);
HouseInfo[HouseID][hIcon] = CreateDynamicMapIcon(HouseInfo[HouseID][hX],HouseInfo[HouseID][hY],HouseInfo[HouseID][hZ], 31, -1, 0, -1, -1, 150.0);
}
else{
static const house_info_buy[] = "[Дом]\nКласс: %s\nВладелец: %s";
new format_house_buy[sizeof house_info_buy + MAX_PLAYER_NAME + 2];
format(format_house_buy, sizeof format_house_buy, house_info_buy, house_class_text[HouseInfo[HouseID][hClass]], HouseInfo[HouseID][hPlayerName]);
HouseInfo[HouseID][hPick] = CreatePickup(1239,23,HouseInfo[HouseID][hX],HouseInfo[HouseID][hY],HouseInfo[HouseID][hZ],0);
HouseInfo[HouseID][hText] = Create3DTextLabel(format_house_buy,0xFFFFFFFF,HouseInfo[HouseID][hX],HouseInfo[HouseID][hY],HouseInfo[HouseID][hZ],4.0,0,0);
HouseInfo[HouseID][hIcon] = CreateDynamicMapIcon(HouseInfo[HouseID][hX],HouseInfo[HouseID][hY],HouseInfo[HouseID][hZ], 32, -1, 0, -1, -1, 150.0);
}
return 1;
}
Последнее редактирование модератором:
