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

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

Рейтинг



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


S34Qu4K3
Running speed is not the same as yaw speed. It is extracted directly from monster's animation (LX flag). Therefore you need to create a different animation where monster has less linear movement.

__________________

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

Старое сообщение 08-01-2011 17:53
-
S34Qu4K3
Unnecesary User

Дата регистрации: Jan 2011
Проживает: Spain
Сообщений: 47
Возраст: 32

Рейтинг



:O, thank you XaeroX for help me ^^

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

Старое сообщение 08-01-2011 17:59
- За что?
 XaeroX
Crystice Softworks

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

Рейтинг



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


Цитата:
S34Qu4K3 писал:
And I can´t hit with the rpg in the head

You seem not to read everything we write. This is VERY bad.
Цитата:
Дядя Миша писал:
Look for SetObjectCollisionBox.

Did you look for it? Did you change it? It must look like something
C++ Source Code:
void SetObjectCollisionBox( void )
{
  pev->absmin = pev->origin + Vector(-400, -400, 0);
  pev->absmax = pev->origin + Vector(400, 400, 1800);
}

__________________

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

Старое сообщение 08-01-2011 18:01
-
S34Qu4K3
Unnecesary User

Дата регистрации: Jan 2011
Проживает: Spain
Сообщений: 47
Возраст: 32

Рейтинг



Цитата:
XaeroX писал:
You seem not to read everything we write. This is VERY bad.


