HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > Немного о будущем XDM3038
1 час с ~X~
2 голосов
Страницы (103): « Первая ... « 71 72 73 74 [75] 76 77 78 79 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
mittorn
Житель форума
Девойс

Дата регистрации: Nov 2009
Проживает: Томск
Сообщений: 398

Рейтинг



~ X ~ это не единственное использование MOVETYPE_BOUNCEMISSILE
И используй тег cpp

Сообщить модератору | IP: Записан
Сообщение: 160774

Старое сообщение 09-11-2016 15:38
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 35010
Нанёс повреждений: 514 ед.
Возраст: 38

Рейтинг



Награды
 
[1 награда]


Цитата:
mittorn писал:
это не единственное использование MOVETYPE_BOUNCEMISSILE

Не мешай Мастеру излагать мудрость!
Мы наслаждаемся.

__________________

Сообщить модератору | IP: Записан
Сообщение: 160775

Старое сообщение 09-11-2016 15:41
-
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4751
Возраст: 35

Рейтинг



XaeroX ты что он же Очень Опытный Программист

Сообщить модератору | IP: Записан
Сообщение: 160786

Старое сообщение 09-11-2016 16:10
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 35010
Нанёс повреждений: 514 ед.
Возраст: 38

Рейтинг



Награды
 
[1 награда]


Crystallize
Я не спорю. Я же говорю - вы герою рот не затыкайте, пожалуйста, потому что он - очень важная персона. И если он говорит о крокодилах, то это есть очень важно для обороны страны.

__________________

Сообщить модератору | IP: Записан
Сообщение: 160788

Старое сообщение 09-11-2016 16:15
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 33019
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
~ X ~ писал:
Но, как я подозреваю, в реальности не всё так мило, правда?

Есть долгоживущие дамаги, которые коцают, даже когда игрок уже покинул зону триггера.
Предположим у игрока 5 хп, он заходит в зону с повышенной радиоактивностью. Потом выходит его еще коцает какое-то время, пока он не откинет конькикоробочку.

Цитата:
mittorn писал:
Как известно, если что-то мелкое запустить с большой скоростью в стенку - оно пролетит сквозь неё.

SV_PushEntity видишь? Это гарантия того, что не пролетит, кроме совсем уж пограничных случаев.
Сквозь триггеры - там да, пролетает со свистом, поскольку триггеры устроены на манер современных физ.двигов - сперва подвинуть тело, а потом уже разобраться куда попал. В принципе можно переписать триггеры таким образом, чтобы они корректно хэндлили быстрые тела, но для этого как минимум понадобится кастомная физика из ксаша. На чистой халфе не сделаешь. Ну и соображалку надо включать, а не орать на каждом углу про хаки.
Цитата:
~ X ~ писал:
Всё равно мне не понятно, почему для неподвижных вепонбоксов не вызывается точ триггера.

Потому что триггер_тач вызывается при вызове SV_LinkEdict (ну или имплиситно - через UTIL_SetOrigin), а когда предмет стоит в покое, ему UTIL_SetOrigin не вызывается, а сама концепция ни кваки ни халфы не подразумевает двигающихся триггеров.

C++ Source Code:
1
void SV_Physics_Toss( edict_t *ent )
2
{
3
  trace_t	trace;
4
  vec3_t	move;
5
  float	backoff;
6
  edict_t	*ground;
7
 
8
  SV_CheckWater( ent );
9
 
10
  // regular thinking
11
  if( !SV_RunThink( ent )) return;
12
 
13
  ground = ent->v.groundentity;
14
 
15
  if( ent->v.velocity[2] > 0.0f || !SV_IsValidEdict( ground ) || ground->v.flags & (FL_MONSTER|FL_CLIENT) || svgame.globals->changelevel )
16
  {
17
    ent->v.flags &= ~FL_ONGROUND;
18
  }
19
 
20
  // if on ground and not moving, return.
21
    if( ent->v.flags & FL_ONGROUND && VectorIsNull( ent->v.velocity ))
22
    {
23
      VectorClear( ent->v.avelocity );
24
 
25
    if( VectorIsNull( ent->v.basevelocity ))
26
      return;	// at rest
27
  }

вот на этом ретарне для неподвижных коробочек всё и кончается.
Добавлено 09-11-2016 в 21:29:

Цитата:
Crystallize писал:
ты что он же Очень Опытный Программист

Дать бы тебе плюс за тавтологию, но у нас нет такого наказания.

Цитата:
XaeroX писал:
Не мешай Мастеру излагать мудрость!

Дело в том, что в 2000-м году я ходил на анекдот.ру, а теперь мне уже не нужно.

Добавлено 09-11-2016 в 21:32:

ЗОГбавно, щас в ксаш-мод заглянул - я там давно уже такие триггеры сделал, но вроде как немного не доделал, оставил на потом.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | IP: Записан
Сообщение: 160801

Старое сообщение 09-11-2016 18:32
-
thambs
мразь конченная

Дата регистрации: Mar 2006
Проживает: -
Сообщений: 6417

Рейтинг



>уже такие триггеры сделал
Т.е. одноюнитные триггеры будут корректно работать даже в мультиплаере? Гуд.

__________________
http://www.moddb.com/mods/monorail-quest

Сообщить модератору | IP: Записан
Сообщение: 160806

Старое сообщение 09-11-2016 18:54
- За что?
~ X ~
offline

Дата регистрации: Oct 2005
Проживает: Архангельск
Сообщений: 3619

Рейтинг



Награды
 
[1 награда]


Цитата:
thambs писал:
Предположим у игрока 5 хп, он заходит в зону с повышенной радиоактивностью.

Я не об этом. Это ТБД в коде игрока.

Про СетОригин() я догадываюсь. Вот только принудительно вызывать его каждый кадр для баночек (коих бывают сотни на карте) почему-то не хочется. Хотя, современные процы - что их жалеть?
Так почему же не убрать квантование по полсекунды в триггере? Я не о том, что это должно включить колоизацию, а о том, что туда хотя бы всё будет попадать хоть раз.

XaeroX у тебя от чего-то бугурт? Ты вроде вообще убегал из треда

ХОБОСТИ:
YAY! XDM почти компилится под ARM!

__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]

