Skip to content

Установка и настройка DarkRP
​

Краткое руководство по установке и настройке DarkRP на вашем Garry's Mod сервере.

Вступление ​

Давно мечтали создать свой собственный DarkRP сервер? Проследуйте указанными нами шагами дабы начать работу со своим новоиспечённым DarkRP сервером как можно скорее.

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

Загрузка аддонов ​

Первым делом нам нужно будет скачать файлы самого режима. DarkRP имеет два аддона, которые важны для его существования - DarkRP и DarkRP-modification.

DarkRP это база, основа самого режима, а с помощью DarkRP-modification уже производятся все изменения в режиме: добавление профессий, вещей и оружия, включение/отключение различных функций и многое другое.

[Скачать DarkRP]

[Скачать DarkRP-modification]

TIP

Ссылки безопасны, и ссылаются на официальный GitHub репозиторий от оригинального разработчика режима - FPTje.

Установка аддонов ​

После скачивания этих файлов пройдите в управление нужным вам сервером, и загрузите архив DarkRP-master.zip по пути /garrysmod/gamemodes, а darkrpmodification-master.zip - /garrysmod/addons.

Распакуйте эти архивы.

Для экономии места, после распаковки загруженные архивы можно удалить.

Папку DarkRP-master нужно обязательно переименовать под darkrp.

После установки аддонов не забудьте перейти в "параметры запуска" и изменить режим с sandbox на darkrp.

Разбор файлов darkrpmodification ​

Теперь давайте же настроим наш новоиспечённый сервер. С помощью аддона darkrpmodification можно кастомизировать различные аспекты DarkRP - будь то профессии, функции режима, оружия, и многое другое.

settings.lua ​

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

Находится по пути: /garrysmod/addons/darkrpmodification/lua/darkrp_config/settings.lua.

jobs.lua ​

Этот файл отвечает за профессии на вашем сервере. Вы можете настроить существующие профессии или добавить новые.

Находится по пути /garrysmod/addons/darkrpmodification/lua/darkrp_customthings/jobs.lua.

entities.lua ​

Этот файл отвеачет за настройку энтити (предметов) в DarkRP. Например, можно добавить магазины оружия или улучшить существующие.

Путь к файлу: /garrysmod/addons/darkrpmodification/lua/darkrp_customthings/entities.lua.

mysql.lua ​

Этот файл отвеачет за настройку базы данных MySQL. С её помощью вы сможете хранить данные сервера в более безопасном, отдельном от игрового сервера месте.

Путь к файлу: /garrysmod/addons/darkrpmodification/lua/darkrp_config/mysql.lua.

Настройка settings.lua ​

Toggle settings ​

Этот раздел содержит параметры, которые могут быть включены или выключены (т.е. поддерживаются значения true или false).

voice3D ​

Включает или выключает 3D звук в голосовом чате.

Рекомендуется оставить значение по умолчанию.

AdminsCopWeapons обратите внимание ​

Включает или выключает возможность администраторам использовать полицейское оружие.

adminBypassJobRestrictions обратите внимание ​

Включает или выключает возможность администраторам принудительно устанавливать профессии в обход привелегий по типу VIP.

allowActs обратите внимание ​

Включает или выключает возможность использования анимаций (например, приветствия или танцы).

allowjobswitch ​

Позволяет игрокам переключаться на свои собственные пользовательские рабочие профессии.

allowrpnames обратите внимание ​

Позволяет игрокам устанавливать свои RP имена с помощью команды /rpname.

allowsprays обратите внимание ​

Включает или выключает возможность использования граффити на сервере.

Рекомендуется оставить значение по умолчанию.

allowvehicleowning ​

Включает или выключает возможность владения транспортными средствами.

allowvnocollide ​

Включает или выключает возможность обхода коллизий для транспортных средств (для безопасности).

alltalk ​

Включает глобальный чат, отключает локальный чат.

Рекомендуется оставить значение по умолчанию.

antimultirun обратите внимание ​

Запрещает игрокам заходить на сервер дважды с одного и того же аккаунта.

autovehiclelock ​

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

babygod обратите внимание ​

Спаун игроков в режиме бога (предотвращает убийства при спауне).

