Welcome to Сообщество игровых серверов NETZONA.ORG

Присоединяйтесь к нам сейчас, чтобы получить доступ ко всем нашим функциям. Зарегистрировавшись и войдя в систему, вы сможете создавать темы, публиковать ответы в существующих темах, давать репутацию другим участникам, получать собственный личный мессенджер и многое другое. Это также быстро и совершенно бесплатно, так чего же вы ждете?
  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами Публичной оферты Проекта 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

Пользователь
Проверенный
Регистрация
28 Июл 2022
Сообщения
35
Реакции
0
Баллы
5
Клан-тег
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 файлы на ваш сервер: https://disk.yandex.ru/d/cTkAOG9Hy7A1zA (вашсервер/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! (Кучу ошибок)
Скачайте пофикшенный: https://disk.yandex.ru/d/gaCtrTmusxYDNg
Переместите в папку сервера\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)} -- это первая позиция.
},
 
Последнее редактирование:

kirillop0987

Пользователь
Регистрация
22 Фев 2023
Сообщения
2
Реакции
0
Баллы
2
Пол
Мужской
бля у меня не робят двери на downtown_tits_v2 тоесть у меня сап и просто не работают двери не купить не чего с ними сделать нельзя кроме того как открыть что делать?
 

FunFantazy

Пользователь
Регистрация
24 Сен 2022
Сообщения
1
Реакции
0
Баллы
1
Клан-тег
Fun
Семейное положение
Не выбрано
Род занятий
Игры
[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
Что делать?
 

Troika

Пользователь
Проверенный
Регистрация
21 Окт 2022
Сообщения
27
Реакции
2
Баллы
11
Возраст
23
Веб-сайт
discord.gg
Клан-тег
YumaProject
Пол
Мужской
Семейное положение
Не женат
Род занятий
GLua
бля у меня не робят двери на 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 }

    },

}
 

Dog

Пользователь
Проверенный
Регистрация
28 Июл 2022
Сообщения
35
Реакции
0
Баллы
5
Клан-тег
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 - включаем его и редактируем.
Посмотреть вложение 5681

Пояснение:

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

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

3. Устанавливаем нужные dll файлы на ваш сервер: https://disk.yandex.ru/d/cTkAOG9Hy7A1zA (вашсервер/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! (Кучу ошибок)
Скачайте пофикшенный: https://disk.yandex.ru/d/gaCtrTmusxYDNg
Переместите в папку сервера\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)} -- это первая позиция.
},
Новая ссылка на библиотеки для работоспособности сборки: https://disk.yandex.ru/d/IN2CIgDafghZpw
 
Назад
Сверху Снизу