Добро пожаловать в наше сообщество TopForo.ru

Станьте частью чего-то великого, присоединяйтесь сегодня!

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

Плагин АМХХ CS1.6 Achievements API

Нет прав для скачивания
Counter-Strike 1.6
Описание
API достижений позволяет создавать, удалять и настраивать собственный набор достижений. Достижения разделены на отдельные плагины и зарегистрированы в основном плагине, что позволяет полностью настраивать их. API не только обширен, но и позволяет сохранять данные с помощью SQLVault или NFVault.
Установка
Следуйте этим инструкциям:
  1. Скачайте и распакуйте файл achievement_api.zip, прикреплённый ниже, в папку amxmodx.
  2. При извлечении; скомпилируйте его локально.
  3. Установите плагин (переместите его из папки «compiled» в папку «plugins») и добавьте achievement_api.amxx в файл plugins.ini.

    ПРИМЕЧАНИЕ: плагин achievement_api.amxx ДОЛЖЕН располагаться поверх других плагинов achievement_*.amxx.

Код:
Expand Collapse Copy
achievement_api.amxx
achievement_addict.amxx
achievement_1337.amxx
achievement_motd.amxx ; (если вы хотите иметь возможность проверять свои достижения в MOTD)
Кастомизация

Следуйте приведенным ниже инструкциям, чтобы настроить API в соответствии с вашими потребностями.
Сохранение по умолчанию осуществляется с помощью NFVault.
Как уже говорилось, этот API позволяет сохранять данные с помощью SQL или Vault, поэтому, чтобы включить SQL и отключить Vault, например,
вам нужно открыть плагин в редакторе (например, в блокноте) и удалить комментарий из строки 3:​
Код://#define UseSQL // комментарий для использования nfvault (локальное сохранение)
Для:#define UseSQL// комментарий к использованию nfvault (локальное сохранение)
Чтобы удалить ChatColor; (для использования ChatColor требуется плагин ChatColor и прикреплённый файл include)
вам нужно открыть плагин в редакторе (например, в блокноте) и закомментировать строку 11:
Код:#define UseChatColor // комментарий для использования обычного текста чата без цветов)
Для://#define UseChatColor // комментарий для использования обычного текста чата без цветовЧтобы добавить сообщения CZTutor;
вам нужно открыть плагин в редакторе (например, в блокноте) и раскомментировать строку 16:
Код://#define UseCZTutor // комментарий для использования обучающих сообщений (работает только на CZ)
Для:#define UseCZTutor // комментарий для использования обучающих сообщений (работает только на CZ)

ПРИМЕЧАНИЕ: Сообщения CZTutor ТОЛЬКО работают при нулевом условии.
Сохраните и перекомпилируйте, и все готово!

Команды
Доступна только одна команда (и только в том случае, если установлен файл achievement_motd.amxx):
  • /achievements — показывает текущий прогресс в достижении целей в окне MOTD
Создание пользовательских достижений (API)
Руководство по API:
КАК: Создать пользовательское достижение (плюс фрагмент веб-статистики!)

С API очень легко работать. Давайте рассмотрим несколько встроенных функций и доступных расширений. Всего есть девять встроенных функций и одно расширение.