canforcedooropen ​

Позволяет игрокам открывать непринадлежащие им двери с помощью отмычек, ломов и т.д.

chatsounds обратите внимание ​

Проигрывать ли звуки, когда игроки в чате пишут определенные фразы, например cheese.

chiefjailpos ​

Позволяет начальнику устанавливать позиции тюремных камер.

cit_propertytax ​

Включает или выключает налог на имущество, который применяется только к гражданам.

copscanunfreeze обратите внимание ​

Включает или выключает возможность полицейским размораживать чужие предметы.

copscanunweld обратите внимание ​

Включает или выключает возможность полицейским распаивать чужие предметы.

cpcanarrestcp осторожно ​

Разрешает/запрещает полицейским арестовывать других полицейских.

currencyLeft ​

Позиция символа валюты. true для отображения слева, false для отображения справа.

customjobs ​

Включает или выключает команду /job (пользовательские имена у профессий).

customspawns осторожно ​

Включает или выключает использование пользовательских точек спауна.

deathblack ​

Определяет, видит ли игрок черный экран при смерти.

showdeaths ​

Отображает информацию о смертях игроков в верхнем правом углу экрана у каждого игрока (killfeed).

server killfeed

deadtalk ​

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

deadvoice ​

Включает или выключает возможность говорить через микрофон, будучи мертвым.

deathpov ​

Включает или выключает возможность видеть свою смерть от первого лица.

first person death

decalcleaner ​

Включает или выключает автоочистку всех декалей игроков.

disallowClientsideScripts осторожно ​

Запрещает использование клиентских скриптов.

doorwarrants ​

Включает или выключает требование наличия ордера для вылома дверей.

dropmoneyondeath ​

Включает или выключает возможность выпадения денег при смерти.

Осторожно: может вызвать зависания на сервере.

droppocketarrest ​

Включает или выключает возможность выпадения вещей из карманов при аресте.

droppocketdeath ​

Включает или выключает возможность выпадения вещей из карманов при смерти.

dropweapondeath ​

Включает или выключает возможность выпадения текущего оружия при смерти.

dropspawnedweapons ​

Позволяет или запрещает выпадение оружия, с которым игрок спаунился.

dynamicvoice ​

Включает или выключает возможность того, чтобы только игроки в одной комнате могли слышать микрофон.

earthquakes осторожно ​

Включает или выключает землетрясения.

enablebuypistol ​

Включает или выключает команду /buy.

enforceplayermodel ​

Определяет, нужно ли принудительно использовать модели персонажей, соответствующие роли игрока.

globalshow ​

Определяет, нужно ли отображать информацию о игроках над их головами в игре.

show or hide user info

ironshoot ​

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

aim down sights to shoot

showjob ​

Определяет, нужно ли отображать рабочую должность игрока над его головой в игре.

show or hide user profession

letters ​

Включает или выключает возможность написания писем друг-другу.

license ​

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

lockdown ​

Включает или выключает возможность начала и завершения комендантского часа для мэров с помощью команд /lockdown и /unlockdown.

mayor lockdown

Рекомендуется оставить значение по умолчанию.

lockpickfading ​

Включает или выключает возможность подбора замков на исчезающих дверях (Fading Doors).

logging ​

Включает или выключает логирование всего, что происходит на сервере.

lottery ​

Включает или выключает создание лотерей для мэров.

showname ​

Определяет, нужно ли отображать имя игрока над его головой в игре.

show or hide user name

showhealth ​

Определяет, нужно ли отображать здоровье игрока над его головой в игре.

show or hide user health

needwantedforarrest ​

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

noguns ​

Включает или выключает запрет на оружие и оружейные лавки.

norespawn ​

Включает или выключает необходимость респауна игрока при смене профессии.

keepPickedUp ​

Включает или выключает сохранение подобраного оружия при смене профессии.

instantjob ​

Включает или выключает мгновенный респаун, когда norespawn выключен.

npcarrest ​

Включает или выключает возможность ареста NPC.

ooc обратите внимание ​

Определяет, включен ли OOC (глобальный) чат.

propertytax ​

Включает или выключает налог на имущество.

