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

Как оптимизировать отображение инвентаря?

bereg101

Умник
2й день мучаюсь думаю как оптимизировать отображение инвентаря и т.к не люблю тексдравы и толком не знаю как они работают - это сложновато.
На видео видно как отрабатывает цикл отображения предметов и это очень сильно раздражает при открытии инвентаря
Ссылка удалена администрацией форума
Это вообще можно исправить или проще будет пойти заказать новую систему инвентаря?
Если кто то может это исправить, можем договориться о цене

Это часть кода отображения инвентаря, которая отображает сами предметы.
Код:
     for(new i = 0; i < 47; i++)
     {
         if( i >= 0 && i <= 42)
         {
             if(i >= 0 && i<= 5)
            {
                 if(ammo[i+1])
                {
                    switch(weapons[i+1])
                    {
                        case 1:
                        {
                            PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[324][invObj]);
                            PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[324][invRot][0], InvType[324][invRot][1], InvType[324][invRot][2], InvType[324][invRot][3]);
                        }
                        case 2:
                        {
                             PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[442][invObj]);
                            PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[442][invRot][0], InvType[442][invRot][1], InvType[442][invRot][2], InvType[442][invRot][3]);
                        }
                        case 3:
                        {
                             PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[443][invObj]);
                             PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[443][invRot][0], InvType[443][invRot][1], InvType[443][invRot][2], InvType[443][invRot][3]);
                        }
                        case 5:
                        {
                             PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[325][invObj]);
                             PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[325][invRot][0], InvType[325][invRot][1], InvType[325][invRot][2], InvType[325][invRot][3]);
                        }
                        case 17:
                        {
                             PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[328][invObj]);
                             PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[328][invRot][0], InvType[328][invRot][1], InvType[328][invRot][2], InvType[328][invRot][3]);
                        }
                        case 23:
                        {
                             PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[444][invObj]);
                             PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[444][invRot][0], InvType[444][invRot][1], InvType[444][invRot][2], InvType[444][invRot][3]);
                        }
                        case 24:
                        {
                             PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[329][invObj]);
                             PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[329][invRot][0], InvType[329][invRot][1], InvType[329][invRot][2], InvType[329][invRot][3]);
                        }
                        case 25:
                        {
                             PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[330][invObj]);
                             PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[330][invRot][0], InvType[330][invRot][1], InvType[330][invRot][2], InvType[330][invRot][3]);
                        }
                        case 28:
                        {
                             PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[336][invObj]);
                             PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[336][invRot][0], InvType[336][invRot][1], InvType[336][invRot][2], InvType[336][invRot][3]);
                        }
                        case 29:
                        {
                             PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[331][invObj]);
                             PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[331][invRot][0], InvType[331][invRot][1], InvType[331][invRot][2], InvType[331][invRot][3]);
                        }
                        case 30:
                        {
                            PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[332][invObj]);
                            PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[332][invRot][0], InvType[332][invRot][1], InvType[332][invRot][2], InvType[332][invRot][3]);
                        }
                         case 31:
                        {
                             PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[333][invObj]);
                              PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[333][invRot][0], InvType[333][invRot][1], InvType[333][invRot][2], InvType[333][invRot][3]);
                        }
                         case 33:
                        {
                             PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[334][invObj]);
                             PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[334][invRot][0], InvType[334][invRot][1], InvType[334][invRot][2], InvType[334][invRot][3]);
                        }
                         case 34:
                        {
                             PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[335][invObj]);
                             PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[335][invRot][0], InvType[335][invRot][1], InvType[335][invRot][2], InvType[335][invRot][3]);
                        }

                    }
                    PlayerTextDrawShow(playerid,InvAmm[playerid][i]);
                     format(str,sizeof(str),"%d",ammo[i+1]);
                    PlayerTextDrawSetString(playerid,InvAmm[playerid][i],str);
                 }
                 else
                 {
                    PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[0][invObj]);
                    PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[0][invRot][0], InvType[0][invRot][1], InvType[0][invRot][2], InvType[0][invRot][3]);
                 }
            }

            if(i > 5 && i < 36)
            {
                 if(InvInfo[playerid][iSlot][i-6])
                 {
                    PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[InvInfo[playerid][iSlot][i-6]][invObj]);
                    PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[InvInfo[playerid][iSlot][i-6]][invRot][0], InvType[InvInfo[playerid][iSlot][i-6]][invRot][1], InvType[InvInfo[playerid][iSlot][i-6]][invRot][2], InvType[InvInfo[playerid][iSlot][i-6]][invRot][3]);
             //        PlayerTextDrawBackgroundColor(playerid, InventoryP[i][playerid], 0x8C8C8C00);
                     PlayerTextDrawShow(playerid,InvAmm[playerid][i]);
                     format(str,sizeof(str),"%d",InvInfo[playerid][iKol][i-6]);
                    PlayerTextDrawSetString(playerid,InvAmm[playerid][i],str);
                 }
                 else
                 {
                     PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[0][invObj]);
                    PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[0][invRot][0], InvType[0][invRot][1], InvType[0][invRot][2], InvType[0][invRot][3]);
                 }
            }
             if(i >= 37 && i<= 42)
             {

                for(new x = 338; x < 434; x++)
                {
                    if(InvType[x][invObj] != PlayerInfo[playerid][pAcs][i-37]) continue;
                    PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[x][invObj]);
                    PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[x][invRot][0], InvType[x][invRot][1], InvType[x][invRot][2], InvType[x][invRot][3]);
                    break;
                }
                if(!PlayerInfo[playerid][pAcs][i-37])
                {
                    PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[0][invObj]);
                    PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[0][invRot][0], InvType[0][invRot][1], InvType[0][invRot][2], InvType[0][invRot][3]);
                }
             }
        }
         PlayerTextDrawShow(playerid,InventoryP[i][playerid]);

    }
 
Последнее редактирование модератором:
Сверху Снизу