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

Плагин АМХХ CMSStats MySQL 2.1.4

Нет прав для скачивания
C++:
Изменена структура БД для работы со строгим режимом вставки.
Если нет проблем с записью статистики, ничего обновлять не нужно.
Иначе, удалить содержимое базы и импортировать заново файл csstats.sql
C++:
1.17.2
    + добавлен форвард forward OnCmsStatsSwitchStatus(bool:bStatsEnable)
        * Вызывается при смене состояния статистики
        * @param bStatsEnable    Состояние учета статистики: true- статистика учитывается, false- не учитывается
  • Like
Реакции: D1m0n41k
C++:
1.17
    + добавлен натив native bool:cmsstats_stats_enable();
        Возвратит состояние учета статистики
        @return true, если статистика учитывается, false- если нет.
  • Like
Реакции: D1m0n41k
C++:
* фикс работы нативов
     native cmsstats_add_user_value(id, ident, any:value, bool:save = false)
     native cmsstats_set_user_value(id, ident, any:value, bool:save = false)

Все зависимые плагины необходимо перекомпилировать с новым инклудом
  • Like
Реакции: Modest
Фикс ошибки [AMXX] Run time error 25: parameter error
C++:
1.15
    - полностью убрана поддержка ARUltimate и других плагинов RBS
    - убрано автоматическое определение режимов CSDM и FFA из-за кривых хостингов и сторонних плагинов
    + добавлен натив
        *    Сброс статистики игроков
        *
        *    @param szAuth        Authid (STEAM) игрока или "all" для сброса статистики всех игроков
        *    @return                1- при удачном сбросе, иначе- 0
        *
        *    @note                При удачном сбросе вызывает форвард OnCmsStatsResetStats

        native cmsstats_reset_user_stats(const szAuth[]);
  • Like
Реакции: V1adJkee
C++:
// Включение / выключение учета статистики, 1- вкл(по-умолчанию), 0- выкл.
// Это не квар, это консольная команда! Т.е. получить значение ключа не получится, только включить или выключить через консоль или конфиг.
cmsstats_enable "1"
Добавлен натив

C++:
/**    Получение данных о дополнительной статистики
*   
*    @param iSize               Размер массива зарегистрированной дополнительной статистики
*
*    @return                   Дескриптор Array:массива дополнительной статистики, Invalid_Array в случае неудачи
*/
native Array:cmsstats_get_extra_data_handle(&iSize);
C++:
1.13
    * убран модуль fakemeta
    + добавлены нативы для добавления дополнительной статистики, например для записи статистики игрового мода

        Создание пункта (идентификатора) дополнительной статистики
        *    @param szColumnName        Название нового столбца в БД статистики
        *    @return                   Индекс в массиве дополнительной статистики, -1 в случае неудачи
        *
        *    @note                    Создается стобец в базе данных статистики типа INT(11)

        native cmsstats_create_extra_data(szColumnName[]);


        *    Получение значения пункта дополнительной статистики
        *  
        *    @param iClient           Индекс игрока
        *    @param iDataIndex          Индекс идентификатора дополнительной статистики, полученный при его создании
        *    @param szColumnName        Название идентификатора дополнительной статистики
        *
        *    @return                   Значение пункта дополнительной статистики

        native cmsstats_get_extra_data(iClient, iDataIndex = -1, szColumnName[] = "");


        Добавление значения к пункту дополнительной статистики
        *  
        *    @param iClient           Индекс игрока
        *    @param iDataIndex          Индекс идентификатора дополнительной статистики, полученный при его создании
        *    @param iValue            Целочисленное значение для добавления (убавления, при отрицательном значении)
        *    @param szColumnName        Название идентификатора дополнительной статистики
        *
        *    @return                   Новое значение пункта дополнительной статистики с учетом добавленного значения

        native cmsstats_add_extra_data(iClient, iDataIndex = -1, iValue, szColumnName[] = "");

Пример использования новых нативов:

C++:
#include <amxmodx>
#include <cmsstats_mysql>

enum _:ExtraData
{
    infected,
    infecting
}

new const szExtraDataName[][]=
{
    "infected",
    "infecting",
}
new g_iExtraDataIndex[ExtraData];

public OnCmsStatsInitializedPost(Handle:Tuple)
{
    //создание пунктов дополнительной статистики (столбцы в БД, которые будем читать/ записывать)
    g_iExtraDataIndex[infected] = cmsstats_create_extra_data(szExtraDataName[infected]);
    g_iExtraDataIndex[infecting] = cmsstats_create_extra_data(szExtraDataName[infecting]);
}

//событие инфицирования, например, в моде BioHazard
public event_infect(victim, attacker)
{
    //установка значения инфицирования киллеру по индексу идентификатора, полученноги при создании (cmsstats_create_extra_data(szExtraDataName[infecting]))
    cmsstats_add_extra_data(attacker, g_iExtraDataIndex[infecting], 1);
   
    //установка значения инфицирования жертве по имени идентификатора (столбца в таблице)
    cmsstats_add_extra_data(victim, _, 1, "infected");
    //или
    //cmsstats_add_extra_data(victim, _, 1, szExtraDataName[infected]);
}
  • Like
Реакции: JustGamer
C++:
1.12

+ добавлен квар на случай, если плагин не сможет самостоятельно определить режим игры (если установлены модифицированные плагины режимов)
cmsstats_csdm_status "0"
* 0 - обычный режим игры
* 1 - режим игры CSDM
* 2 - режим игры CSDM Free For All
Назад
Сверху