Dr. Roxor,
This shouldl work. Worked for me. Not tested with many other scripts though, there may be conflicts.
Doesn't truly stop it before its loaded, but, will hopefully do the trick for you.
I didn't have time to research actual prevention. Though I think spbogie's code should work, I couldn't get it to.
I've included extra 'Spawn' hooks to look out for. (Vehicles,Ragdolls,SENTS,Props,Effects)
Regarding the root location, far as I can tell, you just add to the table the path that shows up when you hold your mouse over the client button.
If you have problems, let us know.
local models = { "models/Effects/splode.mdl", }
local function blockmodels( ply, mdl, ent )
for _,v in ipairs( models ) do
if string.lower(mdl) == string.lower(v) then
ent:Remove()
end
end
end
Msg("********** Simple Model Blocker Loaded\n*\n")
hook.Add( "PlayerSpawnedProp", "blockprops", blockmodels )
hook.Add( "PlayerSpawnedEffect", "blockeffects", blockmodels )
hook.Add( "PlayerSpawnedVehicle", "blockvehicles", blockmodels )
hook.Add( "PlayerSpawnedSENT", "blocksents", blockmodels )
hook.Add( "PlayerSpawnedRagdoll", "blockragdoll", blockmodels )