proppaying ​

Определяет, нужно ли игрокам платить за спаун пропов.

propspawning ​

Включает или выключает спаун предметов. Применимо также к администраторам.

removeclassitems ​

Включает или выключает удаление предметов, связанных с профессией (например, посылок, микроволновок и т.д.), при смене профессии.

removeondisconnect ​

Включает или выключает удаление предметов, связанных с профессией (например, посылок, микроволновок и т.д.), при отключении.

respawninjail осторожно ​

Включает или выключает возможность респауна в тюрьме при смерти.

restrictallteams ​

Определяет, могут ли игроки быть только гражданами до тех пор, пока администратор не разрешит им выбор профессий.

restrictbuypistol ​

Включает или выключает возможность использования команды /buy только для оружейных торговцев.

restrictdrop ​

Включает или выключает ограничение на возможность сбрасывать оружие. Установка этого значения в true запрещает сброс оружия из посылок.

revokeLicenseOnJobChange ​

Определяет, отзываются ли лицензии, когда игрок меняет рабочую должность.

shouldResetLaws ​

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

strictsuicide осторожно ​

Определяет, должны ли игроки респауниться в месте, где они совершили самоубийство.

telefromjail осторожно ​

Включает или выключает возможность телепортации из тюрьмы.

teletojail осторожно ​

Включает или выключает возможность телепортации в тюрьму.

unlockdoorsonstart ​

Включает или выключает разблокировку всех дверей при старте карты.

voiceradius ​

Включает или выключает локальный голосовой чат.

wallettax ​

Определяет, должны ли игроки платить налог на свой баланс.

wantedrespawn ​

Определяет, остаются ли игроки в розыске при респауне.

wantedsuicide ​

Включает или выключает возможность самоубийства, будучи в розыске полицией.

realisticfalldamage ​

Включает или выключает динамический урон от падений. Установка mp_falldamage на 1 переопределяет это значение.

printeroverheat ​

Определяет, может ли денежный принтер перегреваться самостоятельно.

weaponCheckerHideDefault ​

Скрывать ли оружие выдаваемое профессии при проверке оружия.

weaponCheckerHideNoLicense ​

Скрывать ли оружие, для которого не требуется лицензия.

Value settings ​

Этот раздел содержит параметры, значение которых может быть только циферным.

adminnpcs осторожно ​

Определяет, должны ли NPC быть доступны только для администраторов. Значения: 0 = все, 1 = администратор или выше, 2 = суперадмин или выше, 3 = только RCON.

Значение по умолчанию: 3

adminsents осторожно ​

Определяет, должны ли SENT быть доступны только для администраторов. Значения: 0 = все, 1 = администратор или выше, 2 = суперадмин или выше, 3 = только RCON.

Значение по умолчанию: 1

adminvehicles осторожно ​

Определяет, должны ли транспортные средства быть доступны только для администраторов. Значения: 0 = все, 1 = администратор или выше, 2 = суперадмин или выше, 3 = только RCON.

Значение по умолчанию: 3

adminweapons осторожно ​

Определяет, кто может спаунить оружие: 0 = только администраторы, 1 = только суперадмины, 2 = никто, 3 = все.

Значение по умолчанию: 1

arrestspeed ​

Устанавливает максимальную скорость ареста.

Значение по умолчанию: 120

babygodtime обратите внимание ​

Устанавливает продолжительность действия режима неуязвимости для только заспаунишхся игроков.

Значение по умолчанию: 5

chatsoundsdelay обратите внимание ​

Устанавливает время ожидания перед тем, как игрок сможет снова издать звук через чат.

Рекомендуем установить это значение хотя бы на 5 секунд, дабы предотвратить спам звуками.

Установите значение на 0 для отключения.

Значение по умолчанию: 5

deathfee ​

Сумма денег, которую теряет игрок при смерти.

Значение по умолчанию: 30

decaltimer ​

Устанавливает периодничность очистки клиентских декалей (в секундах).

Значение по умолчанию: 120

demotetime ​

Количество секунд, через которое игрок сможет снова перейти на профессию после понижения.

Значение по умолчанию: 120

doorcost обратите внимание ​

