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

Round end overlay/Оверлей в конце раунда 1.2.3

Nekro

Терра инкогнита
Сообщения
4,025
Реакции
2,260
  • Автор ресурса
  • #1
Nekro добавил(а) новый ресурс:

Round end overlay/Оверлей в конце раунда - Оверлей в конце раунда

Оверлей в конце раунда это переделанный плагин основой которого является [ANY] Round end overlay - AlliedModders

Какие же отличия?

1. Новый синтаксис
2. Создаётся конфиг автоматически /cfg/sourcemod/overlay_end.cfg
Вам более не надо писать, что то в server.cfg, теперь у плагина есть свой отдельный конфиг
3. Был вырезан файл загрузок.
Теперь файлы не нужно прописывать в server.cfg, а потом ещё и в файле загрузок, достаточно...

Узнать больше об этом ресурсе...
 

N08I40K

Участник
Сообщения
32
Реакции
11
Overlay для кт не работает (overlay ктшников не отображался, поставил им overlay от терров и он отобразился)
 

Nekro

Терра инкогнита
Сообщения
4,025
Реакции
2,260
  • Автор ресурса
  • #3
Overlay для кт не работает (overlay ктшников не отображался, поставил им overlay от терров и он отобразился)
Выложен плагин, а не оверлеи. Перепроверьте пути, должны быть как на главной странице. А оверлеи можете любые другие поставить
 

Nekro

Терра инкогнита
Сообщения
4,025
Реакции
2,260
  • Автор ресурса
  • #5
Думал какая то проблема в настройке, но нет. На сервере не работал тоже за кт оверлей, сменил карту и всё нормально.. В связи с чем подобный баг не ясно.
 

MAMAC

Участник
Сообщения
60
Реакции
17
Any fix for ct skins?
I use default your settings
1608779439205.png

But plugin doesent request ct skin to be downloaded (so players doesent have ct skin in a game)

1608779461926.png



he download only T skins
 
Последнее редактирование модератором:

Nekro

Терра инкогнита
Сообщения
4,025
Реакции
2,260
  • Автор ресурса
  • #7
Nekro обновил(а) ресурс Round end overlay/Оверлей в конце раунда новой записью:

Исправление подгрузки оверлея за КТ

Исправление скачивания оверлея контр-террористов
Fix for downloading the counter-terrorist overlay

Узнать больше об этом обновлении...
Сообщения автоматически склеены:

@MAMAC, FiX
 

N08I40K

Участник
Сообщения
32
Реакции
11
Предатель detected!
59 сторка:
58        FormatEx(sBuffer_ct, sizeof(sBuffer_ct), "materials/%s.vmt", sOverlay_ct);
59        Downloader_AddFileToDownloadsTable(sOverlay_ct);
 
Последнее редактирование модератором:

Nekro

Терра инкогнита
Сообщения
4,025
Реакции
2,260
  • Автор ресурса
  • #9
@N08I40K, Что? Ошибку исправил
 

N08I40K

Участник
Сообщения
32
Реакции
11
C-подобный:
#pragma semicolon 1
#pragma newdecls required

#include <sdktools_stringtables>
#include <cstrike>

Handle
    hOverlay_t,
    hOverlay_ct;

char
    sOverlay_t[256],
    sOverlay_ct[256];
    
public Plugin myinfo =
{
    name = "Round end overlay",
    author = "dataviruset (rewritten by Nek.'a 2x2 | ggwp.site )",
    description = "Оверлей в конце раунда",
    version = "1.2",
    url = "http://www.sourcemod.net/"
};

public void OnPluginStart()
{
    hOverlay_t = CreateConVar("sm_roundend_overlay_t", "overlays/game77seven/t_win", "Оверлей победы террористов");
    GetConVarString(hOverlay_t, sOverlay_t, sizeof(sOverlay_t));
    HookConVarChange(hOverlay_t, OnConVarChangeOverlayT);
    
    hOverlay_ct = CreateConVar("sm_roundend_overlay_ct", "overlays/game77seven/ct_win", "Оверлей победы контр-террористов");
    GetConVarString(hOverlay_ct, sOverlay_ct, sizeof(sOverlay_ct));
    HookConVarChange(hOverlay_ct, OnConVarChangeOverlayCT);
    
    AutoExecConfig(true, "overlay_end");
    
    HookEvent("round_start", Event_RoundStart);
    HookEvent("round_end", Event_RoundEnd);
}