I readed everything `

Цитата:
XaeroX писал:
Did you look for it? Did you change it? It must look like something
C++ Source Code:
void SetObjectCollisionBox( void )
{
____pev->absmin = pev->origin + Vector(-400, -400, 0);
____pev->absmax = pev->origin + Vector(400, 400, 1800);
}


Yeah, my SetObjectCollisionBox is exact to this

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

Старое сообщение 08-01-2011 18:24
- За что?
 XaeroX
Crystice Softworks

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

Рейтинг



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


S34Qu4K3
Then RPG must hit monster's head. I've just checked it.

__________________

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

Старое сообщение 08-01-2011 18:45
-
S34Qu4K3
Unnecesary User

Дата регистрации: Jan 2011
Проживает: Spain
Сообщений: 47
Возраст: 32

Рейтинг



mmm, the hand grenades, AR Grenades and the RPG trasspas the monster head, but hits in the stomach, leggs, etc. Oh, and the monster don´t trigger the tripmines, i don´t know why

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

Soeey, i have to mae double post beacause I can´t edit my latest post

I want to make that when the monster walk, a little screenshake ocurss

C++ Source Code:
UTIL_ScreenShake( pev->origin, 4.0, 3.0, 1.0, 750 );


But i don´t know where i should place it, i´ve done this

C++ Source Code:
1
void CDragon :: SetYawSpeed ( void )
2
{
3
  int ys;
4
 
5
  switch ( m_Activity )
6
  {
7
  case ACT_IDLE:
8
    {
9
      ys = 60;
10
      UTIL_ScreenShake( pev->origin, 4.0, 3.0, 1.0, 750 );
11
      break;
12
    }
13
 
14
  case ACT_TURN_LEFT:
15
    {
16
      UTIL_ScreenShake( pev->origin, 4.0, 3.0, 1.0, 750 );
17
    }
18
 
19
  case ACT_TURN_RIGHT:
20
    {
21
      ys = 180;
22
      UTIL_ScreenShake( pev->origin, 4.0, 3.0, 1.0, 750 );
23
      break;
24
    }
25
 
26
  case ACT_WALK:
27
    {
28
      UTIL_ScreenShake( pev->origin, 4.0, 3.0, 1.0, 750 );
29
    }
30
 
31
  case ACT_RUN:
32
    {
33
      ys = 60;
34
      UTIL_ScreenShake( pev->origin, 4.0, 3.0, 1.0, 750 );
35
      break;
36
    }
37
 
38
  default:
39
    {
40
      ys = 60;
41
      UTIL_ScreenShake( pev->origin, 4.0, 3.0, 1.0, 750 );
42
      break;
43
    }
44
  }
45
 
46
  pev->yaw_speed = ys;
47
  UTIL_ScreenShake( pev->origin, 4.0, 3.0, 1.0, 750 );
48
}


But only work when turn right/left

Thanks in advance

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

Старое сообщение 09-01-2011 02:01
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



S34Qu4K3 call UTIL_Screen shake from HandleAnimEvent. You need to add events for your monster's animations in the *.qc file. Watch alien grunt's source code and model (ladder step sounds when agrunt moves).

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

Старое сообщение 09-01-2011 04:37
- За что?
S34Qu4K3
Unnecesary User

Дата регистрации: Jan 2011
Проживает: Spain
Сообщений: 47
Возраст: 32

Рейтинг



Thanks Ku2zoff

Now, i´m having problem, i´ve added this to the stomp attack from gargantua

C++ Source Code:
1
if (UTIL_FindEntityInSphere( pStomp, pPlayer->pev->origin, 14096 ) != NULL)
2
{
3
  pPlayer->TakeDamage( pev, pevOwner, 100, DMG_SONIC );
4
 
5
  UTIL_ScreenShake( pev->origin, 4.0, 3.0, 1.0, 150 );
6
}



I wan to check if the player is in the radius and if the player is in radius, do damage and make a little shake, but when the monster attack and i´m in the radius, hl.exe crashes

Full function:

C++ Source Code:
1
void CDragonStomp::Think( void )
2
{
3
  TraceResult tr;
4
 
5
  pev->nextthink = gpGlobals->time + 0.1;
6
 
7
 
8
 
9
  //Required for UTIL_FindEntityInSphere
10
  CDragonStomp *pStomp = GetClassPtr( (CDragonStomp *)NULL ); //Origin
11
 
12
  //Player var
13
  CBasePlayer *pPlayer;
14
  pPlayer = (CBasePlayer *)GET_PRIVATE(pev->owner);
15
 
16
  //Owner
17
  entvars_t *pevOwner = pev;
18
 
19
  //For origin use vecStart
20
 
21
 
22
  // Do damage for this frame
23
  Vector vecStart = pev->origin;
24
  vecStart.z += 30;
25
  Vector vecEnd = vecStart + (pev->movedir * pev->speed * gpGlobals->frametime);
26
 
27
  UTIL_TraceHull( vecStart, vecEnd, dont_ignore_monsters, head_hull, ENT(pev), &tr );
28
 
29
  if ( tr.pHit && tr.pHit != pev->owner )
30
  {
31
    CBaseEntity *pEntity = CBaseEntity::Instance( tr.pHit );
32
    entvars_t *pevOwner = pev;
33
    if ( pev->owner )
34
      pevOwner = VARS(pev->owner);
35
 
36
    if ( pEntity )
37
      pEntity->TakeDamage( pev, pevOwner, 0, DMG_SONIC );
38
  }
39
 
40
  // Accelerate the effect
41
  pev->speed = pev->speed + (gpGlobals->frametime) * pev->framerate;
42
  pev->framerate = pev->framerate + (gpGlobals->frametime) * 1500;
43
 
44
  // Move and spawn trails
45
  while ( gpGlobals->time - pev->dmgtime > STOMP_INTERVAL )
46
  {
47
    pev->origin = pev->origin + pev->movedir * pev->speed * STOMP_INTERVAL;
48
    for ( int i = 0; i < 2; i++ )
49
    {
50
      CSprite *pSprite = CSprite::SpriteCreate( DRAGON_STOMP_SPRITE_NAME, pev->origin, TRUE );
51
      if ( pSprite )
52
      {
53
        UTIL_TraceLine( pev->origin, pev->origin - Vector(0,0,500), ignore_monsters, edict(), &tr );
54
        pSprite->pev->origin = tr.vecEndPos;
55
        pSprite->pev->velocity = Vector(RANDOM_FLOAT(-200,200),RANDOM_FLOAT(-200,200),175);
56
        // pSprite->AnimateAndDie( RANDOM_FLOAT( 8.0, 12.0 ) );
57
        pSprite->pev->nextthink = gpGlobals->time + 0.3;
58
        pSprite->SetThink( SUB_Remove );
59
        pSprite->SetTransparency( kRenderTransAdd, 255, 255, 255, 255, kRenderFxFadeFast );
60
 
61
        UTIL_ScreenShake( pev->origin, 4.0, 3.0, 1.0, 150 );
62
      }
63
    }
64
    pev->dmgtime += STOMP_INTERVAL;
65
    // Scale has the "life" of this effect
66
    pev->scale -= STOMP_INTERVAL * pev->speed;
67
    if ( pev->scale <= 0 )
68
    {
69
      // Life has run out
70
      UTIL_Remove(this);
71
      STOP_SOUND( edict(), CHAN_BODY, DRAGON_STOMP_BUZZ_SOUND );
72
    }
73
 
74
  }
75
 
76
 
77
  if (UTIL_FindEntityInSphere( pStomp, pPlayer->pev->origin, 14096 ) != NULL)
78
  {
79
    pPlayer->TakeDamage( pev, pevOwner, 100, DMG_SONIC );  // I think that this line is bad
80
 
81
    UTIL_ScreenShake( pev->origin, 4.0, 3.0, 1.0, 150 );
82
 
83
  }
84
 
85
}

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

Старое сообщение 10-01-2011 23:32
- За что?
S34Qu4K3
Unnecesary User

Дата регистрации: Jan 2011
Проживает: Spain
Сообщений: 47
Возраст: 32

Рейтинг



I´ve solved the crash error , but know, I don´t recieve any damage

C++ Source Code:
1
CBasePlayer *pPlayer;
2
pPlayer = (CBasePlayer *)GET_PRIVATE(pev->owner);
3
 
4
 
5
if (UTIL_FindEntityInSphere( pStomp, pev->origin, 14096 ) != NULL)
6
{
7
 
8
 
9
  ALERT( at_console, "pPlayer = %d\n pev = %d\n", pPlayer, pev );
10
 
11
  if ( pPlayer )
12
    pPlayer->TakeDamage( pev, pevOwner, 100, DMG_SONIC );
13
 
14
 
15
  UTIL_ScreenShake( pev->origin, 4.0, 3.0, 1.0, 150 );
16
}


I think that:

C++ Source Code:
1
CBasePlayer *pPlayer;
2
pPlayer = (CBasePlayer *)GET_PRIVATE(pev->owner);
3
 


Is bad beacause pPlayer is 0

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

Старое сообщение 11-01-2011 22:32
- За что?
Тема: (Опционально)
Ваш ответ:



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


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

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

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

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

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

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