HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Нубские вопросы от <censored> и других нубов
Чтобы не создавать сто тем
7 голосов
Страницы (264): « Первая ... « 35 36 37 38 [39] 40 41 42 43 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
Vadiman
Клавиатурщик

Дата регистрации: Jun 2013
Проживает: Замок Димитреску
Сообщений: 81

Рейтинг



Есть проблемка с пулеметом из opposing force: перезарядка состоит из двух анимаций (SAW_RELOAD1_1 и SAW_RELOAD1_2) Как воспроизвести одну за другой, ведь обычно в DefaultReload только одна анимация?

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

Старое сообщение 23-03-2016 19:32
- За что?
PLut
Creator

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

Рейтинг



Vadiman Смотри как в дробовике перезарядка сделана, вот по аналогии делается перезарядка пулемета.

__________________
Base Defense on Steam, ModDB

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

Старое сообщение 24-03-2016 04:27
- За что?
ILZM
LAW

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

Рейтинг



KorteZZ насчет скорости: это все уже есть, остались только проблемы с получением максимальной скорости на клиенте. Да и еще на клиенте есть квары cl_sidespeed, cl_forwardspeed, cl_backspeed и sv_maxspeed. Посмотри на клиенте input.cpp по поиску этих кваров. Там есть формулы высчитывания гипотенузы, т. е. именно той диагонали. Нужно всего лишь скормить этому коду максимальную скорость игрока на сервере
насчет условия: тут без куска кода не понять

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

Старое сообщение 24-03-2016 05:15
- За что?
PLut
Creator

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

Рейтинг



KorteZZ [Кодинг] Замедление игрока

__________________
Base Defense on Steam, ModDB

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

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

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

Рейтинг



Цитата:
Vadiman писал:
Как воспроизвести одну за другой, ведь обычно в DefaultReload только одна анимация?

Там первая анимация проигрывается в Reload, а вторая в WeaponIdle. Довольно интересный и полезный подход, и вот почему:

Имеем очень длинную анимацию перезарядки (5 сек и более). Во время перезарадки хотим что-нибудь поюзать - хрен. Потому что время m_flNextAttack ещё не подошло, и игрок не тчинкает (функии PreThink и PostThink, не помню, какая из них). А вот если мы разрежем анимацию на 2 части, то после проигрывания первой и патроны в магазине сразу обновятся, и можно юзать что хочешь.

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

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

Старое сообщение 24-03-2016 07:44
- За что?
Chyvachok
Житель форума

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 1861

Рейтинг



Ku2zoff ну в опфоре перезарядка разделена все же не из-за юзания, а из-за бодигрупной ленты, чтобы указать правильную боди нужно уже перезарядить оружие.

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

Старое сообщение 24-03-2016 12:48
+ За что?
KorteZZ
Lambda

Дата регистрации: Oct 2009
Проживает: Mongolia
Сообщений: 377
Возраст: 37

Рейтинг



Спасибо большое за помощь! Со скоростями разобрался, а насчет условий:

Это первичная атака Мосина. Мне надо сделать так, чтобы учитывался еще и последний патрон, как на Глоке.

C++ Source Code:
1
if ( m_fInZoom )
2
{
3
  m_fInZoom = FALSE;
4
  m_pPlayer->m_iFOV = 0;
5
  g_engfuncs.pfnSetClientMaxspeed(m_pPlayer->edict(), 170 );
6
  m_flNextPrimaryAttack = m_flNextPrimaryAttack + 1.6;
7
  m_pPlayer->FireBullets( 1, vecSrc, vecAiming, VECTOR_CONE_1DEGREES, 8192, BULLET_PLAYER_762MOS, 0);
8
}
9
else
10
 
11
{
12
  g_engfuncs.pfnSetClientMaxspeed(m_pPlayer->edict(), 170 );
13
  m_flNextPrimaryAttack = m_flNextPrimaryAttack + 1.6;
14
  m_pPlayer->FireBullets( 1, vecSrc, vecAiming, VECTOR_CONE_10DEGREES, 8192, BULLET_PLAYER_762MOS, 0);
15
}


Что-нибудь в стиле:

C++ Source Code:
1
if (m_iClip == 1)
2
  SendWeaponAnim( MOSIN_FIRE_LAST);
3
else
4
  SendWeaponAnim( MOSIN_FIRE1 + RANDOM_LONG(0,2));


