HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Вопросы по коду
Вопросы новичка о half life 1 sdk
Страницы (3): « 1 [2] 3 »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
ILZM
LAW

Дата регистрации: Oct 2011
Проживает: Mega City One
Сообщений: 301

Рейтинг



XaeroX
А что лучше. events или ненадёжная мессага в плане оптимизации? Ведь всё равно же проиграется ли на клиенте анимация или нет.

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

Старое сообщение 19-07-2015 16:17
- За что?
 XaeroX
Crystice Softworks

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

Рейтинг



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


ILZM
Эвенты тоже ненадёжные, если не указан флаг FEV_RELIABLE.
Главное отличие от мессаг в том, что они могут предиктиться на клиенте, и в этом случае будут проиграны даже в случае, если потеряются по дороге.

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

Старое сообщение 19-07-2015 17:00
-
demoth
Новичок

Группа: Неопытный
Дата регистрации: Jul 2015
Проживает: Санкт-Петербург
Сообщений: 13

Рейтинг



~ X ~
>Вальва ж нам дельты дала

XaeroX
>В них ничего нельзя добавлять[в enitity_state]

не соединяются у меня эти стейтменты, зачем мне дельты если максимум что я могу сделать это использовать 2 - 3 незанятых user поля?

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

Старое сообщение 19-07-2015 19:59
- За что?
 XaeroX
Crystice Softworks

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

Рейтинг



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


Цитата:
demoth писал:
зачем мне дельты если максимум что я могу сделать это использовать 2 - 3 незанятых user поля?

Ну почему же 2-3? Побольше. Но не так уж много, да.

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

Старое сообщение 19-07-2015 20:47
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Цитата:
XaeroX писал:
Побольше. Но не так уж много, да.

Можно использовать vuser-ы. В каждом из них содержится целых 3 поля, в которые можно записывать float. + к этому iuser3 и iuser4 ни чем не заняты. fuser3 и fuser4 тоже вроде бы не заняты. Вполне достаточно для каких-нибудь фич, типа стамины, ползания и вектора разброса пуль.

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

Старое сообщение 20-07-2015 09:00
- За что?
demoth
Новичок

Группа: Неопытный
Дата регистрации: Jul 2015
Проживает: Санкт-Петербург
Сообщений: 13

Рейтинг



в общем можно параметры, которые не очень часто меняются, передавать сообщениями, для остальных - юзеры.

посмотреть бы код бейз дефенса...

если не трудно - подскажите какую энтити использовать? а то в проекте несколько структур с user полями

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

Старое сообщение 20-07-2015 18:22
- За что?
 XaeroX
Crystice Softworks

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

Рейтинг



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


demoth
Это всё одна структура, entity_state_t.
Остальные - её оверрайды, например, для игрока или для кастом-энтити (с флагом FL_CUSTOM).

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

Старое сообщение 20-07-2015 18:32
-
~ X ~
offline

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

Рейтинг



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


Цитата:
XaeroX писал:
~ X ~
У тебя каждый кадр посылается один бит информации "поле health не изменилось". Каждый кадр, Карл! Так уж устроена дельта.
А т.к. health меняется относительно редко, то не логичнее ли посылать его именно отдельной мессагой? Вот и в Valve так рассудили.

Не правильно.
Мессага "здоровье" появилась до дельты. Когда был entvars_t и всё. Для защиты от читерства, скорее всего. Потом появилась возможность фильтровать, что и кому слать, но в вальве ленивые кодеры для сохранения совместимости они это оставили.

Побуду добрым, сообщу любителем мессаг, что их ждёт тотальный облом в их колчиестве, пока те не нагородили...
Кстати, на кол-во зарегистрированных евентов абсурдных ограничений нет?

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

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

Старое сообщение 22-07-2015 09:23
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Цитата:
~ X ~ писал:
Побуду добрым, сообщу любителем мессаг, что их ждёт тотальный облом в их колчиестве, пока те не нагородили...

128 штук максимум, кажется. Не так уж мало. Но, думаю, что мессаги нужно при любой возможности заменять энтварсами. К примеру: нам нужно отображать здоровье и броню игрока в режиме наблюдателя, кода мы наблюдаем данного игрока. Для этого придётся завести новую мессагу (см. сорцы отреверсенной дллки кс 1.6). А если мы допишем передачу энтварса pev->health, то сможем избавиться от мессаг gmsgHealth, gmsgBattery и нам не придётся заводить новую мессагу для спектаторского здоровья и брони. Сейчас я как раз изучаю дельту, и думаю, что передавать для игрока, а что нет. Ну и для других энтить тоже. XDM, кстати, очень полезен для изучения в этом плане

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

Старое сообщение 22-07-2015 09:55
- За что?
 XaeroX
Crystice Softworks

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

Рейтинг



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


Цитата:
~ X ~ писал:
Не правильно.

