Версия нашего основного плагина и плагина, отвечающего за смену карты, для пабликов (без исходников).
Список карт сервера нужно назвать
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
):
Скачать