• Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами Публичной оферты Проекта NetZONA.org: https://netzona.org/help/public-offer/

  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами использования Ваших файлов cookie на Проекте NetZONA.org: https://netzona.org/help/cookies/

  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с Политикой конфиденциальности Проекта NetZONA.org: https://netzona.org/pages/privacy-policy/

  • Ответы на основные вопросы: https://netzona.org/threads/populjarnye-voprosy-i-otvety-na-nix.6122/

  • Приветствуем на сайте, Гость! Приобрести (купить) Информационную услугу (в том числе группу "Проверенный") на Проекте NetZONA.org: https://netzona.org/account/upgrades

Создание своего сервера на SUP сборке

  • Автор темы Автор темы Dog
  • Дата начала Дата начала

Dog

Пользователь
Регистрация
28 Июл 2022
Сообщения
35
Реакции
0
Баллы
7
Клан-тег
Doggy
Пол
Мужской
Семейное положение
Не женат
Род занятий
cheating, scripting
Во первых нужно установить сам сервер, куда мы будет ставить нашу сборку, ссылка на гайд:

Теперь нам надо определиться, какую Сап Сборку ставить на сервер.
Лично я выбрал Umbrella RP так как она уже полная и дополнять не придётся. Вы можете выбрать Unity RP - https://netzona.org/resources/unity-rp-2019.2173/ (достаточно хорошая сборка)

Конечно-же надо настроить базу данных, чтобы данные наших игроков сохранялись и сборка работала.

1. Сначало зайдём в папку нашего сервера (пример: C:\Папка\steamapps\common\GarrysModDS\garrysmod\gamemodes\darkrp\gamemode)
2. Там будет такой файлик: db.lua - включаем его и редактируем.
ss.PNG

Пояснение:

localhost - хост/ip вашей базы данных.
root - пользователь. [если у вас локалка ничего сюда не пишите].
пустое поле - пароль, если у вас локалка ничего сюда не пишите.
test - название вашей базы данных.

Внизу в rp._Credits также пишем данные, те которые писали на вверху в rp._Stats

3. Устанавливаем нужные dll файлы на ваш сервер:
Эта ссылка скрыта от группы "Гость" (группа пользователей, которые еще не прошли регистрацию или авторизацию на Проекте). Чтобы увидеть эту ссылку Вам требуется авторизоваться или пройти регистрацию на Проекте (зарегистрироваться).
(вашсервер/garrysmod/bin)
3.1 А так-же качаем аддоны (plib1, plib2, если у вас в сборке они уже есть - скачивать не нужно).
Эта ссылка скрыта от группы "Гость" (группа пользователей, которые еще не прошли регистрацию или авторизацию на Проекте). Чтобы увидеть эту ссылку Вам требуется авторизоваться или пройти регистрацию на Проекте (зарегистрироваться).
Эта ссылка скрыта от группы "Гость" (группа пользователей, которые еще не прошли регистрацию или авторизацию на Проекте). Чтобы увидеть эту ссылку Вам требуется авторизоваться или пройти регистрацию на Проекте (зарегистрироваться).
Закидывать в addons.

4. Закрываем этот файл и выходим обратно в папку garrysmod (пример: C:\Папка\steamapps\common\GarrysModDS\garrysmod)

Заходим в папку addons и видим там кучу аддонов (ну или не кучу), нам здесь нужен аддон 'badmin':

badmin.PNG

Заходим в эту папку (в badmin), затем lua, затем ba, затем core - когда мы прошли по этому пути то видим файл "data_sv.lua"

data_sv.PNG
Открываем его и видим следующее:
db.PNG
Наши старые друзья, указываем те же данные которые мы указывали в другом файле.

Пояснение:

localhost - хост/ip вашей базы данных.
root - пользователь. [если у вас локалка ничего сюда не пишите].
пустое поле - пароль, если у вас локалка ничего сюда не пишите.
test - название вашей базы данных.

Но, друзья, это ещё не всё, мы подключили базу данных, а программу через которую будем запускать базу мы собственно забыли.

