[EngiN33R] Player Collision 
21 comments This is an extremely simple and short script that makes players unable to pass through each other. It was also designed as an educational tool to demonstrate some of the mathematics commonly used in CS2D scripts. The entire script is 16 lines long and provided in the description below because of its small size. Be aware that this collision mechanism may be slightly confusing and may not work ideally for players with a high latency.
I welcome any and all questions regarding how it works, and any improvements to it as well - bear in mind, however, that this is not the end-all solution, but a simple script that enables basic collision functionality.
I welcome any and all questions regarding how it works, and any improvements to it as well - bear in mind, however, that this is not the end-all solution, but a simple script that enables basic collision functionality.
edited 2×, last 17.07.16 01:21:49 pm

Comments
21 commentsLog in!
You need to log in to be able to write comments!Log in

@
Pagyra: Here, I optimized the code for you:
I even added semi-colons so Lua can read it

Code:
1
addhook("move", "collisionThink") function collisionThink(ply, x, y) for _, ply2 in pairs(player(0, "table")) do if (ply ~= ply2 and player(ply2, "health") > 0) then local x2, y2 = player(ply2, "x"), player(ply2, "y"); local d = math.sqrt((x2-x)^2 + (y2-y)^2); if (d < 30) then local a = -(math.atan2(x2-x,y2-y)+math.pi/2)%(2*math.pi); local nx, ny = x2 + math.cos(a)*30, y2 + math.sin(a)*30; if (tile(math.floor(nx/32), math.floor(ny/32), "walkable")) then parse("setpos " .. ply .. " " .. nx .. " " .. ny); end end end end end
I even added semi-colons so Lua can read it
0.000000000000000000000000000000000000000000000002
seconds faster! (actual 100% legit full proof speed test) 
It is inefficient, there is no optimization with separation space for parts. But the fact that there is nothing similar here, it is good.


collision engine

Simple yet useful. With that said, this is just a guess but wouldn't it lag with many players?

Thanks man, i was searching for a collision engine
Edit: sry for my bad english
i mean, system.
Edit: sry for my bad english

edited 1×, last 17.07.16 05:37:35 pm

Thanks for create this script.That idea was posted by me.Its better build in the game with options.

Omg when i moving on a players is looks very nice.. When you holding "D" key and automatically going up or down. Like there is really a human, these feelings.