Куда его поставить?

__________________

Killing Floor: Horzine Outbreak

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

Старое сообщение 24-03-2016 15:10
- За что?
Vadiman
Клавиатурщик

Дата регистрации: Jun 2013
Проживает: Замок Димитреску
Сообщений: 81

Рейтинг



Цитата:
Ku2zoff писал:
Там первая анимация проигрывается в Reload, а вторая в WeaponIdle. Довольно интересный и полезный подход, и вот почему:

В принципе оно работает, только вот при простое или после каждого выстрела вторая анимация начинает о себе активно напоминать)
Тут где-то был тутор по добавлению saw и в нем предлагали такой вариант:
C++ Source Code:
1
if (DefaultReload( 100, SAW_RELOAD1, 2.0, 0 ))
2
{
3
  SendWeaponAnim( SAW_RELOAD2 );
4
  m_flSoundDelay = 1.5;
5
}

но проигрывается только 2-я

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

Старое сообщение 24-03-2016 16:05
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Цитата:
Chyvachok писал:
опфоре перезарядка разделена все же не из-за юзания, а из-за бодигрупной ленты

Тащем-то, да, именно из-за бодей придумано разделение. Но почему бы его не использовать для других целей?
ИМХО, отображение патронов в ленте бодями, очень грамотный подход. Хотите увидеть неграмотный - посмотрите модели пулемётов из Day of Defeat. Там стопицот анимаций заведено для отображения патронов.
Цитата:
Vadiman писал:
В принципе оно работает, только вот при простое или после каждого выстрела вторая анимация начинает о себе активно напоминать)

В опфоре же не напоминает?
Цитата:
Vadiman писал:
где-то был тутор по добавлению saw и в нем предлагали такой вариант:

C++ Source Code:
m_flSoundDelay

Можно завести какую угодно переменную в классе оружия. И какую угодно временную задержку от неё считать. Прблема в том, что WeaponIdle - не самая лучшая функция, чтобы рисовать анимации и менять боди. Так уж устроена халфа, там всё завязано на тчинках CBasePlayer'a. Лучше юзать для мгновенной смены бодей функцию CBasePlayerItem::PostThink, из которой вызывается CBasePlayerWeapon::WeaponIdle. Если менять боди в посттчинке кбэйсплейеритем, то они будут меняться сразу, а не когда оружие протчинкает в очередной раз.

Добавлено 25-03-2016 в 00:27:

Цитата:
Vadiman писал:
if (DefaultReload( 100, SAW_RELOAD1, 2.0, 0 ))
{
SendWeaponAnim( SAW_RELOAD2 );
m_flSoundDelay = 1.5;
}

Косяк 100%.
Надо так:
C++ Source Code:
1
if (DefaultReload( 100, SAW_RELOAD1, 2.0, 0 ))
2
{
3
  m_flSoundDelay = UTIL_WeaponTimeBase() + 1.5;
4
}

а затем в функции WeaponIdle
C++ Source Code:
1
if (m_flSoundDelay <= UTIL_WeaponTimeBase())
2
{
3
  SendWeaponAnim( SAW_RELOAD2 );
4
  m_flSoundDelay = 0.0;
5
}

Это просто навскидку. Но должно сработать.

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

Отредактировано Ku2zoff 24-03-2016 в 18:32

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

Старое сообщение 24-03-2016 18:27
- За что?
Vadiman
Клавиатурщик

Дата регистрации: Jun 2013
Проживает: Замок Димитреску
Сообщений: 81

Рейтинг



Цитата:
Ku2zoff писал:
ИМХО, отображение патронов в ленте бодями, очень грамотный подход. Хотите увидеть неграмотный - посмотрите модели пулемётов из Day of Defeat.

Пока здесь не описали эти бодигруппы, я их вообще не замечал. Сложна. Наверно мне все-таки пулемет не нужен
Цитата:
Ku2zoff писал:
Это просто навскидку. Но должно сработать.

Нет, не работает. Я тоже заводил переменную, все работало как надо, только вот при простое или выстреле вторая анимация перезарядки снова появлялась. Но на мысль ты меня навел, буду эксперементировать)
Цитата:
Ku2zoff писал:
Я не понимаю, почему вы эти коды не читаете внимательно, а копипастите бурду из сомнительных источников.