Лично я пользуюсь Wampserver64, но вы можете использовать программу как у данного молодого человека (тема: https://netzona.org/threads/kak-sozdat-darkrp-server-na-sup.7164/ - там кстати тоже есть инструкция по подключении базы данных.)

После установки программы Wampserver мы её запускаем и ждём процесс, когда иконка станет зелёной то база данных запущена:

Как посмотреть какая иконка (у вас она может быть рядом с значком)
:
1. Открываем значок: dsd.PNG
2. Смотрим каким цветом она горит (нам нужен обязательно зелёный!): bvf.PNG
3. Если горит зелёным то вы сделали всё правильно, едем дальше!

Заливаем базу данных:
Маленькое пояснение: Файл базы данных будет с форматом sql.
1. Заходим в вашем браузере по адресу: localhost/phpmyadmin
2. У вас откроется окно авторизации: autho.PNG
2.1 Где написано Пользователь - пишем root
2.2 Где написано Пароль - ничего не пишем.
2.3 Где написано Выбор сервера: - выбираем MySQL (ничего другого!)
3. Опа, у вас открывается основное меню MySQL переходим сюда: bd.PNG
4. Дальше видим такую картину: creating.PNG
4.1 Где написано Имя базы данных пишем то название, которое указывали в настройке бд (Тоесть где db.lua, 4 поле.)
4.2 latin1_swedish_ci мы не меняем, оставляем всё как есть.
4.3 Нажимаем на кнопочку 'Создать'
5. После создания видим нашу базу данных в списке: netzona.PNG
5.1 Мы никуда не уходим/не обновляем страницу/не выходим/ничего не выключаем, нажимаем на кнопку: import.PNG
5.2 Нажали? В.PNG

5.3 Нажимаем на Выберите файл и выбираем ваш файл базы данных с расширением .sql | Ждём его загрузки и ждём на Вперёд. (также немного ждём)
5.4 Оп! Наша база данных загрузилась, что-же дальше?

6. А давай-те ка немного поднастроим наш .bat файл (который создавали в теме: https://netzona.org/threads/kak-sozdat-server-garrys-mod.632/)
Ладно, вмещу в один туториал:
1. Создайте .bat файл в папке с файлом srcds.exe и впишите в него:
Код:
@echo off
echo Starting game server.
echo Starting DarkRP Server
srcds.exe -console -game garrysmod +gamemode darkrp +map название_карты +maxplayers 100 +host_workshop_collection 2436321092
echo Server has now started.
Пояснения:

6.1 где darkrp - этот гейммод, он включится когда вы запустите сервер. (Вы же делаете РП-Сервер на Сап Сборке, не надо его менять.)
6.2 где название_карты - меняем на название вашей карты.
6.3 где maxplayers 100 - это сколько игроков может играть на вашем сервере (всего можно сделать вроде как 120)

Про дополнительные поля:
Есть некоторые дополнительные поля для вашего .bat файла, я назову только один который вам пригодится:
+host_workshop_collection 2436321092 -- с помощью этого вы можете добавить скачку аддонов из коллекции Стима при заходе на сервер. Где 2436321092 меняем на свой ИД Коллекции.

7. Ура! Мы сделали всё что нужно было и теперь вы можете играть на вашем сервере (с ботами)!

Как же решить некоторые ошибки которые встретятся вам?

1 ошибка: У меня нельзя купить двери на карте!
Решение: заходим по пути (Путь примерный, у вас может быть другой - папка с вашим сервером:\steamapps\common\GarrysModDS\garrysmod\gamemodes\darkrp\gamemode\cfg\doors | Если нету папки doors то создайте.)
Затем создаём в них файл rp_downtown_tits_v2.lua (если у вас карта rp_downtown_tits_v2) и вписываем этот код:

Код:
rp.cfg.Doors = {
    -- team doors
    {
        Name = 'Админ Зона',
        Teams = { TEAM_ADMIN },
        MapIDs = { 2985, 2986, 2988, 2987, 2981, 2982, 2984, 2983 }
    },
    {
        Name = 'Полицейский участок',
        Teams = { TEAM_POLICE, TEAM_CHIEF, TEAM_MAYOR, TEAM_FBR, TEAM_SWAT, TEAM_SWATLEADER },
        Locked = true,
        MapIDs = { 2379, 1610, 2228, 1618, 2462, 2461, 2217, 2218, 2269, 2425, 2426, 2428, 2427, 2231, 2230, 1619 }
    },
    {
        Name = 'Кабинет мэра',
        Teams = { TEAM_MAYOR, TEAM_POLICE, TEAM_CHIEF, TEAM_FBR, TEAM_SWAT, TEAM_SWATLEADER },
        Locked = true,
        MapIDs = { 2224, 2225, 2226, 2227, 2575, 2576, 2248, 2376 }
    },
    {
        Name = 'Тюрьма',
        Teams = { TEAM_POLICE, TEAM_CHIEF, TEAM_MAYOR, TEAM_FBR, TEAM_SWAT, TEAM_SWATLEADER },
        Locked = true,
        MapIDs = { 2223, 1883, 1882, 1881, 2219, 2220, 2251, 2250 }
    },
    {
        Name = 'Банк',
        Teams = { TEAM_BANK },
        MapIDs = { 2407, 2406, 2409, 2408, 2390, 2389, 2387, 2388, 2392 }
    },
    -- normal doors
    {
        Name = 'Склад #1',
        MapIDs = { 1518, 1516, 1517, 1633 }
    },
    {
        Name = 'Склад #2',
        MapIDs = { 1738, 1739, 1747 }
    },
    {
        Name = 'Склад #3',
        MapIDs = { 1538, 1539, 1821, 1541 }
    },
    {
        Name = 'Склад #4',
        MapIDs = { 1308, 1307, 1418 }
    },
    -- Склад
    {
        Name = 'Marr Freight Co.',
        MapIDs = { 1325, 1327, 1309, 1310, 1359, 1360, 1514, 1515 }
    },
    {
        Name = 'J&M Glass Co.',
        MapIDs = { 2060, 1989, 2036 }
    },
    -- Cinema
    {
        Name = 'Кинотеатр',
        MapIDs = { 1906, 1907, 1930, 1934, 1933, 1931 }
    },
    -- Baltic
    {
        Name = 'Кафе Baltic',
        MapIDs = { 1369, 1554 }
    },
    --
    {
        Name = 'Бар #1',
        MapIDs = { 1422, 1421, 1803 }
    },
    --
    {
        Name = 'Магазин #1',
        MapIDs = { 1880, 1875 }
    },
    {
        Name = 'Магазин #2',
        MapIDs = { 2339, 2338, 2302 }
    },
    {
        Name = 'Магазин #3',
        MapIDs = { 1343, 1339 }
    },
    {
        Name = 'Магазин #4',
        MapIDs = { 1712, 1714, 1713 }
    },
    {
        Name = 'Магазин #5',
        MapIDs = { 1431, 1432, 1452, 1453, 1433 }
    },
    {
        Name = 'Магазин #6',
        MapIDs = { 1344, 1345, 1807 }
    },
    -- Pelco
    {
        Name = 'Pelco',
        MapIDs = { 1850 }
    },
    --
    {
        Name = 'Помещение #1',
        MapIDs = { 2011, 2014, 2015 }
    },
    {
        Name = 'Помещение #2',
        MapIDs = { 1978, 1983 }
    },
    {
        Name = 'Помещение #3',
        MapIDs = { 1553, 1568, 1569, 2386 }
    },
    {
        Name = 'Помещение #4',
        MapIDs = { 1929, 1961, 1962 }
    },
    {
        Name = 'Помещение #5',
        MapIDs = { 1965, 1968 }
    },
    {
        Name = 'Помещение #6',
        MapIDs = { 2508, 2507, 2518, 2517 }
    },
    {
        Name = 'Помещение #7',
        MapIDs = { 2596, 2595 }
    },
    {
        Name = 'Помещение #8',
        MapIDs = { 2593, 2594 }
    },
    {
        Name = 'Помещение #9',
        MapIDs = { 1566 }
    },
    {
        Name = 'Помещение #10',
        MapIDs = { 2610, 2611 }
    },
    {
        Name = 'Помещение #11',
        MapIDs = { 2009, 2010, 2016, 2017 }
    },
    {
        Name = 'Помещение #12',
        MapIDs = { 2115, 2114 }
    },
    {
        Name = 'Помещение #13',
        MapIDs = { 1638, 1637, 1639, 1641, 1643, 1642, 1644 }
    },
    {
        Name = 'Помещение #14',
        MapIDs = { 1675, 1689, 1690, 1676 }
    },
    {
        Name = 'Помещение #15',
        MapIDs = { 1692, 1694, 1693, 1695, 1696 }
    },
    {
        Name = 'Помещение #16',
        MapIDs = { 2489, 2488, 2482, 2483 }
    },
    {
        Name = 'Помещение #17',
        MapIDs = { 2485, 2484, 2491, 2490, 2495, 2494, 2496, 2497, 2492, 2493, 2479, 2478, 2498 }
    },
    {
        Name = 'Помещение #18',
        MapIDs = { 2477, 2476, 2501, 2502 }
    },
    {
        Name = 'Помещение #19',
        MapIDs = { 2851, 2487, 2486 }
    },
    {
        Name = 'Помещение #20',
        MapIDs = { 2584, 2905, 2906 }
    },
    -- hotel doors
    {
        Name = 'Отель Звезда',
        Teams = { TEAM_HOTEL },
        MapIDs = { 1419, 1420, 1414, 1429 }
    },
    {
        Name = 'Номер #1',
        Hotel = true,
        MapIDs = { 1400, 1958, 1960 }
    },
    {
        Name = 'Номер #2',
        Hotel = true,
        MapIDs = { 1399, 1901, 1959 }
    },
    {
        Name = 'Номер #3',
        Hotel = true,
        MapIDs = { 1398, 1393 }
    },
    {
        Name = 'Номер Люкс',
        Hotel = true,
        MapIDs = { 1401, 1513, 1406, 1957 }
    },
    --
    {
        Name = 'Дом #1',
        MapIDs = { 2431, 2432, 2412, 2413, 2411, 2410 }
    },
    {
        Name = 'Дом #2',
        MapIDs = { 1567 }
    },
    {
        Name = 'Дом #3',
        MapIDs = { 1560 }
    },
    {
        Name = 'Дом #4',
        MapIDs = { 1352, 2004 }
    },
    {
        Name = 'Дом #5',
        MapIDs = { 1735, 1707 }
    },
    {
        Name = 'Дом #6',
        MapIDs = { 2277, 2336, 2282, 2281, 2288 }
    },
    {
        Name = 'Дом #7',
        MapIDs = { 1809, 1811, 1812, 1810 }
    },
    {
        Name = 'Дом #8',
        MapIDs = { 2109, 2110 }
    },
    {
        Name = 'Дом #9',
        MapIDs = { 1750, 1757, 1840, 1755, 1756, 1762, 1763, 1761, 1752, 1753, 1754 }
    },
    {
        Name = 'Дом #10',
        MapIDs = { 2061, 2062, 2143 }
    },
    {
        Name = 'Дом #11',
        MapIDs = { 1852, 1869, 1853, 1905 }
    },
    --
    {
        Name = 'Квартира #1',
        MapIDs = { 2137, 2138 }
    },
    {
        Name = 'Квартира #2',
        MapIDs = { 2136, 2141 }
    },
    {
        Name = 'Квартира #3',
        MapIDs = { 2135, 2140 }
    },
    {
        Name = 'Квартира #4',
        MapIDs = { 2134, 2139 }
    },
    {
        Name = 'Квартира #5',
        MapIDs = { 2129, 2130 }
    },
    {
        Name = 'Квартира #6',
        MapIDs = { 2128, 2133 }
    },
    {
        Name = 'Квартира #7',
        MapIDs = { 2127, 2132 }
    },
    {
        Name = 'Квартира #8',
        MapIDs = { 2126, 2131 }
    },
    {
        Name = 'Квартира #9',
        MapIDs = { 1450, 1483 }
    },
    {
        Name = 'Квартира #10',
        MapIDs = { 1451, 1460 }
    },
    {
        Name = 'Квартира #11',
        MapIDs = { 1434, 1461 }
    },
    {
        Name = 'Квартира #12',
        MapIDs = { 1435, 1485 }
    },
    {
        Name = 'Квартира #13',
        MapIDs = { 1862, 1854 }
    },
    {
        Name = 'Квартира #14',
        MapIDs = { 1861, 1866, 1865 }
    },
    {
        Name = 'Квартира #15',
        MapIDs = { 1857, 1855, 1856 }
    },
    {
        Name = 'Квартира #16',
        MapIDs = { 1859, 1858, 1860 }
    },
    {
        Name = 'Квартира #17',
        MapIDs = { 1243, 1247 }
    },
    {
        Name = 'Квартира #18',
        MapIDs = { 1240, 1244 }
    },
    {
        Name = 'Квартира #19',
        MapIDs = { 1241, 1236 }
    },
    {
        Name = 'Квартира #20',
        MapIDs = { 1537, 1620 }
    },
}

Если у вас rp_bangclaw: Создаём в них файл rp_bangclaw.lua (если у вас карта rp_bangclaw) и вписываем этот код:

Код:
rp.cfg.Doors = {
    {
        Name = 'Полицейский участок',
        Teams = {TEAM_MAYOR, TEAM_POLICE, TEAM_CHIEF, TEAM_SWAT, TEAM_SWATLEADER, TEAM_FBR)},
        Locked = false,
        MapIDs = {1664, 1444, 1436, 1437, 1433, 1434, 1430, 1439}
    },
    {
        Name = 'Тюрьма',
        Teams = {TEAM_MAYOR, TEAM_POLICE, TEAM_CHIEF, TEAM_SWAT, TEAM_SWATLEADER, TEAM_FBR)},
        Locked = true,
        MapIDs = {1443, 1442, 1441}
    },
    {
        Name = 'Мэрия',
        Teams = {TEAM_MAYOR, TEAM_POLICE, TEAM_CHIEF, TEAM_SWAT, TEAM_SWATLEADER, TEAM_FBR)},
        Locked = true,
        MapIDs = {1323, 1324, 1322, 1321, 1319, 1320}
    },
    {
        Name = 'Стандарт',
        Hotel = true,
        MapIDs = {1311}
    },
    {
        Name = 'Люкс',
        Hotel = true,
        MapIDs = {1312}
    },
    {
        Name = 'Вилла',
        Hotel = true,
        MapIDs = {1313}
    },
    {
        Name = 'Дом №1',
        MapIDs = {1270}
    },
    {
        Name = 'Квартира №1',
        MapIDs = {1299, 1301, 1300}
    },
    {
        Name = 'Квартира №2',
        MapIDs = {1298, 1303, 1302}
    },
    {
        Name = 'Квартира №3',
        MapIDs = {1306, 1305, 1304}
    },
    {
        Name = 'Квартира №4',
        MapIDs = {1307, 1308, 1309}
    },
    {
        Name = 'Дом №2',
        MapIDs = {1245}
    },
    {
        Name = 'Дом №3',
        MapIDs = {1240}
    },
    {
        Name = 'Дом №4',
        MapIDs = {1246}
    },
    {
        Name = 'Дом №5',
        MapIDs = {1251, 1315, 1314}
    },
    {
        Name = 'Элитный дом №1',
        MapIDs = {1278, 1279, 1280}
    },
    {
        Name = 'Элитный дом №2',
        MapIDs = {1274, 1275, 1276}
    },
    {
        Name = 'Элитный дом №3',
        MapIDs = {1271, 1272, 1273}
    },
    {
        Name = 'Элитный дом №4',
        MapIDs = {1248, 1249, 1250}
    },
    {
        Name = 'Элитный дом №5',
        MapIDs = {1532, 1533, 1531, 1534, 1535, 1536, 1547}
    },
    {
        Name = 'Элитный дом №6',
        MapIDs = {1529, 1518, 1516, 1514, 1513, 1515, 1517}
    },
    {
        Name = 'Высотная башня',
        MapIDs = {1550, 1553}
    },
    {
        Name = 'Бутик №1',
        MapIDs = {1501}
    },
    {
        Name = 'Бутик №2',
        MapIDs = {1502}
    },
    {
        Name = 'Бутик №3',
        MapIDs = {1509}
    },
    {
        Name = 'Бутик №4',
        MapIDs = {1510}
    },
    {
        Name = 'Бутик №5',
        MapIDs = {1495}
    },
    {
        Name = 'Бутик №6',
        MapIDs = {1499}
    },
    {
        Name = 'Бутик №7',
        MapIDs = {1492}
    },
    {
        Name = 'Бутик №8',
        MapIDs = {1489}
    },
    {
        Name = 'Дом №6',
        MapIDs = {1316}
    },
    {
        Name = 'Дом №7',
        MapIDs = {1289, 1417, 1418, 1420, 1421}
    },
    {
        Name = 'Квартира №1',
        MapIDs = {1327}
    },
    {
        Name = 'Квартира №2',
        MapIDs = {1328}
    },
    {
        Name = 'Дом №8',
        MapIDs = {1568}
    },
    {
        Name = 'Дом №9',
        MapIDs = {1562, 1563, 1564}
    },
    {
        Name = 'Ангар №1',
        MapIDs = {1575, 1576, 1577, 1574}
    },
    {
        Name = 'Квартира №1',
        MapIDs = {1410, 1411, 1412, 1381}
    },
    {
        Name = 'Квартира №2',
        MapIDs = {1407, 1408, 1409, 1378}
    },
    {
        Name = 'Квартира №3',
        MapIDs = {1392, 1394, 1393}
    },
    {
        Name = 'Квартира №4',
        MapIDs = {1404, 1405, 1406, 1375}
    },
    {
        Name = 'Квартира №5',
        MapIDs = {1401, 1402, 1403, 1373}
    },
    {
        Name = 'Квартира №6',
        MapIDs = {1391, 1296, 1297}
    },
    {
        Name = 'Квартира №7',
        MapIDs = {1398, 1399, 1400, 1371}
    },
    {
        Name = 'Квартира №8',
        MapIDs = {1395, 1396, 1397, 1368}
    },
    {
        Name = 'Квартира №9',
        MapIDs = {1292, 1293, 1294, 1295}
    },
    {
        Name = 'Квартира №10',
        MapIDs = {1282, 1283, 1285, 1290}
    },
    {
        Name = 'Квартира №11',
        MapIDs = {1284, 1286, 1291, 1281}
    },
    {
        Name = 'Ангар №2',
        MapIDs = {1268, 1239, 1269}
    },
    {
        Name = 'Помещение',
        MapIDs = {2170, 2171, 2172}
    },
    {
        Name = 'Помещение',
        MapIDs = {2188, 2187, 2177, 2597}
    },
    {
        Name = 'Помещение',
        MapIDs = {2600}
    },
    {
        Name = 'Помещение',
        MapIDs = {2601}
    },
    {
        Name = 'Помещение',
        MapIDs = {2161}
    },
}

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

