#if defined _gamecms_achievs_included
#endinput
#endif
#define _gamecms_achievs_included
#if !defined MAX_AUTHID_LENGTH
const MAX_AUTHID_LENGTH = 64;
#endif
#if !defined MAX_PLAYERS
const MAX_PLAYERS = 32;
#endif
#if !defined MAX_NAME_LENGTH
const MAX_NAME_LENGTH = 32;
#endif
#define DUPLICATE_ENTRY 1062
//#define MAX_QUERY_LARGE_LEN 3500
//#define MAX_QUERY_SMALL_LEN 512
#if AMXX_VERSION_NUM == 182
#define client_disconnected client_disconnect
#include <colorchat>
#if !defined MaxClients;
stock MaxClients;
#endif
#define DMG_GRENADE (1<<24)
#else
#define client_disconnect client_disconnected
#endif
#define OFFSET_TEAM 114
#define OFFSET_WEAPON 4
#define PDATA_SAFE 2
#define m_iTeam 114
#define m_LastHitGroup 75
#define m_bitsDamageType 76
#define is_valid_player(%1) (1 <= %1 <= MaxClients)
enum _:eAchievedStatus
{
AchStatusNone, //ошибка получения статуса (нет ачивки, нет игрока и т.п.)
AchStatusInProgress, //в процессе
AchStatusCompleted, //завершено
AchStatusJustCompleted //только что завершено
}
/**
* Получение данных о достижении по его уникальному номеру
*
* @idKey - уникальный номер достижения
* @RusName[] - название достижения на русском
* @nameLen - размер буфера для записи названия
* @Avatar[] - название (имя файла) картинки (аватара)
* @avaLen - размер буфера для записи названия аватара
* @return Возвратит количество действий, необходимое для открытия достижения
*/
native CmsGetAchiveInfoByKey(idKey, RusName[], nameLen, Avatar[], avaLen);
/**
* Активация достижения по его уникальному номеру при загрузке плагина
*
* @idKey - уникальный номер достижения
* @return 1 - при успешной активации для дальнейших действий с достижением, 0 - ошибка активации
*/
native CmsActivateAchive(idKey);
/**
* Получение данных о достижении игрока по его уникальному номеру
*
* @iClient - индекс игрока
* @idKey - уникальный номер достижения
* @currValue - текущее значение (количество действий)
* @maxValue - значение, необходимое для открытия достижения (количество действий)
* @return Возвратит статус достижения eAchievedStatus
*/
native CmsGetPlayerAchive(plId, idKey, &currValue = 0, &maxValue = 0);
/**
* Запись текущего действия в общий счетчик действий достижения игрока по его уникальному номеру
*
* @iClient - индекс игрока
* @idKey - уникальный номер достижения
* @addValue - значение для записи (количество действий). Если значение не указано, будет текущее значение + 1
* @silentComplete - true - при открытии достижения не будет оповещений в чат игрокам, false - оповестит всех игроков об открытии достижения
* @return Возвратит статус достижения eAchievedStatus
*/
native CmsCheckPlayerAchive(iClient, idKey, addValue = 1, bool:silentComplete = false); //проверка ачивки
/**
* Выполняется при открытии игроком очередного достижения
*
* @iClient - индекс игрока
* @idKey - уникальный номер достижения
* @noreturn
*/
forward OnAchievesCompleted(iClient, idKey)
/**
* Выполняется в процессе выполнения достижения.
* Означает выполнение (событие) определенного действия, например, убийства противника.
*
* @iClient - индекс игрока
* @idKey - уникальный номер достижения
* @idKey - количество добавленных событий
* @noreturn
*/
forward OnAchievesProgress(iClient, idKey, iVal)
This documentation was generated automatically using pawn-docgen written by xPaw for AlliedMods.