public void OnConVarChangeOverlayT(ConVar CVar, const char[] oldValue, const char[] newValue)
{
    if(hOverlay_t) strcopy(sOverlay_t, sizeof(sOverlay_t), newValue);
}

public void OnConVarChangeOverlayCT(ConVar CVar, const char[] oldValue, const char[] newValue)
{
    if(hOverlay_ct) strcopy(sOverlay_ct, sizeof(sOverlay_ct), newValue);
}

public void OnMapStart()
{
    char sBuffer_t[256], sBuffer_ct[256];
    
    Format(sBuffer_t, sizeof(sBuffer_t), "materials/%s.vmt", sOverlay_t);
    AddFileToDownloadsTable(sBuffer_t);
    
    Format(sBuffer_t, sizeof(sBuffer_t), "materials/%s.vtf", sOverlay_t);
    AddFileToDownloadsTable(sBuffer_t);


    FormatEx(sBuffer_ct, sizeof(sBuffer_ct), "materials/%s.vmt", sOverlay_ct);
    AddFileToDownloadsTable(sBuffer_ct);
    
    FormatEx(sBuffer_ct, sizeof(sBuffer_ct), "materials/%s.vtf", sOverlay_ct);
    AddFileToDownloadsTable(sBuffer_ct);
}
void ShowOverlayToAll(const char[] sOverlayPath)
{
    for(int iClient = 1; iClient <= MaxClients; iClient++)
    {
        if (IsClientInGame(iClient) && !IsFakeClient(iClient))
        {
            ShowOverlayToClient(iClient, sOverlayPath);
        }
    }
}

public void Event_RoundEnd(Handle event, const char[] name, bool dontBroadcast)
{
    int winner_team = GetEventInt(event, "winner");
    char sOverlayPath[PLATFORM_MAX_PATH];

    if (winner_team == CS_TEAM_T)
    {
        GetConVarString(hOverlay_t, sOverlayPath, sizeof(sOverlayPath));
        ShowOverlayToAll(sOverlayPath);
    }
    else if (winner_team == CS_TEAM_CT)
    {
        GetConVarString(hOverlay_ct, sOverlayPath, sizeof(sOverlayPath));
        ShowOverlayToAll(sOverlayPath);
    }
}

void ShowOverlayToClient(int client, const char[] sOverlayPath)
{
    ClientCommand(client, "r_screenoverlay \"%s\"", sOverlayPath);
}

public void Event_RoundStart(Handle event, const char[] name, bool dontBroadcast)
{
    ShowOverlayToAll("");
}
Сообщения автоматически склеены:

@N08I40K, Что? Ошибку исправил
сначала нашёл строку с ошибкой начал писать про неё и за минуту до отправки ты сделал обнову (ну а выше уже без этой ошибки и чтоб возможно было скомпилить я вырезал инклюд sourcedm)
 

Nekro

Терра инкогнита
Сообщения
4,025
Реакции
2,260
  • Автор ресурса
  • #11
C-подобный:
#pragma semicolon 1
#pragma newdecls required

#include <sdktools_stringtables>
#include <cstrike>

Handle
    hOverlay_t,
    hOverlay_ct;

char
    sOverlay_t[256],
    sOverlay_ct[256];
   
public Plugin myinfo =
{
    name = "Round end overlay",
    author = "dataviruset (rewritten by Nek.'a 2x2 | ggwp.site )",
    description = "Оверлей в конце раунда",
    version = "1.2",
    url = "http://www.sourcemod.net/"
};

public void OnPluginStart()
{
    hOverlay_t = CreateConVar("sm_roundend_overlay_t", "overlays/game77seven/t_win", "Оверлей победы террористов");
    GetConVarString(hOverlay_t, sOverlay_t, sizeof(sOverlay_t));
    HookConVarChange(hOverlay_t, OnConVarChangeOverlayT);
   
    hOverlay_ct = CreateConVar("sm_roundend_overlay_ct", "overlays/game77seven/ct_win", "Оверлей победы контр-террористов");
    GetConVarString(hOverlay_ct, sOverlay_ct, sizeof(sOverlay_ct));
    HookConVarChange(hOverlay_ct, OnConVarChangeOverlayCT);
   
    AutoExecConfig(true, "overlay_end");
   
    HookEvent("round_start", Event_RoundStart);
    HookEvent("round_end", Event_RoundEnd);
}