Устанавливает стоимость одной двери.

Значение по умолчанию: 30

entremovedelay ​

Время ожидания перед удалением купленного объекта после отключения.

Значение по умолчанию: 0

gunlabweapon ​

Оружие, которое спаунится в оружейной лаборатории.

Значение по умолчанию: "weapon_p2282"

jailtimer ​

Устанавливает срок нахождения в тюрьме (в секундах).

Значение по умолчанию: 120

lockdowndelay ​

Время, которое мэр должен подождать перед началом следующего комендантского часа.

Значение по умолчанию: 120

maxadvertbillboards ​

Максимальное количество рекламных щитов, которые игрок может разместить.

Значение по умолчанию: 3

maxCheques ​

Максимальное количество чеков, которые игрок может выписать.

Значение по умолчанию: 5

maxdoors ​

Максимальное количество дверей, которыми можно владеть один игрок.

Значение по умолчанию: 20

maxdrugs ​

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

Значение по умолчанию: 2

maxfoods ​

Максимальное количество упаковок еды на одного владельца микроволновой печи.

Значение по умолчанию: 2

maxfooditems ​

Максимальное количество предметов еды, которые игрок может купить через F4-меню.

Значение по умолчанию: 20

maxlawboards ​

Максимальное количество досок с законами, которые мэр может разместить.

Значение по умолчанию: 2

maxletters ​

Максимальное количество писем на одного игрока.

Значение по умолчанию: 10

maxlotterycost ​

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

Значение по умолчанию: 250

maxvehicles ​

Максимальное количество транспортных средств, которые можно купить.

Значение по умолчанию: 5

microwavefoodcost ​

Устанавливает цену продажи еды из микроволновой печи.

Значение по умолчанию: 30

gunlabguncost ​

Начальная цена оружия из оружейной лаборатории. Обратите внимание, что владелец оружейной лаборатории может изменить эту цену.

Значение по умолчанию: 200

druglabdrugcost ​

Начальная цена наркотиков из нарколаборатории. Обратите внимание, что владелец нарколаборатории может изменить эту цену.

Значение по умолчанию: 100

minlotterycost ​

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

Значение по умолчанию: 30

moneyRemoveTime ​

Время, через которое деньги будут удалены, если они не будут подобраны. Установите на 0, чтобы отключить.

Значение по умолчанию: 600

mprintamount ​

Сумма денег, печатаемая денежным принтером за одну ходку.

Значение по умолчанию: 250

normalsalary ​

Начальная зарплата для вновь присоединившихся игроков.

Значение по умолчанию: 45

npckillpay ​

Сумма денег, выдаваемая за каждое убийство NPC.

Значение по умолчанию: 10

paydelay ​

Время, через которое игроки получают зарплату.

Значение по умолчанию: 160

pocketitems ​

Максимальное количество объектов, которые сможет вместить карман игрока.

Значение по умолчанию: 10

pricecap ​

Максимальная цена предметов (с использованием команды /price).

Значение по умолчанию: 500

pricemin ​

Минимальная цена предметов (с использованием команды /price).

Значение по умолчанию: 50

propcost ​

Сколько должен стоить спаун предмета (значение proppaying должно быть включено, чтобы эта настройка работала).

Значение по умолчанию: 10

quakechance осторожно ​

Шанс возникновения землетрясения.

Значение по умолчанию: 4000

respawntime обратите внимание ​

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

Значение по умолчанию: 1

changejobtime обратите внимание ​

Минимальное количество секунд, которое игрок должен подождать перед сменой работы.

Значение по умолчанию: 10

runspeed обратите внимание ​

Устанавливает максимальную скорость бега.

Значение по умолчанию: 240

runspeedcp ​

Устанавливает максимальную скорость бега для полицейских профессий.

Значение по умолчанию: 255

searchtime ​

Количество секунд, на которое действителен ордер на обыск.

Значение по умолчанию: 30

ShipmentSpamTime ​

Кулдаун между спауном каждого shipment.

Значение по умолчанию: 3

shipmentspawntime ​

Количество секунд, которое требуется для полного спауна shipment.

Значение по умолчанию: 10

startinghealth обратите внимание ​

