DarkRP:Categories:ru

From Official DarkRP Wiki
Jump to: navigation, search
This page is available in the following languages:
Данная версия страницы доступна на следующих языках:
Jarvis-flag 8010.png English | Russia-flag.png Русский

DarkRP 2.6.1 имеет одну очень интересную новую функцию в F4-меню, а именно категории. На данной странице Вы узнаете, как можно создать собственную категорию, а также, как добавить уже существующие предметы в неё.

Заметка: Категории не работают с меню, сделанными сторонними разработчиками, если только они не добавили их поддержку. В ином случае, меню может сломаться.

Создание категории

Перед началом работы проверьте, есть ли у Вас следующий файл: '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,
}

Как использовать категории

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

Категории работают:

  • работами
  • энтити
  • коробками
  • оружием
  • машинами
  • патронами

Категории добавляются к ним так же просто, как показано на примерах выше.

Изменения категорий для стандартных предметов

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

Заметка: КОД ВЫШЕ РАБОТАЕТ ТОЛЬКО С ПРЕДМЕТАМИ, КОТОРЫЕ ЕСТЬ В ИГРОВОМ РЕЖИМЕ ПО УМОЛЧАНИЮ, ЕСЛИ ВЫ ДОБАВИТЕ ТУДА ПРЕДМЕТ, КОТОРЫЙ ВЫ ДОБАВИЛИ САМИ, ТО ЭТОТ КОД НЕ ДОБАВИТ ЕГО В КАТЕГОРИЮ, УКАЗАННУЮ ЗДЕСЬ!