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

Система домов(/house)

NedoScripter228

Новичок
Всем привет!
Такая проблема: я делаю систему домов.
И при создание команды /house (для управления дома) у меня идет всё хорошо. Но когда я подхожу к другому дому
Должно писаттся "Это не ваш дом". Но этого не происходит. Вместо этого он пишет что я не нахожусь не у дома(любого)

PHP:
// Енумы и переменные
enum hInfo
{
    id,
    Owner[24],
    Int,
    Vw,
    Float: Ex,
    Float: Ey,
    Float: Ez,
    Price,
    Class,
    Lock,
    Pickup,
    MapIcon,
    Text3D:Text
};
enum hiInfo
{
        Float:hiX,Float:hiY,Float:hiZ,hiInt,
        hiName[15]
};
new HInts[][hiInfo]={
        {318.564971,1118.209960,1083.882812,5,"Crack den"},
        {2269.4453,-1210.2952,1047.5625,10,"Hashbury House"},
        {2496.2676,-1693.8955,1014.7422,3,"Johnsons House"},
        {1299.14,-794.77,1084.00,5,"Madd Doggs M."},
        {2260.3711,-1135.7345,1050.6328,10,"R.B.M. Room"},
        {2365.6023,-1133.6688,1050.8750,8,"V. B. House"},
        {1302.519897,-1.787510,1001.028259,18,"Warehouse 2"},
        {2324.419921,-1145.568359,1050.710083,12,"Un. safe house"},
        {76.632553,-301.156829,1.578125,0,"Blueberry"}
};
// OnGamemodeInit
LoadHouses();
//OnPlayerKeyStateChange
else if(newkeys & KEY_WALK)
    {
        mysql_query(connects, "SELECT * FROM `house`");

         new rows, fields;
         cache_get_data(rows, fields);

        for(new h; h<=rows; h++)
        {
            if(IsPlayerInRangeOfPoint(playerid, 1.0, House[h][Ex], House[h][Ey], House[h][Ez]))
            {
                if(House[h][Lock] == 1) return SendClientMessage(playerid, COLOR_RED, "Дом закрыт! Если это ваш дом то откройте его через </house>");
                SendClientMessage(playerid, COLOR_WHITE, "Ты зашёл в дом!");
                SetPlayerPos(playerid, HInts[House[h][Int]][hiX], HInts[House[h][Int]][hiY], HInts[House[h][Int]][hiZ]);
                SetPlayerInterior(playerid, HInts[House[h][Int]][hiInt]);
                SetPlayerVirtualWorld(playerid, House[h][Vw]);
                inHouse[playerid] = 1;
                PlayerPlaySound(playerid,1056,0.0,0.0,0.0);
            }
            if(IsPlayerInRangeOfPoint(playerid, 1.0, HInts[House[h][Int]][hiX], HInts[House[h][Int]][hiY], HInts[House[h][Int]][hiZ]))
            {
                SendClientMessage(playerid, COLOR_WHITE, "Ты вышел из дома!");
                inHouse[playerid] = 0;
                SetPlayerInterior(playerid, 0);
                SetPlayerVirtualWorld(playerid, 0);
                 SetPlayerPos(playerid, House[h][Ex], House[h][Ey], House[h][Ez]);
                 PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
            }
        }
    }
    else if(newkeys & KEY_YES)
    {
        mysql_query(connects, "SELECT * FROM `house`");

         new rows, fields;
         cache_get_data(rows, fields);
         
        for(new h; h<=rows; h++)
        {
            if(IsPlayerInRangeOfPoint(playerid, 1.0, House[h][Ex], House[h][Ey], House[h][Ez]))
            {
                if(!strcmp(House[h][Owner], "The State"))
                {
                    if(Player[playerid][pMoney] < House[h][Price]) return SendClientMessage(playerid, COLOR_RED, "У вас недостаточно денег для покупки этого дома!");
                    Player[playerid][pMoney] -= House[h][Price];
                    strmid(House[h][Owner],Player[playerid][pName],0,24,24);
                    UpdateHouse(h);
                    SendClientMessage(playerid,-1,"Вы успешно купили дом!");
                    PlayerPlaySound(playerid,1054,0.0,0.0,0.0);
                    SaveHouses(h);
                }
                else
                {
                    SendClientMessage(playerid, COLOR_RED, "Этот дом уже куплен!");
                }
            }
        }
    }
