Иконка ресурса

Ponimau

Участник
Сообщения
101
Реакции
2
Можно где-то найти / купить "аниме" тему?
 

Ponimau

Участник
Сообщения
101
Реакции
2
Смысле небо на тему "Аниме"?
Screenshot_20200419_041925.jpg
 

iLoco

Пишу плагины за печеньки 🍪🍪🍪
Сообщения
2,265
Реакции
1,323
план А) - найти готовые: Skybox [Counter-Strike: Global Offensive] [Texture Mods]
план Б) - походить по японским/китайским/корейским Оффтоп и скачать к себе текстуры скайбокса
план В) - сделать самому по примерам
план С) - заказать у знающих как это делать

ИМХО, рекомендую план B)
 

Shid0

🦾 Свет даëт мне сил!
Сообщения
1,130
Реакции
1,255
Ептить, целую тему для таких написал Чтобы меня потом спрашивали: А где ты взял такой скайбокс? Вы бы меня еще спросили как сделать его анимированным или просто текстуры с анимацией создать и раставить по карте? Или худ анимированным сделать?)
Сообщения автоматически склеены:

план А) - найти готовые: Skybox [Counter-Strike: Global Offensive] [Texture Mods]
план Б) - походить по японским/китайским/корейским Оффтоп и скачать к себе текстуры скайбокса
план В) - сделать самому по примерам
план С) - заказать у знающих как это делать

ИМХО, рекомендую план B)
Вариант А- таких нет)
Вариант Б- ходил, там тоже нет.
Поэтому создал сам)))
Сообщения автоматически склеены:

+ Добавил плагин на смену Утро, день, вечер, ночь)))
 

Miroha

Участник
Сообщения
1,124
Реакции
134
Можно как-то сделать, что бы 1-2 небо можно было сделать приватным? Типа у других людей у которых есть доступ к небу у них есть небеса которые доступны. А у других групп вип допустим есть доступ к приватным небесам возможно ли это как сделать? или увы не как
 

White Wolf

🍉
Сообщения
2,382
Реакции
2,187
  • Команда форума
  • Автор ресурса
  • #47
Можно как-то сделать, что бы 1-2 небо можно было сделать приватным? Типа у других людей у которых есть доступ к небу у них есть небеса которые доступны. А у других групп вип допустим есть доступ к приватным небесам возможно ли это как сделать? или увы не как
Всё в ваших руках, свободно модифицируйте на своё усмотрение.
 

crashzk

Участник
Сообщения
179
Реакции
33
Could someone update to when typing the command !skybox | /skybox it opens the direct menu? Or even give me what modification I need to do that I compile again.

I tried like this, and nothing:
C-подобный:
#include <sourcemod>
#include <sdktools>
#include <clientprefs>
#include <vip_core>

// Force 1.7 syntax
#pragma newdecls required

#define PLUGIN_VERSION "1.0"

char g_cFeature[] = "skybox";

ConVar g_CvarSkyName;
Handle g_hCookie;
KeyValues g_Kv;
Menu g_Menu;

public Plugin myinfo =
{
    name = "[VIP] Skybox",
    description = "Allow vip players to choose skyboxes",
    author = "White Wolf",
    version = PLUGIN_VERSION,
    url = "http://steamcommunity.com/id/doctor_white http://steamcommunity.com/id/Deathknife273/ http://hlmod.ru"
};

public void OnPluginStart()
{
    g_hCookie = RegClientCookie("VIP_Skybox", "VIP_Skybox", CookieAccess_Public);
    
    // Find sv_skyname for clients
    g_CvarSkyName = FindConVar("sv_skyname");
    
    if (VIP_IsVIPLoaded())
        VIP_OnVIPLoaded();
        
    //RegConsoleCmd("sm_sky", g_Menu, "Choose a skybox");
    RegConsoleCmd("sm_skybox", g_Menu, "Choose a skybox");
    
    LoadTranslations("vip_modules.phrases");
}

public void OnMapStart()
{
    g_Menu = new Menu(SkyboxMenu_Handler, MenuAction_Select|MenuAction_Cancel|MenuAction_DisplayItem);
    g_Menu.SetTitle("Escolha um SkyBox");
    // Add "default skybox" item
    g_Menu.AddItem("", "SkyBox Padrão (Mapa)");
    g_Menu.ExitBackButton = true;
    LoadSkybox();
}