Ошибка: У меня не работает Badmin! (Кучу ошибок)
Скачайте пофикшенный:
Эта ссылка скрыта от группы "Гость" (группа пользователей, которые еще не прошли регистрацию или авторизацию на Проекте). Чтобы увидеть эту ссылку Вам требуется авторизоваться или пройти регистрацию на Проекте (зарегистрироваться).

Переместите в папку сервера\addons с заменой старого badmin.

Ну вроде всё, надеюсь вас не надо учить как создавать профессии? Хм, но я думаю что это не помешает в нашем туториале, всё-же я сделал всего одну часть, не хочу пилить всё на миллиард частей, а потом и вовсе забыть.

Так-вот, собственно тутор как создавать/менять/изменять профессии:

1. Заходим в папку нашего сервера\garrysmod\gamemodes\darkrp\gamemode\cfg\jobs.lua (открываем этот файлик):

Код:
TEAM_DOGE = rp.addTeam("Собака", { -- Где написано Собака изменяем на название вашей профессии [Пример: Маньяк], где TEAM_DOGE на англ пишем название профы. [Пример: TEAM_MANYAK]
    color = Color(0, 100, 255, 255), -- Цвет профессии [в rgba]
    model = "models/doge_player/doge_player.mdl", -- Скин вашей профессии
    weapons = {}, -- Оружия которые выдаются при спавне. [Пример: "stun_baton" или "swb_tmp"] Можно указать очень много оружия вот так: "назв_оружия", "назв_оружия" и т.д (через запятую)
    command = "doge", -- Команда для превращения в эту профессию, команды должны быть уникальные, не должны повторятся!
    max = 5, -- Сколько максимально может быть людей на этой профессии. [Если поставить 0 - то у профессии не будет ограничений на людей]
    salary = 0, -- Зарплата профессии [Указываем абсолютно любую.]
    admin = 0, -- Профессия для админа или нет? [0 - для всех, 1 - для админов, 2 - для суперадминов]
    vote = false, -- Если человек захочет зайти за эту профессию, будет-ли голосование? (как у мэра)
})
Опять-же, дополнительные поля для вашей профессии:
Код:
  PlayerLoadout = function(ply) -- Когда игрок заспавнится будет выполнять действия которые укажем ниже.

             end, -- Это поле вставляйте в конец вашей профессии, то-есть после поля vote
