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

Дата регистрации: Jun 2013
Проживает: г. Новосибирск
Сообщений: 85
Возраст: 29

Рейтинг



Half-Life Смертоносный TargetName

Снова всех приветствую! Буду короток:
Увы, но в халфе нет ни единого монстра, который умирает просто, при вызове по имени. Даже всем известные тентакли дохнут благодаря каким-то релеям (у этих реле стоит off). Я уже не говорю про Оспри, который удаляется с карты, не найдя паф корнера (или если скорость меньше 500).
для большей подробности были сделаны скрины:


Прошу помощи! Буду очень признателен!

__________________
Пруха длится всего 5 минут.

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

Старое сообщение 23-07-2013 16:35
- За что?
 XaeroX
Crystice Softworks

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

Рейтинг



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


Half
И чем же тебе помочь?

__________________

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

Старое сообщение 23-07-2013 16:38
-
Half
Частый гость

Дата регистрации: Jun 2013
Проживает: г. Новосибирск
Сообщений: 85
Возраст: 29

Рейтинг



Как прописать ему смерть? Скриптами (маппингом) любой может, а кодом пока не выходит...

__________________
Пруха длится всего 5 минут.

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

Старое сообщение 23-07-2013 16:40
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
Half писал:
Как прописать ему смерть?

Кому - ему?

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 23-07-2013 17:18
-
Вилс
Житель форума

Группа: Неопытный
Дата регистрации: May 2013
Проживает: (void)
Сообщений: 143
Возраст: 28

Рейтинг



Как я понял он хочет что бы при триггере убивал монстра.

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

Старое сообщение 23-07-2013 18:01
- За что?
XF-Alien
Хи-хи! ^_^

Дата регистрации: Dec 2009
Проживает: Пермь
Сообщений: 684
Возраст: 22

Рейтинг



Через scripted_sequence вроде как просто проигрываешь нужную анимацию смерти и все.

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

Старое сообщение 23-07-2013 18:38
- За что?
Government-Man
Призрак

Дата регистрации: Apr 2006
Проживает: N/A
Сообщений: 3507

Рейтинг



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


trigger_hurt

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

Старое сообщение 24-07-2013 03:38
- За что?
Half
Частый гость

Дата регистрации: Jun 2013
Проживает: г. Новосибирск
Сообщений: 85
Возраст: 29

Рейтинг



Цитата:
Дядя Миша писал:
Кому - ему?

Сейчас выложу файл - узнаешь. + На скринах же видно, или я не так сфоткал?
Цитата:
Вилс писал:
он хочет что бы при триггере убивал монстра

Не только! Хочется, чтобы кнопка или триггер не могли заново запустить "Смерть"
Цитата:
XF-Alien писал:
Через scripted_sequence

Не охота Рипентом уровень ломать
Цитата:
Government-Man писал:
trigger_hurt

Такого монстра даже Hurt-ом не грохнешь. Почему? Ответ в аттаче.

Мне хочется упростить процесс, не пихать всяких скриптов, амбиентов... просто по коду!

Типа:
C++ Source Code:
1
void CTestMonster::CommandUse( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value )
2
{
3
  pev->takedamage = DAMAGE_NO;
4
  SetThink( DieThink );
5
  m_iGoalAnim = TEST_ANIM_Death;
6
  break;
7
}
8
 
