Выдача энтити при спавне

Всем доброго времени суток, знает ли кто как можно настроить выдачу некоторых энтити при спавне?
Например есть бронежилет, но чтобы его надеть, недостаточно просто встать на него, нужно нажать клавишу «Е», а вот обычные HL2 аптечки, комплекты брони и патроны подбираются автоматически. По этой причине такие нестандартные энтити не могут быть выданы при спавне

Что ты используешь в качестве игрового режима?

darkrp режим

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

Да, чтобы оно автоматически применялось при спавне, как будто подобрал на Е

Вот пример, выдача энтити в зависимости от профессии игрока

-- Объявляем таблицу с энтити вне хука!
local entGiveTbl = {
   [TEAM_CITIZEN] = {
      ["item_healthkit"] = true,
      ["item_ammo_ar2"] = true,
      ["item_battery"] = true
   },
   [TEAM_POLICE] = {
      ["item_healthkit"] = true,
      ["item_ammo_ar2"] = true,
      ["item_battery"] = true
   }
}

hook.Add("PlayerSpawn", "giveEnt", function(ply)
   if (!IsValid(ply)) then return end
   local plyTeam = ply:Team()
   local currentTeam = entGiveTbl[plyTeam]

   if (currentTeam) then
      for class, v in pairs(currentTeam) do
         local ent = ents.Create(class)
         ent:SetPos(ply:GetPos())
         ent:Spawn()
         ent:Activate()
      end
   end
end)

image
Почему-то при запуске сервера вылезает такая ошибка…

Вот сам код:

-- Объявляем таблицу с энтити вне хука!
local entGiveTbl = {
   [TEAM_SWAT] = {
      ["danguvestsmall"] = true
   },
   [TEAM_FBI] = {
      ["danguvestsmall"] = true
   }
}

hook.Add("PlayerSpawn", "giveEnt", function(ply)
   if (!IsValid(ply)) then return end
   local plyTeam = ply:Team()
   local currentTeam = entGiveTbl[plyTeam]

   if (currentTeam) then
      for class, v in pairs(currentTeam) do
         local ent = ents.Create(class)
         ent:SetPos(ply:GetPos())
         ent:Spawn()
         ent:Activate()
      end
   end
end)

Это тоже Энтити из DarkRp? Погоди минуту, я не так понял тебя просто :slight_smile:

1 лайк
hook.Add('Think', 'giveents', function()
    hook.Remove('Think', 'giveents')

    local teams = {
        [TEAM_SWAT] = {
            'danguvestsmall',
        },
        [TEAM_FBI] = {
            'danguvestsmall',
        }
    }

    hook.Add('PlayerSpawn', 'giveEnt', function(ply)
        timer.Simple(.1, function()
            if not IsValid(ply) then return end

            local items = teams[ply:Team()]
    
            for _, class in ipairs(items or {}) do
                local ent = ents.Create(class)
                ent:SetPos(ply:GetPos())
                ent:Spawn()
                ent:Activate()
                if ent.Use then ent:Use(ply, ply) end
            end
        end)
    end)
end)

Конечно из DarkRP. Откуда оно может быть ещё? Если он сказал что у него режим стоит DarkRP