Сейчас мы рассмотрели дополнительное поле которое выполняет действия когда игрок спавнится, оно пустое.
Как-же сделать выдачу оружия? Можно через поле weapons = {"назв_оружия"} | А как-же сделать чтобы у игрока забиралось всё оружие и выдавалось определённое? (На ивентах с боссом-игроком - самое то!):

Код:
PlayerLoadout = function(ply) -- Когда игрок заспавнится будет выполнять действия которые укажем ниже.
    ply:StripWeapons() -- Эта строчка забирает всё оружие у игрока, даже физган и тулган.
    ply:Give("weapon_fists") -- Эта строчка выдаёт какое-либо оружие игроку, в нашем случае руки.
end,

Вопрос: Я сделал всё как было там, убрал всё оружие, выдал своё, но у игрока очень мало патрон, какой строчкой выдать патроны?
Ответ: Всё легко, код ниже.
Код:
ply:GiveAmmo(51, pistol) -- это мы пишем после строчки ply:StripWeapons()
Разберём, 51 - это сколько патрон даст игроку, pistol - это тип патрон.
Код который получился:

Код:
PlayerLoadout = function(ply) -- Когда игрок заспавнится будет выполнять действия которые укажем ниже.
    ply:StripWeapons()
    ply:GiveAmmo(51, pistol) -- 51 - сколько патрон выдадим, pistol - тип патрон.
    ply:Give("weapon_fists")
end,

Вопрос: Как сделать смену бодигруппов при спавне игрока?
Ответ: Код располагается ниже:

Код:
PlayerLoadout = function(ply)
       ply:SetBodygroup(1,0) -- цифра 1 это какое поле занимает, например самое первое это галстук | 0 - это число. (хз как объяснить)
end,
Это мы пишем почти в конец нашей профессии.

Вопрос: Как выдать ХП и Броню при спавне?
Ответ: Код располагается ниже:

Код:
PlayerLoadout = function(ply)
       ply:SetHealth(100) -- Сколько выдадим Здоровья?
       ply:SetArmor(100) -- Сколько выдадим Брони?
end,

Вопрос: Как сделать так, чтобы у профессии было максимально брони 50, и больеш 50 нельзя было получить броню?
Ответ: Код располагается ниже:
Код:
ply:SetMaxArmor(50) -- 50 это сколько максимально может иметь брони профессия.
Это всего-лишь строчка, а так это писать после ply:SetArmor или ply:SetHealth [Пример:


PlayerLoadout = function(ply)
ply:SetHealth(100) -- Сколько выдадим Здоровья?
ply:SetArmor(100) -- Сколько выдадим Брони?
ply:SetMaxArmor(50)
end,

или

PlayerLoadout = function(ply)
ply:SetHealth(100) -- Сколько выдадим Здоровья?
ply:SetMaxArmor(50)
end,

ну или же

PlayerLoadout = function(ply)
ply:SetMaxArmor(50)
end,
]

С здоровьем также, вписываем либо в PlayerSpawn или PlayerLoadout:
pl:SetMaxHealth(500) -- 500 максимальное здоровье.

Вопрос: Как сделать спавн профессии через jobs.lua
Код будет чуть ниже:

Код:
spawns = {
     название_карты = {Vector(-143.933441, -243.945969, 12720.031250)} -- это первая позиция.
},
 
Последнее редактирование:
бля у меня не робят двери на downtown_tits_v2 тоесть у меня сап и просто не работают двери не купить не чего с ними сделать нельзя кроме того как открыть что делать?
 
[ERROR] gamemodes/darkrp/gamemode/core/spawn_sv.lua:3: attempt to index upvalue 'spawns' (a nil value)
1. unknown - gamemodes/darkrp/gamemode/core/spawn_sv.lua:3
Что делать?
 
бля у меня не робят двери на downtown_tits_v2 тоесть у меня сап и просто не работают двери не купить не чего с ними сделать нельзя кроме того как открыть что делать?
По директории в файлик этот код впиши - garrysmod\gamemodes\darkrp\gamemode\cfg\doors



Lua:
rp.cfg.Doors = {

    -- team doors

    {

        Name = 'Админ Зона',

        Teams = { TEAM_ADMIN },

        MapIDs = { 2985, 2986, 2988, 2987, 2981, 2982, 2984, 2983 }

    },

    {

        Name = 'Полицейский участок',

        Teams = { TEAM_POLICE, TEAM_CHIEF, TEAM_MAYOR, TEAM_FBR, TEAM_SWAT, TEAM_SWATLEADER },

        Locked = true,

        MapIDs = { 2379, 1610, 2228, 1618, 2462, 2461, 2217, 2218, 2269, 2425, 2426, 2428, 2427, 2231, 2230, 1619 }

    },

    {

        Name = 'Кабинет мэра',

        Teams = { TEAM_MAYOR, TEAM_POLICE, TEAM_CHIEF, TEAM_FBR, TEAM_SWAT, TEAM_SWATLEADER },

        Locked = true,

        MapIDs = { 2224, 2225, 2226, 2227, 2575, 2576, 2248, 2376 }

    },

    {

        Name = 'Тюрьма',

        Teams = { TEAM_POLICE, TEAM_CHIEF, TEAM_MAYOR, TEAM_FBR, TEAM_SWAT, TEAM_SWATLEADER },

        Locked = true,

        MapIDs = { 2223, 1883, 1882, 1881, 2219, 2220, 2251, 2250 }

    },

    {

        Name = 'Банк',

        Teams = { TEAM_BANK },

        MapIDs = { 2407, 2406, 2409, 2408, 2390, 2389, 2387, 2388, 2392 }

    },

    -- normal doors

    {

        Name = 'Склад #1',

        MapIDs = { 1518, 1516, 1517, 1633 }

    },

    {

        Name = 'Склад #2',

        MapIDs = { 1738, 1739, 1747 }

    },

    {

        Name = 'Склад #3',

        MapIDs = { 1538, 1539, 1821, 1541 }

    },

    {

        Name = 'Склад #4',

        MapIDs = { 1308, 1307, 1418 }

    },

    -- Склад

    {

        Name = 'Marr Freight Co.',

        MapIDs = { 1325, 1327, 1309, 1310, 1359, 1360, 1514, 1515 }

    },

    {

        Name = 'J&M Glass Co.',

        MapIDs = { 2060, 1989, 2036 }

    },

    -- Cinema

    {

        Name = 'Кинотеатр',

        MapIDs = { 1906, 1907, 1930, 1934, 1933, 1931 }

    },

    -- Baltic

    {

        Name = 'Кафе Baltic',

        MapIDs = { 1369, 1554 }

    },

    --

    {

        Name = 'Бар #1',

        MapIDs = { 1422, 1421, 1803 }

    },

    --

    {

        Name = 'Магазин #1',

        MapIDs = { 1880, 1875 }

    },

    {

        Name = 'Магазин #2',

        MapIDs = { 2339, 2338, 2302 }

    },

    {

        Name = 'Магазин #3',

        MapIDs = { 1343, 1339 }

    },

    {

        Name = 'Магазин #4',

        MapIDs = { 1712, 1714, 1713 }

    },

    {

        Name = 'Магазин #5',

        MapIDs = { 1431, 1432, 1452, 1453, 1433 }

    },

    {

        Name = 'Магазин #6',

        MapIDs = { 1344, 1345, 1807 }

    },

    -- Pelco

    {

        Name = 'Pelco',

        MapIDs = { 1850 }

    },

    --

    {

        Name = 'Помещение #1',

        MapIDs = { 2011, 2014, 2015 }

    },

    {

        Name = 'Помещение #2',

        MapIDs = { 1978, 1983 }

    },

    {

        Name = 'Помещение #3',

        MapIDs = { 1553, 1568, 1569, 2386 }

    },

    {

        Name = 'Помещение #4',

        MapIDs = { 1929, 1961, 1962 }

    },

    {

        Name = 'Помещение #5',

        MapIDs = { 1965, 1968 }

    },

    {

        Name = 'Помещение #6',

        MapIDs = { 2508, 2507, 2518, 2517 }

    },

    {

        Name = 'Помещение #7',

        MapIDs = { 2596, 2595 }

    },

    {

        Name = 'Помещение #8',

        MapIDs = { 2593, 2594 }

    },

    {

        Name = 'Помещение #9',

        MapIDs = { 1566 }

    },

    {

        Name = 'Помещение #10',

        MapIDs = { 2610, 2611 }

    },

    {

        Name = 'Помещение #11',

        MapIDs = { 2009, 2010, 2016, 2017 }

    },

    {

        Name = 'Помещение #12',

        MapIDs = { 2115, 2114 }

    },

    {

        Name = 'Помещение #13',

        MapIDs = { 1638, 1637, 1639, 1641, 1643, 1642, 1644 }

    },

    {

        Name = 'Помещение #14',

        MapIDs = { 1675, 1689, 1690, 1676 }

    },

    {

        Name = 'Помещение #15',

        MapIDs = { 1692, 1694, 1693, 1695, 1696 }

    },

    {

        Name = 'Помещение #16',

        MapIDs = { 2489, 2488, 2482, 2483 }

    },

    {

        Name = 'Помещение #17',

        MapIDs = { 2485, 2484, 2491, 2490, 2495, 2494, 2496, 2497, 2492, 2493, 2479, 2478, 2498 }

    },

    {

        Name = 'Помещение #18',

        MapIDs = { 2477, 2476, 2501, 2502 }

    },

    {

        Name = 'Помещение #19',

        MapIDs = { 2851, 2487, 2486 }

    },

    {

        Name = 'Помещение #20',

        MapIDs = { 2584, 2905, 2906 }

    },

    -- hotel doors

    {

        Name = 'Отель Звезда',

        Teams = { TEAM_HOTEL },

        MapIDs = { 1419, 1420, 1414, 1429 }

    },

    {

        Name = 'Номер #1',

        Hotel = true,

        MapIDs = { 1400, 1958, 1960 }

    },

    {

        Name = 'Номер #2',

        Hotel = true,

        MapIDs = { 1399, 1901, 1959 }

    },

    {

        Name = 'Номер #3',

        Hotel = true,

        MapIDs = { 1398, 1393 }

    },

    {

        Name = 'Номер Люкс',

        Hotel = true,

        MapIDs = { 1401, 1513, 1406, 1957 }

    },

    --

    {

        Name = 'Дом #1',

        MapIDs = { 2431, 2432, 2412, 2413, 2411, 2410 }

    },

    {

        Name = 'Дом #2',

        MapIDs = { 1567 }

    },

    {

        Name = 'Дом #3',

        MapIDs = { 1560 }

    },

    {

        Name = 'Дом #4',

        MapIDs = { 1352, 2004 }

    },

    {

        Name = 'Дом #5',

        MapIDs = { 1735, 1707 }

    },

    {

        Name = 'Дом #6',

        MapIDs = { 2277, 2336, 2282, 2281, 2288 }

    },

    {

        Name = 'Дом #7',

        MapIDs = { 1809, 1811, 1812, 1810 }

    },

    {

        Name = 'Дом #8',

        MapIDs = { 2109, 2110 }

    },

    {

        Name = 'Дом #9',

        MapIDs = { 1750, 1757, 1840, 1755, 1756, 1762, 1763, 1761, 1752, 1753, 1754 }

    },

    {

        Name = 'Дом #10',

        MapIDs = { 2061, 2062, 2143 }

    },

    {

        Name = 'Дом #11',

        MapIDs = { 1852, 1869, 1853, 1905 }

    },

    --

    {

        Name = 'Квартира #1',

        MapIDs = { 2137, 2138 }

    },

    {

        Name = 'Квартира #2',

        MapIDs = { 2136, 2141 }

    },

    {

        Name = 'Квартира #3',

        MapIDs = { 2135, 2140 }

    },

    {

        Name = 'Квартира #4',

        MapIDs = { 2134, 2139 }

    },

    {

        Name = 'Квартира #5',

        MapIDs = { 2129, 2130 }

    },

    {

        Name = 'Квартира #6',

        MapIDs = { 2128, 2133 }

    },

    {

        Name = 'Квартира #7',

        MapIDs = { 2127, 2132 }

    },

    {

        Name = 'Квартира #8',

        MapIDs = { 2126, 2131 }

    },

    {

        Name = 'Квартира #9',

        MapIDs = { 1450, 1483 }

    },

    {

        Name = 'Квартира #10',

        MapIDs = { 1451, 1460 }

    },

    {

        Name = 'Квартира #11',

        MapIDs = { 1434, 1461 }

    },

    {

        Name = 'Квартира #12',

        MapIDs = { 1435, 1485 }

    },

    {

        Name = 'Квартира #13',

        MapIDs = { 1862, 1854 }

    },

    {

        Name = 'Квартира #14',

        MapIDs = { 1861, 1866, 1865 }

    },

    {

        Name = 'Квартира #15',

        MapIDs = { 1857, 1855, 1856 }

    },

    {

        Name = 'Квартира #16',

        MapIDs = { 1859, 1858, 1860 }

    },

    {

        Name = 'Квартира #17',

        MapIDs = { 1243, 1247 }

    },

    {

        Name = 'Квартира #18',

        MapIDs = { 1240, 1244 }

    },

    {

        Name = 'Квартира #19',

        MapIDs = { 1241, 1236 }

    },

    {

        Name = 'Квартира #20',

        MapIDs = { 1537, 1620 }

    },

}
 
Во первых нужно установить сам сервер, куда мы будет ставить нашу сборку, ссылка на гайд:

Теперь нам надо определиться, какую Сап Сборку ставить на сервер.
Лично я выбрал Umbrella RP так как она уже полная и дополнять не придётся. Вы можете выбрать Unity RP - https://netzona.org/resources/unity-rp-2019.2173/ (достаточно хорошая сборка)

Конечно-же надо настроить базу данных, чтобы данные наших игроков сохранялись и сборка работала.

1. Сначало зайдём в папку нашего сервера (пример: C:\Папка\steamapps\common\GarrysModDS\garrysmod\gamemodes\darkrp\gamemode)
2. Там будет такой файлик: db.lua - включаем его и редактируем.
Посмотреть вложение 5681

Пояснение:

localhost - хост/ip вашей базы данных.
root - пользователь. [если у вас локалка ничего сюда не пишите].
пустое поле - пароль, если у вас локалка ничего сюда не пишите.
test - название вашей базы данных.

Внизу в rp._Credits также пишем данные, те которые писали на вверху в rp._Stats

3. Устанавливаем нужные dll файлы на ваш сервер:
Эта ссылка скрыта от группы "Гость" (группа пользователей, которые еще не прошли регистрацию или авторизацию на Проекте). Чтобы увидеть эту ссылку Вам требуется авторизоваться или пройти регистрацию на Проекте (зарегистрироваться).
(вашсервер/garrysmod/bin)
3.1 А так-же качаем аддоны (plib1, plib2, если у вас в сборке они уже есть - скачивать не нужно).
Эта ссылка скрыта от группы "Гость" (группа пользователей, которые еще не прошли регистрацию или авторизацию на Проекте). Чтобы увидеть эту ссылку Вам требуется авторизоваться или пройти регистрацию на Проекте (зарегистрироваться).
Эта ссылка скрыта от группы "Гость" (группа пользователей, которые еще не прошли регистрацию или авторизацию на Проекте). Чтобы увидеть эту ссылку Вам требуется авторизоваться или пройти регистрацию на Проекте (зарегистрироваться).
Закидывать в addons.

4. Закрываем этот файл и выходим обратно в папку garrysmod (пример: C:\Папка\steamapps\common\GarrysModDS\garrysmod)

Заходим в папку addons и видим там кучу аддонов (ну или не кучу), нам здесь нужен аддон 'badmin':

Посмотреть вложение 5682

Заходим в эту папку (в badmin), затем lua, затем ba, затем core - когда мы прошли по этому пути то видим файл "data_sv.lua"

Посмотреть вложение 5683
Открываем его и видим следующее:
Посмотреть вложение 5684
Наши старые друзья, указываем те же данные которые мы указывали в другом файле.

Пояснение:

localhost - хост/ip вашей базы данных.
root - пользователь. [если у вас локалка ничего сюда не пишите].
пустое поле - пароль, если у вас локалка ничего сюда не пишите.
test - название вашей базы данных.

Но, друзья, это ещё не всё, мы подключили базу данных, а программу через которую будем запускать базу мы собственно забыли.

