• Гость, перед открытием темы прочитай описание раздела, чтобы не ошибиться. Любые вопросы по настройке сервера создаются в разделе Технической Поддержки.
ResetScore [ReAPI]

ReAPI ResetScore [ReAPI] 1.0

Нет прав для скачивания
C++:
#include <amxmodx>

// - - - - - - - - - - - - - - - - - - - - КАСТОМИЗАЦИЯ ПЛАГИНА - - - - - - - - - - - - - - -
// Для отключения функции закомментируйте строку: В начале строки перед #define добавьте //
#define USE_REAPI         // Использовать модуль ReAPI & ReGameDLL_CS? (Если отключить, будет использован модуль fakemeta)
#define HIDE_CHAT_MSG     // Скрывать сообщение в чат, когда игрок пишет "/rs"
#define INFO_TEXT         // Показывать оповещение игроку в чат при обнулении счёта
#define RS_CHAT_MSG "^4[RS] ^3Ваш счёт обнулен"         // Текст сообщения при обнулении счёта
// - - - - - - - - - - - - - - - - - - - -  - - - - - - - - - - - - - - - - - - - - (Конец кастомизации)

#if defined USE_REAPI
    #include <reapi>
#else
    #include <fakemeta>
    const PDATA_SAFE = 2
    const OFFSET_CSDEATHS = 444
    const OFFSET_LINUX = 5 // offsets 5 higher in Linux builds
#endif

// - - - - - - - - - - - - - - - - - - - - //

public plugin_init()
{
    register_plugin("ResetScore", "1.0", "Leo_[BH]");

    register_clcmd("say /rs", "reset_score");
    register_clcmd("say_team /rs", "reset_score");
    register_clcmd("say /resetscore", "reset_score");
    register_clcmd("say_team /resetscore", "reset_score");
}

public reset_score(id)
{
    if(!is_user_connected(id)) return PLUGIN_CONTINUE;
   
    // - - - - - - - - -
    func_reset_score(id)
    // - - - - - - - - -
   
    #if defined INFO_TEXT
    text_reset_score(id)
    #endif
   
    // - - - - - - - - -
   
    #if defined HIDE_CHAT_MSG
    return PLUGIN_HANDLED;
    #else
    return PLUGIN_CONTINUE;
    #endif
}

// Функция обнуления счёта
public func_reset_score(id)
{
    #if defined USE_REAPI
    set_entvar(id, var_frags, 0.0);
    set_member(id, m_iDeaths, 0);
    #else
    set_pev(id, pev_frags, 0.0)
    fm_cs_set_user_deaths(id, 0)
    #endif
   
    message_begin(MSG_BROADCAST, 85);
    write_byte(id);
    write_short(0);
    write_short(0);
    write_short(0);
    write_short(0);
    message_end();
}

stock fm_cs_set_user_deaths(id, value)
{
    if (pev_valid(id) != PDATA_SAFE)
        return;
   
    set_pdata_int(id, OFFSET_CSDEATHS, value, OFFSET_LINUX)
}

#if defined INFO_TEXT
public text_reset_score(id)
    ChatColorOne(id, RS_CHAT_MSG);

stock ChatColorOne(const id, const szMessage[], any:...)
{
    static szMsg[191], IdMsg;
    vformat(szMsg, charsmax(szMsg), szMessage, 3);
    if(!IdMsg) IdMsg = get_user_msgid("SayText");
    if(!is_user_connected(id)) return 0;  
    message_begin(MSG_ONE_UNRELIABLE, IdMsg, .player = id);
    write_byte(id);
    write_string(szMsg);
    message_end();
    return 1;
}
#endif
Сверху