Сообщить модератору | IP: Записан
Сообщение: 160811

Старое сообщение 09-11-2016 21:31
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 33019
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
~ X ~ писал:
Вот только принудительно вызывать его каждый кадр для баночек (коих бывают сотни на карте) почему-то не хочется.

Да ты растолкуй пошто этим баночкам вообще вызывать сеторигин?
Это же итем и у него солид_триггер.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | IP: Записан
Сообщение: 160812

Старое сообщение 09-11-2016 21:45
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6841
Возраст: 34

Рейтинг



Цитата:
~ X ~ писал:
а о том, что туда хотя бы всё будет попадать хоть раз.

Сделаю предположение. Картина такая: коробка попала в trigger_butthurt, волшебный момент упущен, дамаги она не получает. Так почему бы не заставить её тчинкать и проверять (каждые 5 секунд, например), в триггере она, или нет, когда неподвижна? Если в триггере, да ещё и наносящем урон, то наносить ей урон из её же кода. Или это снова грязный хак?
Веапонбокс в обычной халфе наследуется прямо от CBaseEntity, так что тчинкать вполне себе может. Не знаю, как в XDM, я эту часть сорцев не смотрел.

Сообщить модератору | IP: Записан
Сообщение: 160820

Старое сообщение 10-11-2016 02:37
- За что?
mittorn
Житель форума
Девойс

Дата регистрации: Nov 2009
Проживает: Томск
Сообщений: 398

Рейтинг



Дядя Миша, во всяком случае при скорости 2000 и более PushMove пробивает стены. Это трейс так работает или баг какой? Как работают и как "исправить" тригеры я и так знаю.

Добавлено 10-11-2016 в 07:53:

~X~, поменяй TOSS на Bounce и запили псевдофизику в стиле того, что у меня в ветке gravgun. Тогда коробочка какое-то время будет ещё прыгать в триггере, трогая его. Думаю, этого хватит почти всегда.

Сообщить модератору | IP: Записан
Сообщение: 160824

Старое сообщение 10-11-2016 04:53
- За что?
~ X ~
offline

Дата регистрации: Oct 2005
Проживает: Архангельск
Сообщений: 3619

Рейтинг



Награды
 
[1 награда]


Цитата:
Дядя Миша писал:
Это же итем и у него солид_триггер.

Ну-ну. Повыставляй итемам солид_триггер.

Цитата:
Дядя Миша писал:
Да ты растолкуй пошто этим баночкам вообще вызывать сеторигин?

Толкую:
- игрок дохнет у стенки... или даже просто так (но не от взрыва)
- из него вылетает банка, банка хотя бы частично внутри игрока
- банка меееееееееееедленно движется вниз
- игрок респаунится
- банка как двигалась, так и движется - ей всё равно
- банка движется сквозь пол
- банка движется в бесконечность

Цитата:
Ku2zoff писал:
Сделаю предположение. Картина такая: коробка попала в trigger_butthurt, волшебный момент упущен, дамаги она не получает. Так почему бы не заставить её тчинкать и проверять (каждые 5 секунд, например), в триггере она, или нет, когда неподвижна? Если в триггере, да ещё и наносящем урон, то наносить ей урон из её же кода. Или это снова грязный хак?

