Как сделать чтобы игроки не сталкивались друг с другом

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

Создать файл под любым названием можно 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 лайка

Пропы вот: Steam Workshop::Anti World Prop Collision [By Faulin]

1 лайк