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

TOP

Участник
Сообщения
23
Реакции
6
Пользователь TOP разместил новый ресурс:

[CS:GO/CS:S] Hitmarker - Hitmarker на ваш сервер!

HITMARKER 1.0
_____________________________

Плагин hitmarker для [CS:GO/CS:S].:yes3:
При попадание в противника показывается hit!(можно так сказать)
Собранный оригнал от iex - hitmarker.zip
[
]
Если что-то не работает писать мне в лс.
Отличные замены плагину!:blind:
  • Fortnite like damage showing ...

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

Palonez

бб братки
Сообщения
3,035
Реакции
1,837
Может кто подсказать, как сделать точно такой же хитмаркер как в видео?
 

Designed

Твой антибиотик
Сообщения
233
Реакции
107
Каким образом он пойдет на замену Show Damage ? Тут он разве отображает урон?
 

mika

Участник
Сообщения
1,069
Реакции
641
Его же можно выключать командой, допустим !hm ?
И может мне кажется, но звук такой противный, что мне пришлось видео без звука смотреть.
 

September

Участник
Сообщения
5,238
Реакции
2,742
  • Команда форума
  • #5
В очередной раз публикуешь чужой плагин под своим авторством:dash1:
 

Drumanid

Нестандартное звание
Сообщения
1,862
Реакции
1,748
Я реализовывал иначе:

PHP:
#include <sdktools_stringtables>

Handle g_hTimer[MAXPLAYERS +1];

#define TIMER 0.5 // Время через которое оверлей будет удален с экрана игрока
#define OVERLAY "hitmarker" // Путь к оверлею без 'materials/' и формата файла, тобишь 'vtf/vmt'
#define SOUND "hitmarker.mp3" // Путь к звуку без 'sound/'

public void OnPluginStart()
{
    HookEvent("player_hurt", PlayerHurt, EventHookMode_Pre);
}

public void OnMapStart()
{
    char sBuffer[256];
    FormatEx(sBuffer, sizeof(sBuffer), "materials/%s.vmt", OVERLAY);
    AddFileToDownloadsTable(sBuffer);

    FormatEx(sBuffer, sizeof(sBuffer), "materials/%s.vtf", OVERLAY);
    AddFileToDownloadsTable(sBuffer);

    FormatEx(sBuffer, sizeof(sBuffer), "%s.vtf", OVERLAY);
    PrecacheDecal(sBuffer, true);

    FormatEx(sBuffer, sizeof(sBuffer), "sound/%s", SOUND);
    AddFileToDownloadsTable(sBuffer);
    PrecacheSound(SOUND, true);
}

public void PlayerHurt(Event hEvent, const char[] sName, bool bDbc)
{
    //if(hEvent.GetInt("hitgroup") == 1)
    {
        int iUserId = hEvent.GetInt("attacker"), iClient = GetClientOfUserId(iUserId);
        ClientCommand(iClient, "play %s", SOUND)

        if(g_hTimer[iClient] == null)
        {
            ClientCommand(iClient, "r_screenoverlay %s.vmt", OVERLAY);
            g_hTimer[iClient] = CreateTimer(TIMER, TimerOverlayDelete, iUserId);
        }
    }
}

public Action TimerOverlayDelete(Handle hTimer, any iClient)
{
    iClient = GetClientOfUserId(iClient);
    if(IsClientInGame(iClient)) ClientCommand(iClient, "r_screenoverlay 0");

    g_hTimer[iClient] = null;
    return Plugin_Stop;
}

public void OnClientDisconnect(int iClient)
{
    if(g_hTimer[iClient])
    {
        KillTimer(g_hTimer[iClient]);
        g_hTimer[iClient] = null;
    }
}
 
Последнее редактирование:

Faya™

Жуестер
Сообщения
867
Реакции
457
Я реализовывал иначе:

PHP:
#include <sdktools_stringtables>

Handle g_hTimer[MAXPLAYERS +1];

#define TIMER 0.5 // Время через которое оверлей будет удален с экрана игрока
#define OVERLAY "hitmarker" // Путь к оверлею без 'materials/' и формата файла, тобишь 'vtf/vmt'
#define SOUND "hitmarker.mp3" // Путь к звуку без 'sound/'

public void OnPluginStart()
{
    HookEvent("player_hurt", PlayerHurt, EventHookMode_Pre);
}