В ХЛСДК это точно было бы нельзя ибо ты представь себе, что почти у всех энтить кастомный Think(). У меня есть CheckEnvironment(), только расскажи мне про слова "Если в триггере". Нибось, перебором всех энтить будешь проверять?

Цитата:
mittorn писал:
Дядя Миша, во всяком случае при скорости 2000 и более PushMove пробивает стены.

Ох, лолки! Так это crossbow_bolt и lightp в зоне риска...

Цитата:
mittorn писал:
Тогда коробочка какое-то время будет ещё прыгать в триггере, трогая его.

Это не совсем решение проблемы. Проблема подробно описана здесь чуть выше ^

__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]

Сообщить модератору | IP: Записан
Сообщение: 160828

Старое сообщение 10-11-2016 06:27
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6841
Возраст: 34

Рейтинг



Цитата:
~ X ~ писал:
Нибось, перебором всех энтить будешь проверять?

Трейсы в пяти направлениях из центра коробки с игнором самой коробки. Если хоть один из них попадает в SOLID_TRIGGER, то вызываем FindEntityInSphere в радиусе по длине трейса. Ну и ищем по класснейму. Тут уж точно не все энтити надо перебирать.
Эта теория такая. На практике ХЗ, сработает ли.

Добавлено 10-11-2016 в 13:57:

Цитата:
~ X ~ писал:
- банка меееееееееееедленно движется вниз
- игрок респаунится
- банка как двигалась, так и движется - ей всё равно
- банка движется сквозь пол
- банка движется в бесконечность

Так этот баг довольно часто появляется в хл при убийстве монстров рядом со стенкой. Таки да, дело в движке. Разве что в момент спауна оружия насильно выталкивать его из стены.

Сообщить модератору | IP: Записан
Сообщение: 160832

Старое сообщение 10-11-2016 06:57
- За что?
~ X ~
offline

Дата регистрации: Oct 2005
Проживает: Архангельск
Сообщений: 3619

Рейтинг



Награды
 
[1 награда]


Цитата:
Ku2zoff писал:
Трейсы в пяти направлениях из центра коробки с игнором самой коробки. Если хоть один из них попадает в SOLID_TRIGGER, то вызываем FindEntityInSphere в радиусе по длине трейса. Ну и ищем по класснейму. Тут уж точно не все энтити надо перебирать.
Эта теория такая. На практике ХЗ, сработает ли.


1. пять трейсов - это уже охрененно медленно
2. трейс не определяет SOLID_TRIGGER, только contents
3. угадай, что делает FindEntityInSphere()? подскажу: перебор всех энтить и отсев по дистанции.
4. много ты триггеров будешь по класснеймам искать? а если юзер свой триггер новый создаст?
Видишь как всё непросто.

Что полезного я могу сделать с коробками - это при POINT_CONTENTS(origin) == CONTENTS_SOLID вызывать Killed(angrybeaver, gman, GIB_SOMETIMES); но... это будет очень скоро, либо, если пол тонкий, проваливаться сквозь пол.

__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]

Сообщить модератору | IP: Записан
Сообщение: 160833

Старое сообщение 10-11-2016 07:04
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6841
Возраст: 34

Рейтинг



Цитата:
~ X ~ писал:
Видишь как всё непросто.

На то она и теория, чтобы её или подтвердить или опровергнуть.
Цитата:
~ X ~ писал:
либо, если пол тонкий

Насколько тонкий? < 4 юнитов?

Добавлено 10-11-2016 в 14:14:

Цитата:
~ X ~ писал:
при POINT_CONTENTS(origin) == CONTENTS_SOLID вызывать Killed

А если попробовать выталкивать банку из стены, типа как работает PM_CheckStuck для игрока? Опять же, трейсить надо. Но всё-таки наверное лучше, чем уничтожать её.

Сообщить модератору | IP: Записан
Сообщение: 160835

Старое сообщение 10-11-2016 07:14
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 35010
Нанёс повреждений: 514 ед.
Возраст: 38

Рейтинг



Награды
 
[1 награда]


Цитата:
~ X ~ писал:
пять трейсов - это уже охрененно медленно

Я вам как-нибудь покажу свой движок-рейкастер для халфовских уровней. Там для разрешения 640х480 выполняется 307200 трейсов каждый кадр. И это без учёта переотражений. Но тем не менее, на современных компах вполне себе выжимает играбельный фпс, а не слайдшоу.

__________________

Сообщить модератору | IP: Записан
Сообщение: 160837

Старое сообщение 10-11-2016 07:35
-
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 23:16. Новая тема    Ответить
Страницы (103): « Первая ... « 71 72 73 74 [75] 76 77 78 79 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > Немного о будущем XDM3038
1 час с ~X~
2 голосов
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024