Запрет поднятия определенного оружия

Я пытался сделать тип такого. Можете помочь пожалуйста

local blocked = {
	weapon_cuff_standard = false,
}

hook.Add( "PlayerCanPickupWeapon", "NoPistolGiveFists", function( ply, weapon )
	if (weapon:GetClass() == blocked) then 
		return false
	end
end )

что значит выдавать?
речь о выдаче/спавне оружия через spawnmenu? в таком из случае тебе нужно воспользоваться другими хуками SANDBOX:PlayerGiveSWEP - Garry's Mod Wiki и SANDBOX:PlayerSpawnSWEP - Garry's Mod Wiki
а твой хук GM:PlayerCanPickupWeapon используется для проверки может ли игрок поднять оружие, полагаю что он срабатывает только при попытке подобрать оружие с земли.

твоя ошибка в неправильном использовании ассоциативных таблиц, вот правильный код:

local blocked = {
	weapon_cuff_standard = false,
}

hook.Add("PlayerCanPickupWeapon", "NoPistolGiveFists", function(ply, weapon)
	if blocked[weapon:GetClass()] then 
		return false
	end
end)

нужно делать индексацию по ключу а не сравнение

1 лайк

Не работает( Поменял на PlayerGiveSWEP как ты и посоветовал

local blockedweapon = {
	weapon_cuff_standard = true,
	door_ram = true,
	climb_swep2 = false,
}

hook.Add("PlayerGiveSWEP", "blockw", function(ply, weapon)
	if blockedweapon[weapon:GetClass()] then 
		return false
	end
end)

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

он не работает :frowning_face: