как сделать чтобы при спавне пропа он сразу же был зафрижен?
SV-SH часть, но клиенту это не надо.
local TrackedEnts = {
[ "prop_physics" ] = true,--сюда пишем Class Ентити
}
hook.Add( "OnEntityCreated", "SoftEntList", function( ent )
if ( not ent:IsValid() or not TrackedEnts[ ent:GetClass() ] ) then return end
timer.Simple(0, function()
ent:SetMoveType(0)
end)
end )
2 лайка
Делюсь кодом со своего сервера. Код также отключает возможность разморозки предметов по нажатию R, а еще запрещает бросаться предметами с большой скоростью
local freeze_list = {
["prop_physics"] = true,
["gmod_button"] = true,
["lawboard"] = true,
}
local function freezeEnt(pl, ent)
if not IsValid(ent)
or not freeze_list[ent:GetClass()] then return end
ent:GetPhysicsObject():EnableMotion(false)
end
hook("PlayerSpawnedProp", "TPP", function(pl, _, ent) freezeEnt(pl, ent) end)
-- disable Physgun Reload mode
hook("OnPhysgunReload", "TPP.DisablePhysReloadMode", function(_,pl)
if not pl:IsSuperAdmin() then
return false
end
end)
local VEC = Vector(0,0,0)
hook("PhysgunDrop", "TPP", function(pl, ent) -- сброс скорости брошенного пропа
if IsValid(ent) and not ent:IsPlayer() then
local phys = ent:GetPhysicsObject()
if IsValid(phys) then
phys:AddAngleVelocity(phys:GetAngleVelocity() * -1)
phys:SetVelocityInstantaneous(VEC)
end
end
freezeEnt(pl,ent)
end)
P.S. Ссылка на пост появится в Telegram: Contact @gmodder
Может быть также интересно:
А куда нужно кидать данный скрипт?
addons/anyname/lua/autorun/server/blablabla.lua