9
void CTestMonster :: DieThink( void )
10
{
11
  pev->nextthink = gpGlobals-> time + 0.1;
12
 
13
  EMIT_SOUND_DYN( ENT(pev), CHAN_WEAPON, "test/death.wav", 1, ATTN_NORM, 0, 100 );
14
  if (m_fSequenceFinished)
15
  {
16
    if (pev->sequence == m_iGoalAnim)
17
    {
18
      switch( m_iGoalAnim )
19
      {
20
      case TEST_ANIM_Idle:
21
        case TEST_ANIM_Idle2:
22
            break;
23
        case TEST_ANIM_Death:
24
            UTIL_Remove( this );
25
          return;
26
        }
27
    }
28
  }

Вложение: test_monster.rar (1.4 кб)
Этот файл был скачан 215 раз.

__________________
Пруха длится всего 5 минут.

Отредактировано Half 24-07-2013 в 08:29

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

Старое сообщение 24-07-2013 08:21
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
Half писал:
Сейчас выложу файл - узнаешь

И что я должен понять из тестового файла?
test monster какой-то. Причём к нему даже кода никакого не написано.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 24-07-2013 13:15
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Цитата:
Half писал:
Не охота Рипентом уровень ломать

Ещё один Бумка Шестицентовый Жора... Сделай свой уровень, не уродуй чужой.

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

Старое сообщение 24-07-2013 13:45
- За что?
Half
Частый гость

Дата регистрации: Jun 2013
Проживает: г. Новосибирск
Сообщений: 85
Возраст: 29

Рейтинг



Цитата:
Дядя Миша писал:
test monster какой-то

Монстр специально переименован, чтобы подогреть ваш интерес.
Цитата:
Дядя Миша писал:
Причём к нему даже кода никакого не написано

Врать не буду, ибо брал всё от женерика. В нём кода не много и трудно запутаться.
Я очень надеюсь, что кто-нибудь добавил этот файл к себе в проект, скомпилил и пострелял бы в него на тестовом уровне.
+ В файле я специально закомментировал те места, с которыми я не могу разобраться. (к примеру:KeyValue)
Цитата:
Ku2zoff писал:
Сделай свой уровень, не уродуй чужой

Мне и свой уровень жалко. А в оригинальном он (монстр) лучше выглядит. Так как и уровень и монстр созданы одними и теми же людьми. Я всего лишь пытаюсь воссоздать этого npc.

Ну я реально не знаю, помогите!

__________________
Пруха длится всего 5 минут.

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

Старое сообщение 24-07-2013 15:27
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
Half писал:
Монстр специально переименован, чтобы подогреть ваш интерес.

Этот монстр не нужен никому кроме тебя. Себе интерес подогревай.

Цитата:
Half писал:
Я всего лишь пытаюсь воссоздать этого npc.

Ну как же ты пытаешься, если ни строчки кода не написал?
Это ты даже еще не начал пытаться

Бери, открывай хентакля, смотри как там устроено.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 24-07-2013 15:40
-
Half
Частый гость

Дата регистрации: Jun 2013
Проживает: г. Новосибирск
Сообщений: 85
Возраст: 29

Рейтинг



Цитата:
Дядя Миша писал:
открывай хентакля, смотри как там устроено

Не 1 раз открывал, там прописано:
Если тентакла активирует рилей с "Trigger Strate: Off", то тентакл умрёт. Если "On" - подымется вверх. Если "Toggle" - ничего не произойдёт.
Я ведь не через Рилэи буду npc убивать, а обычными кнопками (триггерами).

Добавлено 25-07-2013 в 00:11:

Ну вот, значит написал я:
C++ Source Code:
1
void CTestMonster::CommandUse( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value )
2
{
3
  // ALERT( at_console, "%s triggered %d\n", STRING( pev->targetname ), useType );
4
  switch( useType )
5
  {
6
  case USE_TOGGLE:
7
      pev->takedamage = DAMAGE_NO;
8
    SetThink( DieThink );
9
    m_iGoalAnim = PLANT_ANIM_Death;
10
    break;
11
  }
12
 
13
}
14
 
15
void CTestMonster :: DieThink( void )
16
{
17
  pev->nextthink = gpGlobals-> time + 0.1;
18
 
19
  if (m_fSequenceFinished)
20
  {
21
    if (pev->sequence == m_iGoalAnim)
22
    {
23
      switch( m_iGoalAnim )
24
      {
25
      case PLANT_ANIM_Idle:
26
        case PLANT_ANIM_Idle2:
27
            m_iGoalAnim = PLANT_ANIM_Flinch1 + RANDOM_LONG( 0, 2 );
28
          break;
29
        case PLANT_ANIM_Death:
30
            UTIL_Remove( this );
31
          return;
32
        }
33
    }
34
 
35
    // ALERT( at_console, "%d : %d => ", pev->sequence, m_iGoalAnim );
36
    pev->sequence = FindTransition( pev->sequence, m_iGoalAnim, &m_iDir );
37
    // ALERT( at_console, "%d\n", pev->sequence );
38
 
39
    ResetSequenceInfo( );
40
 
41
    switch( pev->sequence )
42
    {
43
    case PLANT_ANIM_Idle:
44
      case PLANT_ANIM_Idle2:
45
        case PLANT_ANIM_Flinch1:
46
          case PLANT_ANIM_Flinch2:
47
            case PLANT_ANIM_Death:
48
                pev->framerate = RANDOM_FLOAT( m_iDir - 0.2, m_iDir + 0.2 );
49
              break;
50
            default:
51
                pev->framerate = 1.0;
52
              break;
53
            }
54
          EMIT_SOUND_DYN( ENT(pev), CHAN_WEAPON, "ambience/flies.wav", 1, ATTN_NORM, 0, 100 );
55
        }
56
    }

Вроде всё верно, но всё равно не работает. Почему?

__________________
Пруха длится всего 5 минут.

Отредактировано Half 24-07-2013 в 16:08

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

Старое сообщение 24-07-2013 17:11
- За что?
 Дядя Миша
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: Записан
Сообщение: 123314

Старое сообщение 24-07-2013 18:22
-
Luxury
Новичок

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

Рейтинг



А не проще сделать точечную энтити, которая убивает монстра по имени? А эту энтити вызывать кнопкой.

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

Старое сообщение 24-07-2013 19:15
- За что?
Тема: (Опционально)
Ваш ответ:



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


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

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

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

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

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

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