HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Нубские вопросы от <censored> и других нубов
Чтобы не создавать сто тем
7 голосов
Страницы (260): « Первая ... « 155 156 157 158 [159] 160 161 162 163 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
JPEG
Житель форума

Дата регистрации: Sep 2013
Проживает: рф
Сообщений: 659

Рейтинг



Цитата:
Crystallize писал:
Надо её где-то забэкапить на форуме потому что не то что прогу а даже инфу о ней трудно загуглить даже если знаешь что искать.

даже автор нигде не указан)

__________________
МОЙ НОВЫЙ ПАБЛИК ПО ХЛ))

перехожу на другой двиг

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

Старое сообщение 11-06-2020 02:28
- За что?
Cybermax
Житель форума

Дата регистрации: May 2006
Проживает: &#12644;
Сообщений: 5126

Рейтинг



Цитата:
Crystallize писал:
Надо её где-то забэкапить на форуме потому что не то что прогу а даже инфу о ней трудно загуглить даже если знаешь что искать.


Самое верное это загрузить на moddb.com, gambanana.com gamer-lab.com потому что аттачи имею свойство исчезать впрочем как и ссылки на облака.

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

Старое сообщение 11-06-2020 13:37
- За что?
Vadiman
Клавиатурщик

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

Рейтинг



Пытаюсь добавить новый мощный тип патронов

C++ Source Code:
case BULLET_PLAYER_050:
  pEntity->TraceAttack(pevAttacker, gSkillData.plrDmg050, vecDir, &tr, DMG_BULLETU | ((iDamage = 30) ? DMG_ALWAYSGIB : DMG_NEVERGIB) );



Можно ли сделать разрыв цели на куски в зависимости от его уровня здоровья? Или хотя бы рандомно?


PS:
C++ Source Code:
// Gargantua is immune to any damage but this
#define GARG_DAMAGE					(DMG_ENERGYBEAM|DMG_CRUSH|DMG_MORTAR|DMG_BLAST|DMG_BULLETU)

Добавил этот тип пули воздействию на Гаргантюа, однако урон по нему не проходит, просто ревет от боли.

Отредактировано Vadiman 14-06-2020 в 12:42

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

Старое сообщение 14-06-2020 12:39
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Цитата:
Vadiman писал:
Можно ли сделать разрыв цели на куски в зависимости от его уровня здоровья?

Можно. Оно так и есть, на самом деле. Но если хочешь указать какой-то конкретный уровень, то копай TakeDamage. Ставь условие if (bitsDamageType & DMG_BULLETU), а в нём проверку на уровень здоровья. Если здоровье меньше нужного уровня, вызывай GibMonster().
Вроде бы ты всё правильно сделал. Попробуй вместо DMG_BULLETU использовать уже имеющийся бит, например DMG_ENERGYBEAM. И сравни результат.
C++ Source Code:
pEntity->TraceAttack(pevAttacker, gSkillData.plrDmg050, vecDir, &tr, DMG_ENERYGEAM | ((iDamage >= 30) ? DMG_ALWAYSGIB : DMG_NEVERGIB) );


Добавлено 14-06-2020 в 22:42:

P.S. эти новые пули от гарга рикошетят?

Отредактировано Ku2zoff 14-06-2020 в 15:36

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

Старое сообщение 14-06-2020 15:42
- За что?
Vadiman
Клавиатурщик

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

Рейтинг



Цитата:
Ku2zoff писал:
Можно. Оно так и есть, на самом деле. Но если хочешь указать какой-то конкретный уровень, то копай TakeDamage. Ставь условие if (bitsDamageType & DMG_BULLETU), а в нём проверку на уровень здоровья. Если здоровье меньше нужного уровня, вызывай GibMonster().
Вроде бы ты всё правильно сделал. Попробуй вместо DMG_BULLETU использовать уже имеющийся бит, например DMG_ENERGYBEAM. И сравни результат.
C++ Source Code:
pEntity->TraceAttack(pevAttacker, gSkillData.plrDmg050, vecDir, &tr, DMG_ENERYGEAM | ((iDamage >= 30) ? DMG_ALWAYSGIB : DMG_NEVERGIB) );


Добавлено 14-06-2020 в 22:42:

P.S. эти новые пули от гарга рикошетят?


Спасибо, попробую)

Да, рикошетят и заставляют просто реветь. Даже если заменить на DMG_ENERGYBEAM или DMG_BLAST