Здоровье которое выдается игроку при спауне.

starting amount of money

Значение по умолчанию: 100

startingmoney обратите внимание ​

Сумма денег в кошельке при первом заходе на сервер.

starting amount of money

Значение по умолчанию: 500

stunstickdamage обратите внимание ​

Количество урона, наносимого электрошокером объектам. Когда значение между 0 и 1, урон относительный, где 1 убирает все здоровье объекта. Когда значение больше 1, урон абсолютный.

Значение по умолчанию: 1000

vehiclecost ​

Стоимость транспортного средства (для владения им).

Значение по умолчанию: 40

wallettaxmax ​

Максимальный процент налога, который должен быть уплачен.

Значение по умолчанию: 5

wallettaxmin ​

Минимальный процент налога, который должен быть уплачен.

Значение по умолчанию: 1

wallettaxtime ​

Время в секундах между налогообложением игроков. Требует перезапуск сервера.

Значение по умолчанию: 600

wantedtime обратите внимание ​

Количество секунд, на которые игрок становится в розыск.

Значение по умолчанию: 120

walkspeed обратите внимание ​

Устанавливает максимальную скорость ходьбы.

Значение по умолчанию: 160

falldamagedamper ​

Амортизатор урона от падений. Значение по умолчанию: 15. Уменьшите это значение для большего урона.

Значение по умолчанию: 15

falldamageamount ​

Минимальный урон от падений. Значение по умолчанию: 10.

Значение по умолчанию: 10

printeroverheatchance ​

Вероятность перегрева принтера. Чем выше это число, тем менее вероятно (минимум 3, по умолчанию 22).

Значение по умолчанию: 22

printerreward ​

Вознаграждение за уничтожение денежного принтера.

Значение по умолчанию: 950

Chat distance settings обратите внимание ​

Расстояние указано в единицах Source Engine (похожие на дюймы)

talkDistance ​

Расстояние для обычных разговоров.

Значение по умолчанию: 250

whisperDistance ​

Расстояние для шёпота (в текстовом чате).

Значение по умолчанию: 90

yellDistance ​

Расстояние для крика (в текстовом чате).

Значение по умолчанию: 550

meDistance ​

Расстояние для команды /me (в текстовом чате).

Значение по умолчанию: 250

voiceDistance ​

Расстояние для работы голосового чата.

Значение по умолчанию: 550

Other settings ​

MoneyClass ​

Класс имени денежных пакетов. Используйте это значение для создания собственного денежного объекта!

Примечание: денежный пакет должен поддерживать метод "Setamount" (или переменную DTVar).

Значение по умолчанию: spawned_money

Рекомендуется оставить значение по умолчанию.

moneyModel ​

Если вы хотите изменить модельку денег, отредактируйте это значение.

Значение по умолчанию: models/props/cs_assault/money.mdl

Рекомендуется оставить значение по умолчанию.

lockdownsound ​

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

TIP

Примечание: Не забудьте написать полный путь к папке, где находится звуковой файл.

Значение по умолчанию: npc/overwatch/cityvoice/f_confirmcivilstatus_1_spkr.wav

DarkRPSkin ​

Тема интерфейса DarkRP. Установите значение на "default", чтобы перейти на стандартную тему GMod.

Значение по умолчанию: DarkRP

currency ​

Символ валюты, используется в F4-интерфейсах и HUD.

Значение по умолчанию: $

currencyThousandSeparator ​

Разделитель тысяч для валюты.

Значение по умолчанию: ,

chatCommandPrefix ​

Префикс для команд чата.

Значение по умолчанию: /

F1MenuHelpPage ​

Страница справки для F1-меню.

Значение по умолчанию: https://darkrp.miraheze.org/wiki/Main_Page

F1MenuHelpPageTitle ​

Заголовок страницы справки в F1-меню.

Значение по умолчанию: DarkRP Wiki

notificationSound ​

Звук, воспроизводимый при появлении уведомления от DarkRP.

Значение по умолчанию: buttons/lightswitch2.wav

DefaultPlayerGroups ​

SteamID и ранги по умолчанию для игроков при присоединении.

Значение по умолчанию:

