DarkRP:Categories:ru
DarkRP 2.6.1 имеет одну очень интересную новую функцию в F4-меню, а именно категории. На данной странице Вы узнаете, как можно создать собственную категорию, а также, как добавить уже существующие предметы в неё.
Заметка: Категории не работают с меню, сделанными сторонними разработчиками, если только они не добавили их поддержку. В ином случае, меню может сломаться.
Создание категории[edit]
Перед началом работы проверьте, есть ли у Вас следующий файл: 'lua/darkrp_customthings/categories.lua'. Если его нет, значит Вы используете старую версию DarkRPMod. Но Вы можете исправить это, скачав этот файл здесь: https://github.com/FPtje/darkrpmodification/blob/master/lua/darkrp_customthings/categories.lua .
Код категорий, выглядит примерно так:
DarkRP.createCategory{
name = "Граждане", -- Название категории
categorises = "jobs", -- К чему относится категория. Данное поле может принимать следующие значения "jobs", "entities", "shipments", "weapons", "vehicles", "ammo".
startExpanded = true, -- Развернута ли категория при открытии меню
color = Color(0, 107, 0, 255), -- Цвет категории, который отображается в меню
canSee = function(ply) return true end, -- НЕОБЯЗАТЕЛЬНО: будут ли видеть игроки данную категорию.
sortOrder = 100, -- НЕОБЯЗАТЕЛЬНО: С помощью этой опции, Вы можете выстроить категории так, как Вам удобно. К примеру, если установить значение 1, а у другой категории 2, то категория со значением 1 будет отображаться выше, чем та, что имеет значение 2. По умолчанию, значение данного поля 100.
}
Ниже представлен код без комментариев. Оба представленных кода работают. Вы можете скопировать один из них в файл categories.lua.
DarkRP.createCategory{
name = "Граждане",
categorises = "jobs",
startExpanded = true,
color = Color(0, 107, 0, 255),
canSee = function(ply) return true end,
sortOrder = 100,
}
Как использовать категории[edit]
Вы можете упорядочить Ваши собственные работы, предметы, машины, энтити и т.п. с помощью добавления к ним полей category и sortOrder. Как их использовать, смотрите ниже.
Заметка: У всех работ/коробок/предметов/и др., если не указанны параметры category и SortOrder, будут отображается в категории Other!
category
Категория, которая отображается в меню. ВНИМАНИЕ: Если категория не существует, то DarkRP выдаст ошибку!
sortOrder
Значение по умолчанию 100.
Ниже представлен пример на работе Торговца оружием. Обратите внимание, что поля category и sortOrder расположены внизу. Также не забывайте ставить запятые после каждой опции. Так как это поможет избежать ошибок при работе кода.
TEAM_GUN = DarkRP.createJob("Торговец оружием", {
color = Color(255, 140, 0, 255),
model = "models/player/monk.mdl",
description = [[Торговец оружием продаёт оружие всем, кому хочет.
Берегитесь, ведь продажа оружия нелегалам запрещена и карается арестом.]],
weapons = {},
command = "gundealer",
max = 2,
salary = GAMEMODE.Config.normalsalary,
admin = 0,
vote = false,
hasLicense = false,
category = "Citizens",
sortOrder = 100,
})
Вот ещё один пример с устройством, производящим оружием. Обратите внимание, что здесь добавляются поля также, как и в работах.
DarkRP.createEntity("Устройство производства оружия", {
ent = "gunlab",
model = "models/props_c17/TrapPropeller_Engine.mdl",
price = 500,
max = 1,
cmd = "buygunlab",
allowed = TEAM_GUN,
category = "Other",
sortOrder = 90,
})
Категории работают:
- работами
- энтити
- коробками
- оружием
- машинами
- патронами
Категории добавляются к ним так же просто, как показано на примерах выше.
Изменения категорий для стандартных предметов[edit]
Изменить категорию для работ и других предметов легко, достаточно добавить или изменить значение опции category. Однако, для некоторые предметы уже добавлены в категории. Но вы можете перенести их в собственную. Для этого, в файле settings.lua внизу есть такой вот код:
-- Изменение категории для предмета, работы, энтити и т.п.
-- ЗАМЕТКА: категории для работ/коробок/энтити/патронов/оружия/машин должны быть установлены с помощью поля category, иначе это не будет работать.
-- Используйте это только для распределения по категориям стандартных предметов из игрового режима.
-- Этот код не работает с предметами, добавленными вами.
-- Убедитесь, что категория есть в файле darkrp_customthings/categories.lua, иначе это не будет работать!
GM.Config.CategoryOverride = {
jobs = {
["Citizen"] = "Citizens",
["Hobo"] = "Citizens",
["Gun Dealer"] = "Citizens",
["Medic"] = "Citizens",
["Civil Protection"] = "Civil Protection",
["Gangster"] = "Gangsters",
["Mob boss"] = "Gangsters",
["Civil Protection Chief"] = "Civil Protection",
["Mayor"] = "Civil Protection"
},
entities = {
["Drug lab"] = "Other",
["Money printer"] = "Other",
["Gun lab"] = "Other"
},
shipments = {
["AK47"] = "Rifles",
["MP5"] = "Rifles",
["M4"] = "Rifles",
["Mac 10"] = "Other",
["Pump shotgun"] = "Shotguns",
["Sniper rifle"] = "Snipers"
},
weapons = {
["Desert eagle"] = "Pistols",
["Fiveseven"] = "Pistols",
["Glock"] = "Pistols",
["P228"] = "Pistols"
},
vehicles = {}, -- There are no default vehicles
ammo = {
["Pistol ammo"] = "Other",
["Shotgun ammo"] = "Other",
["Rifle ammo"] = "Other"
},
}
Заметка: при использовании старой версии DarkRPMod, в файле settings.lua нет такого кода. Но не волнуйтесь, Вы можете скопировать код выше..
Заметка: КОД ВЫШЕ РАБОТАЕТ ТОЛЬКО С ПРЕДМЕТАМИ, КОТОРЫЕ ЕСТЬ В ИГРОВОМ РЕЖИМЕ ПО УМОЛЧАНИЮ, ЕСЛИ ВЫ ДОБАВИТЕ ТУДА ПРЕДМЕТ, КОТОРЫЙ ВЫ ДОБАВИЛИ САМИ, ТО ЭТОТ КОД НЕ ДОБАВИТ ЕГО В КАТЕГОРИЮ, УКАЗАННУЮ ЗДЕСЬ!