Toggle Menu
Правила Размещение ресурсов Правила Размещение ресурсов
Пожертвования Пожертвования
Мы Вконтакте Мы Вконтакте
Иконка ресурса

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

DetectorDevil
Бесплатные Есть обсуждение
Скачивания1
Просмотры62
Оценки0 (0)
Обновление
Нет прав для скачивания
Быстрые действия
Оставить оценку
Условия скачивания Дневной лимит скачиваний исчерпан Подробнее об условиях
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:
 - Начальный выпуск.
  • Нравится
Реакции: YungWasty
Следующий ресурс Blackjack Иконка ресурса

Похожие ресурсы

view_all
Achievements API
Нет прав для скачивания
online
Темы 1.153
Сообщения 1.567
Пользователи 833
Новый пользователь
Назад
Верх Низ