public void OnConVarChangeOverlayT(ConVar CVar, const char[] oldValue, const char[] newValue)
{
    if(hOverlay_t) strcopy(sOverlay_t, sizeof(sOverlay_t), newValue);
}

public void OnConVarChangeOverlayCT(ConVar CVar, const char[] oldValue, const char[] newValue)
{
    if(hOverlay_ct) strcopy(sOverlay_ct, sizeof(sOverlay_ct), newValue);
}

public void OnMapStart()
{
    char sBuffer_t[256], sBuffer_ct[256];
   
    Format(sBuffer_t, sizeof(sBuffer_t), "materials/%s.vmt", sOverlay_t);
    AddFileToDownloadsTable(sBuffer_t);
   
    Format(sBuffer_t, sizeof(sBuffer_t), "materials/%s.vtf", sOverlay_t);
    AddFileToDownloadsTable(sBuffer_t);


    FormatEx(sBuffer_ct, sizeof(sBuffer_ct), "materials/%s.vmt", sOverlay_ct);
    AddFileToDownloadsTable(sBuffer_ct);
   
    FormatEx(sBuffer_ct, sizeof(sBuffer_ct), "materials/%s.vtf", sOverlay_ct);
    AddFileToDownloadsTable(sBuffer_ct);
}
void ShowOverlayToAll(const char[] sOverlayPath)
{
    for(int iClient = 1; iClient <= MaxClients; iClient++)
    {
        if (IsClientInGame(iClient) && !IsFakeClient(iClient))
        {
            ShowOverlayToClient(iClient, sOverlayPath);
        }
    }
}

public void Event_RoundEnd(Handle event, const char[] name, bool dontBroadcast)
{
    int winner_team = GetEventInt(event, "winner");
    char sOverlayPath[PLATFORM_MAX_PATH];

    if (winner_team == CS_TEAM_T)
    {
        GetConVarString(hOverlay_t, sOverlayPath, sizeof(sOverlayPath));
        ShowOverlayToAll(sOverlayPath);
    }
    else if (winner_team == CS_TEAM_CT)
    {
        GetConVarString(hOverlay_ct, sOverlayPath, sizeof(sOverlayPath));
        ShowOverlayToAll(sOverlayPath);
    }
}

void ShowOverlayToClient(int client, const char[] sOverlayPath)
{
    ClientCommand(client, "r_screenoverlay \"%s\"", sOverlayPath);
}

public void Event_RoundStart(Handle event, const char[] name, bool dontBroadcast)
{
    ShowOverlayToAll("");
}
Сообщения автоматически склеены:


сначала нашёл строку с ошибкой начал писать про неё и за минуту до отправки ты сделал обнову (ну а выше уже без этой ошибки и чтоб возможно было скомпилить я вырезал инклюд sourcedm)
1. Инклюд этот в открытом доступе
2. Вы прекешь забыли
 

N08I40K

Участник
Сообщения
32
Реакции
11
1. Инклюд этот в открытом доступе
2. Вы прекешь забыли
1. Я это сделал чтобы не искать этот инклюд а сразу скомпилить (Мне так удобнее)
2. А какую именно функцию прекеша вызывать надо? подзабыл чтото
 

N08I40K

Участник
Сообщения
32
Реакции
11
1. Инклюд этот в открытом доступе
2. Вы прекешь забыли

C-подобный:
PrecacheModel
эммм, как бы PrecacheModel принимает только mdl файлы, нет?
В этом случае наверно будет лучше PrecacheDecal
P.S. У меня и без прекеша работает)
 

unique

Добрая душа
Сообщения
247
Реакции
34
Время отображение бы в конце раунда, к примеру первые 3 сек
 

xtxviper

Участник
Сообщения
132
Реакции
26
Плагин не компилится выдает ошибку, пути не заменяются
 
Сверху Снизу