[CS: GO] Оверлей "потрачено"

Статус
В этой теме нельзя размещать новые ответы.

etozheqq

Vertex | CS : GO
Сообщения
324
Реакции
72
Доброго времени суток.
Сможет ли кто нибудь сделать так, когда умирает игрок, примерно на секунды 3 экран становится серым и пишется "потрачено" с соответствующим звуком (как в гта 5)
 
  • Мне нравится
Реакции: All

Drumanid

Нестандартное звание
Меценат
Сообщения
1,839
Реакции
1,553
Делал что-то похожее год полтора назад. По моему игроки тогда не оценили...

 

Drumanid

Нестандартное звание
Меценат
Сообщения
1,839
Реакции
1,553
Исходник в студию , переделаем
Что вы хотите переделать ? :blind:
Исходника у меня нет, написать минут 10, если вы конечно же ответите мне на вопрос :blum:

Если коротко:

PHP:
#include <sdktools_stringtables>
#include <sdktools_sound>

#pragma semicolon 1
#pragma newdecls required

Handle hTimer[MAXPLAYERS +1];

#define dSound        "sound/wasted/wasted.mp3"            // Загрузка звука
#define wSound        "*/wasted/wasted.mp3"                // Кеширование и воспроизведение звука

#define dOverlayVtf    "materials/wasted/wasted.vtf"        // Загрузка vtf(сам оверлей)
#define dOverlayVmt    "materials/wasted/wasted.vmt"        // Загрузка vmt(настройки оверлей)
#define wOverlayVtf    "wasted/wasted.vtf"                    // Кеширование модели(оверлей)
#define wOverlayVmt    "wasted/wasted.vmt"                    // показать overlay игроку

#define TimeDel        3.0                                    // Время через которое оверлей исчезнет
#define Fade        1500                                // Время продолжительности подсветки экрана (сейчас 3 секунды, вроде как, наверное, не точно, эксперементируйте)

//laziness... char Buffer[64], FormatEx... != Explode optimization Lisoh, use #define;

public void OnPluginStart()
{
    HookEvent("player_death", PlayerDeath);
}

public void OnMapStart()
{
    AddFileToDownloadsTable(dSound);
    PrecacheSound(wSound, true);
   
    AddFileToDownloadsTable(dOverlayVtf);
    AddFileToDownloadsTable(dOverlayVmt);
    PrecacheDecal(wOverlayVtf, true);
}


public Action PlayerDeath(Event event, const char[] name, bool dbc)
{
    int iClient = GetClientOfUserId(event.GetInt("userid"));
   
    if(iClient)
    {
        EmitSoundToClient(iClient, wSound);
       
        ClientCommand(iClient, "r_screenoverlay %s", wOverlayVmt);
        hTimer[iClient] = CreateTimer(TimeDel, DelOverlay, GetClientUserId(iClient), TIMER_FLAG_NO_MAPCHANGE);
        PerformFade(iClient, Fade, {220, 220, 220, 150}); //PerformFade(клиент, продолжительность, {красный, зеленый, синий, прозрачность})
    }
}

public Action DelOverlay(Handle timer, any UserId)
{
    int iClient = GetClientOfUserId(UserId);
   
    if(iClient) ClientCommand(iClient, "r_screenoverlay 0");
   
    hTimer[iClient] = null;
    return Plugin_Stop;
}

public void OnClientDisconnect(int iClient)
{
    if((hTimer[iClient]) != null)
    {
        KillTimer(hTimer[iClient]);
        hTimer[iClient] = null;
    }
}

void PerformFade(int iClient, int Duration, const Color[4]) //http://hlmod.ru/threads/plagin-pri-ubijstve-sinij-ehkran.30024/
{   
    int Flags = 0x0001; Handle message = StartMessageOne("Fade", iClient);
    PbSetInt(message, "duration", Duration);
    PbSetInt(message, "hold_time", Fade);
    PbSetInt(message, "flags", Flags);
    PbSetColor(message, "clr", Color);
    EndMessage();
}

Оверлей сами сделаете.
 
Последнее редактирование модератором:

zloy911

zloygames.com
Сообщения
284
Реакции
21
@Lisoh, еще бы как опции при каких событиях показывать оверлей, допустим убийство ножем, подрыв гранатой, суицид.
 

Drumanid

Нестандартное звание
Меценат
Сообщения
1,839
Реакции
1,553
@Lisoh, еще бы как опции при каких событиях показывать оверлей, допустим убийство ножем, подрыв гранатой, суицид.

Постоянно? Это уже нужно немного иначе делать и с конфигурацией(для удобности), а я не люблю с этим возиться.
Оффтоп

Если же я вас не правильно понял, то есть такой плагин:
Ядро плагина - [Achievements] Core
И дополнение к нему: Модуль плагина - [Achievements] Overlays
Можете его использовать.

Продолжать дальше я не буду, создавайте заказ, может кто сделает.
Цена такого плагина не более чем 200 рублей.
 

Drumanid

Нестандартное звание
Меценат
Сообщения
1,839
Реакции
1,553
- Добавил и исправил звук.
Один вопрос к вам молодой человек, зачем добавили emitsoundany ?
Если звук и так должен работать нормально. Я не проверял, но уверен в этом на соточку. :acute:
 

-->KENT<--

На квартале
Сообщения
244
Реакции
44
Один вопрос к вам молодой человек, зачем добавили emitsoundany ?
Если звук и так должен работать нормально. Я не проверял, но уверен в этом на соточку. :acute:
Не, там ошибку выдавало в консоли, точно уже не помню какую.
 

will_rock

Участник
Сообщения
872
Реакции
260
- Добавил оверлеи (русский и английский)
- Добавил и исправил звук.
Спс за плагин. Но почему оверлей так много весит) 2.66 мб
--- Добавлено позже ---
лоол а bzip2 сжал его до 21 кб. Ватафак))))

1joOnaEkQJq8oAkrlGjaVQ.png

--- Добавлено позже ---
@-->KENT<--, еще сервак крашит ксс в34 см 1.7.3
 
Последнее редактирование:

etozheqq

Vertex | CS : GO
Сообщения
324
Реакции
72
Хотел бы еще узнать, можно ли сделать, что бы игрок мог вкл/выкл оверлей, некоторым людям нравится, некоторым нет, для таких и нужна данная функция, не нравится - отключил и все.
p.s желательно, что бы со старта был офф и уже при желание игрока, он ее включает.
Возможно сделать такое?
 

teran

Участник
Сообщения
207
Реакции
32
Хотел бы еще узнать, можно ли сделать, что бы игрок мог вкл/выкл оверлей, некоторым людям нравится, некоторым нет, для таких и нужна данная функция, не нравится - отключил и все.
p.s желательно, что бы со старта был офф и уже при желание игрока, он ее включает.
Возможно сделать такое?
Тот же самый вопрос
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху