HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Нубские вопросы от <censored> и других нубов
Чтобы не создавать сто тем
7 голосов
Страницы (260): « Первая ... « 218 219 220 221 [222] 223 224 225 226 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
илья2
Житель форума

Группа: Неопытный
Дата регистрации: Mar 2020
Проживает: Волгоград
Сообщений: 381
Возраст: 22

Рейтинг



Цитата:
илья2 писал:
как превысить лимит прекеша моделей с 512 на 1000 ? и возможно ли такое ?

все сам справился кое какие баги пришлось пофиксить в своём моде путем исправления кода. Теперь точно проблем с прекешами быть не должно !

__________________
илья

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

Старое сообщение 21-04-2022 22:39
- За что?
илья2
Житель форума

Группа: Неопытный
Дата регистрации: Mar 2020
Проживает: Волгоград
Сообщений: 381
Возраст: 22

Рейтинг



New message started when msg *23* has not been sent yet: вот такая вот ошибка вылетает когда я пытаюсь добавить такой код:

// ExplodeTouch( pOther );

//initialize a vector that finds the center of the RPG models hitbox
Vector vecSpot2 = pev->origin + (pev->mins + pev->maxs) * 0.5;

killit++;

if ( killit == 1 )
{
// blast circle "The Infamous Disc of Death"
MESSAGE_BEGIN( MSG_PVS, SVC_TEMPENTITY, pev->origin );
WRITE_BYTE( TE_BEAMCYLINDER );
WRITE_COORD( pev->origin.x);//center of effect on x axis
WRITE_COORD( pev->origin.y);//center of effect on y axis
WRITE_COORD( pev->origin.z);//center of effect on z axis
WRITE_COORD( pev->origin.x);//axis of effect on x axis
WRITE_COORD( pev->origin.y);//axis of effect on y axis
WRITE_COORD( pev->origin.z + 300 ); // z axis and Radius of effect
WRITE_SHORT( PRECACHE_MODEL( "sprites/white.spr" ) );//Name of the sprite to use, as defined at begining of tut
WRITE_BYTE( 0 ); // startframe
WRITE_BYTE( 0 ); //framerate in 0.1's
WRITE_BYTE( 40 ); //Life in 0.1's
WRITE_BYTE( 302 ); //Line Width in .1 units
WRITE_BYTE( 0 ); //Noise Amplitude in 0.01's
WRITE_BYTE( 255 ); // Red Color Value
WRITE_BYTE( 255 ); // Green Color Value
WRITE_BYTE( 192 ); // Blue Color Value
WRITE_BYTE( 128 ); // brightness
WRITE_BYTE( 0 ); // speed
MESSAGE_END();


pev->effects |= EF_NODRAW;//stop showing the model!!
pev->velocity = g_vecZero;//set velocity to "0"

UTIL_ScreenShake( pev->origin, 500.0, 400.0, 6.0, 1800 );

entvars_t *pevOwner;

if ( pev->owner )
pevOwner = VARS( pev->owner );
else
pevOwner = NULL;

pev->owner = NULL; // can't traceline attack owner if this is set

/*Big Damage
The first parameter is the center of where the damage radiates from. The second is the inflictor
( or what caused it ). The third is the attacker (or what caused this ). The fourth parameter is the
damage to inflict, the fifth is the class to ignore ( or what entity not apply damage to ). The final
parameter is the damage type--(with multiple damage types delineated by a | ).*/
::RadiusDamage( pev->origin, pev, pevOwner, 400, 1000, CLASS_NONE, DMG_BLAST | DMG_BURN | DMG_ALWAYSGIB );

EMIT_SOUND(ENT(pev), CHAN_STATIC, "weapons/nuke1.wav", 1.0, 0.3);


MESSAGE_BEGIN( MSG_PVS, SVC_TEMPENTITY, pev->origin );
WRITE_BYTE( TE_SPRITE );//additive sprite plays though once
WRITE_COORD( pev->origin.x );//where to make the sprite appear on x axis
WRITE_COORD( pev->origin.y );//where to make the sprite appear on y axis
WRITE_COORD( pev->origin.z + 128 );//Creates sprite 128 units above model's center
WRITE_SHORT( PRECACHE_MODEL( "sprites/fexplo.spr" ) );//Name of the sprite to use, as defined at begining of tut
WRITE_BYTE( 400 ); // scale in .1 units --by comparison the player is 72 units tall
WRITE_BYTE( 255 ); // brightness (this is as bright as it gets)
MESSAGE_END();


UTIL_Remove( this );

}

killit = 0;

в функцию взрыва гранаты CGrenade::Explode( TraceResult *pTrace, int bitsDamageType )

вопрос как исправить эту големотью ?

__________________
илья

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

