Как сделать ограничение по оружию только определённое количество? Желательно для разных профессиях
Всмысле?
ну нужно сделать ограничение слотов, что бы люди не носили по 10 оружий, а максимум 2 или 3
ну так в кфг обозначь
что за кфг?
так что это за cfg?
игровой режим какой? (DarkRp,Sup)
какой массив используется в lua.
В стандартном DarkRp - DarkRP.
В у некоторых Sup’s - rp.
Зачем мне это?
буду делать проверку есть ли этов его профессии, иначе при спавне выдавать не будет больше 2 пушек.
Так же напиши какие пушки в белом листе (название файлов)
Пример:
Даже самые банальные: физган, тулган и т.д.
Чего? А как ты на форуме ответил 2 раза на мое сообщение
владельцу можно.
DarkRp
что за массив?
tfa_anomaly_9a91
tfa_anomaly_aek971
tfa_anomaly_aek973
tfa_anomaly_abakan
tfa_anomaly_protecta
tfa_anomaly_m82
tfa_anomaly_m98b
(дальше не буду прописывать т.к. их там оооочень много)
эх…
lua с профессиями скидывай а так же config.lua
что за config.lua?
Sv-часть
local Twhile = {
TEAM_ASSAULTTYPE = 1,
}
hook.Add('InitPostEntity','InitPost_PlayerCanPickupWeapon_Xui',function()
local gm = gmod.GetGamemode()
local CDweapon = gm.Config.DefaultWeapons
local PLAYER = FindMetaTable('Player')
local TEAM = PLAYER.Team
local GetWeapons = PLAYER.GetWeapons
local table_remove = table.remove
--я могу сделать более оптимизированную версию, но за это надо платить.
hook.Add("PlayerCanPickupWeapon",'Xui',function(pl, wep)
local class = wep:GetWeaponClass() -- класс оружия которое он пытается подобрать.
local Sweps = RPExtraTeams[Team(pl)].weapons -- оружие при спавне игрока
local cols = Twhile[Team(pl)] -- сколько игроку доступно лишнего оружия
local Pweps = GetWeapons(pl) -- все оружия у игрока.
--если у игрока есть это оружие, то завершаем проверку. аналог Player:GetWeapon( string className )
for i = 1, #Pweps do
if Pweps[i] == class then return true end
end
if not cols then return true end -- если нет job в таблице, то значит ему нельзя иметь другие пушки.
-- проверяем выдаётся ли такое оружие при спавне, если да то убираем его с таблицы.
for i = #Pweps, 1, -1 do
local rem = false
for k = 1, #Sweps do
if Sweps[k] ~= Pweps[i] then continue end
table_remove(Pweps, i)
rem = true
end
if rem then continue end -- если удалили оружие то меняем i.
for k = 1, #CDweapon do
if CDweapon[k] ~= Pweps[i] then return true end
table_remove(Pweps, i)
end
end
return not (#Pweps >= count)
end
)
end)
Еще спроси что такое mount.cfg
это я знаю что это, я просто не не знаю что это за cfg
Ну config.lua это база же. Как и jobs.lua,mount.cfg и т.д
а как он называется?
Кто именно?