HLFX.Ru Forum
Показать все 6 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Технические вопросы (https://hlfx.ru/forum/forumdisplay.php?forumid=20)
-- Делаю кооперативный мод. нужна помощь(( (https://hlfx.ru/forum/showthread.php?threadid=3781)


Отправлено Ghost_22 05-02-2013 в 07:51:

Half-Life Делаю кооперативный мод. нужна помощь((

И так... Мы делаем мод с кооперативным режимом в мультиплеере. Тут возникли 2 проблемы.
1. Игроки могут убивать друг друга, что в кооперативе не к чему. нам ведь не нужно чтоб на сервере устроили резню сами игроки. => Friendly fire нужно каким-то образом убрать.
2. даже если будет разрешена проблема с дружеским огнём, то не будет автоматической смены карт как в одиночной игре или как в том же Sven Co-op'е.

объясните пожалуйста как сделать первое и второе. (желательно подробно). заранее спасибо

__________________
e-mail me:
[email protected]


Отправлено Scrama 05-02-2013 в 07:55:

1. В TakeDamage или как он там в ХЛ называется проверь ентитю-атакера, если тиммейт, то return, очень просто.

2. Тут нужно код changelevel копать, плохо представляю как он работает, но, скорее всего, он просто в мульте отключен и если его включить (убрать нужный if) будет перекидывать сразу всех на новую карту с непонятным origin. Я бы ждал, пока все игроки соберутся в триггере (делал такое под q1, чтоб игроков не забирало со всей карты), но тут неплохо бы соответствующий дизайн карт, так как застревание в коридоре мало кого обрадует.

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran


Отправлено fire64 05-02-2013 в 09:10:

Да там все элементарно.

Там в коде trigger_changelevel стоит то ли 1, то ли 2 проверки на мультиплеер, что-то типа:

C++ Source Code:
1
if( g_gameRules.IsDeatmatch() )
2
{
3
  return;
4
}


Вот эти проверки убери.

Потом посмотри где там в коде идет вызов движковой функции смены уровней.

Что-то типа
C++ Source Code:
ChangeLeve2( mapname, pLandmark )


Замени pLandmark на NULL и смена уровней заработает.

п.с.
Фактически карты будут меняться, но сохранения данных к сожалению не будет.

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено Scrama 05-02-2013 в 11:23:

Цитата:
fire64 писал:
но сохранения данных к сожалению не будет.
Через клиентика передаются?

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran


Отправлено Дядя Миша 05-02-2013 в 15:18:

Копайте в сторону групповой трассы - она специально для этого создана.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ghost_22 08-02-2013 в 18:02:

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

__________________
e-mail me:
[email protected]


Временная зона GMT. Текущее время 07:12.
Показать все 6 сообщений этой темы на одной странице

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