Лично я пользуюсь Wampserver64, но вы можете использовать программу как у данного молодого человека (тема: https://netzona.org/threads/kak-sozdat-darkrp-server-na-sup.7164/ - там кстати тоже есть инструкция по подключении базы данных.)

После установки программы Wampserver мы её запускаем и ждём процесс, когда иконка станет зелёной то база данных запущена:

Как посмотреть какая иконка (у вас она может быть рядом с значком)
:
1. Открываем значок: Посмотреть вложение 5685
2. Смотрим каким цветом она горит (нам нужен обязательно зелёный!): Посмотреть вложение 5686
3. Если горит зелёным то вы сделали всё правильно, едем дальше!

Заливаем базу данных:
Маленькое пояснение: Файл базы данных будет с форматом sql.
1. Заходим в вашем браузере по адресу: localhost/phpmyadmin
2. У вас откроется окно авторизации: Посмотреть вложение 5687
2.1 Где написано Пользователь - пишем root
2.2 Где написано Пароль - ничего не пишем.
2.3 Где написано Выбор сервера: - выбираем MySQL (ничего другого!)
3. Опа, у вас открывается основное меню MySQL переходим сюда: Посмотреть вложение 5688
4. Дальше видим такую картину: Посмотреть вложение 5689
4.1 Где написано Имя базы данных пишем то название, которое указывали в настройке бд (Тоесть где db.lua, 4 поле.)
4.2 latin1_swedish_ci мы не меняем, оставляем всё как есть.
4.3 Нажимаем на кнопочку 'Создать'
5. После создания видим нашу базу данных в списке: Посмотреть вложение 5690
5.1 Мы никуда не уходим/не обновляем страницу/не выходим/ничего не выключаем, нажимаем на кнопку: Посмотреть вложение 5691
5.2 Нажали? Посмотреть вложение 5692

5.3 Нажимаем на Выберите файл и выбираем ваш файл базы данных с расширением .sql | Ждём его загрузки и ждём на Вперёд. (также немного ждём)
5.4 Оп! Наша база данных загрузилась, что-же дальше?

6. А давай-те ка немного поднастроим наш .bat файл (который создавали в теме: https://netzona.org/threads/kak-sozdat-server-garrys-mod.632/)
Ладно, вмещу в один туториал:
1. Создайте .bat файл в папке с файлом srcds.exe и впишите в него:
Код:
@echo off
echo Starting game server.
echo Starting DarkRP Server
srcds.exe -console -game garrysmod +gamemode darkrp +map название_карты +maxplayers 100 +host_workshop_collection 2436321092
echo Server has now started.
Пояснения:

6.1 где darkrp - этот гейммод, он включится когда вы запустите сервер. (Вы же делаете РП-Сервер на Сап Сборке, не надо его менять.)
6.2 где название_карты - меняем на название вашей карты.
6.3 где maxplayers 100 - это сколько игроков может играть на вашем сервере (всего можно сделать вроде как 120)

Про дополнительные поля:
Есть некоторые дополнительные поля для вашего .bat файла, я назову только один который вам пригодится:
+host_workshop_collection 2436321092 -- с помощью этого вы можете добавить скачку аддонов из коллекции Стима при заходе на сервер. Где 2436321092 меняем на свой ИД Коллекции.

7. Ура! Мы сделали всё что нужно было и теперь вы можете играть на вашем сервере (с ботами)!

Как же решить некоторые ошибки которые встретятся вам?

1 ошибка: У меня нельзя купить двери на карте!
Решение: заходим по пути (Путь примерный, у вас может быть другой - папка с вашим сервером:\steamapps\common\GarrysModDS\garrysmod\gamemodes\darkrp\gamemode\cfg\doors | Если нету папки doors то создайте.)
Затем создаём в них файл rp_downtown_tits_v2.lua (если у вас карта rp_downtown_tits_v2) и вписываем этот код:

Код:
rp.cfg.Doors = {
    -- team doors
    {
        Name = 'Админ Зона',
        Teams = { TEAM_ADMIN },
        MapIDs = { 2985, 2986, 2988, 2987, 2981, 2982, 2984, 2983 }
    },
    {
        Name = 'Полицейский участок',
        Teams = { TEAM_POLICE, TEAM_CHIEF, TEAM_MAYOR, TEAM_FBR, TEAM_SWAT, TEAM_SWATLEADER },
        Locked = true,
        MapIDs = { 2379, 1610, 2228, 1618, 2462, 2461, 2217, 2218, 2269, 2425, 2426, 2428, 2427, 2231, 2230, 1619 }
    },
    {
        Name = 'Кабинет мэра',
        Teams = { TEAM_MAYOR, TEAM_POLICE, TEAM_CHIEF, TEAM_FBR, TEAM_SWAT, TEAM_SWATLEADER },
        Locked = true,
        MapIDs = { 2224, 2225, 2226, 2227, 2575, 2576, 2248, 2376 }
    },
    {
        Name = 'Тюрьма',
        Teams = { TEAM_POLICE, TEAM_CHIEF, TEAM_MAYOR, TEAM_FBR, TEAM_SWAT, TEAM_SWATLEADER },
        Locked = true,
        MapIDs = { 2223, 1883, 1882, 1881, 2219, 2220, 2251, 2250 }
    },
    {
        Name = 'Банк',
        Teams = { TEAM_BANK },
        MapIDs = { 2407, 2406, 2409, 2408, 2390, 2389, 2387, 2388, 2392 }
    },
    -- normal doors
    {
        Name = 'Склад #1',
        MapIDs = { 1518, 1516, 1517, 1633 }
    },
    {
        Name = 'Склад #2',
        MapIDs = { 1738, 1739, 1747 }
    },
    {
        Name = 'Склад #3',
        MapIDs = { 1538, 1539, 1821, 1541 }
    },
    {
        Name = 'Склад #4',
        MapIDs = { 1308, 1307, 1418 }
    },
    -- Склад
    {
        Name = 'Marr Freight Co.',
        MapIDs = { 1325, 1327, 1309, 1310, 1359, 1360, 1514, 1515 }
    },
    {
        Name = 'J&M Glass Co.',
        MapIDs = { 2060, 1989, 2036 }
    },
    -- Cinema
    {
        Name = 'Кинотеатр',
        MapIDs = { 1906, 1907, 1930, 1934, 1933, 1931 }
    },
    -- Baltic
    {
        Name = 'Кафе Baltic',
        MapIDs = { 1369, 1554 }
    },
    --
    {
        Name = 'Бар #1',
        MapIDs = { 1422, 1421, 1803 }
    },
    --
    {
        Name = 'Магазин #1',
        MapIDs = { 1880, 1875 }
    },
    {
        Name = 'Магазин #2',
        MapIDs = { 2339, 2338, 2302 }
    },
    {
        Name = 'Магазин #3',
        MapIDs = { 1343, 1339 }
    },
    {
        Name = 'Магазин #4',
        MapIDs = { 1712, 1714, 1713 }
    },
    {
        Name = 'Магазин #5',
        MapIDs = { 1431, 1432, 1452, 1453, 1433 }
    },
    {
        Name = 'Магазин #6',
        MapIDs = { 1344, 1345, 1807 }
    },
    -- Pelco
    {
        Name = 'Pelco',
        MapIDs = { 1850 }
    },
    --
    {
        Name = 'Помещение #1',
        MapIDs = { 2011, 2014, 2015 }
    },
    {
        Name = 'Помещение #2',
        MapIDs = { 1978, 1983 }
    },
    {
        Name = 'Помещение #3',
        MapIDs = { 1553, 1568, 1569, 2386 }
    },
    {
        Name = 'Помещение #4',
        MapIDs = { 1929, 1961, 1962 }
    },
    {
        Name = 'Помещение #5',
        MapIDs = { 1965, 1968 }
    },
    {
        Name = 'Помещение #6',
        MapIDs = { 2508, 2507, 2518, 2517 }
    },
    {
        Name = 'Помещение #7',
        MapIDs = { 2596, 2595 }
    },
    {
        Name = 'Помещение #8',
        MapIDs = { 2593, 2594 }
    },
    {
        Name = 'Помещение #9',
        MapIDs = { 1566 }
    },
    {
        Name = 'Помещение #10',
        MapIDs = { 2610, 2611 }
    },
    {
        Name = 'Помещение #11',
        MapIDs = { 2009, 2010, 2016, 2017 }
    },
    {
        Name = 'Помещение #12',
        MapIDs = { 2115, 2114 }
    },
    {
        Name = 'Помещение #13',
        MapIDs = { 1638, 1637, 1639, 1641, 1643, 1642, 1644 }
    },
    {
        Name = 'Помещение #14',
        MapIDs = { 1675, 1689, 1690, 1676 }
    },
    {
        Name = 'Помещение #15',
        MapIDs = { 1692, 1694, 1693, 1695, 1696 }
    },
    {
        Name = 'Помещение #16',
        MapIDs = { 2489, 2488, 2482, 2483 }
    },
    {
        Name = 'Помещение #17',
        MapIDs = { 2485, 2484, 2491, 2490, 2495, 2494, 2496, 2497, 2492, 2493, 2479, 2478, 2498 }
    },
    {
        Name = 'Помещение #18',
        MapIDs = { 2477, 2476, 2501, 2502 }
    },
    {
        Name = 'Помещение #19',
        MapIDs = { 2851, 2487, 2486 }
    },
    {
        Name = 'Помещение #20',
        MapIDs = { 2584, 2905, 2906 }
    },
    -- hotel doors
    {
        Name = 'Отель Звезда',
        Teams = { TEAM_HOTEL },
        MapIDs = { 1419, 1420, 1414, 1429 }
    },
    {
        Name = 'Номер #1',
        Hotel = true,
        MapIDs = { 1400, 1958, 1960 }
    },
    {
        Name = 'Номер #2',
        Hotel = true,
        MapIDs = { 1399, 1901, 1959 }
    },
    {
        Name = 'Номер #3',
        Hotel = true,
        MapIDs = { 1398, 1393 }
    },
    {
        Name = 'Номер Люкс',
        Hotel = true,
        MapIDs = { 1401, 1513, 1406, 1957 }
    },
    --
    {
        Name = 'Дом #1',
        MapIDs = { 2431, 2432, 2412, 2413, 2411, 2410 }
    },
    {
        Name = 'Дом #2',
        MapIDs = { 1567 }
    },
    {
        Name = 'Дом #3',
        MapIDs = { 1560 }
    },
    {
        Name = 'Дом #4',
        MapIDs = { 1352, 2004 }
    },
    {
        Name = 'Дом #5',
        MapIDs = { 1735, 1707 }
    },
    {
        Name = 'Дом #6',
        MapIDs = { 2277, 2336, 2282, 2281, 2288 }
    },
    {
        Name = 'Дом #7',
        MapIDs = { 1809, 1811, 1812, 1810 }
    },
    {
        Name = 'Дом #8',
        MapIDs = { 2109, 2110 }
    },
    {
        Name = 'Дом #9',
        MapIDs = { 1750, 1757, 1840, 1755, 1756, 1762, 1763, 1761, 1752, 1753, 1754 }
    },
    {
        Name = 'Дом #10',
        MapIDs = { 2061, 2062, 2143 }
    },
    {
        Name = 'Дом #11',
        MapIDs = { 1852, 1869, 1853, 1905 }
    },
    --
    {
        Name = 'Квартира #1',
        MapIDs = { 2137, 2138 }
    },
    {
        Name = 'Квартира #2',
        MapIDs = { 2136, 2141 }
    },
    {
        Name = 'Квартира #3',
        MapIDs = { 2135, 2140 }
    },
    {
        Name = 'Квартира #4',
        MapIDs = { 2134, 2139 }
    },
    {
        Name = 'Квартира #5',
        MapIDs = { 2129, 2130 }
    },
    {
        Name = 'Квартира #6',
        MapIDs = { 2128, 2133 }
    },
    {
        Name = 'Квартира #7',
        MapIDs = { 2127, 2132 }
    },
    {
        Name = 'Квартира #8',
        MapIDs = { 2126, 2131 }
    },
    {
        Name = 'Квартира #9',
        MapIDs = { 1450, 1483 }
    },
    {
        Name = 'Квартира #10',
        MapIDs = { 1451, 1460 }
    },
    {
        Name = 'Квартира #11',
        MapIDs = { 1434, 1461 }
    },
    {
        Name = 'Квартира #12',
        MapIDs = { 1435, 1485 }
    },
    {
        Name = 'Квартира #13',
        MapIDs = { 1862, 1854 }
    },
    {
        Name = 'Квартира #14',
        MapIDs = { 1861, 1866, 1865 }
    },
    {
        Name = 'Квартира #15',
        MapIDs = { 1857, 1855, 1856 }
    },
    {
        Name = 'Квартира #16',
        MapIDs = { 1859, 1858, 1860 }
    },
    {
        Name = 'Квартира #17',
        MapIDs = { 1243, 1247 }
    },
    {
        Name = 'Квартира #18',
        MapIDs = { 1240, 1244 }
    },
    {
        Name = 'Квартира #19',
        MapIDs = { 1241, 1236 }
    },
    {
        Name = 'Квартира #20',
        MapIDs = { 1537, 1620 }
    },
}

Если у вас rp_bangclaw: Создаём в них файл rp_bangclaw.lua (если у вас карта rp_bangclaw) и вписываем этот код:

Код:
rp.cfg.Doors = {
    {
        Name = 'Полицейский участок',
        Teams = {TEAM_MAYOR, TEAM_POLICE, TEAM_CHIEF, TEAM_SWAT, TEAM_SWATLEADER, TEAM_FBR)},
        Locked = false,
        MapIDs = {1664, 1444, 1436, 1437, 1433, 1434, 1430, 1439}
    },
    {
        Name = 'Тюрьма',
        Teams = {TEAM_MAYOR, TEAM_POLICE, TEAM_CHIEF, TEAM_SWAT, TEAM_SWATLEADER, TEAM_FBR)},
        Locked = true,
        MapIDs = {1443, 1442, 1441}
    },
    {
        Name = 'Мэрия',
        Teams = {TEAM_MAYOR, TEAM_POLICE, TEAM_CHIEF, TEAM_SWAT, TEAM_SWATLEADER, TEAM_FBR)},
        Locked = true,
        MapIDs = {1323, 1324, 1322, 1321, 1319, 1320}
    },
    {
        Name = 'Стандарт',
        Hotel = true,
        MapIDs = {1311}
    },
    {
        Name = 'Люкс',
        Hotel = true,
        MapIDs = {1312}
    },
    {
        Name = 'Вилла',
        Hotel = true,
        MapIDs = {1313}
    },
    {
        Name = 'Дом №1',
        MapIDs = {1270}
    },
    {
        Name = 'Квартира №1',
        MapIDs = {1299, 1301, 1300}
    },
    {
        Name = 'Квартира №2',
        MapIDs = {1298, 1303, 1302}
    },
    {
        Name = 'Квартира №3',
        MapIDs = {1306, 1305, 1304}
    },
    {
        Name = 'Квартира №4',
        MapIDs = {1307, 1308, 1309}
    },
    {
        Name = 'Дом №2',
        MapIDs = {1245}
    },
    {
        Name = 'Дом №3',
        MapIDs = {1240}
    },
    {
        Name = 'Дом №4',
        MapIDs = {1246}
    },
    {
        Name = 'Дом №5',
        MapIDs = {1251, 1315, 1314}
    },
    {
        Name = 'Элитный дом №1',
        MapIDs = {1278, 1279, 1280}
    },
    {
        Name = 'Элитный дом №2',
        MapIDs = {1274, 1275, 1276}
    },
    {
        Name = 'Элитный дом №3',
        MapIDs = {1271, 1272, 1273}
    },
    {
        Name = 'Элитный дом №4',
        MapIDs = {1248, 1249, 1250}
    },
    {
        Name = 'Элитный дом №5',
        MapIDs = {1532, 1533, 1531, 1534, 1535, 1536, 1547}
    },
    {
        Name = 'Элитный дом №6',
        MapIDs = {1529, 1518, 1516, 1514, 1513, 1515, 1517}
    },
    {
        Name = 'Высотная башня',
        MapIDs = {1550, 1553}
    },
    {
        Name = 'Бутик №1',
        MapIDs = {1501}
    },
    {
        Name = 'Бутик №2',
        MapIDs = {1502}
    },
    {
        Name = 'Бутик №3',
        MapIDs = {1509}
    },
    {
        Name = 'Бутик №4',
        MapIDs = {1510}
    },
    {
        Name = 'Бутик №5',
        MapIDs = {1495}
    },
    {
        Name = 'Бутик №6',
        MapIDs = {1499}
    },
    {
        Name = 'Бутик №7',
        MapIDs = {1492}
    },
    {
        Name = 'Бутик №8',
        MapIDs = {1489}
    },
    {
        Name = 'Дом №6',
        MapIDs = {1316}
    },
    {
        Name = 'Дом №7',
        MapIDs = {1289, 1417, 1418, 1420, 1421}
    },
    {
        Name = 'Квартира №1',
        MapIDs = {1327}
    },
    {
        Name = 'Квартира №2',
        MapIDs = {1328}
    },
    {
        Name = 'Дом №8',
        MapIDs = {1568}
    },
    {
        Name = 'Дом №9',
        MapIDs = {1562, 1563, 1564}
    },
    {
        Name = 'Ангар №1',
        MapIDs = {1575, 1576, 1577, 1574}
    },
    {
        Name = 'Квартира №1',
        MapIDs = {1410, 1411, 1412, 1381}
    },
    {
        Name = 'Квартира №2',
        MapIDs = {1407, 1408, 1409, 1378}
    },
    {
        Name = 'Квартира №3',
        MapIDs = {1392, 1394, 1393}
    },
    {
        Name = 'Квартира №4',
        MapIDs = {1404, 1405, 1406, 1375}
    },
    {
        Name = 'Квартира №5',
        MapIDs = {1401, 1402, 1403, 1373}
    },
    {
        Name = 'Квартира №6',
        MapIDs = {1391, 1296, 1297}
    },
    {
        Name = 'Квартира №7',
        MapIDs = {1398, 1399, 1400, 1371}
    },
    {
        Name = 'Квартира №8',
        MapIDs = {1395, 1396, 1397, 1368}
    },
    {
        Name = 'Квартира №9',
        MapIDs = {1292, 1293, 1294, 1295}
    },
    {
        Name = 'Квартира №10',
        MapIDs = {1282, 1283, 1285, 1290}
    },
    {
        Name = 'Квартира №11',
        MapIDs = {1284, 1286, 1291, 1281}
    },
    {
        Name = 'Ангар №2',
        MapIDs = {1268, 1239, 1269}
    },
    {
        Name = 'Помещение',
        MapIDs = {2170, 2171, 2172}
    },
    {
        Name = 'Помещение',
        MapIDs = {2188, 2187, 2177, 2597}
    },
    {
        Name = 'Помещение',
        MapIDs = {2600}
    },
    {
        Name = 'Помещение',
        MapIDs = {2601}
    },
    {
        Name = 'Помещение',
        MapIDs = {2161}
    },
}

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

