• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

Почему не сохраняются данные о домах в базе данных?

Windows_8

Умник
При покупке дома, в чате пишет 2 строки сразу "Вы успешно купили дом" и "Рядом с вами нет дома"
После, в БД, в 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;
}
 
Последнее редактирование модератором:
Сверху Снизу