Плагин: [ZP]SupplyBoxes
Версия: 1.0
Автор: Docaner
Описание:
Плагин добавляет в Zombie Plague коробки с боеприпасами. Выдача вещей из коробок настраивается в ini-файле. Также в плагине присутствует метровой спрайт.
Коробки спавнятся по одной штуке через определённый промежуток времени и в определённых координатах, занесённых уже в другой ini-файл. Настройка расстановки спавнов происходит через меню, которое открывается через команду zpsb_open. (Требуется админ-флаг ADMIN_RCON). В архиве уже присутствует готовая расстановка спавнов для некоторых карт (папка spawns). Чтобы её установить, нужно скопировать необходимые вам файлы в директорию addons/amxmodx/data/zpsb_positions.
Настройки: zp_supplyboxes.sma
Код
// Настройка и установка координат
#define OPTION_MODE // Включить режим настроек (Закомментируйте для отключения)
#if defined OPTION_MODE
new const g_szSbClcmd[] = "zpsb_open"; // Команда для открытия меню с настройками
#define g_iBitAdminFlag ADMIN_RCON // Алмин-флаг доступа к меню
new g_szSbPresentPosFile[128] = "addons/amxmodx/data/zpsb_positions/" // Путь к файлам с координатами
#endif
// Загрузка Extra Items
new const g_szSbPresentIdsFile[] = "addons/amxmodx/configs/zpsb_extraitems.ini" // Путь к файлу с Extra Items
// Настройка модели
new const g_szSbModel[] = "models/zpsb_model.mdl"; // Путь к модели
//#define g_iSbSubModel 0 // Номер сабмодели. Для использования модели с несколькими сабмоделями (Раскомментируйте, чтобы использовать)
new const Float:g_flSbModelMin[] = {-25.0, -25.0, -1.0}; // Минимальные координаты для бокса модели
new const Float:g_flSbModelMax[] = {25.0, 25.0, 15.0}; // Максимальные координаты для бокса модели
// Настройка звуков
new const g_szSbSoundSpawn[] = "zpsb_spawn.wav" // Звук спавна подарка
new const g_szSbSoundGet[] = "zpsb_get.wav" // Звук подбирания подарка
//Настройка сообщений
new const g_szSbMsgSpawn[] = "Подарок доставлен >> Подберите его, чтобы получить бонус" // Текст сообщения прибытия подарка
new const g_szSbMsgGet[] = "подобрал подарок" // Текст соощения, когда кто-то из людей подбирает подарок (Перед этим текстом пишется никнейм игрока, который подобрал подарок)
#define g_flSbInterval 45.0 // Интервал времени, через который будут появляться подарки (В секундах)
//Настройка спрайта
#define SB_SPRITE // Включить поддержку спрайтов (Закомментируйте для отключения)
#if defined SB_SPRITE
#define UNIT_TO_METER 20.0 // Множитель перевода юнитов в метры (Количество юнитов в одном метре)
#define g_fSpriteScale 0.5 // Размер спрайта
new const g_szSbModelSprite[] = "sprites/zpsb_long.spr"; // Путь к спрайту
//#define REMOVE_KONFLICT // Включите эту функцию, если будут конфликты с GroupInfo
#endif
zpsb_extraitems.ini
Код
;----------------------------------------------
; Plugin: [ZP]SupplyBoxes
;----------------------------------------------
; Описание
;----------------------------------------------
; Данный файл предназначен для настройки выдачи
;вещей, способностей, оружий и т.д. (буду называть
;их предметами), занесённых в ExtraItems.
; Предмет в подаках выбирается случайным образом.
; У всех предметов шанс выпадения равный.
; Для корректной работы плагина рекомендуется
;сохранять этот файл в кодировке UTF-8 без BOM.
;----------------------------------------------
; Добавление предметов
;----------------------------------------------
; Для того, чтобы добавить в этот список предмет,
;нужно зайти в zp_extraitems.ini, найти предмет, который
;вам нужен, скопировать название (NAME) предмета, и
;вставить в этот файл без кавычек, отступов и других
;лишних символов.
; Также можно добавлять предметы из zombieplague.ini
;(раздел: [Extra Items: Weapons and their costs]).
; Примеры можно увидеть ниже.
;----------------------------------------------
Napalm Nade
Frost Nade
Мой комментарий: Изначально плагин писал под amxmodx 1.8.3, т.к там легче управлять динамичными массивами Array, но мне сказали, что лучше сделать еще поддержку 1.8.2, так и сделал. Также я пытался сделать как можно меньше нагрузку на ЦП, но без PreThink`а не обошлось.
Я старался, чтобы плагин был прост в использовании обычным юзерам. Надеюсь у меня получилось это сделать)
Спасибо: wopox1337 за то, что рассказал о существовании pev_groupinfo,
Mort3m за редактирование модели ящика,
DeMNiX за помощь с редактированием спрайта,
xHard1k за то, что разрешил протестировать плагин на его сервере, и за расстановку спавнов.