Ошибка: У меня не работает Badmin! (Кучу ошибок)
Скачайте пофикшенный:
Эта ссылка скрыта от группы "Гость" (группа пользователей, которые еще не прошли регистрацию или авторизацию на Проекте). Чтобы увидеть эту ссылку Вам требуется авторизоваться или пройти регистрацию на Проекте (зарегистрироваться).

Переместите в папку сервера\addons с заменой старого badmin.

Ну вроде всё, надеюсь вас не надо учить как создавать профессии? Хм, но я думаю что это не помешает в нашем туториале, всё-же я сделал всего одну часть, не хочу пилить всё на миллиард частей, а потом и вовсе забыть.

Так-вот, собственно тутор как создавать/менять/изменять профессии:

1. Заходим в папку нашего сервера\garrysmod\gamemodes\darkrp\gamemode\cfg\jobs.lua (открываем этот файлик):

Код:
TEAM_DOGE = rp.addTeam("Собака", { -- Где написано Собака изменяем на название вашей профессии [Пример: Маньяк], где TEAM_DOGE на англ пишем название профы. [Пример: TEAM_MANYAK]
    color = Color(0, 100, 255, 255), -- Цвет профессии [в rgba]
    model = "models/doge_player/doge_player.mdl", -- Скин вашей профессии
    weapons = {}, -- Оружия которые выдаются при спавне. [Пример: "stun_baton" или "swb_tmp"] Можно указать очень много оружия вот так: "назв_оружия", "назв_оружия" и т.д (через запятую)
    command = "doge", -- Команда для превращения в эту профессию, команды должны быть уникальные, не должны повторятся!
    max = 5, -- Сколько максимально может быть людей на этой профессии. [Если поставить 0 - то у профессии не будет ограничений на людей]
    salary = 0, -- Зарплата профессии [Указываем абсолютно любую.]
    admin = 0, -- Профессия для админа или нет? [0 - для всех, 1 - для админов, 2 - для суперадминов]
    vote = false, -- Если человек захочет зайти за эту профессию, будет-ли голосование? (как у мэра)
})
Опять-же, дополнительные поля для вашей профессии:
Код:
  PlayerLoadout = function(ply) -- Когда игрок заспавнится будет выполнять действия которые укажем ниже.

             end, -- Это поле вставляйте в конец вашей профессии, то-есть после поля vote
