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

Дата регистрации: Mar 2007
Проживает: Барнаул
Сообщений: 8

Рейтинг



Half-Life handleanimevents

Я наверное чего то не до понимаю, но мой новоиспеченый монстр ни у кого не может отнять health. Ничего понять не могу.


Вот описание:

void CW :: HandleAnimEvent( MonsterEvent_t *pEvent )
{

switch( pEvent->event )
{

case WA:
{
// do stuff for this event.
CBaseEntity *pHurt = CheckTraceHullAttack(25, gSkillData.skwdmgbite, DMG_SLASH );

if ( pHurt ) //Это условие выполняется
{

if ( pHurt->pev->flags & (FL_MONSTER|FL_CLIENT) ) А это уже нет
{

pHurt->pev->punchangle.x = 5;
pHurt->pev->velocity = pHurt->pev->velocity + gpGlobals->v_forward * -100;
EMIT_SOUND(ENT(pev), CHAN_BODY, "barney/standback.wav", 1, ATTN_NORM);
}

}
if (RANDOM_LONG(0,1))
EMIT_SOUND(ENT(pev), CHAN_BODY, "zombie/claw_miss1.wav", 1, ATTN_NORM);
}
break;

default:
CBaseMonster::HandleAnimEvent( pEvent );
break;
}
}




В QC прописано:

$sequence "attack1" "attack1" fps 10 ACT_MELEE_ATTACK1 1 { event 1 8 }


Отредактировано Vetal 28-03-2007 в 00:19

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

Старое сообщение 28-03-2007 00:10
- За что?
Wargon
-

Дата регистрации: Feb 2007
Проживает: -
Сообщений: 143

Рейтинг



По-моему в случае с

code:
pHurt->pev->flags & (FL_MONSTER|FL_CLIENT)

нужно юзать v.flags.

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

Старое сообщение 28-03-2007 01:01
- За что?
 XaeroX
Crystice Softworks

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

Рейтинг



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


Vetal раз не выполняется второе условие, посмотри, какой класснейм у pHurt:
ALERT(at_console,"pHurt: %s\n", STRING(pHurt->pev->classname));
И первый параметр у CheckTraceHullAttack попробуй увеличить.

Добавлено сегодня в 08:05:

Wargon это зачем? pHurt это не edict, а CBaseEntity*.

__________________

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

Старое сообщение 28-03-2007 01:05
-
Vetal
Новичок

Дата регистрации: Mar 2007
Проживает: Барнаул
Сообщений: 8

Рейтинг



Не, меня второе условие вообще не волнует на самом деле. У меня проблема в том, что монстр не отнимает жизни у других монстров(у player соответственно тоже).

А на счет CheckTraceHullAttack уже все что можно было попеременял... результат 0.

А еще что больше удивляет, то что это обрезок из HandleAnimEvent зомби. Как там может что то не работать.

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

Старое сообщение 28-03-2007 01:52
- За что?
 XaeroX
Crystice Softworks

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

Рейтинг



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


Замени gSkillData.skwdmgbite на какое-нибудь число, например 20. Возможно, у тебя эта переменная не инициализирована правильно.

__________________

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

Старое сообщение 28-03-2007 02:44
-
Vetal
Новичок

Дата регистрации: Mar 2007
Проживает: Барнаул
Сообщений: 8

Рейтинг



Не поверишь. Менял. Даже DMG_SLASH на разные DMG менял. И flDist какие только не ставил. Нифига.

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

Старое сообщение 28-03-2007 02:49
- За что?
 XaeroX
Crystice Softworks

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

Рейтинг



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


Vetal либо у тебя не вызывается сам евент этот (поставь алерт в нем), либо дамаж = 0. Чудес не бывает.

__________________

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

Старое сообщение 28-03-2007 03:55
-
 Дядя Миша
racing for fish

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

Рейтинг



Vetal а что это за имя для кейса WA ???
эвенты не держат имена, только цифры.

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

Старое сообщение 28-03-2007 08:43
-
 XaeroX
Crystice Softworks

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

Рейтинг



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


Дядя Миша ну дефайн у него такой, видимо... что тут удивительного...

__________________

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

Старое сообщение 28-03-2007 09:15
-
Vetal
Новичок

Дата регистрации: Mar 2007
Проживает: Барнаул
Сообщений: 8

Рейтинг



там перед этим кодом стоит

#define WA 0x01 (просто еденица тоже стояла).

может не то что то? Хотя отсебячины никакой все по аналогам других монстров.

и сам эвент вызывается или как тогда звуки издаются?

А если gSkillData.skwdmgbite заменить на 20 например, то как дамаж будет нулевым.

Ладно. Надо весь код снести и по новой накатать. Может не накосячу.

Хотя нет. Еще помучаю.

И я хз как эти ALERTы вставлять.


Так?

C++ Source Code:
1
if ( pHurt->pev->flags & (FL_MONSTER|FL_CLIENT) ) // А это уже нет
2
{
3
#if _DEBUG
4
  ALERT(at_console,"pHurt: %s\n", STRING(pHurt->pev->classname));
5
#endif
6
 
7
  pHurt->pev->punchangle.x = 5;
8
  pHurt->pev->velocity = pHurt->pev->velocity + gpGlobals->v_forward * -100;
9
  EMIT_SOUND(ENT(pev), CHAN_BODY, "barney/standback.wav", 1, ATTN_NORM);
10
}

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

Старое сообщение 28-03-2007 12:35
- За что?
 XaeroX
Crystice Softworks

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

Рейтинг



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


Цитата:
Vetal писал:
И я хз как эти ALERTы вставлять.
Так?

Ага. Ставишь во все разветвления кода и смотришь, что выполняется, а что - нет.

__________________

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

Старое сообщение 28-03-2007 12:45
-
 Дядя Миша
racing for fish

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

Рейтинг



Vetal а ты UTIL_MakeVectors();
делал?
а то глобальные вектора юзаешь, а кто AngleVectors делать будет?

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

Старое сообщение 28-03-2007 12:49
-
 XaeroX
Crystice Softworks

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

Рейтинг



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


Дядя Миша, да, они делаются в CheckTraceHullAttack.

__________________

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

Старое сообщение 28-03-2007 13:00
-
 Дядя Миша
racing for fish

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

Рейтинг



XaeroX ну тогда это твоя вотчина.
Ты у нас специалист по ДНК.

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

Старое сообщение 28-03-2007 17:15
-
Vetal
Новичок

Дата регистрации: Mar 2007
Проживает: Барнаул
Сообщений: 8

Рейтинг



Ответ на этот вопрос:
В Spawn для монстра было написано
UTIL_SetSize( pev, Vector( -1, -1, 0 ), Vector( 1, 1, 1 ) );
Поменять ее хотябы на
UTIL_SetSize( pev, VEC_HUMAN_HULL_MIN, VEC_HUMAN_HULL_MAX );
и все заработало.

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

Старое сообщение 02-02-2008 14:49
- За что?
Тема: (Опционально)
Ваш ответ:



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


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

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

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

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

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

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