Ну это как в фильме "матрица": ты смотришь на код и видишь женщину в красном, а мы.....выражаясь предельно просто - фигу
Вот например недавно решил гонома к себе в проект добавить. Еле-еле откопал код Демиурга. Вроде все четко прописано где какие функции, звуки, ивенты, а работает на выходе все наоборот: при ударе руками звуки плевков, при плевках рычание какое-то, или непись вдруг сквозь игрока начинает пробегать

PS: А тебе удалось побороть тот баг с ногами от 1-го лица?

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

Старое сообщение 24-03-2016 22:15
- За что?
***FantoM***
Житель форума

Дата регистрации: Nov 2014
Проживает: Да
Сообщений: 392

Рейтинг



Цитата:
Vadiman писал:
Вот например недавно решил гонома к себе в проект добавить. ... при ударе руками звуки плевков, при плевках рычание какое-то, или непись вдруг сквозь игрока начинает пробегать


не совпадают евенты или анимация в модели с кодом мoнстра.

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

Старое сообщение 25-03-2016 09:24
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Цитата:
Vadiman писал:
А тебе удалось побороть тот баг с ногами от 1-го лица?

Нет. Если рисовать ноги в отдельном вьюпорте, к ним на некоторых картах в определённых местах применяется эффект типа fullbright. Не знаю, с чем это связано. Если рисовать во вьюпорте вьюмодели - то ноги могут летать где-то за пределами уровня.

Добавлено 25-03-2016 в 22:27:

Цитата:
Vadiman писал:
ты смотришь на код и видишь женщину в красном

Не целиком правда, а по частям: к примеру, только одну ногу или руку Мои познания в кодинге всё-таки не супер.

Добавлено 25-03-2016 в 22:29:

Цитата:
KorteZZ писал:
Что-нибудь в стиле:

C++ Source Code:
if (m_iClip == 1)
____SendWeaponAnim( MOSIN_FIRE_LAST);
else
____SendWeaponAnim( MOSIN_FIRE1 + RANDOM_LONG(0,2));



Куда его поставить?

Ну куда? В эвент на клиенте, вестимо. По аналогии с глоком.

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

Старое сообщение 25-03-2016 16:29
- За что?
KorteZZ
Lambda

Дата регистрации: Oct 2009
Проживает: Mongolia
Сообщений: 377
Возраст: 37

Рейтинг



Ну, надо сделать чтобы были условия:

1) Если с зумом и патронов больше 1, то играть MOSIN_IRON_SHOOT
2) Если с зумом и патрон единственный, то играть MOSIN_IRON_SHOOT_LAST

3) Если без змуа и патронов больше 1, то... MOSIN_SHOOT
4, Если без зума и патрон единственный, то... MOSIN_SHOOT_LAST

А просто по аналогии с глоком я сделал. У меня XashXT. Сейчас проигрывается стандартная анимация выстрела, вне зависимости от наличия зума. Он просто убирается.

__________________

Killing Floor: Horzine Outbreak

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

Старое сообщение 25-03-2016 16:49
- За что?
Shadow762
быдлокодер

Дата регистрации: Jul 2015
Проживает: Гиде-то
Сообщений: 72
Возраст: 27

Рейтинг



***FantoM*** А у тебя есть псевдоисходники опфора? Поделишься? Я на каком-то зарубежном сайте ухватил файлик волтигоры, но гонома там не видел.

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

Старое сообщение 25-03-2016 21:40
- За что?
***FantoM***
Житель форума

Дата регистрации: Nov 2014
Проживает: Да
Сообщений: 392

Рейтинг



Цитата:
Shadow762 писал:
А у тебя есть псевдоисходники опфора? Поделишься?

Я лично не встречай таких исходников
Цитата:
Shadow762 писал:
... но гонома там не видел.

Гонома лучше создать на основе зомби + добавить атаку из bullsquid и пожирания трупов
по моему ничего сложного

Отредактировано ***FantoM*** 26-03-2016 в 00:54

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

Старое сообщение 26-03-2016 00:48
- За что?
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 07:28. Новая тема    Ответить
Страницы (264): « Первая ... « 35 36 37 38 [39] 40 41 42 43 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Нубские вопросы от <censored> и других нубов
Чтобы не создавать сто тем
7 голосов
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

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

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

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

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