HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Наши проекты (https://hlfx.ru/forum/forumdisplay.php?forumid=1)
-- Немного о будущем XDM3038 (https://hlfx.ru/forum/showthread.php?threadid=4641)
Отправлено Cybermax 08-11-2016 в 16:05:
Цитата:
mittorn писал:
Лет пять уже не играл на серверах с пингом выше 70. Обычно 20-30.
Цитата:
mittorn писал:
AntiPlayer это тебе с городом повезло
Играю на американском сервере с пингом выше 150 дискомфорта не ощущаю.__________________
ㅤ
Отправлено Дядя Миша 08-11-2016 в 18:09:
Цитата:
AntiPlayer писал:
Лет пять уже не играл на серверах с пингом выше 70. Обычно 20-30.
вчера в ксаш зашёл, пожалуйста, пинг 950.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено AntiPlayer 08-11-2016 в 19:09:
Цитата:
mittorn писал:
AntiPlayer это тебе с городом повезло
Ну как бы сервера то надо выбирать рядом с собой, законы физики преодолеть трудно.
Цитата:
Дядя Миша писал:
вчера в ксаш зашёл, пожалуйста, пинг 950.
Страсти какие-то рассказываешь 
__________________
I tell you to enjoy life
Отправлено Cybermax 08-11-2016 в 19:17:
Цитата:
AntiPlayer писал:
Ну как бы сервера то надо выбирать рядом с собой, законы физики преодолеть трудно.
Нужна кнопка - Играть, а сервер подбирается с наименьшем пингом автоматически.
Цитата:
AntiPlayer писал:
Страсти какие-то рассказываешь
Я тоже видел это 
__________________
ㅤ
Отправлено mittorn 08-11-2016 в 20:42:
Cybermax локальный с ботами
Отправлено Дядя Миша 08-11-2016 в 21:29:
Цитата:
AntiPlayer писал:
Страсти какие-то рассказываешь
Либерала нашисты поймали
Стою с синим флагом минут пять на месте
То ли хук зацепился, то ли пинг тыщю двезти!__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено ~ X ~ 09-11-2016 в 09:59:
Ребята, вы со своими пингами дикую фуфлудильню развели. Это нехорошо. 
Цитата:
Ku2zoff писал:
Вы только представьте: 32 уникальных оружия + часть из них имеют клоны с небольшими изменениями. ... столкнулся лишь с одной трудностью - загрузкой спрайтов из weapon_оружие.txt - оно же происходит... планирую отказаться от спрайтов вообще, и рисовать иконки для худа моделями. Наверное, возможно будет менять ItemInfo на лету, я просто не пробовал. ... Будет время - попытаюсь.
Просто поглядишь новую версию XDM - и работы станет раз в 5 меньше. 
Цитата:
Дядя Миша писал:
flNextAmmoBurn шлётся в клиент-дате через fuser2.
Ещё будешь спрашивать, почему всё, что касается ХЛ я пишу с приставкой "говно-" - буду тебе это сообщение цитировать.
Вернул всё на свой протокол - стало работать. Жизнь приятна, забей на пятна. Короче говоря, в ХЛ какие-то хитрые высчеты того, что в веапон_дате происходит/не просиходит/как бы происходит/должно просиходить/когда-нибудь произойдёт/может произойти/..., и это сильно всё портит. Базировать на ней инвентарь - безумие. Такое же как и предиктовать выбор оружия.
ЧТО НОВОГО:
Запилил помимо политики подбирабельности вепонбоксов ещё и такую штуку (полезно для ко-опа): если банка улетает куда-то в пропасть с хёртом или её кто-то взрывает, то она возвращает своё содержимое владельцу. Если владелец в это время дохлый и не жмёт капу на респаун, коробочка его по-хитрому ждёт.
Ещё интересная фича скриптовой рендер-системы: частица при определённом событии (удар о стену, например) может поменять поведение, а именно - получить стартовые параметры из другой партикал-системы.
Т.е. вместо того чтобы заводить тыщи мильонов новых параметров с новыми названиями в текущей ПС, просто указывается имя другой ПС (которая может, например, не рисоваться вообще), из которой частицы получат InitializeParticle() и все будут счастливы.
После очередного плейтеста ещё допилен АИ. Больше тоннелей, больше секретов, умнее монстры, красивее и реалистичнее локации.
Добавлено 09-11-2016 в 12:59:
Что не сделано:
- trigger_hurt до сих пор пропускает энтити (посмотрите его говнокод и всё поймёте), в т.ч. и вепнбоксы
- weaponbox при вывале из игрока начинает медленно падать... падать... падать... вечно падать... свкозь пол, сквозь вечность.
- некритичные баги анимаций__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]
Отправлено XaeroX 09-11-2016 в 10:17:
Цитата:
~ X ~ писал:
Ещё будешь спрашивать, почему всё, что касается ХЛ я пишу с приставкой "говно-" - буду тебе это сообщение цитировать.
Почему ты обощаешь "всё" на конкретные хаки? 
__________________
Отправлено ~ X ~ 09-11-2016 в 10:38:
Цитата:
XaeroX писал:
Почему ты обощаешь "всё" на конкретные хаки?
Если у тебя в доме на хаках картина висит, то #define "в доме есть хаки".
Если же у тебя хаками фундамент сделан, тогда #define "дом - говно".__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]
Отправлено Дядя Миша 09-11-2016 в 10:49:
Цитата:
~ X ~ писал:
буду тебе это сообщение цитировать.
ну переименуй fuser2 в flNextAmmoBurn. Может полегчает.
Цитата:
~ X ~ писал:
какие-то хитрые высчеты того, что в веапон_дате происходит
Если бы кои-кто пони-мал, как устроена дельта, то и проблем бы не было.
Цитата:
~ X ~ писал:
коробочка его по-хитрому ждёт.
Выходишь такой в чистом поле из-за угла, а там 
Цитата:
~ X ~ писал:
trigger_hurt до сих пор пропускает энтити
Тебе там динамический лист надо завести, например.
Добавлено 09-11-2016 в 13:49:
Цитата:
~ X ~ писал:
Ребята, вы со своими пингами дикую фуфлудильню развели. Это нехорошо.
нам тоже не нравится, что мы мирно общаемся и ты постоянно влезаешь со своим оффтопом про XDM, которого никто никогда не видел. Может его и вовсе не существует.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено ~ X ~ 09-11-2016 в 12:11:
Цитата:
Дядя Миша писал:
Тебе там динамический лист надо завести, например.
Я бы завёл, но проблема с сейврестором. Кроме того, это хак.
Если исходить из предположения, что каждый кадр HurtTouch() вызывается для всех, кто в триггере, то, теоретически, можно просто
{
pOther->TakeDamage(pev->dmg * gpGlobals->frametime);
SetNextThink(now);
}
и все кроме ЦПУ и сети будут рады. Но, как я подозреваю, в реальности не всё так мило, правда?__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]
Отправлено mittorn 09-11-2016 в 13:20:
~ X ~ в реальности надежда на то, что хотя бы одна клиентская комманда попадёт на hurt. По этом и проверка по времени. Я даже не знаю, можно ли назвать это хаком.
Коробочки твоей это не касается, там придётся выкручиваться.
Отправлено ~ X ~ 09-11-2016 в 13:27:
mittorn расскажи мне про коробочку. Коробочки очень ценные и когда они перестают коллайдиться вообще со всем на свете - это тотальный фаил.
А в связке с триггерами проблема такая: в HurtTouch() к триггеру коробочка попадает ОДИН раз. И если они пришёлся на не "те" полсекунды (где в коде сторит return), то коробка не хёртится НИКОГДА. Пускай она хоть всю игру в триггере простоит. И это совсем плохо т.к. своё оружие игрок не получит никогда.
Ну и проскоки игроков сквозь триггеры - тоже беда.
__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]
Отправлено mittorn 09-11-2016 в 14:11:
~ X ~ коробочка не шлёт комманд. Она делает touch во время физики. Видимо, тут виновата халфовая физика. Как известно, если что-то мелкое запустить с большой скоростью в стенку - оно пролетит сквозь неё. В чём причина - не знаю. Код физики вот:
C++ Source Code:
2 | // Base velocity is not properly accounted for since this entity will move again |
3 | // after the bounce without taking it into account |
4 | VectorAdd( ent->v.velocity, ent->v.basevelocity, ent->v.velocity ); |
6 | SV_CheckVelocity( ent ); |
7 | VectorScale( ent->v.velocity, host.frametime, move ); |
9 | VectorSubtract( ent->v.velocity, ent->v.basevelocity, ent->v.velocity ); |
11 | trace = SV_PushEntity( ent, move, vec3_origin, NULL ); |
12 | if( ent->free ) return; |
14 | SV_CheckVelocity( ent ); |
18 | // entity is trapped in another solid |
19 | VectorClear( ent->v.avelocity ); |
20 | VectorClear( ent->v.velocity ); |
24 | if( trace.fraction == 1.0f ) |
26 | SV_CheckWaterTransition( ent ); |
30 | if( ent->v.movetype == MOVETYPE_BOUNCE ) |
31 | backoff = 2.0f - ent->v.friction; |
32 | else if( ent->v.movetype == MOVETYPE_BOUNCEMISSILE ) |
36 | SV_ClipVelocity( ent->v.velocity, trace.plane.normal, ent->v.velocity, backoff ); |
И теперь SV_PushEntity:
C++ Source Code:
1 | SV_LinkEdict( ent, true ); |
3 | if( blocked ) *blocked = !VectorCompare( ent->v.origin, end ); // can't move full distance |
5 | // so we can run impact function afterwards. |
6 | if( SV_IsValidEdict( trace.ent )) |
7 | SV_Impact( ent, trace.ent, &trace ); |
SV_LinkEdict вызывает TouchLinks, который работает предельно просто: проверяет список всех триггеров на предмет пересечения. Трейс никакие триггеры не задевает
Разумеется твоя коробка просто пролетит через триггер, ни в один кадр не "трогая" его. Как это обойти? Попробуй ограничить скорость или увеличить триггер.
Отправлено ~ X ~ 09-11-2016 в 14:53:
mittorn т.е. эти говнокды не просчитывают пересечение траекторий, а только коллизию апостариорно... уныло. Всё равно мне не понятно, почему для неподвижных вепонбоксов не вызывается точ триггера.