Добро пожаловать в Форум администраторов игровых серверов

Присоединяйтесь к нам сейчас, чтобы получить доступ ко всем нашим функциям. Зарегистрировавшись и войдя в систему, вы сможете создавать темы, публиковать ответы на существующие темы, создавать репутацию, получать собственный личный опыт и многое другое. Это также быстро и совершенно бесплатно, так чего же вы ждете?
Иконка ресурса

Modern Event Hooks 1.0.8

Нет прав для скачивания
Поддерживаемые игры
  1. CS:Source
[CS:S] Modern Event Hooks - это плагин для игры Counter-Strike: Source, который добавляет дополнительные статичные события (HookEvent) и параметры к ним из игры CS:GO. Данный плагин упростит разработчикам CS:S плагинов получение тех или иных вещей через события.

Список добавляемых параметров плагином и событий вы сможете найти в архиве в файле resource/modevents.res, где
#Modern - это параметр , а
#ModernEvent - событие.

C-подобный:
public void OnPluginStart()
{
    // Хукаем смерть игрока.
    HookEvent("player_death", Event_Death);
}

void Event_Death(Event hEvent, char[] sName, bool bDontBroadcast)
{
    int iUserAssister = hEvent.GetInt("assister"),                  // Получаем UserID ассистера.
        iAttacker = GetClientOfUserId(hEvent.GetInt("attacker")),   // Истинный убийца (EntityID).
        iClient = GetClientOfUserId(hEvent.GetInt("userid"));       // Жертва (EntityID).

    // Если iUserAssister != 0, т.е. ассистер есть - выполняем следущий код:
    if(iUserAssister)
    {
        int iAssister = GetClientOfUserId(iUserAssister);           // Ассистер (EntityID).

        // Если ассистер ещё и ослеплял световой жертву:
        if(hEvent.GetBool("assistedflash"))
        {
            PrintToChat(iAssister, "[Assister] Вы помогли %N ослепить и убить игрока %N", iAttacker, iClient);
        }
        else    // Иначе
        {
            PrintToChat(iAssister, "[Assister] Вы помогли %N убить игрока %N", iAttacker, iClient);
        }
    }

    // Получаем через сколько приград (стен) прошла пуля до жертвы.
    int iPenetrateds = hEvent.GetBool("penetrated");

    // Если больше нуля, то:
    if(iPenetrateds)
    {
        PrintToChat(iAttacker, "[Penetrated] Вы убили прострелом игрока %N через %d стен.", iClient, iPenetrateds);
    }
}
C-подобный:
public void OnPluginStart()
{
    HookEvent("player_blind", Event_OnFlashPlayer);
}

void Event_OnFlashPlayer(Event hEvent, char[] sName, bool bDontBroadcast)
{
    int iUserAttacker = hEvent.GetInt("attacker"),
        iUserClient = hEvent.GetInt("userid");

    // Если ослепили сами себя
    if(iUserAttacker == iUserClient)
    {
        SetEntDataFloat(GetClientOfUserId(iUserClient), hEvent.GetInt("flashoffset"), hEvent.GetFloat("blind_duration")*0.5); // 50% анти-флеш.
    //  SetEntDataFloat(GetClientOfUserId(iUserClient), hEvent.GetInt("flashoffset"), 0.0); // 100% анти-флеш.
    }
}
C-подобный:
public void OnPluginStart()
{
    HookEvent("hegrenade_detonate", Event_Grenade);
    HookEvent("flashbang_detonate", Event_Grenade);
    HookEvent("smokegrenade_detonate", Event_Grenade);
    HookEvent("smokegrenade_expired", Event_Grenade);
}

void Event_Grenade(Event hEvent, char[] sName, bool bDontBroadcast)
{
    LogMessage("\n%s: \nOwner - %N \nEntity - %d \nx - %.3f \ny - %.3f \nz - %.3f", sName, GetClientOfUserId(hEvent.GetInt("userid")), hEvent.GetInt("entityid"), hEvent.GetFloat("x"), hEvent.GetFloat("y"), hEvent.GetFloat("z"));
}
Требования
Установка
  • Файлы из папки перекинуть на сервер
  • Перезапустить сервер
Автор
xyligan
Скачивания
2
Просмотры
44
Первый выпуск
Обновление
Рейтинг
0,00 звёзд Оценок: 0

Другие ресурсы пользователя xyligan

shape1
shape2
shape3
shape4
shape7
shape8
Верх