public void OnMapEnd()
{
    delete g_Menu;
}

public void VIP_OnVIPClientLoaded(int client)
{
    if(VIP_GetClientFeatureStatus(client, g_cFeature) != NO_ACCESS)
    {
        char cInfo[64];
        // Get cookie value
        GetClientCookie(client, g_hCookie, cInfo, sizeof(cInfo));
        if (cInfo[0] != NULL_STRING[0])
        {
            char cBuffer[64];
            if (IsSkyboxExistInKV(cInfo, cBuffer, sizeof(cBuffer)))
            {
                if (cBuffer[0] != NULL_STRING[0])
                    SetSkybox(client, cBuffer);
            }
        }
    }
}

public void VIP_OnVIPLoaded()
{
    VIP_RegisterFeature(g_cFeature, BOOL, SELECTABLE, OnSkyboxItemSelect);
}

public bool OnSkyboxItemSelect(int client, const char[] cFeature)
{
    g_Menu.Display(client, MENU_TIME_FOREVER);
    
    return false;
}

public int SkyboxMenu_Handler(Menu menu, MenuAction action, int param1, int param2)
{
    switch (action)
    {
        case MenuAction_Cancel:
        {
            if (param2 == MenuCancel_ExitBack)
                VIP_SendClientVIPMenu(param1);
        }
        case MenuAction_Select:
        {
            char cInfo[64], cPath[64];
            menu.GetItem(param2, cInfo, sizeof(cInfo));
            if (IsSkyboxExistInKV(cInfo, cPath, sizeof(cPath)))
            {
                SetClientCookie(param1, g_hCookie, cInfo);
                //Set skybox for client (param1)
                SetSkybox(param1, cPath);
            }
            
            menu.DisplayAt(param1, menu.Selection, MENU_TIME_FOREVER);
        }
        case MenuAction_DisplayItem:
        {
            char cClientCookie[64], cInfo[64], cDisplay[64];
            menu.GetItem(param2, cInfo, sizeof(cInfo), _, cDisplay, sizeof(cDisplay));
            GetClientCookie(param1, g_hCookie, cClientCookie, sizeof(cClientCookie));
            
            if (StrEqual(cClientCookie, cInfo, false))
            {
                StrCat(cDisplay, sizeof(cDisplay), "[X]");
                return RedrawMenuItem(cDisplay);
            }
            
            return 0;
        }
    }
    
    return 0;
}

void SetSkybox(int client, const char[] cSkybox)
{
    // If skybox is default
    if (cSkybox[0] == NULL_STRING[0])
    {
        char cBuffer[32];
        g_CvarSkyName.GetString(cBuffer, sizeof(cBuffer));
        g_CvarSkyName.ReplicateToClient(client, cBuffer);
    }
    else
        g_CvarSkyName.ReplicateToClient(client, cSkybox);
}

void LoadSkybox()
{
    g_Kv = new KeyValues("Skybox");
    char cBuffer[PLATFORM_MAX_PATH];
    BuildPath(Path_SM, cBuffer, sizeof(cBuffer), "data/vip/modules/skybox.ini");
    
    if (!g_Kv.ImportFromFile(cBuffer))
    {
        delete g_Kv;
        SetFailState("Failed to read from file \"%s\"", cBuffer);
    }
    g_Kv.Rewind();
    
    //Skybox suffixes.
    static char suffix[][] = {
        "bk",
        "Bk",
        "dn",
        "Dn",
        "ft",
        "Ft",
        "lf",
        "Lf",
        "rt",
        "Rt",
        "up",
        "Up",
    };
    
    if (g_Kv.GotoFirstSubKey())
    {
        char cPath[64];
        do
        {
            g_Kv.GetSectionName(cBuffer, sizeof(cBuffer));
            g_Menu.AddItem(cBuffer, cBuffer);
            // Get path
            g_Kv.GetString("path", cPath, sizeof(cPath));
            
            for (int i = 0; i < sizeof(suffix); ++i)
            {
                FormatEx(cBuffer, sizeof(cBuffer), "materials/skybox/%s%s.vtf", cPath, suffix[i]);
                if (FileExists(cBuffer, false)) AddFileToDownloadsTable(cBuffer);
                
                FormatEx(cBuffer, sizeof(cBuffer), "materials/skybox/%s%s.vmt", cPath, suffix[i]);
                if (FileExists(cBuffer, false)) AddFileToDownloadsTable(cBuffer);
            }            
        } while (g_Kv.GotoNextKey());
    }
    
    g_Kv.Rewind();
}

