ReHLDS/HLDS Kill Streak

Анатолий

Пользователь
Регистрация
8 Июн 2017
Сообщения
636
Симпатии
226
Пол
Мужской
VKcom
e1337ace
#1
Автор: Vaqtincha, d3m37r4, AcE
Версия: 1.1
1.png
2.png
3.png
4.png

Описание:
  • Плагин при убийстве противника проигрывает звуки и выводит сообщение на экран.
  • Доступные команды: say /killmenu, say_team /killmenu - Меню с настройками для игрока.
  • В архиве 2 версии: REAPI и HLDS
Список звуков:
Код:
Headshot
First blood
Double kill
Triple kill
Multi kill
Mega kill
Ultra kill
Monster kill
Killing spree
Wicked sick
Rampage
Ludacriss kill
Godlike
Holy shit

Настройки:
C++:
//#define FFA_MODE /* Поддержка CSDM FFA. */
#define HUD_MSG_TIME 5.0 /* Время показа сообщения. */
#define HUD_RGB 0, 255, 0 /* Цвет сообщения в формате R, G, B */
#define HUD_X_Y -1.0, 0.20 /* Позиция сообщения по оси X, Y */
#define KILLSTREAK_TIME 10.0 /* Интервал для серии убийств */
 

Вложения

Последнее редактирование: Анатолий

d3m37r4

Постоялец
Регистрация
8 Июн 2017
Сообщения
565
Симпатии
304
Пол
Мужской
VKcom
id109544387
Telegram
@dmitry_isakow
#2
Анатолий, достаточно в putinserver выставлять нужное значение.
C++:
public client_putinserver(id)
{
    g_SndSwitch[id] = true
    g_MsgSwitch[id] = true
}

public client_disconnected(id)
{
    g_SndSwitch[id] = false
    g_MsgSwitch[id] = false
}
const FFA_MODE = 0 /* Поддержка CSDM FFA. (1 - Вкл / 0 - Выкл) */ если реапи юзаешь, это можно и без константы проверять, конечно, если там ксдм не гавно от крутого скриптера, или на худой конец сделать макросом, мы же за оптимизации вроде.
new keys = MENU_KEY_0|MENU_KEY_1|MENU_KEY_2, bool:g_FirstKill, а чо не константа?
new menu[501] оптимизации чи шо?
len = 0 оно и так нулю при создании равно, вроде как.

Што? а зачем проверка m_bCompleteReset ?
C++:
    if (get_member_game(m_bCompleteReset))
            g_FirstKill = false
    g_FirstKill = false
Раздвоение личности
Код:
    RegisterHookChain(RG_CSGameRules_DeathNotice, "CSGameRules_DeathNotice", true)
    RegisterHookChain(RG_CSGameRules_RestartRound, "CSGameRules_RestartRound_Pre", 0)
onoff[2][] = {{"\rВыкл"}, {"\yВкл"}} а чего не статик?
А тут чота статик:
C++:
static const KILLSTREAK_MESSAGE[][] =
    {
        "", "Double-Kill!", "Triple-Kill!", "Multi-Kill!", "Mega-Kill!",
        "Ultra-Kill!", "Monster-Kill!", "Killing Spree!", "Wicked Sick!",
        "Rampage!", "Ludacriss-Kill", "Godlike!", "Holy Shit!"
    }
А так низя?
C++:
formatex(menu, charsmax(menu), "\r[\yKill Streak\r] \wМеню^n\
    \r1. \wЗвуки убийств: %s^n\
    \r2. \wХуд сообщения: %s^n\
    \r0. \wВыход"
    , onoff[g_SndSwitch[id]], onoff[g_MsgSwitch[id]]
);
client_cmd(id, "spk buttons/lightswitch2") лень заюзать сток с мессагой send audio? вдруг у игрока крутой протехтар?

Сильно круто
C++:
    if (!is_user_valid(killer) || !is_user_valid(victim) || killer == victim) return
    if (!FFA_MODE && (get_member(killer, m_iTeam) == get_member(victim, m_iTeam))) return
Чем срать игроку пустими dhud-мессагами перед отправлением своей:
C++:
stock clear_dhudmessage(index, g_clear = 8)
{
    for (new dhudmsg = 0; dhudmsg < g_clear; dhudmsg ++)
        show_dhudmessage(index, "")
}
Мб обычный худ и ShowSyncHudMsg использовать? Там кстати в амыксе и для твоего способа "очистки" канала натива есть ClearSyncHud, держу в курсе.
И почему нельзя, используя макросы, сделать версию реапи и не реапи в одном sma-файлике? в таком мелком плагине это не проблематично и меньше мороки с "версиями".
 
Последнее редактирование: d3m37r4

Анатолий

Пользователь
Регистрация
8 Июн 2017
Сообщения
636
Симпатии
226
Пол
Мужской
VKcom
e1337ace
#3
client_cmd(id, "spk buttons/lightswitch2") лень заюзать сток с мессагой send audio? вдруг у игрока крутой протехтар?
Такое канает? будет работать? если у игрока крутой протехтар)
C++:
SendAudio(client, "sound/buttons/lightswitch2.wav", PITCH_NORM)

stock SendAudio(client, audio[], pitch)
{
    message_begin(client ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, g_SendAudio, _, client)
    write_byte(client)
    write_string(audio)
    write_short(pitch)
    message_end()
}
16 Сен 2019
RegisterHookChain(RG_CSGameRules_RestartRound, "CSGameRules_RestartRound_Pre", 0)
Это же вроде замена или нее?
register_event("HLTV", "EventStartRound", "a", "1=0", "2=0")
register_event("TextMsg", "EventRestartRound", "a", "2=#Game_Commencing", "2=#Game_will_restart_in")
 

d3m37r4

Постоялец
Регистрация
8 Июн 2017
Сообщения
565
Симпатии
304
Пол
Мужской
VKcom
id109544387
Telegram
@dmitry_isakow
#4

iOS

Пользователь
Регистрация
9 Июн 2017
Сообщения
379
Симпатии
62
Пол
Мужской
#6
Не хватает сохранения настроек при помощи nvault :)
 

iOS

Пользователь
Регистрация
9 Июн 2017
Сообщения
379
Симпатии
62
Пол
Мужской
#9
Интересное заявление. Хотелось бы услышать объяснение.
Или это шутка которую я не понял?
Тоже интересно, мне казалось он больше всего подходит под такие цели.
 

AYK

Пользователь
Регистрация
11 Июл 2017
Сообщения
3
Симпатии
0
Пол
Мужской
#11
d3m37r4, так ты объяснишь чем и почему nVault плох?
 

d3m37r4

Постоялец
Регистрация
8 Июн 2017
Сообщения
565
Симпатии
304
Пол
Мужской
VKcom
id109544387
Telegram
@dmitry_isakow
#12
AYK, выше же написал, что это мое утверждение, которое не должно было быть опубликовано. Не призываю никого отказываться от такого типа хранения.
 

Анатолий

Пользователь
Регистрация
8 Июн 2017
Сообщения
636
Симпатии
226
Пол
Мужской
VKcom
e1337ace
#13
### Обновлен первый пост ###
  • Добавлен квар #define KILLSTREAK_TIME 10.0 /* Интервал для серии убийств */
  • Добавлен в прикэш звук openmenu.wav /* Звук при открытии меню / Переключатель кнопок в меню */
  • Убран лимит на звуки и сообщения. /* Можно добавлять свои звуки и сообщения в KILLSTREAK_SOUND и KILLSTREAK_MESSAGE */