Вопросы

Приветствую всех. Суть проблемы в следующем, имеются так скажем два вида пикапов, это пикапы домов и обычные пикапы. Всё это дело привязано к 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 пользователей онлайн

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

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

    • gooding
      От gooding
      Доброго времени суток! Я выложил на продажу игровой мод RedRow RolePlay!
       
      17 ТИТУЛОВ, 14 КОСТЮМОВ (КАМЕРМЭН, ФЕЯ, СИ-ДЖЕЙ, ДЭДПУЛ, СПАНЧ БОБ, НИНДЗЯ, ДЕД МОРОЗ и другие!),
      BMW I8, BMW M5, BMW Vision M NEXT, Mercedes-Benz G-CLASS, Rolls-Royce Phantom! Система рулетки  (Исправлена, теперь не выпадает одно и то же),
      Автопарки Фракций (FBI и банд), МОД ОПТИМИЗИРОВАЛИ под ИГРУ, ДОБАВИЛИ НОВЫЙ АНТИЧИТ (Latest Nex-AC) и АНТИЧИТ настроен. Проделано много работы (Над модом работали полгода) и исправили множество багов.
       
      Что было добавлено?
      1. 17 титулов,
      2. 14 костюмов,
      3. Эксклюзивный транспорт (SandKing, Rolls-Royce Phantom, BMW I8, BMW M5, BMW Vision M NEXT, Mercedes-Benz G-CLASS).
      4. Автопарк ФБР и всех банд.
      5. Новый анти-чит.
      6. Оптимизация игрового мода.
      7. Премиум и уникальные возможности для владельцев Премиума.
      8. Команда /bonus, где можно получить бесплатно Red Coins.
      9. За АКТИВ даются Red Coins!
      10. Рестарт сервера в 5:00 по МСК.
      11. Радужный клист.
      12. Уникальный тюнинг для эксклюзивных машин и ускорение.
      13. Новая система банка.
      14. Исправлено множество багов.
      15. Новый маппинг.
    • Redmondd
      От Redmondd
      Хочу сделать команду /gpsoff, которая убирает метку