bool IsSkyboxExistInKV(const char[] cInfo, char[] cPath, int maxlength)
{
    // if `default` checked
    if (cInfo[0] == NULL_STRING[0])
        return true;
    
    KeyValues kv = new KeyValues("skybox_copy");
    KvCopySubkeys(g_Kv, kv);
    
    if (kv.JumpToKey(cInfo))
    {
        kv.GetString("path", cPath, maxlength);
        delete kv;
        return true;
    }
    
    delete kv;
    return false;
}
 

MacS7ven

Заблокирован
Сообщения
137
Реакции
30
Ребят подскажите, как сделать что-бы когда следишь за игроком видно было какое у него небо установлено?
 

SIRIUS

♿___DejaVu
Сообщения
509
Реакции
253
Ребят подскажите, как сделать что-бы когда следишь за игроком видно было какое у него небо установлено?
В данный момент никак. Решение - переписать код и то не факт что есть возможность такой реализации.
 

SIRIUS

♿___DejaVu
Сообщения
509
Реакции
253
Последнее редактирование:

MacS7ven

Заблокирован
Сообщения
137
Реакции
30

SLAME

Флуд/Оффтоп
Сообщения
351
Реакции
222
cs:s ob
1617814590903.png

Плагин загружается, скайбоксы не меняет.
Сообщения автоматически склеены:

Логи чистые
Сообщения автоматически склеены:

Если просто ставить через server.cfg
C-подобный:
sv_skyname
то всё отлично работает
1617815570828.png
Сообщения автоматически склеены:

Но нужен же плагин для VIP....
Сообщения автоматически склеены:

Перечитал всё, что только можно, не помогло
// Путь всегда должен быть относительно materials/skybox и не должен включать суффикс и .vtf или .vmt
1617816041407.png

// Пример: у вас есть следующие файлы
//materials/skybox/amethystbk.vmt
//materials/skybox/amethystbk.vtf
//materials/skybox/amethystdn.vmt
//materials/skybox/amethystdn.vtf
//materials/skybox/amethystft.vmt
//так далее...
// Вы должны установить путь как «amethyst»
// Name - это имя, которое появляется в меню
1617816221381.png

Пути на скачку тут addons/sourcemod/data/vip/modules/downloadlist.txt
 
Последнее редактирование:

Fast-Kill

Админ школьник проверяет мой ПК на читы!
Сообщения
991
Реакции
299
А есть стандартные скайбоксы чтоб не чего не ставить просто кваром изменить?
 

SLAME

Флуд/Оффтоп
Сообщения
351
Реакции
222
А есть стандартные скайбоксы чтоб не чего не ставить просто кваром изменить?
Чел, ну мы в теме находимся VIP - SKYBOX ! Причём тут вообще квар ? .... Квар я написал выше, как использовать.
Сообщения автоматически склеены:

Блин, так обидно, даже на оленях написано в дескрипшене, что "Позволяет клиентам менять свой скайбокс, сохраняет их выбор. Создан для CS: GO, но могут работать и другие игры HL2. "
 

Fast-Kill

Админ школьник проверяет мой ПК на читы!
Сообщения
991
Реакции
299
Чел, ну мы в теме находимся VIP - SKYBOX ! Причём тут вообще квар ? .... Квар я написал выше, как использовать.
Чтоб 100 тупых тем не создавать я поинтересовался тут, так как мой вопрос все таки относится к скайбоксам! Просто вписать sv_skyname? или все таки есть какие то названия sv_skyname name_skybox? Мне их список нужен. И этот плагин я ставил и у меня на кс го тоже не работает я даже не стал ковырять его!
 

Rimmer

Помогаю новичкам / Переводчик / Тестер / Заказчик
Сообщения
1,368
Реакции
753
@Xral, Скайбоксы не работают на переделанных картах (даст2, инферно, ...). Так же после обновы с панорамой перестало работать на панораме 100%, на обычном интерфейсе не проверял.
И как жить?

У меня не работает SkyBox`ы вообще все, на Mirage работают на Dust2 не работают, что делать?
 

Fast-Kill

Админ школьник проверяет мой ПК на читы!
Сообщения
991
Реакции
299
@Rimmer, Давно не работает на дасте нюке по-моему инферно, на стандартных картах
 
Сверху Снизу