lua
{
    ["STEAM_0:0:00000000"] = "superadmin",
    ["STEAM_0:0:11111111"] = "admin",
}

DisabledCustomModules обратите внимание ​

Отключение модулей DarkRP.

Значение по умолчанию:

lua
{
    ["hudreplacement"] = false,
    ["extraf4tab"] = false,
}

DisallowDrop обратите внимание ​

Список оружия, которое игроки не смогут выбросить или потерять. Предметы, установленные на true, никак нельзя потерять.

Значение по умолчанию:

lua
{
    ["arrest_stick"] = true,
    ["door_ram"] = true,
    ["gmod_camera"] = true,
    ["gmod_tool"] = true,
    ["keys"] = true,
    ["lockpick"] = true,
    ["med_kit"] = true,
    ["pocket"] = true,
    ["stunstick"] = true,
    ["unarrest_stick"] = true,
    ["weapon_keypadchecker"] = true,
    ["weapon_physcannon"] = true,
    ["weapon_physgun"] = true,
    ["weaponchecker"] = true,
}

DefaultWeapons обратите внимание ​

Список оружия, с которым игроки начинают игру.

Значение по умолчанию:

lua
{
    "keys",
    "weapon_physcannon",
    "gmod_camera",
    "gmod_tool",
    "pocket",
    "weapon_physgun",
}

CategoryOverride обратите внимание ​

Переопределение категорий. Используется для переопределения категорий по умолчанию для всяких профессий, вещей и оружий.

Значение по умолчанию:

lua
{
    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",
    },
}

AdminWeapons обратите внимание ​

Список оружия, с которым администраторы начинают игру, в дополнение к стандартному оружию и оружию от GM.Config.AdminsCopWeapons.

Значение по умолчанию:

lua
{
    "weapon_keypadchecker",
}

DefaultLaws обратите внимание ​

Стандартные законы, которые не могут быть изменены в игре.

Значение по умолчанию:

lua
{
    "Do not attack other citizens except in self-defence.",
    "Do not steal or break into people's homes.",
    "Money printers/drugs are illegal.",
}

PocketBlacklist обратите внимание ​

Список вещей, которые нельзя поместить в карман.

Значение по умолчанию:

lua
{
    ["fadmin_jail"] = true,
    ["meteor"] = true,
    ["door"] = true,
    ["func_"] = true,
    ["player"] = true,
    ["beam"] = true,
    ["worldspawn"] = true,
    ["env_"] = true,
    ["path_"] = true,
    ["prop_physics"] = true,
    ["money_printer"] = true,
    ["gunlab"] = true,
    ["prop_dynamic"] = true,
    ["prop_vehicle_prisoner_pod"] = true,
    ["keypad_wire"] = true,
    ["gmod_button"] = true,
    ["gmod_rtcameraprop"] = true,
    ["gmod_cameraprop"] = true,
    ["gmod_dynamite"] = true,
    ["gmod_thruster"] = true,
    ["gmod_light"] = true,
    ["gmod_lamp"] = true,
    ["gmod_emitter"] = true,
}

noStripWeapons ​

Оружие, которое считается 'легальным' при проверке оружия и не изымается при конфискации.

Эта настройка используется В ДОПОЛНЕНИИ к GM.Config.weaponCheckerHideDefault и GM.Config.weaponCheckerHideNoLicense.

preventClassItemRemoval ​

Список энтити, которые не будут удаляться при смене работы игрока. Это применяется только когда значение removeclassitems установлено на true.

Примечание: энтити будут удаляться только при смене работы на ту, которая не имеет права на эту энтити.

Значение по умолчанию:

{ ["gunlab"] = false, ["microwave"] = false, ["spawned_shipment"] = false, }

allowedProperties обратите внимание ​

Свойства из C-меню, которые разрешено использовать любому игроку.

Значения, установленные на true, разрешены, в то время как значения, установленные на false - запрещены.

Значение по умолчанию:

lua
{
    remover = true,
    ignite = false,
    extinguish = true,
    keepupright = true,
    gravity = true,
    collision = true,
    skin = true,
    bodygroups = true,
}

Настройка jobs.lua ​

