1. Добро пожаловать на портал нашего игрового сообщества!
    Попробуйте нашу сверх-быструю регистрацию через Вконтакте, Steam или выберите другой на странице авторизации!

Иконки фракций на ns 1,1

Тема в разделе "Помощь по скриптингу, серверу, настройкам", создана пользователем VODYAGARMBE, 16 июл 2017.

  1. VODYAGARMBE

    VODYAGARMBE Новичок

    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    11
    раздобыл иконки, а как если на таб нажимать сделать чтобы если ты в одиночках то иконка одиночки и тд?
     
  2. Neon

    Neon Архитектор матрицы Команда форума

    Сообщения:
    1.144
    Симпатии:
    191
    Баллы:
    73
    Клан-тег:
    Кус-Кус
    Дописывать их отображение в cl_scoreboard
     
  3. あなたの神

    あなたの神 Новичок

    Сообщения:
    15
    Симпатии:
    11
    Баллы:
    13
  4. KiraYukimura

    KiraYukimura Отмычка

    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    0
  5. Delirus18

    Delirus18 Отмычка

    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    0
  6. DrodA

    DrodA Новичок

    Сообщения:
    55
    Симпатии:
    7
    Баллы:
    13
    Наиболее простой способ.

    Первоначально, стоит задать сами иконки. Данное можно впихнуть в sh_schema.lua Вашей схемы.
    Код:
    // [Уникальный номерок Фракции] = "Путь до вашей иконки"
    SCHEMA.FactionIcon =
    {
        [FACTION_CITIZEN] = "vgui/face/open_eyes",
        [FACTION_CP] = "vgui/face/sad"
    };
    После, уже можно перебежать сюда:
    Там же перепиливается slot.model под свои нужды.
    Вместо этого:
    Код:
            slot.model = slot:Add("nutSpawnIcon")
            slot.model:SetModel(client:GetModel(), client:GetSkin())
            slot.model:SetSize(64, 64)
            slot.model.DoClick = function()
                local menu = DermaMenu()
                    local options = {}
    
                    hook.Run("ShowPlayerOptions", client, options)
    
                    if (table.Count(options) > 0) then
                        for k, v in SortedPairs(options) do
                            menu:AddOption(L(k), v[2]):SetImage(v[1])
                        end
                    end
                menu:Open()
    
                RegisterDermaMenuForClose(menu)
            end
            slot.model:SetToolTip(L("sbOptions", client:steamName()))
    
            self.model:setHidden(overrideName) // Находится чуть ниже.
    
    Впиливается что-то на уровне следующего:
    Код:
            slot.model = slot:Add("DPanel");
            slot.model:SetSize(64, 64);
            slot.model.Paint = function(s, w, h)
                surface.SetDrawColor(color_white);
    
                for k, v in pairs(SCHEMA.FactionIcon) do
                    if (IsValid(client) and client:Team() == k) then
                        surface.SetMaterial(Material(v));
                        surface.DrawTexturedRect(0, 0, w, h);
                    end;
                end;
            end;

    В целом, должно работать.
    Если, конечно, правильно понят вопрос.
    20170810135320_1.jpg
     
  7. Smak

    Smak Новичок

    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    11