//LoadHouses()
stock LoadHouses()
{
     mysql_query(connects, "SELECT * FROM `house`");

     new rows, fields;
     cache_get_data(rows, fields);
     
     for(new h; h<=rows; h++)
     {
          printf("%d", h);
        new query[60];
        new STR[100];
        format(query, sizeof(query), "SELECT * FROM `house` WHERE `id` = '%d'", h);
        mysql_query(connects, query);
        House[h][id] = cache_get_field_content_int(0, "id", connects);
        cache_get_field_content(0, "owner", House[h][Owner], connects, 24);
        House[h][Ex] = cache_get_field_content_float(0, "x", connects);
        House[h][Ey] = cache_get_field_content_float(0, "y", connects);
        House[h][Ez] = cache_get_field_content_float(0, "z", connects);
        House[h][Int] = cache_get_field_content_int(0, "int", connects);
        House[h][Vw] = cache_get_field_content_int(0, "vw", connects);
        House[h][Class] = cache_get_field_content_int(0, "class", connects);
        House[h][Price] = cache_get_field_content_int(0, "price", connects);
        House[h][Lock] = cache_get_field_content_int(0, "lock", connects);
        CreateDynamicPickup(1318, 23, HInts[House[h][Int]][hiX], HInts[House[h][Int]][hiY], HInts[House[h][Int]][hiZ]);
          if(!strcmp(House[h][Owner],"The State",true))
        {
            House[h][Pickup] = CreateDynamicPickup(1273, 23, House[h][Ex], House[h][Ey], House[h][Ez]);
            House[h][MapIcon] = CreateDynamicMapIcon(House[h][Ex], House[h][Ey], House[h][Ez], 31, COLOR_GREEN);
            format(STR, sizeof(STR), "[Дом продается]\nЦена: $%d", House[h][Price]);
            House[h][Text] = Create3DTextLabel(STR, COLOR_WHITE, House[h][Ex], House[h][Ey], House[h][Ez], 2.0, 0);
        }
        else
        {
            House[h][Pickup] = CreateDynamicPickup(19522, 23, House[h][Ex], House[h][Ey], House[h][Ez]);
            format(STR, sizeof(STR),"[Дом]\nВладелец: %s", House[h][Owner]);
            House[h][Text] = Create3DTextLabel(STR, COLOR_WHITE, House[h][Ex], House[h][Ey], House[h][Ez], 2.0, 0);
            House[h][MapIcon] = CreateDynamicMapIcon(House[h][Ex], House[h][Ey], House[h][Ez], 32, COLOR_RED);
        }
     }
     SendRconCommand("password 0");
}
//UpdateHouse
stock UpdateHouse(h)
{
    new STR[100];
    DestroyDynamicPickup(House[h][Pickup]);
    DestroyDynamicMapIcon(House[h][MapIcon]);
    if(!strcmp(House[h][Owner],"The State",true))
    {
        House[h][Pickup] = CreateDynamicPickup(1273, 23, House[h][Ex], House[h][Ey], House[h][Ez]);
        House[h][MapIcon] = CreateDynamicMapIcon(House[h][Ex], House[h][Ey], House[h][Ez], 31, COLOR_GREEN);
        format(STR, sizeof(STR), "[Дом продается]\nЦена: $%d", House[h][Price]);
        Update3DTextLabelText(House[h][Text], 0xFFFFFFFF, STR);
    }
    else 
    {
        House[h][Pickup] = CreateDynamicPickup(19522, 23, House[h][Ex], House[h][Ey], House[h][Ez]);
        format(STR, sizeof(STR),"[Дом]\nВладелец: %s", House[h][Owner]);
        Update3DTextLabelText(House[h][Text], 0xFFFFFFFF ,STR);
        House[h][MapIcon] = CreateDynamicMapIcon(House[h][Ex], House[h][Ey], House[h][Ez], 32, COLOR_RED);
    }
}
//Houses
CMD:house(playerid)
{
    new query[128];
    format(query, sizeof(query), "SELECT * FROM `house` WHERE `Owner` = '%s'", Player[playerid][pName]);
    mysql_query(connects, query);
    
    new rows, fields;
    cache_get_data(rows, fields);
    
    if(!rows) return SendClientMessage(playerid, COLOR_RED, "У вас нет своего дома!");
    
    for(new h; h < rows; h++)
    {
        if(IsPlayerInRangeOfPoint(playerid, 3.0, House[h][Ex], House[h][Ey], House[h][Ez]))
        {
            if(House[h][Owner] == Player[playerid][pName])
            {
                switch(House[h][Lock])
                {
                    case 0: ShowPlayerDialog(playerid, DIALOG_HOUSE_MENU, DIALOG_STYLE_LIST, "Меню дома", "Закрыть дом\nПродать дом игроку", "Далее", "Отмена");
                    case 1: ShowPlayerDialog(playerid, DIALOG_HOUSE_MENU, DIALOG_STYLE_LIST, "Меню дома", "Открыть дом\nПродать дом игроку", "Далее", "Отмена");
                }
               }
            else
            {
                SendClientMessage(playerid, COLOR_RED, "Это не ваш дом!");
            }
        }
        else
        {
            SendClientMessage(playerid, COLOR_RED, "Вы должны быть рядом со своим домом!");
        }
    }
    return 1;
}
 
Сверху Снизу