HLFX.Ru Forum
Показать все 11 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Newton physic (https://hlfx.ru/forum/showthread.php?threadid=3041)


Отправлено Jimmy C. 07-10-2011 в 14:52:

Newton physic

Здраствуйте! вот решил побаловаться ньютоном который дм выкладывал. Но там только bsp модели. Тут товарищ HAWK еще помог. короче я хочу сделать какой нибуть item_ на ньютоне. Взял делать аптечку

C++ Source Code:
1
void CHealthKit :: Spawn( void )
2
{
3
  Precache( );
4
 
5
  pev->movetype = MOVETYPE_NONE;
6
  pev->solid = SOLID_SLIDEBOX;
7
  pev->takedamage = DAMAGE_YES;
8
 
9
  UTIL_SetOrigin( this, this->pev->origin );
10
 
11
  SET_MODEL(ENT(pev), "models/w_medkit.mdl");
12
 
13
  studiohdr_t *pstudiohdr;
14
  pstudiohdr = (studiohdr_t*)GET_MODEL_PTR( ENT(pev) );
15
 
16
  if (pstudiohdr == NULL)
17
  {
18
    ALERT(at_console,"Unable to fetch model pointer!\n");
19
    return;
20
  }
21
  mstudioseqdesc_t    *pseqdesc;
22
  pseqdesc = (mstudioseqdesc_t *)((byte *)pstudiohdr + pstudiohdr->seqindex);
23
  UTIL_SetSize(pev,pseqdesc[ pev->sequence ].bbmin,pseqdesc[ pev->sequence ].bbmax);
24
 
25
  // motor!
26
  m_pBody = WorldPhysic.CollisionFromEntity( ENT(pev) );
27
 
28
  virtual int IsRigidBody( void )
29
  {
30
    return TRUE;
31
  }
32
 
33
  CItem::Spawn();
34
}

В игре ноль реакции. Скажите в чем дело.

__________________
Все что делает маппер, программист делает в движке, поскольку ему лень. ©Дядя Миша


Отправлено XaeroX 07-10-2011 в 14:54:

У тебя ЭТО скомпилилось?

__________________

xaerox on Vivino


Отправлено Jimmy C. 07-10-2011 в 15:03:

Сорри вместо CollisionFromEntity был CreateBodyFromBrush

__________________
Все что делает маппер, программист делает в движке, поскольку ему лень. ©Дядя Миша


Отправлено FiEctro 07-10-2011 в 15:26:

>> Скажите в чем дело.

Отсутствие кода просчета столкновений для студиомоделей?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено XaeroX 07-10-2011 в 16:25:

(epeFk@
Я не просто так спрашиваю, скомпилилось или нет. Я вижу там вложенную функцию, которые в С++ запрещены.

__________________

xaerox on Vivino


Отправлено Jimmy C. 07-10-2011 в 17:11:

XaeroX вобщем так:
1) вместо CollisionFromEntity был CreateBodyFromBrush
2) не компилилось с

C++ Source Code:
1
virtual int IsRigidBody( void )
2
{
3
  return TRUE;
4
}

говорит "only member functions and bases can be virtual"
закоментил и скомпилилось

__________________
Все что делает маппер, программист делает в движке, поскольку ему лень. ©Дядя Миша


Отправлено XaeroX 07-10-2011 в 17:13:

Цитата:
(epeFk@ писал:
закоментил и скомпилилось

Закомментил и доволен! А то, что этот код может быть важным для работы физики - ты не подумал?

__________________

xaerox on Vivino


Отправлено marikcool 07-10-2011 в 17:37:

покажи хоть результаты, интересно же


Отправлено fire64 07-10-2011 в 19:26:

Вынеси

virtual int IsRigidBody( void )
{
return TRUE;
}

из функции, это метод CbaseEntity, показывающий серверу, использовать ли физику для энтити или нет.

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено Jimmy C. 08-10-2011 в 03:37:

Цитата:
marikcool писал:
покажи хоть результаты, интересно же

Вот доделаю студио модели, покажу

Добавлено 08-10-2011 в 07:37:

Цитата:
fire64 писал:
Вынеси из функции, это метод CbaseEntity

Эмм, поподробнее?

__________________
Все что делает маппер, программист делает в движке, поскольку ему лень. ©Дядя Миша


Отправлено Дядя Миша 08-10-2011 в 05:26:

Цитата:
fire64 писал:
из функции, это метод CbaseEntity, показывающий серверу, использовать ли физику для энтити или нет.

этот метод влияет только на правильный сейв-рестор. Больше ни на что.

__________________
My Projects: download page

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

Цитата:

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


Временная зона GMT. Текущее время 12:44.
Показать все 11 сообщений этой темы на одной странице

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