Garry's Mod
82 valoraciones
[E2] CollisionCore
   
Premio
Favoritos
Favorito
Quitar
Content Type: Addon
Addon Type: Tool
Addon Tags: Build, Fun
Tamaño
Publicado el
Actualizado el
6.896 KB
21 MAY 2016 a las 6:30 p. m.
7 SEP 2022 a las 5:18 a. m.
11 notas sobre cambios ( ver )

Suscríbete para descargar
[E2] CollisionCore

Descripción
This Expression 2 extension adds functions for collision detection and a new collision data type.

GitHub: https://github.com/CornerPin/e2CollisionCore

List of functions:

Function
Description
runOnCollision(entity ent, number activate)
If set to 1, the chip will run when the specified entity collides with anything.
number=collideClk()
Returns 1 if the chip execution was caused by a collision.
collision=getCollision()
Returns the collision data from the last collision.
entity=xcl:hitEntity()
Returns the other collision entity.
entity=xcl:ourEntity()
Returns the collision entity.
vector=xcl:hitPos()
Returns the collision position.
vector=xcl:ourOldVel()
Returns the entity's velocity before the collision.
vector=xcl:theirOldVel()
Returns the other entity's velocity before the collision.
vector=xcl:ourNewVel()
Returns the entity's velocity after the collision.
vector=xcl:theirNewVel()
Returns the other entity's velocity after the collision.
vector=xcl:ourOldAngularVel()
Returns the entity's angular velocity before the collision.
vector=xcl:theirOldAngularVel()
Returns the other entity's angular velocity before the collision.
vector=xcl:hitNormal()
Returns the normal of the surface that hit the other entity.
vector=xcl:hitSpeed()
Returns the speed at which the impact happened.
number=xcl:delta()
Returns the time since the last collision with the other entity.
number=xcl:speed()
Returns the speed of the entity before the collision.
table=xcl:toTable()
Returns the collision data as a table.
8 comentarios
CornerPin  [autor] 22 ENE 2020 a las 12:22 p. m. 
This is not a thing you can spawn, the addon extends the functionality of Expression 2 from Wiremod .
jacob 22 ENE 2020 a las 11:11 a. m. 
what kak spawniti collisoncore
:steamsad:
CornerPin  [autor] 29 OCT 2018 a las 9:32 a. m. 
Do you mean it doesn't detect collisions between two NPCs? Because I can get collisions between NPC and another physical object, that is not an NPC, and I don't think I can fix that, because this is how the Source Engine works.
love_cube 16 OCT 2017 a las 2:37 a. m. 
ogo like-os
DeadButDesu 21 ABR 2017 a las 1:05 p. m. 
Thank you!!!!!!!!!!!!!!!!!!!
X-Coder 5 MAR 2017 a las 4:33 p. m. 
Thank you for the fast fix, its working great now.
CornerPin  [autor] 3 MAR 2017 a las 3:10 a. m. 
Hi, now i fixed it. Thank you for reporting!
X-Coder 2 MAR 2017 a las 2:48 p. m. 
Hi, good addon, but I have a little issue:

it works great the first time, but as soon I reload the e2, collision is detected fine and e2 is called, but getCollision table often stays empty and all the functions only returns some defaults, like (0)worldspawn or [NULL entity] for ownEntity and entity function.
Is there somesthing I need to call on reload?

@name CollisionTest
@inputs Ent:entity
@outputs CollisionT:table
@persist
@trigger
if(first() || duped()){
runOnCollision(Ent, 1)
}
if(collideClk()){
Collision=getCollision()
print(Collision:entity()) #--> prints [NULL Entity]
print(Collision:ourEntity()) #--> prints [NULL Entity]
}