Как сделать чтобы проходили сквозь друг друга и как на других серверах
Создать файл под любым названием можно sh_collision.lua и поместить в lua/autorun
открой в файл и вставь код ниже
Код:
timer.Create("collision", 10, 0, function()
for k,v in pairs( player.GetAll() ) do
if v:GetCollisionGroup() ~= COLLISION_GROUP_WEAPON then
v:SetCollisionGroup( COLLISION_GROUP_WEAPON )
end
end
end)
хреновая идея, COLLISION_GROUP_WEAPON не сталкивается с игроками и транспортом, авто будут проезжать через игрока.
можно попробовать COLLISION_GROUP_PASSABLE_DOOR но не думаю что это сработает.
Не работает я все еще могу летать на пропах
при чём тут пропы? ты же спрашивал про столкновение игроков с другими игроками.
/addons/anyname/lua/autorun/sh_player_nocollision.lua
if SERVER then
local function disableCollide(pl)
timer.Simple(.5, function()
if IsValid(pl) then
pl:SetCollisionGroup(COLLISION_GROUP_DEBRIS_TRIGGER)
pl:SetAvoidPlayers(false)
end
end)
end
hook.Add("PlayerSpawn", "no_collide", disableCollide)
hook.Add("OnPlayerChangedTeam", "no_collide", disableCollide)
else
local affectedPlayers = {}
hook.Add("PostPlayerDraw", "see_through", function(pl)
if pl == LocalPlayer() then return end
if RealTime() - (pl.lastvischeck or 0) <= .1 then return end
pl.lastvischeck = RealTime()
local dist = EyePos():DistToSqr(pl:EyePos())
if dist < 2000 then
affectedPlayers[pl] = true
pl:SetMaterial("phoenix_storms/glass")
elseif (affectedPlayers[pl]) then
affectedPlayers[pl] = nil
pl:SetMaterial("")
end
end)
end
Дополнительно добавляет красивый визуальный эффект при приближении к игроку (делает его полупрозрачным)
2 лайка
1 лайк