Добавлено 15-06-2020 в 01:30:

Вообщем с первым вопросом все оказалось проще
C++ Source Code:
pEntity->TraceAttack(pevAttacker, gSkillData.plrDmg050, vecDir, &tr, DMG_BULLETU | ((pev->health < 20) ? DMG_ALWAYSGIB : DMG_NEVERGIB) );

А вот с гаргом пока неясно.

Еще такой вопросец: В player.cpp в TakeDamage решил сделать выкрики игрока при получении урона
C++ Source Code:
1
bool Painsnd = bitsDamage & (DMG_CLUB | DMG_FALL | DMG_CRUSH | DMG_BULLET | DMG_SLASH | DMG_ACID | DMG_SHOCK) ? true : false;
2
 
3
if( Painsnd ) //кричим
4
{
5
  switch (RANDOM_LONG(0,2))
6
  {
7
  case 0:
8
      EMIT_SOUND(ENT(pev), CHAN_VOICE, "player/pain1.wav", 1, ATTN_NORM);
9
    break;
10
  case 1:
11
      EMIT_SOUND(ENT(pev), CHAN_VOICE, "player/pain2.wav", 1, ATTN_NORM);
12
    break;
13
  case 2:
14
      EMIT_SOUND(ENT(pev), CHAN_VOICE, "player/pain3.wav", 1, ATTN_NORM);
15
    break;
16
  }
17
}

Как сделать интервалы между срабатываниями звуков, чтобы при получении какой-нибудь автоматной очереди они не проигрывались слишком часто?

Отредактировано Vadiman 14-06-2020 в 21:54

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

Старое сообщение 14-06-2020 22:30
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



C++ Source Code:
if (gpGlobals->time < m_flPainTime)
  return;

В начало функции CBasePlayer::Pain.
C++ Source Code:
m_flPainTime = gpGlobals->time + 1.0;

В её конец. m_flPainTime только задекларировать в классе игрока, в сейвдату добавлять не надо. Pain вызывать из CBasePlayer::TakeDamage по условию bool Painsnd, вместо продублированного кода.

Добавлено 15-06-2020 в 06:09:

Цитата:
Vadiman писал:
Вообщем с первым вопросом все оказалось проще

Неправильно. Надо так:
C++ Source Code:
pEntity->TraceAttack(pevAttacker, gSkillData.plrDmg050, vecDir, &tr, DMG_BULLETU | ((pEntity->pev->health < 20) ? DMG_ALWAYSGIB : DMG_NEVERGIB) );
А то делаешь проверку по здоровью стреляющего, а не того, в кого стреляют.

Добавлено 15-06-2020 в 06:17:

Цитата:
Vadiman писал:
Да, рикошетят и заставляют просто реветь. Даже если заменить на DMG_ENERGYBEAM или DMG_BLAST

Странно. У гарга большой иммунитет ко всем видам урона, кроме указанных в GARG_DAMAGE. Может быть дело именно в самой функции FireBullets? Не должно ничего рикошетить, если твой тип урона в списке GARG_DAMAGE.

Отредактировано Ku2zoff 14-06-2020 в 23:11

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

Старое сообщение 14-06-2020 23:17
- За что?
Vadiman
Клавиатурщик

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

Рейтинг



Цитата:
Ku2zoff писал:
C++ Source Code:
if (gpGlobals->time < m_flPainTime)
  return;

В начало функции CBasePlayer::Pain.
C++ Source Code:
m_flPainTime = gpGlobals->time + 1.0;

В её конец. m_flPainTime только задекларировать в классе игрока, в сейвдату добавлять не надо. Pain вызывать из CBasePlayer::TakeDamage по условию bool Painsnd, вместо продублированного кода.

Добавлено 15-06-2020 в 06:09:


Неправильно. Надо так:
C++ Source Code:
pEntity->TraceAttack(pevAttacker, gSkillData.plrDmg050, vecDir, &tr, DMG_BULLETU | ((pEntity->pev->health < 20) ? DMG_ALWAYSGIB : DMG_NEVERGIB) );
А то делаешь проверку по здоровью стреляющего, а не того, в кого стреляют.


Спасибо, теперь работает как надо
Цитата:

Добавлено 15-06-2020 в 06:17:


