Новая версия системы привилегий (Нестабильная)
Было решено продолжать разработку системы привилегий с открытым исходным кодом.
P.S. Кодовая база 5-ой версии не имеет ничего общего с этим плагином. Новая система привилегий разрабатывается с нуля, заимствуя от этой версии только внешний функционал.
P.P.S. Для доведения до ума новой версии требуется обратная связь от реальных пользователей. Если Вам не трудно, можете поставить её себе и настроить, протестировать.
Файл amxmodx/configs/plugins/VipMenu/Cvars.cfg
.
VipS_Menu_AutoOpen_MinRound
VipS_Menu_AutoOpen_Default
VipS_Menu_AutoOpen_Delay
VipS_Menu_AutoOpen_Hold
VipS_SpawnItems_MinRound
VipS_SpawnHealth_MinRound
VipS_Vampire_MinRound
Папка с конфигами amxmodx/configs/plugins/VipSystem
.
item_defusekit
@<WeaponName>
#<ServerCommand>
{UserId}
будет заменено на индекс игрока, которому выдаётся предмет.weapon_<WeaponName>
Файлы .../SpawnItems/<Name>.json
.
<Name>
- Название, которое будет указываться в поле SpawnItems
в конфиге привилегий.
Файл содержит JSON-массив предметов. Доступные типы предметов описаны выше.
Пример:
[
"item_defusekit",
"weapon_hegrenade",
"weapon_flashbang",
"@Gold_Deagle"
]
Файлы .../SpawnHealth/<Name>.json
.
<Name>
- Название, которое будет указываться в поле SpawnHealth
в конфиге привилегий.
Параметр | Тип | По умолчанию | Описание |
---|---|---|---|
Health | Число | 0 | Кол-во здоровья. Не указано = выключить |
SetHealth | true/false | true | true - Установить здоровье, false - Добавить |
MaxHealth | Число | 0 | Макс. кол-во здоровья для добавления. 0 - без ограничений |
Armor | Число | 0 | Кол-во брони. Не указано = выключить |
SetArmor | true/false | true | true - Установить броню, false - Добавить |
MaxArmor | Число | 0 | Макс. кол-во брони для добавления. 0 - без ограничений |
Helmet | true/false | false | Выдавать ли шлем |
Пример:
{
"Health": 110,
"SetHealth": true,
"Armor": 50,
"MaxArmor": 100,
"SetArmor": false,
"Helmet": false
}
Файлы .../Vampires/<Name>.json
.
<Name>
- Название, которое будет указываться в поле Vampire
в конфиге привилегий.
Параметр | Тип | По умолчанию | Описание |
---|---|---|---|
MaxHealth | Число | 100 | До какого кол-ва здоровья можно вылечится вампиризмом |
ByKill | Число | - | Сколько здоровья давать за обычное убийство |
ByHead | Число | = ByKill |
Здоровье за убийство в голову |
ByKnife | Число | = ByKill |
Здоровье за убийство ножом |
Поле ByKill
является обязательным.
Пример:
{
"MaxHealth": 125,
"ByKill": 10,
"ByHead": 15,
"ByKnife": 20
}
Файлы .../VipMenus/<Name>.json
.
<Name>
- Название, которое будет указываться как элемент массива Menus
в конфиге привилегий.
Параметры меню:
Параметр | Тип | По умолчанию | Описание |
---|---|---|---|
Name | Строка | - | Название меню. Отображается в общем списке меню. |
Title | Строка | - | Заголовок меню. |
Limit | Число | -1 | Сколько предметов можно взять за раунд. -1 - неограничено |
Items | Массив | - | Массив пунктов меню. |
Параметры пунктов:
Параметр | Тип | По умолчанию | Описание |
---|---|---|---|
Item | Строка | - | Название предмета. Как в бонусах при спавне. |
MinRound | Число | 0 | С какого рануда доступен пункт |
Access | Флаги | Для всех | Флаги доступа к пункту. |
DecCount | true/false | true | Уменьшать ли кол-во оставшегося оружия. |
Ключ элемента массива = название пункта меню.
Пример:
{
"Name": "Vip menu",
"Title": "\\r[\\yVip\\r] Weapons menu",
"Limit": 2,
"Items": {
"Gold AK-47": {
"Item": "@Gold_AK47",
"MinRound": 3,
"Access": "d"
},
"AWP": {
"Item": "weapon_awp",
"MinRound": 4
},
"Gold Deagle": {
"Item": "@Gold_Deagle",
"MinRound": 2
},
"Gold Knife": {
"Item": "@Gold_Knife",
"MinRound": 0,
"DecCount": false
}
}
}
Меню будет примерно выглядеть так
[Vip] Weapons menu
Оружия осталось: 2
1. Gold AK-47
2. AWP
3. Gold Deagle
4. Gold Knife
0. Выход
Файл .../Vips.json
.
Параметры привилегии:
Параметр | Тип | По умолчанию | Описание |
---|---|---|---|
KeyType | Строка | - | Тип привязки привилегии. |
Key | Строка | - | Ключ привязки привилегии. |
Menus | Массив | - | Список названий доступных меню. |
SpawnItems | Строка | - | Название SpawnItems для привилегии. |
SpawnHealth | Строка | - | Название SpawnHealth для привилегии. |
Vampire | Строка | - | Название Vampire для привилегии. |
VipInTab | true/false | false | Отображать ли надпись VIP в TABе. |
Типы привязки:
Тип | Вид ключа | Описание |
---|---|---|
Name | Ник | Привилегия доступна игроку с указанным ником |
SteamId | SteamID | Привилегия доступна игроку с указанным SteamID |
Ip | IP | Привилегия доступна игроку с указанным IP |
Flags | Флаги | Привилегия доступна игрокам, имеющим указанные флаги доступа |
ForAll | - | Привилегия доступна всем |
GameCms | Услуга | Привилегия доступна тем, кто купил указанную услугу |
Steam | - | Привилегия доступна всем стим-игрокам |
TimeOfDay | Название времени суток | Привилегия доступна всем игрокам в указанное время суток |
Off | - | Привилегия никому не доступна |
Пример:
[
{
"KeyType": "Flags",
"Key": "d",
"Menus": ["Test2", "Test"],
"SpawnItems": "Test2",
"SpawnHealth": "Test2",
"Vampire": "Test",
"VipInTab": true
},
{
"KeyType": "Steam",
"Key": "",
"Menus": ["Test"],
"SpawnItems": "Test",
"SpawnHealth": "Test",
"VipInTab": true
}
]