public void OnMapStart()
{
    char sBuffer[256];
    FormatEx(sBuffer, sizeof(sBuffer), "materials/%s.vmt", OVERLAY);
    AddFileToDownloadsTable(sBuffer);

    FormatEx(sBuffer, sizeof(sBuffer), "materials/%s.vtf", OVERLAY);
    AddFileToDownloadsTable(sBuffer);

    FormatEx(sBuffer, sizeof(sBuffer), "%s.vtf", OVERLAY);
    PrecacheDecal(sBuffer, true);

    FormatEx(sBuffer, sizeof(sBuffer), "sound/%s", SOUND);
    AddFileToDownloadsTable(sBuffer);
    PrecacheSound(SOUND, true);
}

public void PlayerHurt(Event hEvent, const char[] sName, bool bDbc)
{
    //if(hEvent.GetInt("hitgroup") == 1)
    {
        int iUserId = hEvent.GetInt("attacker"), iClient = GetClientOfUserId(iUserId);
        ClientCommand(iClient, "play %s", SOUND)

        if(g_hTimer[iClient] == null)
        {
            ClientCommand(iClient, "r_screenoverlay %s.vmt", OVERLAY);
            g_hTimer[iClient] = CreateTimer(TIMER, TimerOverlayDelete, iUserId);
        }
    }
}

public Action TimerOverlayDelete(Handle hTimer, any iClient)
{
    iClient = GetClientOfUserId(iClient);
    if(iClient > 1 && IsClientInGame(iClient)) ClientCommand(iClient, "r_screenoverlay 0");

    g_hTimer[iClient] = null;
    return Plugin_Stop;
}

public void OnClientDisconnect(int iClient)
{
    if(g_hTimer[iClient])
    {
        KillTimer(g_hTimer[iClient]);
        g_hTimer[iClient] = null;
    }
}
Если не ошибаюсь, то через оверлей может отображать не точно, т.к у каждого человека свое разрешение экрана
 

Drumanid

Нестандартное звание
Сообщения
1,862
Реакции
1,748
Если не ошибаюсь, то через оверлей может отображать не точно, т.к у каждого человека свое разрешение экрана
Думаю что 'оверлей' слегка изменится (расширится, если разрешение широкое, такое как 1280x1024) но позиция останется прежней.
 

Drumanid

Нестандартное звание
Сообщения
1,862
Реакции
1,748
Нельзя кешить и ставить закачку на Configexecuted
У меня RES через OnConfigsExecuted работает, подгружает и кеширует музыку. Крашей нет на моих серверах, как и у тех кто купил плагин, не жаловались по крайне мере.
Я не знаю откуда пошел миф о том что сервера падают, если сделать через этот паблик.
 

Черная вдова

Участник
Сообщения
2,795
Реакции
670
У меня RES через OnConfigsExecuted работает, подгружает и кеширует музыку. Крашей нет на моих серверах, как и у тех кто купил плагин, не жаловались по крайне мере.
Я не знаю откуда пошел миф о том что сервера падают, если сделать через этот паблик.
У тебя крашит без sourcetv?
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,519
Реакции
4,979
@Drumanid, вообще-то индекс игрока начинается с 1, а не с 2
 

Drumanid

Нестандартное звание
Сообщения
1,862
Реакции
1,748
@Drumanid, вообще-то индекс игрока начинается с 1, а не с 2
Никогда не видел в CS:GO игрока с id - 1
Зачем, я просто спросил, что бы ты сделал выводы
:biggrin: Вопрос. Краш должен быть сразу или же через определенное время при смене карты?
 

Черная вдова

Участник
Сообщения
2,795
Реакции
670
Никогда не видел в CS:GO игрока с id - 1

:biggrin: Вопрос. Краш должен быть сразу или же через определенное время при смене карты?
Не знаю, у меня ни разу не крашило с этой проблемой, а первый игрок который подключается какой id имеет? Неужели 2
 

TOP

Участник
Сообщения
23
Реакции
6
Пользователь TOP обновил ресурс [CS:GO/CS:S] Hitmarker новой записью:

Обновление Hitmarker.

Обновление 1.1
_____________________________

Что изменилось?
  • Для начала sp полностью от iEx.
  • Добавлен звук hit.
  • Команда для вкл/выкл - sm_hm.
Установка
  1. Удалите прошлую версию если она есть.
  2. Папки addons,materials,sound закинуть на ваш сервер.
_____________________________

Узнать больше об этом обновлении...
 
Сверху Снизу