Всем доброго времени суток, знает ли кто как можно настроить выдачу некоторых энтити при спавне?
Например есть бронежилет, но чтобы его надеть, недостаточно просто встать на него, нужно нажать клавишу «Е», а вот обычные 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)
Почему-то при запуске сервера вылезает такая ошибка…
Вот сам код:
-- Объявляем таблицу с энтити вне хука!
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? Погоди минуту, я не так понял тебя просто
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