ReHLDS/HLDS Kill Streak

Анатолий

Пользователь
Регистрация
8 Июн 2017
Сообщения
621
Симпатии
217
Пол
Мужской
VKcom
e1337ace
#1
Автор: AcE
Версия: 1.0
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. */
const Float:HUD_MSG_TIME = 5.0 /* Время показа сообщения. */
new const HUD_RGB[3] = {0, 255, 0} /* Цвет сообщения в формате R, G, B */
new const Float:HUD_X_Y[2] = {-1.0, 0.20} /* Позиция сообщения по оси X, Y */
 

Вложения

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

d3m37r4

Постоялец
Регистрация
8 Июн 2017
Сообщения
542
Симпатии
286
Пол
Мужской
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
Сообщения
621
Симпатии
217
Пол
Мужской
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
Сообщения
542
Симпатии
286
Пол
Мужской
VKcom
id109544387
Telegram
@dmitry_isakow
#4