HLFX.Ru Forum Страницы (5): « 1 2 3 [4] 5 »
Показать все 70 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Нуб вопросы Superuser8 (https://hlfx.ru/forum/showthread.php?threadid=4561)


Отправлено PLut 22-07-2015 в 15:09:

Superuser8 Ну тогда опять поиск рулит, ищешь по файлам проекта всё связанное с клиентскими пушками и комментишь/удаляешь. Я, кстати, не так давно до конца вырезал их, ибо были траблы со временем в оружии, оно неправильно считалось по какой-то волшебной причине.

__________________
Base Defense on Steam, ModDB


Отправлено Superuser8 22-07-2015 в 15:17:

PLut т.е для Base Defense вырезал? Траблов в мульте не было?
Я тут побаловался с опцией cl_lw, играл по сети в HL на лицензии.
Разницы вообще не заметно, правда при пинге ~100 мне показалось что попадать по врагам стало немного труднее


Отправлено Ku2zoff 22-07-2015 в 15:30:

Superuser8 ну так убери дефайн CLIENT_WEAPONS из свойств обоих проектов. Удали папку hl из cl_dll. И всего делов. Для чистоты эксперимента можешь вырезать весь код, обёрнутый в #ifdef CLIENT_WEAPONS. Если правильно сделаешь, всё будет работать. Ну только эгон и гаусс не будут рисовать свои эффекты при cl_lw 1. Это уже код самих оружий надо ковырять. Смотри Дядь Мишин спирит.

Добавлено 22-07-2015 в 21:30:

Цитата:
Superuser8 писал:
Траблов в мульте не было?

Появятся лаги при выстрелах, если пинг больше 50. 100% проверено. Чем выше пинг, тем больше лаг. Погоняй в ксаш по сети с отключенным предиктингом оружий. Увидишь, как это.


Отправлено Superuser8 22-07-2015 в 16:17:

Ku2zoff уже начал. Удалил папку hl, пофиксил пару ошибок. Ксаш не может прожевать клиент. Так что есть ещё чем заняться

Добавлено 22-07-2015 в 21:17:

Если всё получится, надо накатать тутор по этому делу


Отправлено PLut 22-07-2015 в 16:32:

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

Так что практика побеждает, а не теория. Клиентские пушки - неоправданная заморочка, на мой взгляд, более того, сделанная через одно место. Эффект с отключеным кваром и полным удалением этого хлама из кода несравним - для справки.

__________________
Base Defense on Steam, ModDB


Отправлено Superuser8 22-07-2015 в 21:50:

PLut отлично! Спасибо за ответ)

Добавлено 22-07-2015 в 22:59:

Ах да, совем забыл...
В таком случае код пушек нужно переносить полностью в сервер?

Добавлено 23-07-2015 в 02:50:

В общем получилось, почти закончил.
Правда не знаю что делать с эвентами ( PLAYBACK_EVENT_FULL )
Их тоже нужно вырезать?


Отправлено Ku2zoff 22-07-2015 в 21:58:

Цитата:
Superuser8 писал:
Правда не знаю что делать с эвентами ( PLAYBACK_EVENT_FULL )
Их тоже нужно вырезать?

Нет. Они не являются частью клиентских пушек. Они служат для выполнения каких-либо действий на клиенте без использования пользовательских и иных мессаг. Основное назначение - анимации, звуки и эффекты при стрельбе оружия. Но вообще, через них можно делать всё, что душе угодно. Если это нужно, конечно. Например, можно убрать вызов стандартной мессаги взрыва на сервере, а вместо неё вызвать эвент. На клиенте же запихать в этот эвент систему частиц, динлайт, красивые спрайты, скриншейк, скринфейд, декаль, блекджек и шл.. и проч. То есть одним выстрелом убить 5-6 зайцев. Вместо вызова на сервере 5-6 мессаг всего один эвент. Ну это так, утрировано.


Отправлено Superuser8 22-07-2015 в 22:05:

Ku2zoff короче сейчас я сделал так:

Удалил вот это из всех оружий

C++ Source Code:
1
int flags;
2
#if defined( CLIENT_WEAPONS )
3
flags = FEV_NOTHOST;
4
#else
5
flags = 0;
6
#endif


Где стояло flags я сменил на 0
Двойные флаги трогать не стал, правда у гаусса есть такое

C++ Source Code:
PLAYBACK_EVENT_FULL( FEV_NOTHOST | FEV_RELIABLE, m_pPlayer->edict(), m_usGaussFire, 0.01, (float *)&m_pPlayer->pev->origin, (float *)&m_pPlayer->pev->angles, 0.0, 0.0, 0, 0, 0, 1 );

FEV_NOTHOST отсюда удалять не нужно?


Отправлено Ku2zoff 22-07-2015 в 22:12:

У меня с этими эвентами и клиентскими пушками мерзкая запара вышла. Если игрок не локальный, то есть рассинхрон в проигрывании звуков и анимаций чейнгана. Начинает проигрываться клиентский эвент, а через долю секунды серверный. Флаг FEV_NOTHOST вообще приводит к непроигрыванию эвентов у локального игрока время от времени, хотя клиентские пушки активны. Пока не придумал как это забороть. Ещё с монтировкой проблема: на клиенте нужно зеркало FindHullIntersection и рассчёта попадания/промаха. На сервере мы попадаем по стенке, а на клиенте нет. В спиритах 1.7 и 1.9 такая проблема. Тоже пока не решил её.

Добавлено 23-07-2015 в 04:12:

Цитата:
Superuser8 писал:
FEV_NOTHOST отсюда удалять не нужно?

FEV_NOTHOST указывает, что для локального игрока этот эвент проигрывать на сервере не нужно, только на клиенте. Соответственно, если клиентские пушки отключены, то этот флаг не нужен. Иначе эвент не будет проигрываться для локального игрока.


Отправлено Superuser8 22-07-2015 в 22:17:

Ku2zoff не знаю в тему будет или нет, но тут есть клиентский FindHullIntersection
http://half-life.ru/forum/showthread.php?threadid=7428


Отправлено ~ X ~ 22-07-2015 в 23:42:

Ku2zoff а на клиенте стёкла/ящики/монстры хорошо трейсятся? (у меня пока нет клиентских пушек т.к. меня взбесил хак с weapondata_s.. или clientdata_s.. и лучами пылесоса... и пока не стал делать, но план был)

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


Отправлено Ku2zoff 23-07-2015 в 05:08:

Цитата:
~ X ~ писал:
Ku2zoff а на клиенте стёкла/ящики/монстры хорошо трейсятся?

Даже не проверял. Как будет время, займусь монтировкой и выясню.


Отправлено ~ X ~ 23-07-2015 в 05:33:

Я бы не стал. Ведь понадобятся звуки материалов, которые на клиенте просто не существуют (я не про текстуры)...

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


Отправлено ILZM 23-07-2015 в 06:07:

Если выпилить предсказание, то это по ходу будет неприятно играть с пингом 150-200.


Отправлено PLut 23-07-2015 в 06:53:

ILZM Даже если предсказание не выпиливать, играть с пингом 150-200 не особо приятно. Более того, выпилен предикт пушек, а не игрока.

__________________
Base Defense on Steam, ModDB


Временная зона GMT. Текущее время 05:34. Страницы (5): « 1 2 3 [4] 5 »
Показать все 70 сообщений этой темы на одной странице

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