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

Не показывается диалог при поднятии пикапа

Amaro

Новичок
Здравствуйте, когда подхожу на пикап свободного/занятого дома, должен вылезти диалог, но его нет.
Также проблема с пересчетом домов, так как если на какой-то становлюсь, допустим 2, вылазит дом 5.
Поясню, иногда диалоговое окно вылазит, но с другим домом.
Код:
       for(new h = 1; h <= TOTALHOUSE; h++)
    {
        if(pickupid == HouseInfo[h][hPickup])
        {
            new stringhouse[300];
            if(HouseInfo[h][hOwned] == 1)
            {

                new ids = GetPlayerID(HouseInfo[h][hOwner]);
                if(GetPVarInt(ids, "logged") == 0) return SCM(playerid, COLOR_RED, "Ошибка — {FFFFFF}Вы не авторизовались");
                format(stringhouse, sizeof(stringhouse), "{FFDEAD}ID: {FFFFFF}[%d]\n{FFDEAD}Владелец: {FFFFFF}%s\n{FFDEAD}Уровень: {FFFFFF}%d",HouseInfo[h][hID],HouseInfo[h][hOwner],HouseInfo[h][hLevel]);
                SPD(playerid,DLG_NBUYHOUSE,DIALOG_STYLE_MSGBOX,"{FFFFFF}Информация о доме",stringhouse,"Войти","Отмена");
                break;
            }
            else
            {
                format(stringhouse, sizeof(stringhouse), "{FFDEAD}ID: {FFFFFF}[%d]\n{FFDEAD}Владелец: {FFFFFF}Нет\n{FFDEAD}Стоимость: {FFFFFF}$%d\n{FFDEAD}Уровень: {FFFFFF}%d",HouseInfo[h][hID],HouseInfo[h][hPrice],HouseInfo[h][hLevel]);
                SPD(playerid,DLG_BUYHOUSE,DIALOG_STYLE_MSGBOX,"{FFFFFF}Информация о доме",stringhouse,"Купить","Отмена");
                break;
            }
        }
    }
Код:
        case DLG_BUYHOUSE:
        {
            if(!response) return 1;
            for(new h = 1; h <= TOTALHOUSE; h++)
            {
                if(IsPlayerInRangeOfPoint(playerid, 3.0, HouseInfo[h][henter_pos_x], HouseInfo[h][henter_pos_y], HouseInfo[h][henter_pos_z]) && HouseInfo[h][hOwned] == 0)
                {
                    if(PI[playerid][HouseKey] != 255 && strcmp(PI[playerid][Name], HouseInfo[PI[playerid][HouseKey]][hOwner], true) == 0)
                    {
                        SendClientMessage(playerid, COLOR_RED, "У вас уже есть дом.");
                        return 1;
                    }
                    if(PI[playerid][Money] < HouseInfo[h][hPrice]) return SendClientMessage(playerid, COLOR_WHITE, "У вас нет столько денег на руках!");
                    PI[playerid][HouseKey] = h;
                    HouseInfo[h][hOwned] = 1;
                    HouseInfo[h][hLock] = 1;
                    strmid(HouseInfo[h][hOwner], PI[playerid][Name], 0, strlen(PI[playerid][Name]), 255);
                    PI[playerid][Money] -= HouseInfo[h][hPrice];
                    SetPlayerInterior(playerid,HouseInfo[h][hInt]);
                    SetPlayerPos(playerid,HouseInfo[h][hexit_pos_x],HouseInfo[h][hexit_pos_y],HouseInfo[h][hexit_pos_z]);
                    SetPlayerVirtualWorld(playerid,h+50);
                    PlayerPlaySound(playerid, 31204, 0.0, 0.0, 0.0);
                    SendClientMessage(playerid, COLOR_WHITE, "Поздравляем! Вы купили дом");
                    //SendClientMessage(playerid, 0x66cc00ff, "Используйте {2c9cce}/hmenu{66cc00}, чтобы узнать о возможностях");
                    GameTextForPlayer(playerid, "~b~~h~Welcome ~g~to~n~~y~new ~w~home", 5000, 1);
                    //ShowPlayerDialog(playerid, 228, DIALOG_STYLE_MSGBOX, ""SERVER"Новый дом", "{FFFFFF}Вам нужно заплатить за дом в ближайшем отделении банка {dba002}(/gps)", "ОК", "");
                    new house = PI[playerid][HouseKey];

                    SetTimerEx("freezeplayer", 3000, false, "i", playerid);
                    TogglePlayerControllable(playerid,0);
                    BuyHouse(house);
                    SaveHouse(house);
                    UpdatePlayerData(playerid, "HouseKey", PI[playerid][HouseKey]);
                    return 1;
                }
            }
        }
        case DLG_NBUYHOUSE:
        {
            if(response)
            {
                for(new i = 1; i <= TOTALHOUSE; i++)
                {
                    if(IsPlayerInRangeOfPoint(playerid, 3.0, HouseInfo[i][henter_pos_x], HouseInfo[i][henter_pos_y], HouseInfo[i][henter_pos_z]))
                    {
                        if(PI[playerid][HouseKey] == i || HouseInfo[i][hLock] == 0)
                        {
                            SetPlayerInterior(playerid,HouseInfo[i][hInt]);
                            SetPlayerVirtualWorld(playerid,i+50);
                            SetPlayerPos(playerid,HouseInfo[i][hexit_pos_x], HouseInfo[i][hexit_pos_y], HouseInfo[i][hexit_pos_z]);
                            SetTimerEx("freezeplayer", 3000, false, "i", playerid);
                            TogglePlayerControllable(playerid,0);
                            return 1;
                        }
                        else
                        {
                            SCM(playerid, COLOR_RED, "Ошибка — {FFFFFF}Похоже дом закрыт.");
                            GameTextForPlayer(playerid, "~r~Locked", 5000, 1);
                        }
                    }
                }
            }
            else return 1;
        }
 
Сверху Снизу