• Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами Публичной оферты Проекта 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

Как сделать выдачу патронов для профессии.

Bill Black

Пользователь
Проверенный
Регистрация
4 Май 2020
Сообщения
17
Реакции
0
Баллы
14
Всем привет. Делаю профессии для дарк рп сервера. Мне необходимо, чтобы, соответственно, при получении профессии, сотрудник полиции получал сразу же и патроны для того оружия, которое у него есть. В ближайшем будущем я переделаю это в armory locker, но пока мне лень возиться, да и приобрести его проблематично в связи с обстановкой, а сливы не работают должным образом. Так что в данный момент я делаю все оружие профессиям сразу в хотбаре, и необходимо, чтобы патроны у них уже были при спавне.
 
В таблице с ролью назначить выдачу патронов при возрождении можно с помощью
Lua:
    ammo = {
        ["pistol"] = 120,
    },
 
Всем приветики.
Вот этот вопрос был открыт мной. ( https://netzona.org/threads/kak-sdelat-vydachu-patronov-dlja-professii.7644/ ) На него дан ответ и вопрос закрыт, однако ответ человека мне не помог.
Я вставил этот код в профессию,

Lua:
ammo = {
        ["pistol"] = 120,
    },

но мне оно не помогло. Возможно, я ставлю его не туда, если есть возможность, дайте напутствие, что я сделал не так, на примере кода из професии? Может патроны надо сначала добавить в раздел f4? Или еще какие-то варианты, из-за чего не работает?

Вот код:
Код:
TEAM_POFFICER = DarkRP.createJob("Офицер полиции", {
    color = Color(0, 0, 0, 128),
    model = {
        "models/kerry/player/police_usa/male_01.mdl",
        "models/kerry/player/police_usa/male_02.mdl",
        "models/kerry/player/police_usa/male_03.mdl",
        "models/kerry/player/police_usa/male_04.mdl",
        "models/kerry/player/police_usa/male_05.mdl",
        "models/kerry/player/police_usa/male_06.mdl",
        "models/kerry/player/police_usa/male_07.mdl",
        "models/kerry/player/police_usa/male_08.mdl",
        "models/kerry/player/police_usa/male_09.mdl",
    },
    description = [[Вы - офицер полиции. Следите за порядком, арестовывайте нарушителей и будьте стражем закона.]],
    weapons = {"weapon_fists", "cw_nen_glock17"},
    command = "officer",
    max = 6,
    salary = 65,
    admin = 0,
    vote = false,
    hasLicense = true,
    NeedToChangeFrom = {TEAM_1CITIZEN, TEAM_2CITIZEN},
    candemote = true,
    category = "Полицейский департамент",
    cp = true,
    sortOrder = 100,
    PlayerLoadout = function(ply)
            ply:SetHealth(100)
            ply:SetArmor(30)
            ply:SetBodygroup(1,0) -- Звания: шевроны (1 лычка)
    end,
    ammo = {
        ["cw_ammo_9x19"] = 51,
    },
})

Может код выдачи патронов надо ставить до кода PlayerLoadout?
 
  • Хорошо "0"
Реакции: Dog
Эта ссылка скрыта от группы "Гость" (группа пользователей, которые еще не прошли регистрацию или авторизацию на Проекте). Чтобы увидеть эту ссылку Вам требуется авторизоваться или пройти регистрацию на Проекте (зарегистрироваться).
прямой ply при спавне

то есть вот это мне надо вставлять, выходит?
Lua:
Entity( 1 ):GiveAmmo( 200, "Pistol", true )
 
ply:GiveAmmo(51, cw_ammo_9x19) -- 51 это количество патрон, cw_ammo_9x19 это тип патрон.

Я конечно не профессионал, но попробуй вставить, может быть сработает
Сообщение автоматически объединено:

ply:GiveAmmo(51, cw_ammo_9x19) -- 51 это количество патрон, cw_ammo_9x19 это тип патрон.

Я конечно не профессионал, но попробуй вставить, может быть сработает
это вставить после ply:SetBodygroup(1,0) -- Звания: шевроны (1 лычка)
 
ply:GiveAmmo(51, cw_ammo_9x19) -- 51 это количество патрон, cw_ammo_9x19 это тип патрон.

Я конечно не профессионал, но попробуй вставить, может быть сработает
Сообщение автоматически объединено:


это вставить после ply:SetBodygroup(1,0) -- Звания: шевроны (1 лычка)

Нет, не вариант. Получаю вот такое.

Lua:
[ERROR] A runtime error has occurred in "addons/darkrpmodification/lua/darkrp_customthings/jobs.lua" on line 160.
The best help I can give you is this:

bad argument #2 to 'GiveAmmo' (number expected, got nil)

Hints:
    - No hints, sorry.

The responsibility for the error above lies with (the authors of) one (or more) of these files:
    1. addons/darkrpmodification/lua/darkrp_customthings/jobs.lua on line 160
    2. gamemodes/darkrp/gamemode/libraries/fn.lua on line 84
    3. gamemodes/darkrp/gamemode/libraries/fn.lua on line 84
    4. gamemodes/darkrp/gamemode/libraries/fn.lua on line 84
    5. gamemodes/darkrp/gamemode/libraries/fn.lua on line 84
    6. gamemodes/darkrp/gamemode/modules/base/sv_gamemode_functions.lua on line 903
    7. gamemodes/darkrp/gamemode/modules/jobs/sv_jobs.lua on line 163
    8. gamemodes/darkrp/gamemode/modules/base/sh_createitems.lua on line 226
    9. gamemodes/darkrp/gamemode/modules/chat/sv_chat.lua on line 17
    10. gamemodes/darkrp/gamemode/modules/chat/sv_chat.lua on line 327
    11. lua/includes/modules/concommand.lua on line 54
------- End of Simplerr error -------

Возникает конфликт, в результате чего у меня пропадают ключи (видимо конфликт и с ними тоже), а патроны не выдаются.
Попробовал убрать cw_ammo_9x19 в скобочки, тоже не помогло.
 
Нет, не вариант. Получаю вот такое.

Lua:
[ERROR] A runtime error has occurred in "addons/darkrpmodification/lua/darkrp_customthings/jobs.lua" on line 160.
The best help I can give you is this:

bad argument #2 to 'GiveAmmo' (number expectedgot nil)

Hints:
    - No

The responsibility for the error above lies with (the authors of) one (or more) of these files:
    1. addons/darkrpmodification/lua/darkrp_customthings/jobs.lua on line 160
    2. gamemodes/darkrp/gamemode/libraries/fn.lua on line 84
    3. gamemodes/darkrp/gamemode/libraries/fn.lua on line 84
    4. gamemodes/darkrp/gamemode/libraries/fn.lua on line 84
    5. gamemodes/darkrp/gamemode/libraries/fn.lua on line 84
    6. gamemodes/darkrp/gamemode/modules/base/sv_gamemode_functions.lua on line 903
    7. gamemodes/darkrp/gamemode/modules/jobs/sv_jobs.lua on line 163
    8. gamemodes/darkrp/gamemode/modules/base/sh_createitems.lua on line 226
    9. gamemodes/darkrp/gamemode/modules/chat/sv_chat.lua on line 17
    10. gamemodes/darkrp/gamemode/modules/chat/sv_chat.lua on line 327
    11. lua/includes/modules/concommand.lua on line 54
------- End of Simplerr error -------
ply:SetAmmo(51, cw_ammo_9x19)
 
ply:SetAmmo(51, cw_ammo_9x19)

Хмм, точно, там же должна быть команда Set, что логично... Сейчас посмотрю, даст ли мне это какой-то эффект.

UPD. Ошибок в консоль пока не наблюдаю, сейчас загружусь на сервер и увижу.
 
Ну начнём с того, что ты второй аргумент указал как глобальную переменную, поэтому тебе пишет в ошибке, что возвращает nil (потому что она не объявлена в принципе). Тебе скидывали ссылку на функцию, второй аргумент должен иметь тип данных string.
А закончим тем, что ты, как я понимаю, указываешь класс энтити, название патрона и класс энтити - две разные вещи.
Пройдя по данному пути «CustomizableWeaponry20\lua\cw\shared» ты можешь найти файл «cw_ammo.lua», и в нём как раз создаются патроны, первым аргументом идёт то, что тебе нужно.

1665734378221.png
 
Ну начнём с того, что ты второй аргумент указал как глобальную переменную, поэтому тебе пишет в ошибке, что возвращает nil (потому что она не объявлена в принципе). Тебе скидывали ссылку на функцию, второй аргумент должен иметь тип данных string.
А закончим тем, что ты, как я понимаю, указываешь класс энтити, название патрона и класс энтити - две разные вещи.
Пройдя по данному пути «CustomizableWeaponry20\lua\cw\shared» ты можешь найти файл «cw_ammo.lua», и в нём как раз создаются патроны, первым аргументом идёт то, что тебе нужно.

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

Гляну, спасибо.
 

Похожие темы

  • Закрыта
  • Закреплено
  • Статья Статья
Ответы
0
Просмотры
926
Главная Регистрация
Назад
Сверху