Lua Arizona New-Style-Inventory - Чёрный стиль CEF-инвентаря

elyrin

Известный
Автор темы
351
238
Версия SA-MP
  1. 0.3.7 (R1)
  2. 0.3.7-R2
  3. 0.3.7-R3
  4. 0.3.7-R4
  5. 0.3.7-R5
  6. Любая
  7. Другая
Спустя много времени не пригляделся мне CEF-инвентарь на Аризоне, потому что я не люблю градиенты в дизайнах
И я решил сделать статичную настройку нового чёрного инвентаря, на который будет намного приятнее смотреть

Если так говорить, то по сути это замена стилю старого чёрного инвентаря на TextDraw, который перенесён под CEF-инвентарь

Как выглядит инвентарь со скриптом:

Снимок экрана 2026-04-19 153428.png


Без:
Снимок экрана 2026-04-19 153630.png


Активация: /nsi

Если будут баги, вопросы или предложения по улучшению - писать в тему
​
 

Вложения

  • New-Style-Inventory.lua
    2.9 KB · Просмотры: 259
Последнее редактирование:

pewpewpewpew

Известный
Модератор
928
304
срочно применяй перекрас ещё и к вкладке "Охранники"
 
  • Нравится
Реакции: elyrin

elyrin

Известный
Автор темы
351
238
Обновил скрипт. Изменения:

Добавил однотонную покраску для вкладки "Охранники"
 

Вложения

  • New-Style-Inventory.lua
    3.6 KB · Просмотры: 82

Deps

Известный
321
249
Lua:
function main()
    ...
    while true do wait(0)
        if state then
            evalanon([[
                ...

💀
 

tygodym

Известный
87
18
бембембем:
addEventHandler('onSendPacket', function(id, bs, priority, reliability, orderingChannel)
    if id == 220 then
        local id = raknetBitStreamReadInt8(bs)
        local packettype = raknetBitStreamReadInt8(bs)
        local strlen = raknetBitStreamReadInt16(bs)
        local text = raknetBitStreamReadString(bs, strlen)
        if packettype ~= 0 and packettype ~= 1 and #text > 2 then
            if text:find('onActiveViewChanged|Inventory') then
                if state then
                    evalanon([[
                        const inventory_main = document.querySelector(".inventory-main");
                        const inventory_buttons = document.querySelectorAll(".inventory-button");
                        const inventory_header = document.querySelectorAll(".inventory-window__header");

                        const character_tab_navigation_item = document.querySelectorAll(".character__tab-navigation-item");
                        const character_main_menu_buttons = document.querySelector(".character-main__loadout-buttons");
                        const character_main_loadout = document.querySelector(".character-main__loadout");

                        inventory_main.style.background = "#131516";
                        inventory_header.forEach(el => {
                            el.style.background = "#131516";
                        });
                        inventory_buttons.forEach(el => {
                            el.style.background = "#202020";
                            el.style.color = "#F8F4FF";
                        });

                        character_main_menu_buttons.style.background = "#131516";
                        character_main_loadout.style.background = "#131516";
                        character_tab_navigation_item.forEach(el => {
                            el.style.background = "#131516";
                        });
                    ]])
                end
            end
        end
    end
end)
Зачем запускать так evalanon, если можно просто по пакетам
 

elyrin

Известный
Автор темы
351
238
бембембем:
addEventHandler('onSendPacket', function(id, bs, priority, reliability, orderingChannel)
    if id == 220 then
        local id = raknetBitStreamReadInt8(bs)
        local packettype = raknetBitStreamReadInt8(bs)
        local strlen = raknetBitStreamReadInt16(bs)
        local text = raknetBitStreamReadString(bs, strlen)
        if packettype ~= 0 and packettype ~= 1 and #text > 2 then
            if text:find('onActiveViewChanged|Inventory') then
                if state then
                    evalanon([[
                        const inventory_main = document.querySelector(".inventory-main");
                        const inventory_buttons = document.querySelectorAll(".inventory-button");
                        const inventory_header = document.querySelectorAll(".inventory-window__header");

                        const character_tab_navigation_item = document.querySelectorAll(".character__tab-navigation-item");
                        const character_main_menu_buttons = document.querySelector(".character-main__loadout-buttons");
                        const character_main_loadout = document.querySelector(".character-main__loadout");

                        inventory_main.style.background = "#131516";
                        inventory_header.forEach(el => {
                            el.style.background = "#131516";
                        });
                        inventory_buttons.forEach(el => {
                            el.style.background = "#202020";
                            el.style.color = "#F8F4FF";
                        });

                        character_main_menu_buttons.style.background = "#131516";
                        character_main_loadout.style.background = "#131516";
                        character_tab_navigation_item.forEach(el => {
                            el.style.background = "#131516";
                        });
                    ]])
                end
            end
        end
    end
end)
Зачем запускать так evalanon, если можно просто по пакетам
Ну кстати, да, чуть-чуть не подумал об этом
 

Alexandr7777

Известный
33
3
Вещи которые появляются в инвентаре сами обновляются или надо вручную перебирать?
 

elyrin

Известный
Автор темы
351
238
Вещи которые появляются в инвентаре сами обновляются или надо вручную перебирать?
не понял твоего вопроса
просто скрипт заменяющий стили инвентаря, с предметами он никак не взаимодействует
 
  • Нравится
Реакции: Alexandr7777

Alexandr7777

Известный
33
3
не понял твоего вопроса
просто скрипт заменяющий стили инвентаря, с предметами он никак не взаимодействует
Бро я не на тот скрипт подумал, сорри, есть просто скрипт которые собирает сам за тебя тайники и всякую такую лабуду, и вот если ты не застал этот момент, предметы добавляются, но не видно их пока не передвинешь что-то в каждом слоте, только тогда они появляются