Странно. У гарга большой иммунитет ко всем видам урона, кроме указанных в GARG_DAMAGE. Может быть дело именно в самой функции FireBullets? Не должно ничего рикошетить, если твой тип урона в списке GARG_DAMAGE.

Вот то-то и оно. Скорее всего в самой функции надо ковырять.
Кстати по аналогичной схеме, например:
C++ Source Code:
//Броня не защищает от газа и яда
if (pev->armorvalue && !(bitsDamageType & (DMG_FALL | DMG_DROWN | DMG_POISON | DMG_NERVEGAS | DMG_PARALYZE | DMG_CLUB | DMG_SLASH)) )

когда я получаю DMG_POISON у меня все равно отнимается именно броня.

PS как считаешь, снайперская винтовка Barret со своим 0.50 калибром пробила бы шкурку Гарга? Может я зря парюсь просто и не стоит эту пушку так возвышать по мощности. Вон, терминаторам в кино бошки она сносила

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

Старое сообщение 15-06-2020 14:26
- За что?
JPEG
Житель форума

Дата регистрации: Sep 2013
Проживает: рф
Сообщений: 659

Рейтинг



хм, а возможно ли в коде гс сделать, чтобы ambient_generic звучал, как бы не располагаясь в 3д-пространстве (с постоянной громкостью каналов). Как, допустим, при воспроизведении его через play в консоли, не заходя в игру. Хочу сделать в кооп-моде динамический саундтрек, с постепенным наложением и убиранием инструментов за счёт касания триггеров

__________________
МОЙ НОВЫЙ ПАБЛИК ПО ХЛ))

перехожу на другой двиг

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

Старое сообщение 18-06-2020 16:01
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32202
Нанёс повреждений: 392 ед.

Рейтинг



Ну вот только если всем команду play рассылать по сети, только так.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 18-06-2020 16:11
-
JPEG
Житель форума

Дата регистрации: Sep 2013
Проживает: рф
Сообщений: 659

Рейтинг



Цитата:
Дядя Миша писал:
Ну вот только если всем команду play рассылать по сети, только так.

так при вызове play во время уже созданной игры спавнится звук с реагированием на пространство (кароч обычный амб-дженерик). Ну ладно, видимо никак. Можно, конечно, дублировать звуки по-разным концам карты, но это всё равно так себе эффект

__________________
МОЙ НОВЫЙ ПАБЛИК ПО ХЛ))

перехожу на другой двиг

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

Старое сообщение 18-06-2020 20:22
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Yo Den прицепи фмод, инициализируй его на несколько каналов, и крути каждый инструмент в отдельном канале. DSP эффектов не будет + формат можно не только лишь wav.

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

Старое сообщение 19-06-2020 05:55
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32202
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
Yo Den писал:
спавнится звук с реагированием на пространство

как ты это определил? play команда именно для локального звука. Она всегда привязана координатами к конкретному игроку.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 19-06-2020 08:23
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Цитата:
Vadiman писал:
PS как считаешь, снайперская винтовка Barret со своим 0.50 калибром пробила бы шкурку Гарга? Может я зря парюсь просто и не стоит эту пушку так возвышать по мощности. Вон, терминаторам в кино бошки она сносила

Проведи аналогию с чужими-преторианцами из AvP2. Мелкокалиберное их броню не берёт, а вот миниган и снайперка прошибают. В принципе, неплохой геймплейный ход.

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

Старое сообщение 19-06-2020 09:24
- За что?
JPEG
Житель форума

Дата регистрации: Sep 2013
Проживает: рф
Сообщений: 659

Рейтинг



Цитата:
Дядя Миша писал:
как ты это определил? play команда именно для локального звука. Она всегда привязана координатами к конкретному игроку.

возможно в won/xash так, но в стим-версии это не так, достаточно воспроизвести звук и отбежать на пару метров, покрутить головой

__________________
МОЙ НОВЫЙ ПАБЛИК ПО ХЛ))

перехожу на другой двиг

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

Старое сообщение 19-06-2020 14:04
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32202
Нанёс повреждений: 392 ед.

Рейтинг



Понял. Он спавнится в точке нахождения игрока, но не следует за ним.
Тогда ой.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 19-06-2020 14:58
-
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 03:38. Новая тема    Ответить
Страницы (260): « Первая ... « 155 156 157 158 [159] 160 161 162 163 » ... Последняя »   Предыдущая тема   Следующая тема
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