Garry's Mod
82 evaluări
[E2] CollisionCore
   
Premiază
Adaugă la preferate
Preferat
Elimină din preferate
Content Type: Addon
Addon Type: Tool
Addon Tags: Build, Fun
Dimensiunea fișierului
Postat
Actualizat
6.896 KB
21 mai 2016 la 18:30
7 sept. 2022 la 5:18
11 notițe privind schimbările ( vizionare )

Abonează-te pentru a descărca
[E2] CollisionCore

Descriere
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 comentarii
CornerPin  [autor] 22 ian. 2020 la 12:22 
This is not a thing you can spawn, the addon extends the functionality of Expression 2 from Wiremod .
jacob 22 ian. 2020 la 11:11 
what kak spawniti collisoncore
:steamsad:
CornerPin  [autor] 29 oct. 2018 la 9:32 
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 la 2:37 
ogo like-os
DeadButDesu 21 apr. 2017 la 13:05 
Thank you!!!!!!!!!!!!!!!!!!!
X-Coder 5 mart. 2017 la 16:33 
Thank you for the fast fix, its working great now.
CornerPin  [autor] 3 mart. 2017 la 3:10 
Hi, now i fixed it. Thank you for reporting!
X-Coder 2 mart. 2017 la 14:48 
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]
}