DarkRP:CustomJobFields:ru

= Создание профессий = Вы можете создавать свои профессии. Это страница посвящена созданию работ для DarkRP

Пример со всеми возможными полями
Вот пример с использованием всех возможных полей: TEAM_Example = DarkRP.createJob("Пример", {	color = Color(255, 255, 255, 255),	model = {		"models/player/Group03/Female_01.mdl",		"models/player/Group03/Female_02.mdl"		},	description = Описание професии.,	weapons = {"weapon_p2282"},	command = "example",	max = 3,	salary = 45,	admin = 0,	vote = false,	hasLicense = false,	NeedToChangeFrom = TEAM_CITIZEN,	customCheck = function(ply) return ply:getDarkRPVar("money") > 10000 end,	CustomCheckFailMsg = "Вам не хватает денег!",	modelScale = 1.2,	maxpocket = 20,	maps = {"rp_downtown_v2", "gm_construct"},      candemote = false,

CanPlayerSuicide = function(ply) return false end, PlayerCanPickupWeapon = function(ply, weapon) return true end, PlayerDeath = function(ply, weapon, killer) end, PlayerLoadout = function(ply) return true end, PlayerSelectSpawn = function(ply, spawn) end, PlayerSetModel = function(ply) return "models/player/Group03/Female_02.mdl" end, PlayerSpawn = function(ply) end, PlayerSpawnProp = function(ply, model) end, RequiresVote = function(ply, job) for k,v in pairs(player.GetAll) do if IsValid(v) and v:IsAdmin then return false end end return true end, -- Люди делают голосование, когда нет администраторов ShowSpare1 = function(ply) end, ShowSpare2 = function(ply) end })

Описание полей
color Цвет ника игрока в чате. (Если он выбрал текущую профессию)

model Модель для профессии. Модель может быть одна или моделей может быть несколько. Вот 2 примера:

Как вы видите, у этой профессии будет одна моделька. model = "models/player/Group03/Female_01.mdl"

А если устроиться на эту работу, то вам будет предложен выбор модели для текущей работы. model = { "models/player/Group03/Female_01.mdl", "models/player/Group03/Female_02.mdl" }

description Описание будет показываться при выборе профессии в меню. Для открытия меню, нажмите F4.

weapons Список оружия, при выборе профессии сразу появляется оружие указанное в этих полях. К примеру: weapons = {"arrest_stick", "unarrest_stick", "weapon_deagle2", "stunstick", "door_ram", "weaponchecker"}

command В этом поле указывается текст, в дальнейшем текст преобразуется в команду для чата.

К примеру: напишите /example в чат чтобы устроиться на какую-то работу. command = "example"

Note: Если для работы включено голосование игроков, то команду нужно вводить с префиксом /vote, вот так "/voteexmaple".

max Максимальное число игроков, которое может устроится на данную работу.

salary Заработная плата.

admin Только админы могут устроиться на эту работу? admin = 0 -- любой игрок admin = 1 -- только админы admin = 2 -- только супер админы

Вы также можете настроить доступ для этой работы к примеру V.I.P пользователям, чтобы посмотреть как это сделать, прокрутите до описание поля customCheck.

vote Включить голосование чтобы получить работу? true - да, false - нет.

hasLicense Нужна ли лицензия на оружие? true - да, false - нет. Лучше установить как true, так будет проще полиции.

NeedToChangeFrom Вы можете стать Шефом полиции, если вы сейчас работаете Полицейским.Пример: Вы можете стать Шефом полиции, потому что вы работаете Полицейским: NeedToChangeFrom = TEAM_POLICE

Пример 2: Вы можете стать Мэром, потому что вы работаете Шефом полиции/Полицейским NeedToChangeFrom = {TEAM_CHIEF, TEAM_POLICE}

customCheck Подробнее на этой странице http://wiki.darkrp.com/index.php/DarkRP-Config:ru

CustomCheckFailMsg Сообщение для того кто хочет, но не может устроиться на работу. Допустим такой случай. Чтобы устроиться на работу вам нужно 10000, а у вас всего 1000, в таком случае вам будет показано написаное в этом поле сообщение.

Подробнее смотрите тут http://wiki.darkrp.com/index.php/Donator_Job_configuration#.D0.A1.D0.BF.D0.B5.D1.86.D0.B8.D0.B0.D0.BB.D1.8C.D0.BD.D1.8B.D0.B5_.D1.81.D0.BE.D0.BE.D0.B1.D1.89.D0.B5.D0.BD.D0.B8.D1.8F

modelScale Масштаб модели modelScale = 1 -- По молчанию modelScale = 1.2 -- 120% modelScale = 0.9 -- 90%.

Лучше не трогайте данное поле, из-за него игроки не смогут нормально прыгать, приседать, ходить и т.д.

maxpocket Количество предметов которые может поместить в карман игрок с данной профессией. Если это поле не установлено, то будет использоваться стандартное значение из config.lua, равное 10.

maps Это поле отвечает за работу профессии на определённых картах.

candemote Это опция отвечает за понижение в должности игрока с этой профессией, могут ли его понизить или же нет. true - не могут, false - могут

Более продвинутые поля
Эти поля работают только с функциями. Если вы хотите отредактировать DakRP (особенно файл gamemode_functions.lua), то лучше сделайте бэкап файла. Старайтесь избегать редактирование файлов DarkRP.

CanPlayerSuicide Эта функция решает, что будет с игроком смерти на этой работе.

Аргументы: Player ply

PlayerCanPickupWeapon Эта функция решает, какое оружие может подобрать игрок с этой профессией.

Аргументы: Player ply, Entity weapon

PlayerDeath Эта функция срабатывает, когда игрок умирает.

Аргументы: Player ply, Entity weapon, Entity killer

PlayerLoadout Эта функция срабатывает, когда игрок получает своё оружие. Return true to prevent him from getting his default weapons!

Аргументы: Player ply

PlayerSelectSpawn Эта функция срабатывает, если у игрока есть своя точка Спауна.

Аргументы: Player ply, Entity spawn

PlayerSetModel Функция, которая решает какая модель должна быть у игрока. Всегда возвращает строку с моделью текущей работы пользователя.

Аргументы: Player ply

PlayerSpawn Эта функция срабатывает, когда пользователь спаунится.

Аргументы: Player ply

PlayerSpawnProp Эта функция срабатывает, когда пользователь спаунит пропы.

Аргументы: Player ply, string model

RequiresVote Функция отвечает вот за что, Должен ли игрок делать голосование, чтобы устроиться на работу. Внимание: если установлено это поле, то поле vote не срабатывает. (Точнее не имеет смысла использовать поле vote)

Аргументы: Player ply

Номер группы. (Не используйте название команды TEAM_НАЗВАНИЕ ПРОФЕСИИ, так как это работать не будет!)

Пример:

Другой пример:

ShowSpare1 Вызывается, когда игрок нажимает F1

Аргументы: Player ply

ShowSpare2 Вызывается, когда игрок нажимает F2

Аргументы: Player ply

Перевод мануала
http://steamcommunity.com/id/art_gur/ - Перевёл на русский язык.