Garry's Mod
Оценок: 88
[Obsolete] [E2] CollisionCore
   
Наградить
В избранное
В избранном
Удалить
Тип контента: Дополнение
Тип дополнения: Инструмент
Метки дополнений: Стройка, Развлечение
Размер файла
Добавлен
Изменён
6.896 KB
21 мая. 2016 г. в 18:30
7 сен. 2022 г. в 5:18
Обновлений: 11 (просмотреть)

Подпишитесь, чтобы загрузить
[Obsolete] [E2] CollisionCore

Описание
Этот аддон устарел! Вместо него, используйте функции для работы со столкновениями из Wiremod.

Расширение для Expression 2, которое добавляет функции для определения столкновений и новый тип данных collision.

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

Список функций:

Функция
Описание
runOnCollision(entity ent, number activate)
Если 1, чип будет запускаться при столкновениях этой энтити.
number=collideClk()
Возвращает 1, если выполнение чипа было вызвано столкновением.
collision=getCollision()
Возвращает информацию о последнем столкновении.
entity=xcl:hitEntity()
Возвращает энтити, с которой столкнулись.
entity=xcl:ourEntity()
Возвращает столкнувшуюся энтити.
vector=xcl:hitPos()
Возвращает позицию столкновения.
vector=xcl:ourOldVel()
Возвращает вектор скорости энтити до столкновения.
vector=xcl:theirOldVel()
Возвращает вектор скорости другой энтити до столкновения.
vector=xcl:ourNewVel()
Возвращает вектор скорости энтити после столкновения.
vector=xcl:theirNewVel()
Возвращает вектор скорости другой энтити после столкновения.
vector=xcl:ourOldAngularVel()
Возвращает вектор угловой скорости энтити до столкновения.
vector=xcl:theirOldAngularVel()
Возвращает вектор угловой скорости другой энтити до столкновения.
vector=xcl:hitNormal()
Возвращает нормаль столкновения.
vector=xcl:hitSpeed()
Возвращает вектор скорости столкновения.
number=xcl:delta()
Возвращает время с последнего столкновения с этой энтити.
number=xcl:speed()
Возвращает скорость энтити до столкновения.
table=xcl:toTable()
Возвращает данные о столкновении как таблицу.
Комментариев: 8
CornerPin  [создатель] 22 янв. 2020 г. в 12:22 
This is not a thing you can spawn, the addon extends the functionality of Expression 2 from Wiremod .
jacob 22 янв. 2020 г. в 11:11 
what kak spawniti collisoncore
:steamsad:
CornerPin  [создатель] 29 окт. 2018 г. в 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.
SegwOo 16 окт. 2017 г. в 2:37 
ogo like-os
DeadButDesu 21 апр. 2017 г. в 13:05 
Thank you!!!!!!!!!!!!!!!!!!!
X-Coder 5 мар. 2017 г. в 16:33 
Thank you for the fast fix, its working great now.
CornerPin  [создатель] 3 мар. 2017 г. в 3:10 
Hi, now i fixed it. Thank you for reporting!
X-Coder 2 мар. 2017 г. в 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]
}