Создание файла jobs.lua ​

Для начала откройте файл jobs.lua, который находится по пути:

/garrysmod/addons/darkrpmodification/lua/darkrp_customthings/jobs.lua.

Если файла не существует, его нужно будет создать. В этот файл вы будете добавлять настройки для каждой профессии.

Пример создания простой профессии ​

Давайте рассмотрим пример создания базовой профессии — "Полицейский":

lua
...
TEAM_POLICE = DarkRP.createJob("Полицейский", { 
    color = Color(25, 25, 170, 255), 
    description = [[Вы полицейский, ваша задача поддерживать порядок в городе.]], 
    weapons = {"arrest_stick", "unarrest_stick", "weapon_pistol", "stunstick", "door_ram", "weaponchecker"}, 
    command = "police", 
    max = 4, 
    salary = 65, 
    admin = 0, 
    vote = true, 
    hasLicense = true, 
    category = "Государственные Службы" 
})
...

Параметры профессии ​

TEAM_POLICE: Переменная-идентификатор профессии. Название переменной должно быть уникальным.

DarkRP.createJob("Полицейский", {...}): Эта функция создаёт новую профессию с именем "Полицейский".

color: Определяет цвет профессии в списке. Используется формат RGBA.

model: Указывает модель игрока для данной профессии. Можно указать несколько моделей.

description: Описание профессии, которое увидят игроки.

weapons: Список оружия, которое получит игрок при выборе профессии.

command: Команда для выбора этой профессии. Игроки могут вводить её в чате для смены профессии.

max: Максимальное количество игроков, которые могут одновременно быть в этой профессии.

salary: Зарплата, которую игрок будет получать каждый игровой цикл.

admin: Определяет, доступна ли профессия только администраторам (0 - доступна всем, 1 - только админам, 2 - только супер-админам).

vote: Определяет, нужно ли голосование для получения профессии. Если true, другие игроки должны будут проголосовать.

hasLicense: Определяет, имеет ли игрок лицензию на оружие по умолчанию.

category: Категория, к которой относится профессия. Позволяет группировать профессии в меню.

Настройка дополнительных параметров ​

Дополнительные модели игроков ​

Если вы хотите, чтобы профессия имела несколько моделей на выбор, просто добавьте их к ней:

lua
model = {
    "models/player/police.mdl",
    "models/player/police_fem.mdl"
},

Добавление уникальных привилегий ​

Если вы хотите, чтобы у профессии были особые привилегии, например, доступ к определённым командам или правам, вы можете использовать параметр customCheck:

lua

customCheck = function(ply) return ply:IsUserGroup("vip") end,
CustomCheckFailMsg = "Эта профессия доступна только для VIP игроков.",

Здесь customCheck проверяет, принадлежит ли игрок к группе "VIP". Если нет, он не сможет выбрать профессию.

Ограничения по здоровью и броне ​

Можно установить стартовое количество здоровья и брони для профессии:

lua
health = 150,
armor = 50,

Уникальные свойства ​

Если профессии нужно добавить уникальные способности, вы можете это сделать с помощью параметра customCheck и дополнительных условий в коде, который будет проверять эти способности.

Создание пользовательских профессий ​

Вы можете создавать свои профессии с любым параметрами. Например, создадим профессию "Мэр":

lua
TEAM_MAYOR = DarkRP.createJob("Мэр", {
    color = Color(150, 20, 20, 255),
    model = "models/player/breen.mdl",
    description = [[Как мэр, вы управляете городом. Вы можете вводить законы и работать над улучшением жизни граждан.]],
    weapons = {"weapon_fists"},
    command = "mayor",
    max = 1,
    salary = 100,
    admin = 0,
    vote = true,
    hasLicense = false,
    mayor = true,
    category = "Государственные Службы"
})

Организация профессий в категории ​

Для удобства игроков, профессии можно группировать по категориям. Например, все профессии государственных служб могут быть объединены в категорию "Государственные Службы":

lua
DarkRP.createCategory{
    name = "Государственные Службы",
    categorises = "jobs",
    startExpanded = true,
    color = Color(0, 107, 0, 255),
    canSee = function(ply) return true end,
    sortOrder = 100,
}