Что - неправильно?
Цитата:
~ X ~ писал:
Мессага "здоровье" появилась до дельты. Когда был entvars_t и всё. Для защиты от читерства, скорее всего.

И как же это поможет защитить от читерства?
Цитата:
~ X ~ писал:
для сохранения совместимости они это оставили.

Совместимость там всё равно была нарушена, так что - не аргумент.
Цитата:
~ X ~ писал:
Побуду добрым, сообщу любителем мессаг, что их ждёт тотальный облом в их колчиестве, пока те не нагородили...

Посмотри, как вальва запихала добрую сотню TE_сообщений в одну-единственную мессагу SVC_TEMPENTITY.
Цитата:
~ X ~ писал:
на кол-во зарегистрированных евентов абсурдных ограничений нет?

1024 эвента.

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

Цитата:
Ku2zoff писал:
Но, думаю, что мессаги нужно при любой возможности заменять энтварсами.

Во-первых, далеко не при любой. Но при описанной тобой ситуации это разумно, да.
Во-вторых, надо очень внимательно смотреть, каким энтитям разрешать их передачу. Для чего на сервере есть всякие DELTA_UNSETBYINDEX.

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

Старое сообщение 22-07-2015 10:02
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Цитата:
XaeroX писал:
Во-первых, далеко не при любой. Но при описанной тобой ситуации это разумно, да.

Скажем так, чтобы не дублировать передачу одного и того же числа разными методами.

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

Старое сообщение 22-07-2015 10:07
- За что?
PLut
Creator

Дата регистрации: Jun 2009
Проживает: Санкт-Петербург
Сообщений: 1220
Возраст: 31

Рейтинг



demoth Спроси что тебя конкретно интересует в бдефе и я тебе расскажу

__________________
Base Defense on Steam, ModDB

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

Старое сообщение 22-07-2015 15:11
- За что?
~ X ~
offline

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

Рейтинг



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


Что такое бдеф?

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

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

Старое сообщение 22-07-2015 19:20
- За что?
demoth
Новичок

Группа: Неопытный
Дата регистрации: Jul 2015
Проживает: Санкт-Петербург
Сообщений: 13

Рейтинг



бдеф - base defence

да все фичи оттуда интересны)

если конкретно
1) как всё таки посылаются новые статы (деньги, опыт, уровень)
2) как сделать чтобы появившиеся монстры сразу охотились за игроком
3) каким образом реализованы скилы
4) инвентарь

кстати линукс версии так и не вышло?

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

Старое сообщение 23-07-2015 17:06
- За что?
PLut
Creator

Дата регистрации: Jun 2009
Проживает: Санкт-Петербург
Сообщений: 1220
Возраст: 31

Рейтинг



demoth
1. Через vuser. Туда я с горяча засунул информацию, которая не так часто обновляется, буду переделывать потом.
2. Этого у меня нет. Они могут найти игрока только если его видели хоть раз.
3. Функция UsePlayerSkill проверяет класс и переменную m_iCurrentSkill, в зависимости от них при вызове и активирует скилл, но там тонкости есть, ибо ауры сделаны отдельно и пассивки тоже. Пассивки активируются там где тебе нужно (например увеличение урона при каждом попадании в монстра).
4. Инвентарь сделан по тутору для хл2, оттуда брал проверку наличия места в инвентаре при подъеме шмотки. У меня получилось 3 структуры, состоящие из информации (айди шмотки, тип, защита, 3 параметра) и так для 11-ти вроде слотов (0, 1, 2, 3 - эквипы на игрока и остальные 8 - сам инвентарь). Почему три структуры: первая серверная для игрока, вторая серверная для вещей и третья клиентская для игрока. Вещи имеют свой полноценный инвентарь, можно сказать, а сделано это для возможности паковать все вещи из инвентаря при смерти в рюкзак, который дропается, чтобы поднять при респауне. При манипуляциях любых с вещами мы отправляем мессагу на клиент, состоящую из всех параметров шмотки, перечисленных выше, и слота, в который мы все это будем заносить/обновлять. Когда мы одеваем новую шмотку взамен старой, то в коде это выглядит просто как сохранение шмотки из первого слота в буфер, копируем в первый слот содержимое второго слота, после этого из буфера копируется шмотка из первого слота во второй. С клиента, графической оболочки идут команды такого типа: moveitem "slot1" "slot2", dropitem "slot1", upgradeitem "slot1" и т. д.

С линуксом не дружу. Однако, друг запускал на линуксе и мы успешно играли по сети. Вайн что ли, не знаю, он разбирается в этом, а я нет. Факт есть фактом, что играли по сети без каких-либо проблем.

__________________
Base Defense on Steam, ModDB

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

Старое сообщение 23-07-2015 18:35
- За что?
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 22:28. Новая тема    Ответить
Страницы (3): « 1 [2] 3 »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Вопросы по коду
Вопросы новичка о half life 1 sdk
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

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

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

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

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