[DarkRP] Запретить профессии всё оружие, кроме определенного сета

Нужно, чтобы у профессии TEAM_JACKET при спавне забиралось все оружие и выдавалось только
weapons = {"keys", "pistol_silenced", "shotgun", "bat", "banni_hotline_bat", "bat_swing", "weapon_fists", "weapon_physcannon", "weapon_physgun", "gmod_tool", "itemstore_pickup"},
И чтобы ему запрещалось брать другие пушки с земли / инвентаря, а покупное оружие IGS не выдавалось при спавне.

добавить к профе:

 PlayerCanPickupWeapon = function (ply, weapon)
     return ( weapon:GetClass() == "keys" )
 end,

Код запрещает подбирать все пушки кроме прописанных.
На счёт того что не будет выдаваться донатное - не уверен, но можешь проверить сам.

1 лайк

Не, там хук какой-то должен быть

Ну так а это что? Это и есть хук который тебе нужен
Можешь в другом варианте сделать по инструкции внизу, но какой смысл дописывать лишний код…

tehya

19д

-- addons/anyname/lua/autorun/server/dog.lua

hook.Add("PlayerCanPickupWeapon", "DOG_LIMITER", function(ply, wep)
	if (ply:Team() == TEAM_DOG and wep:GetClass() ~= "weapon_fists") then
		return false
	end
end)

по типу такого, но нужно, чтобы не только одно оружие указано, а сет пушек и тулганов

А как примерно писать надо несколько пушек? Через запятую или через {} я не понимаю можешь привести пример?

local weps = {"keys",  "weapon_fists", "weapon_physcannon", "weapon_physgun", "gmod_tool", "itemstore_pickup"}
hook.Add( "PlayerLoadout", "Test", function( ply )
    if ply:Team() != TEAM_DOG then return end

    timer.Simple(0.1, function()
        if !IsValid(ply) then return end
        ply:StripWeapons()
        for k, v in pairs(weps) do
            ply:Give(v)
        end
    end)
end )

Спасибо большое

Но а куда хук ставить? К профе добовлять или куда то в луашку?

lua/autorun/server