• 0

Question

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

Share this post


Link to post

2 answers to this question

  • 0

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

Share this post


Link to post
  • 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. Войти в дом", "Далее", "Выйти");
            }
        }
    }

 

 

 

Edited by Ermak GO

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content