Перезагрузка сервера ​

После внесения изменений в файл jobs.lua, сохраните файл и перезапустите сервер, чтобы изменения вступили в силу. Теперь новые профессии будут доступны для ваших игроков.

Подключение базы данных MySQL ​

Для хранения данных игроков мы строго рекомендуем использовать базы данных MySQL — так данными управлять намного удобнее и безопаснее.

Установка MySQLOO ​

По умолчанию Garry's Mod не умеет устанавливать подключение к базам данных MySQL. Это решается установкой lua-модулей, которые позволяют устанавливать подключения и записывать данные в базы данных прямо в аддонах Garry's Mod. Одним из самых популярных модулей является MySQLOO — его мы и будем использовать в качестве примера в этой статье.

Скачивание MySQLOO ​

Первым делом нужно будет скачать сам модуль.

Последняя версия модуля на момент написания этой статьи — 9.7.6.

Прямые ссылки на скачивание:

MySQLOO Linux 32bit | MySQLOO Linux 64bit

MySQLOO Windows 32bit | MySQLOO Windows 64bit

Серверы, расположенные на нашем игровом хостинге, по умолчанию используют 32-битную Linux версию Garry's Mod. В случае перехода на 64-битную версию Garry's Mod, нужно будет скачать соответствующую версию модуля.

Загрузка MySQLOO на сервер ​

После скачивания модуля MySQLOO необходимо разместить соответствующий файл .dll в директории вашего сервера Garry's Mod:

  1. Перейдите в папку /garrysmod/lua/bin/ на вашем сервере. Создайте папку bin, если её не существует.
  2. Загрузите соответствующий файл MySQLOO в эту папку.

Убедитесь, что вы используете правильную версию модуля в зависимости от ОС и битности сервера (32bit или 64bit).

Настройка MySQL в DarkRP ​

Подключение базы данных ​

После установки модуля нужно настроить DarkRP для работы с базой данных MySQL.

  1. Откройте файл mysql.lua, который находится по пути /garrysmod/addons/darkrpmodification/lua/darkrp_config/.

  2. Найдите и раскомментируйте следующие строки, заменив их на ваши данные для подключения к базе данных MySQL:

lua
--[[---------------------------------------------------------------------------
Database configuration
---------------------------------------------------------------------------]]
MySQLite_config = {}
MySQLite_config.EnableMySQL = true
MySQLite_config.Host = "localhost" -- IP вашего MySQL сервера
MySQLite_config.Username = "root" -- Имя пользователя MySQL
MySQLite_config.Password = "password" -- Пароль пользователя MySQL
MySQLite_config.Database_name = "darkrp" -- Название базы данных
MySQLite_config.Database_port = 3306 -- Порт MySQL, по умолчанию 3306
MySQLite_config.Preferred_module = "mysqloo"

Данные можно найти во вкладке "Базы данных" в игровой панели управления, подробнее о вкладке можно узнать тут: Базы данных

Пример настроек:

lua
--[[---------------------------------------------------------------------------
Database configuration
---------------------------------------------------------------------------]]
MySQLite_config = {}
MySQLite_config.EnableMySQL = true
MySQLite_config.Host = "db.snk.wtf" -- IP вашего MySQL сервера
MySQLite_config.Username = "senkowiki.acf78z1a" -- Имя пользователя MySQL
MySQLite_config.Password = "gbp_ced0PQV-jwp6nvz" -- Пароль пользователя MySQL
MySQLite_config.Database_name = "darkrp" -- Название базы данных
MySQLite_config.Database_port = 3306 -- Порт MySQL, по умолчанию 3306
MySQLite_config.Preferred_module = "mysqloo"

Тестирование подключения ​

После выполнения вышеуказанных шагов, проверьте, подключился ли успешно сервер к базе данных MySQL.

Запустите сервер и следите за консолью сервера. Если настройка выполнена корректно, то вы не увидите каких-либо ошибок, связанных с MySQL.

Готово! Вы успешно настроили базу данных MySQL, и теперь все данные игроков будут сохраняться в базу данных заместо файла sv.db.

Авторы статьи

Загрузка авторов...