Версия нашего основного плагина и плагина, отвечающего за смену карты, для пабликов (без исходников).
Список карт сервера нужно назвать
maps.txt и поместить в папку
cstrike.
Как хранятся данные:
1) настройки игроков сохраняются в виде текстовых файлов в папке
\cstrike\addons\amxmodx\data\settings. Если хотите сохранять настройки в базе данных, то сохранение в файлы можно отключить кваром
kz_txt_settings 0 (просто допишите его в
\cstrike\addons\amxmodx\configs\amxx.cfg).
2) топ15 (до 200 рекордов) сохраняется в файлах с точно такими же именами и в том же формате, как в ProKreedz (
pro_mapname.cfg и
Noob_mapname.cfg в папке
\cstrike\addons\amxmodx\data\kz\top15). Отключить сохранение в файлы можно кваром
kz_txt_top 0. Все прохождения с оружием сохраняются в тот же файл, что и с usp/ножом.
3) savepos сохраняются в текстовые файлы в папке
\cstrike\addons\amxmodx\data\savepos. Отключить сохранение в файлы можно кваром
kz_txt_savepos 0.
Для работы с базой данных можно воспользоваться API в виде следующих форвардов (id - идентификатор игрока):
fwSettings(id, szBuffer[]) - форвард зарегистрирован в основном плагине, передаёт сроку с настройками. У себя в плагине вызовите эту функцию и сохраните строку с базу данных по SteamID игрока.
fwLoadSettings(id, szBuffer[]) - эту функцию вызывает основной плагин, вам же нужно зарегистрировать у себя форвард, который при заходе игрока на сервер передаст ей строку с настройками игрока.
fwTopRecord(id, iTime, szWeapon[], iCp, iGc) - форвард зарегистрирован в основном плагине, передаёт время прохождения в миллисекундах, строку с названием оружия, количество cp и gc. Сохраните эти данные себе в базу данных по Steam ID игрока для текущей карты. Выведите в чат сообщение о том, что игрок закончил прохождение, при необходимости укажите его место в топе.
fwSavepos(id, szBuffer[]) - форвард зарегистрирован в основном плагине, передаёт строку с информацией о savepos. У себя в плагине вызовите эту функцию и сохраните строку с базу данных по SteamID игрока для текущей карты.
fwLoadPos(id, szBuffer[]) - эту функцию вызывает основной плагин, вам же нужно зарегистрировать у себя форвард, который при заходе на сервер передаст ей строку с savepos игрока.
Скачать плагин
Как использовать форварды
Также есть пример исходника для создания своего собственного списка серверов (плагин нужно прописать в
plugins.ini до основного
kz_rush_loc.amxx):
Скачать