Перейти к содержанию

Рекомендуемые сообщения

  • Администратор

Данный код позволяет при пленте бомбы приседать, как в CS:GO, но в CS:S.

Список изменений:

Версия 3:
 - Bacardi добавил проверку round_end в плагин, на случай закладки бомбы в конце раунда
Версия 2:
 - Bacardi создал основу стабильного плагина
Версия 1:
 - Оригинальный код с известной ошибкой, где террорист после заминирования бомбы очень быстро бегает на корточках
  • Версия 1:
Версия 1
#include <sourcemod>
#include <sdktools>
#include <sdkhooks>

bool g_bPlanting[MAXPLAYERS+1] = {false, ...};

public void OnPluginStart()
{
    HookEvent("bomb_beginplant", Event_BeginPlant, EventHookMode_Pre);
    HookEvent("bomb_abortplant", Event_Abort);
    HookEvent("bomb_planted", Event_Abort);
    HookEvent("player_death", Event_Abort);
}

public void OnClientPutInServer(int client)
{
    g_bPlanting[client] = false;
    SDKHook(client, SDKHook_PreThink, PreThink);
}

public Action PreThink(int client)
{
    if(!IsPlayerAlive(client))
    {
        return;
    }
    if(!g_bPlanting[client])
    {
        return;
    }
    if(GetEntProp(client, Prop_Send, "m_bDucking") != 1)
        SetEntProp(client, Prop_Send, "m_bDucking", 1);
    if(!(GetEntityFlags(client) & FL_DUCKING))
        SetEntityFlags(client, GetEntityFlags(client)|FL_DUCKING);
}

public Action OnPlayerRunCmd(int iClient, int &iButtons, int &iImpulse, float Velocity[3], float fAngles[3], int &iWeapon)
{
    if(!IsPlayerAlive(iClient))
    {
        return Plugin_Continue;
    }
    if(!g_bPlanting[iClient])
    {
        return Plugin_Continue;
    }
    iButtons |= IN_DUCK;
    return Plugin_Changed;
} 

public Action Event_BeginPlant(Event ev, const char[] name, bool dbc)
{
    int client = GetClientOfUserId(ev.GetInt("userid"));
    
    g_bPlanting[client] = true;
}

public Action Event_Abort(Event ev, const char[] name, bool dbc)
{
    int client = GetClientOfUserId(ev.GetInt("userid"));
    
    g_bPlanting[client] = false;
    SetEntProp(client, Prop_Send, "m_bDucking", 0);
    SetEntityFlags(client, GetEntityFlags(client) & ~FL_DUCKING);
} 

Но вся беда в том, что плагин функционирует, но с ошибками.

Во первых, после плента террорист может бегать на корточках, это очень большой абьюз. Моделька становится ниже и быстрее, хитбокс тоже становится ниже и быстрее. Кто то может это исправить?

Изменено пользователем Райан
Добавил ссылку на версию 3 и список изменений. (смотреть историю редактирования)
Ссылка на комментарий
Поделиться на другие сайты
  • Ветеран

ахах, я видел это на другом серве. Это реально пугает, когда на тебя на кортах выползает этот скример. И больше желания бежать, чем стрелять

Ссылка на комментарий
Поделиться на другие сайты
12 часов назад, Valsorya сказал:

Это реально пугает, когда на тебя на кортах выползает этот скример. И больше желания бежать, чем стрелять

Ну выглядит это довольно весело. Кстати, при компиляции есть 4 предупреждения.

Ссылка на комментарий
Поделиться на другие сайты
  • Администратор

Вот Bacardi выложил вроде бы стабильную версию, я ее проверял, вроде подобных ошибок, из предыдущего кода не наблюдал.

Само собой я надеюсь на обратную связь в случае каких то странностей, связанных с приседанием.

Спойлер

Тему перемещаю из раздела Скриптинг в раздел с плагинами.

 

DuckPlantC4.smx DuckPlantC4.sp

Ссылка на комментарий
Поделиться на другие сайты
  • Администратор
14 часов назад, Райан сказал:

Вот Bacardi выложил вроде бы стабильную версию, я ее проверял, вроде подобных ошибок, из предыдущего кода не наблюдал.

Ну после общего тестирования обнаружилась ошибка, о которой я сообщу автору кода если уже не сообщили.

Если игрок начнет ставить бомбу в конце раунда, и не успеет ее поставить до следующего раунда, то в следующем раунде игрок будет двигаться очень медленно.

За репорт спасибо @CHIKI_BRIKI, @Fredd1e и @GAMADA

Ссылка на комментарий
Поделиться на другие сайты
  • Администратор

Плагин обновлен, добавлена проверка round_end.

Пожалуйста, не забудьте сообщить о проблемах связанных с этим плагином в этой теме.

DuckPlantC4.smx DuckPlantC4.sp

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
×
×
  • Создать...