Уроженцы
Код:
Expand Collapse Copy
/*  * Registers an achievement  *   * @param Name - Achievement name  * @param Description - Description of objective to complete achievement  * @param SaveName - Save key that is used to set data  * @param MaxValue - Max value to complete achievement  *   * @return Pointer to achievement  */ native RegisterAchievement( const Name[ ], const Description[ ], const SaveName[ ], const MaxValue );
/*  * Sets the current achievement status  *   * @param Client - Index of player  * @param AchievementPointer - Pointer from the registration of the achievement  * @param Announce - Whether to announce achievement earned or not (default: true)  *   * @noreturn  */ native ClientAchievementCompleted( const Client, AchievementPointer, bool:Announce = true );
/*  * Gets the current achievement status  *   * @param AchievementPointer - Pointer from the registration of the achievement  * @param Objective - Client value to check whether its over max value or not  *   * @return Returns the current Status of achievement  *  * @note enum Status  * {  * _In_Progress = 0,  * _Unlocked  * };  */ native Status:GetClientAchievementStatus( AchievementPointer, Objective );
/*  * Returns the name of the achievement  *   * @param AchievementPointer - Pointer from the registration of the achievement  * @param Description - Name passed by reference  *   * @return Returns the name by reference (2nd param)  */ native GetAchievementName( AchievementPointer, Name[ ] );
/*  * Returns the description of the achievement  *   * @param AchievementPointer - Pointer from the registration of the achievement  * @param Description - Description passed by reference  *   * @return Returns the description by reference (2nd param)  */ native GetAchievementDesc( AchievementPointer, Description[ ] );
/*  * Returns the save key that is required to complete achievement  *   * @param AchievementPointer - Pointer from the registration of the achievement  * @param SaveKey - Key passed by reference  *   * @return Returns the save key by reference (2nd param)  */ native GetAchievementSaveKey( AchievementPointer, SaveKey[ ] );
/*  * Returns the max value that is required to complete achievement  *   * @param AchievementPointer - Pointer from the registration of the achievement  *   * @return Returns the max value that is required to complete achievement  */ native GetAchievementMaxValue( AchievementPointer );
/*  * Returns the total number of achievements client has completed  *   * @param Client - Index of player  *   * @return Returns the total number of achievements client has completed  */ native GetClientAchievementsCompleted( const Client );
/*  * Returns the total number of achievements  *   * @noparams  *   * @return Returns the total number of achievements  */ native GetMaxAchievements( );
/*  * Assign an integer value to Key in database/vault  *   * @param Key - Key to where to set data (mainly used as steamid)  * @param SaveName - Save name used in the init of an achievement (RegisterAchievement() param 4)  * @param Data - Integer value assigned to Key  *   * @noreturn  */ native SetAchievementData( const Key[ ], const SaveName[ ], Data );
/*  * Gets an integer value from database/vault  *   * @param Key - Key to where to look for data (mainly used as steamid)  * @param SaveName - Save name used in the init of an achievement (RegisterAchievement() param 4)  *   * @return Returns the value on success, 0 on failure to get data (and if there is no progress)  */ native GetAchievementData( const Key[ ], const SaveName[ ] );

Перенаправление
Код:
Expand Collapse Copy
/*  * Called when a player has recently earned an achievement  *   * @param AchiPointer - Pointer to achievement  * @param Client - Index of player  *   * @noreturn  *   */ forward Forward_ClientEarnedAchievement( const AchiPointer, const Client );
Все встроенные и дополнительные функции описаны в примере плагина и двух прикреплённых РАБОТАЮЩИХ достижениях (addict и 1337). Документация в файле achievement_api.inc.
Дополнительная функция в основном используется для выдачи дополнительных предметов (например, модели или опыта из вашего мода опыта — без ограничений, возможно всё!). Её необязательно включать в свой код.
Журнал изменений
Код:
Expand Collapse Copy
v0.0.4:
 * Изменены плагины: achievement_api.sma
 achievement_api.sma:
 ~ Исправлена ошибка сохранения в MySQL. SQLite по-прежнему работает, если это необходимо.
 - Удалены cvars api_sql_* (теперь API по умолчанию использует cvars amx_sql_*)

v0.0.3:
 * Изменены плагины: achievement_api.sma, achievement_api.inc
 * Новые плагины: achievement_motd.sma
 achievement_api.sma:
 ~ Исправлена проблема с некорректным вектором ячеек.
 + Добавлены две новые функции: GetAchievementName(), GetAchievementDesc()
 achievement_api.inc:
 + Функции

v0.0.2:
 * Изменены плагины: achievement_api.sma, achievement_addict.sma
 * Новые плагины: colorchat.sma и файл include chatcolor.inc (оба необходимы для colorchat; при желании их можно отключить)
 achievement_api.sma:
 - Убрана доступность CZTutor для CS 1.6, теперь работает только для CZ.
 - Убраны ресурсы.
 + Добавлен colorchat в качестве компенсации за удаление CZTutor.
 achievement_addict.sma:
 ~ Исправлена небольшая ошибка, связанная со временем подключения.
 
версия 0.0.1:
 - Начальный выпуск.
Автор
DetectorDevil
Скачивания
0
Просмотры
23
Первый выпуск
Обновление

Оценки

0,00 звёзд 0 оценок

Другие ресурсы пользователя DetectorDevil

Аналогичные ресурсы

CSSTATS SQL, FRESHBANS, GAMECMS API asliddin_
GameCMS CSSTATS, FRESHBANS, GAMECMS API Plugins by Asliddin
Скачивания
1
Обновлено
Назад
Назад
Сверху Снизу