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

Modern Event Hooks 1.0.8

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

Список добавляемых параметров плагином и событий вы сможете найти в архиве в файле resource/modevents.res, где
#Modern - это параметр , а
#ModernEvent - событие.
Код:
Expand Collapse Copy
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);
    }
}
Код:
Expand Collapse Copy
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% анти-флеш.
    }
}
Код:
Expand Collapse Copy
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"));
}
Требования
SourceMod 1.8 или 1.9 (stable-версия)
Установка
1) Распакуйте содержимое архива в ftp сервера, кроме файла modevents_modern_list.res
2) Перезапустите сервер или смените карту.
Автор
hirowatch
Скачивания
0
Просмотры
253
Первый выпуск
Обновление

Оценки

0.00 звёзд 0 оценок
Назад
Сверху Снизу