Вопросы

Приветствую всех. Суть проблемы в следующем, имеются так скажем два вида пикапов, это пикапы домов и обычные пикапы. Всё это дело привязано к MySQL и изменяется динамически. Проблема вот в чём, если по коду ставить первыми проверку на домашние пикапы то они работают, но тогда обычные на отказ идут. Если же поставить первыми обычные пикапы, то всё с точностью наоборот.

Поделиться сообщением


Ссылка на сообщение

2 ответа на этот вопрос

  • 0

@Ermak GO что за проверка? Показывайте загрузку пикапов. 

Поделиться сообщением


Ссылка на сообщение
  • 0

@DEST Вот есть две проверки в OnPlayerPickUpPickup. Получает как, если ставить первым проверку на дома то и фракционные, и домашние будут работать, но только если количество домов не превысит N-количество, около 200. Если поставить фракционные первыми, то домашние не будут вовсе работать, даже если их всего 1 штука.
   

Спойлер

for(new i; i <= MAX_PICK_FRACS; i++)
    {
        if(pickupid == FracPick[create_pick])
        {
            if(FracPick[ids_frac] == FR_CNN && CnnMP[playerid] >= 1)
            {
                ExitMPCnn(playerid);
            }
            new str[]="SELECT * FROM `fracpick_dop` WHERE `frac` = '%i' and `number` = '%i'", query[sizeof str + 50+6*2 +1];
            format(query, sizeof(query), str, FracPick[ids_frac], FracPick[number_frac]);
            mysql_query(query);
            mysql_store_result();
            if(mysql_fetch_row_format(query))
            {
                new close=0,inters=0, virtualka=0;
                BaseGetInt("open", close);
                BaseGetInt("interiorka", inters);
                BaseGetInt("virtualka", virtualka);
                if(close == 1)
                {
                    if(FracPick[ids_frac] == pInfo[playerid][pMember]) {  }
                    else
                    {
                        if(pInfo[playerid][pSenatorLevel] >= 1)
                        {
                            if(FracPick[ids_frac] == FR_MAYOR || FracPick[ids_frac] == FR_LSPD || FracPick[ids_frac] == FR_FBI || FracPick[ids_frac] == FR_NGSA || FracPick[ids_frac] == FR_LIC || FracPick[ids_frac] == FR_CNN || FracPick[ids_frac] == FR_SFMC) { }
                            else
                            {
                                SendClientMessage(playerid, COLOR_GREY, "* Пикап закрыт");
                                PlayerPlaySound(playerid, 31202, 0, 0, 0);
                                return 1;
                            }
                        }
                        else
                        {
                            SendClientMessage(playerid, COLOR_GREY, "* Пикап закрыт");
                            PlayerPlaySound(playerid, 31202, 0, 0, 0);
                            return 1;
                        }
                    }
                }
                if(FracPick[pick_TelePort_X] == 0 && FracPick[pick_TelePort_Y] == 0 && FracPick[pick_TelePort_Z] == 0) return true;
                SetPlayerPost(playerid, FracPick[pick_TelePort_X], FracPick[pick_TelePort_Y], FracPick[pick_TelePort_Z], FracPick[pick_TelePort_FA], inters, virtualka);
            }
            mysql_free_result();
        }
    }

 

Спойлер

for(new idx = 1; idx <= TOTAL_HOUSE_KOLV; idx++)
    {
        if(pickupid == HouseInfo[idx][text_skin])
        {
            if(HouseInfo[idx][hSkin] == 1 && LifeHouse[playerid] == HouseInfo[idx][id])
            {
                DonSkinPlayer(playerid);
            }
            else SendClientMessage(playerid, COLOR_GREY, "Вы не живёте в этом доме!");
        }
        if(pickupid == HouseInfo[idx][pick_house])
        {
            SetPVarInt(playerid,"House_Info", idx);
            if(!strcmp(HouseInfo[idx][hOwner],"-",true))
            {
                ShowPlayerDialog(playerid, 65, DIALOG_STYLE_LIST, "{fa770c}Свободный дом", "{FFFFFF}1. Войти в дом\n2. Купить дом", "Далее", "Выйти");
            }
            else
            {
                if(HouseInfo[idx][hClose] == 1)
                {
                    if(LifeHouse[playerid] == HouseInfo[idx][id])
                    {
                        ShowPlayerDialog(playerid, 190, DIALOG_STYLE_LIST, "{fa770c}Свободный дом", "{FFFFFF}1. Войти в дом", "Далее", "Выйти");
                    }
                    else
                    {
                        if(HouseInfo[idx][hArent] >= 1)
                        {
                            new str_2[]="{FFFFFF}1. Войти в дом\n2. Арендовать дом %i$", string_2[sizeof str_2 +6 +1];
                            format(string_2, sizeof string_2, str_2, HouseInfo[idx][hArent]);
                            ShowPlayerDialog(playerid, 65, DIALOG_STYLE_LIST, "{fa770c}Занятый дом", string_2, "Далее", "Выйти");
                            return 1;
                        }
                        SendClientMessage(playerid, COLOR_GREY, "Дом закрыт!");
                    }
                    return 1;
                }
                if(HouseInfo[idx][hArent] >= 1)
                {
                    if(LifeHouse[playerid] == HouseInfo[idx][id])
                    {
                        ShowPlayerDialog(playerid, 190, DIALOG_STYLE_LIST, "{fa770c}Свободный дом", "{FFFFFF}1. Войти в дом", "Далее", "Выйти");
                    }
                    else
                    {
                        new str_2[]="{FFFFFF}1. Войти в дом\n2. Арендовать дом %i$", string_2[sizeof str_2 +6 +1];
                        format(string_2, sizeof string_2, str_2, HouseInfo[idx][hArent]);
                        ShowPlayerDialog(playerid, 65, DIALOG_STYLE_LIST, "{fa770c}Занятый дом", string_2, "Далее", "Выйти");
                    }
                    return 1;
                }
                ShowPlayerDialog(playerid, 65, DIALOG_STYLE_LIST, "{fa770c}Занятый дом", "{FFFFFF}1. Войти в дом", "Далее", "Выйти");
            }
        }
    }

 

 

 

Отредактировано пользователем Ermak GO

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Артём Профиков
      От Артём Профиков
      У меня есть система подсказок вот так она выглядет
      ShowNotification(playerid, тип, "текст", время, "команда через /", "текст кнопки");
      Только есть вопрос как сделать так чтоб она активировалась в определенном радиусе? Заранее спасибо