Сейчас мы рассмотрели дополнительное поле которое выполняет действия когда игрок спавнится, оно пустое.
Как-же сделать выдачу оружия? Можно через поле weapons = {"назв_оружия"} | А как-же сделать чтобы у игрока забиралось всё оружие и выдавалось определённое? (На ивентах с боссом-игроком - самое то!):

Код:
PlayerLoadout = function(ply) -- Когда игрок заспавнится будет выполнять действия которые укажем ниже.
    ply:StripWeapons() -- Эта строчка забирает всё оружие у игрока, даже физган и тулган.
    ply:Give("weapon_fists") -- Эта строчка выдаёт какое-либо оружие игроку, в нашем случае руки.
end,

Вопрос: Я сделал всё как было там, убрал всё оружие, выдал своё, но у игрока очень мало патрон, какой строчкой выдать патроны?
Ответ: Всё легко, код ниже.
Код:
ply:GiveAmmo(51, pistol) -- это мы пишем после строчки ply:StripWeapons()
Разберём, 51 - это сколько патрон даст игроку, pistol - это тип патрон.
Код который получился:

Код:
PlayerLoadout = function(ply) -- Когда игрок заспавнится будет выполнять действия которые укажем ниже.
    ply:StripWeapons()
    ply:GiveAmmo(51, pistol) -- 51 - сколько патрон выдадим, pistol - тип патрон.
    ply:Give("weapon_fists")
end,

Вопрос: Как сделать смену бодигруппов при спавне игрока?
Ответ: Код располагается ниже:

Код:
PlayerLoadout = function(ply)
       ply:SetBodygroup(1,0) -- цифра 1 это какое поле занимает, например самое первое это галстук | 0 - это число. (хз как объяснить)
end,
Это мы пишем почти в конец нашей профессии.

Вопрос: Как выдать ХП и Броню при спавне?
Ответ: Код располагается ниже:

Код:
PlayerLoadout = function(ply)
       ply:SetHealth(100) -- Сколько выдадим Здоровья?
       ply:SetArmor(100) -- Сколько выдадим Брони?
end,

Вопрос: Как сделать так, чтобы у профессии было максимально брони 50, и больеш 50 нельзя было получить броню?
Ответ: Код располагается ниже:
Код:
ply:SetMaxArmor(50) -- 50 это сколько максимально может иметь брони профессия.
Это всего-лишь строчка, а так это писать после ply:SetArmor или ply:SetHealth [Пример:


PlayerLoadout = function(ply)
ply:SetHealth(100) -- Сколько выдадим Здоровья?
ply:SetArmor(100) -- Сколько выдадим Брони?
ply:SetMaxArmor(50)
end,

или

PlayerLoadout = function(ply)
ply:SetHealth(100) -- Сколько выдадим Здоровья?
ply:SetMaxArmor(50)
end,

ну или же

PlayerLoadout = function(ply)
ply:SetMaxArmor(50)
end,
]

С здоровьем также, вписываем либо в PlayerSpawn или PlayerLoadout:
pl:SetMaxHealth(500) -- 500 максимальное здоровье.

Вопрос: Как сделать спавн профессии через jobs.lua
Код будет чуть ниже:

Код:
spawns = {
     название_карты = {Vector(-143.933441, -243.945969, 12720.031250)} -- это первая позиция.
},
Новая ссылка на библиотеки для работоспособности сборки:
Эта ссылка скрыта от группы "Гость" (группа пользователей, которые еще не прошли регистрацию или авторизацию на Проекте). Чтобы увидеть эту ссылку Вам требуется авторизоваться или пройти регистрацию на Проекте (зарегистрироваться).
 
Главная Регистрация
Назад
Сверху