Старое сообщение 25-04-2022 21:37
- За что?
Napoleon321
Admiral

Дата регистрации: Jan 2017
Проживает: Sofia
Сообщений: 57
Возраст: 34

Рейтинг



I think you're using too many TEMPENTITY-es. Try reducing them.

btw: are you making a nuke launcher?

__________________
FlatLine Arena | Tutorials

If you don't like something, MOD it!

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

Старое сообщение 25-04-2022 22:46
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Перед этим идёт еще какая-то мессага, у которой ты забыл вызвать MESSAGE_END();

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 26-04-2022 05:51
-
илья2
Житель форума

Группа: Неопытный
Дата регистрации: Mar 2020
Проживает: Волгоград
Сообщений: 381
Возраст: 22

Рейтинг



ну все проблема легко решается сам справился во первых вместо
PRECACHE_MODEL( "sprites/white.spr" )
PRECACHE_MODEL( "sprites/fexplo.spr" )
надо поставить
m_iSpriteTexture
и
m_iExplode

еще надо поставить extern в grenade
extern short m_iSpriteTexture;
extern short m_iExplode;
и сам прекеш в weapons.cpp

DLL_GLOBAL short m_iSpriteTexture;
DLL_GLOBAL short m_iExplode;

m_iSpriteTexture = PRECACHE_MODEL("sprites/white.spr");
m_iExplode = PRECACHE_MODEL( "sprites/fexplo.spr" );

все все просто оказывается. Итог получилась ядерная граната

__________________
илья

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

Старое сообщение 26-04-2022 07:25
- За что?
Napoleon321
Admiral

Дата регистрации: Jan 2017
Проживает: Sofia
Сообщений: 57
Возраст: 34

Рейтинг



Цитата:
илья2 писал:

все все просто оказывается. Итог получилась ядерная граната [/B]


Good job. So I was right you're making a nuke. , I would suggest you to put bigger throw distance for that grenade... else the player will get nuked by their own grenade.

__________________
FlatLine Arena | Tutorials

If you don't like something, MOD it!

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

Старое сообщение 26-04-2022 08:14
- За что?
илья2
Житель форума

Группа: Неопытный
Дата регистрации: Mar 2020
Проживает: Волгоград
Сообщений: 381
Возраст: 22

Рейтинг



Цитата:
Napoleon321 писал:
Good job. So I was right you're making a nuke. , I would suggest you to put bigger throw distance for that grenade... else the player will get nuked by their own grenade.

this is a test version, I just needed to insert a CYLINDERBEAM into a gluon grenade for a gluon cannon

Добавлено 26-04-2022 в 12:43:

о дядя миша а это случайно не ты говорил:
https://csm.dev/threads/dobovljaem-...hockwave.29503/
нельзя кэшировать модель в том месте где передаешь мессагу на клиент.
И уж тем более нежелательно объявлять её индекс как глобальную переменную.

ну теперь понятно почему ошибка вылазит

__________________
илья

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

Старое сообщение 26-04-2022 09:43
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
илья2 писал:
о дядя миша а это случайно не ты говорил:

Аватар совпадает, ник совпадает, ну разумеется это кто угодно, но только не я.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 26-04-2022 12:10
-
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4423
Возраст: 34

Рейтинг



илья2 меня впечатляет твой прогресс, на самом деле.

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

Старое сообщение 26-04-2022 17:35
+ За что?
илья2
Житель форума

Группа: Неопытный
Дата регистрации: Mar 2020
Проживает: Волгоград
Сообщений: 381
Возраст: 22

Рейтинг



Цитата:
Crystallize писал:
илья2 меня впечатляет твой прогресс, на самом деле.

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

__________________
илья

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

Старое сообщение 26-04-2022 17:54
- За что?
hgrunt_2020
учусь методом тыка,проб и ошибок

Дата регистрации: Aug 2021
Проживает: Московское метро
Сообщений: 253
Возраст: 17

Рейтинг



Непонятно откуда взявшийся ACT 23

после того как я добавил SetActivity для барни у меня в консоли начала вылазить ошибка
monster_barney has no sequence for act:23
что с ней делать и как её починить?

Добавлено 02-05-2022 в 06:08:

Вот функция

C++ Source Code:
1
void CBarney :: SetActivity ( Activity NewActivity )
2
{
3
  int	iSequence = ACTIVITY_NOT_AVAILABLE;
4
  void *pmodel = GET_MODEL_PTR( ENT(pev) );
5
 
6
  switch ( NewActivity)
7
  {
8
  case ACT_RUN:
9
      if ( pev->health <= BARNEY_LIMP_HEALTH )
10
      {
11
        // limp!
12
        iSequence = LookupActivity ( ACT_RUN_HURT );
13
      }
14
    else
15
    {
16
      iSequence = LookupActivity ( NewActivity );
17
    }
18
    break;
19
  case ACT_WALK:
20
      if ( pev->health <= BARNEY_LIMP_HEALTH )
21
      {
22
        // limp!
23
        iSequence = LookupActivity ( ACT_WALK_HURT );
24
      }
25
    else
26
    {
27
      iSequence = LookupActivity ( NewActivity );
28
    }
29
    break;
30
  case ACT_IDLE:
31
      if ( m_MonsterState == MONSTERSTATE_COMBAT )
32
      {
33
        NewActivity = ACT_IDLE_ANGRY;
34
      }
35
    iSequence = LookupActivity ( NewActivity );
36
    break;
37
  default:
38
      iSequence = LookupActivity ( NewActivity );
39
    break;
40
  }
41
 
42
  m_Activity = NewActivity; // Go ahead and set this so it doesn't keep trying when the anim is not present
43
 
44
  // Set to the desired anim, or default anim if the desired is not present
45
  if ( iSequence > ACTIVITY_NOT_AVAILABLE )
46
  {
47
    if ( pev->sequence != iSequence || !m_fSequenceLoops )
48
    {
49
      pev->frame = 0;
50
    }
51
 
52
    pev->sequence		= iSequence;	// Set to the reset anim (if it's there)
53
    ResetSequenceInfo( );
54
    SetYawSpeed();
55
  }
56
  else
57
  {
58
    // Not available try to get default anim
59
    ALERT ( at_console, "%s has no sequence for act:%d\n", STRING(pev->classname), NewActivity );
60
    pev->sequence		= 0;	// Set to the reset anim (if it's there)
61
  }
62
}

__________________
И главное, Артём, помни: не ешь желтый снег!

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

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

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

Рейтинг



hgrunt_2020 это ACT_SIGNAL3, CTalkMonster используют эту активность во время разговора. Подразумевается кивок головой или какое-то другое движение, например жест рукой. Т.к. в моделях барника и учёного такой активности нету, сделана проверка. Видимо, планировалась целая куча анимаций во время разговора, но что-то пошло не так, и от этого отказались. Добавь проверку в CBarney::SetActivity, проблема исчезнет.

C++ Source Code:
if (NewActivity == ACT_SIGNAL3 && (LookupActivity(ACT_SIGNAL3) == ACTIVITY_NOT_AVAILABLE))
  NewActivity = ACT_IDLE;
Это вставь в самое начало функции.

Отредактировано Ku2zoff 02-05-2022 в 04:57

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

Старое сообщение 02-05-2022 04:55
- За что?
hgrunt_2020
учусь методом тыка,проб и ошибок

Дата регистрации: Aug 2021
Проживает: Московское метро
Сообщений: 253
Возраст: 17

Рейтинг



Ku2zoff О,спасибо. только все же остается вопрос, у меня ни в SetActivity ни в модели нет ACT_SIGNAL3, что же тогда источник ошибки

__________________
И главное, Артём, помни: не ешь желтый снег!

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

Старое сообщение 02-05-2022 05:14
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
hgrunt_2020 писал:
что с ней делать и как её починить?

Нету такой анимации в модели в Барни.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 02-05-2022 06:21
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Цитата:
hgrunt_2020 писал:
что же тогда источник ошибки

То, что такой активности нет в модели - и есть источник ошибки. В базовом классе CTalkMonster в SetActivity есть проверка на её отсутствие, а в классе CHGrunt, откуда ты скопировал барнику SetActivity, нет.
C++ Source Code:
1
void CTalkMonster :: SetActivity ( Activity newActivity )
2
{
3
  if (newActivity == ACT_IDLE && IsTalking() )
4
    newActivity = ACT_SIGNAL3;
5
 
6
  if ( newActivity == ACT_SIGNAL3 && (LookupActivity ( ACT_SIGNAL3 ) == ACTIVITY_NOT_AVAILABLE))
7
    newActivity = ACT_IDLE;
8
 
9
  CBaseMonster::SetActivity( newActivity );
10
}

Если внимательно посмотришь таски CTalkMonster, то найдёшь там много вызовов { TASK_SET_ACTIVITY, (float)ACT_SIGNAL3 }. Как раз во время разговоров. Что интересно, даже у учёных нет такой активности. Или вэлв не наделали анимаций, или что-то пошло не так, например жестикуляция при каждой фразе выглядела странно, и они воткнули в код заглушку.

Отредактировано Ku2zoff 02-05-2022 в 07:12

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

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



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


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

Временная зона GMT. Текущее время 13:44. Новая тема    Ответить
Страницы (260): « Первая ... « 218 219 220 221 [222] 223 224 225 226 » ... Последняя »   Предыдущая тема   Следующая тема
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