HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Индекс шминдекс...
  Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
ILZM
LAW

Дата регистрации: Oct 2011
Проживает: Mega City One
Сообщений: 301

Рейтинг



Индекс шминдекс...

Доброй ночи всем, надеюсь на вашу помощь).

Не получается вызвать функцию CalcSomething у NewEntity

C++ Source Code:
1
class CBaseNewEntity : public CBaseAnimating
2
{
3
  DECLARE_CLASS ( CBaseNewEntity ); // ???
4
public:
5
  void Spawn ( void );
6
  void CalcSomething ( void );
7
};
8
 
9
LINK_ENTITY_TO_CLASS ( NewEntity, CBaseNewEntity );
10
 
11
void CBaseNewEntity :: Spawn ( )
12
{
13
  SET_MODEL ( ENT ( pev ), NULL );
14
 
15
  pev->modelindex =	0;
16
 
17
  ResetSequenceInfo ( );
18
}
19
 
20
void CBaseNewEntity :: CalcSomething ( void )
21
{
22
  StudioFrameAdvance ( );
23
 
24
  ALERT ( at_console, "Calc" );
25
}


В функции

C++ Source Code:
1
BOOL CMP5 :: Deploy ( )
2
{
3
  ...
4
 
5
  CBaseNewEntity *pNewEntity = GetClassPtr ( ( CBaseNewEntity*) pev );
6
 
7
  pNewEntity->CalcSomething ( );
8
 
9
  return TRUE;
10
}


Где NewEntity создается в

C++ Source Code:
1
void CBasePlayer :: CreateNewEntity ( void )
2
{
3
  CBaseEntity *pEntity = CBaseEntity :: Create ( "NewEntity", Vector ( 0, 0, 0 ), Vector ( 0, 0, 0 ), edict ( ) );
4
 
5
  pev->euser4 = ENT ( pEntity );
6
 
7
  ALERT ( at_console, "NewEntity\n" );
8
}


Т. е. создется NewEntity, где его эдикт пихается в euser4 игрока. А у MP5 вызывается CalcSomething ( ). Проблема в том, что
C++ Source Code:
CBaseNewEntity *pNewEntity = GetClassPtr ( ( CBaseNewEntity*) pev );


- не получается получить pNewEntity.

Хотя мб получается получить?

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

Старое сообщение 01-02-2014 19:31
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Ну а зачем ты ей pev суёшь? Суй NULL и автоматом зареспавнится новая.
Но спаун ей вручную вызовешь.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 01-02-2014 19:38
-
ILZM
LAW

Дата регистрации: Oct 2011
Проживает: Mega City One
Сообщений: 301

Рейтинг



Мда уж, 200 просмотров, а никто не помог...

Добавлено 01-02-2014 в 23:40:

Дядя Миша , это же придется каждый раз заново спаунить?

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

Старое сообщение 01-02-2014 19:40
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32210
Нанёс повреждений: 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: Записан
Сообщение: 132203

Старое сообщение 01-02-2014 19:53
-
 XaeroX
Crystice Softworks

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

Рейтинг



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


C++ Source Code:
1
BOOL CMP5 :: Deploy ( )
2
{
3
  ...
4
 
5
  CBaseNewEntity *pNewEntity = (CBaseNewEntity*)CBaseEntity::Instance( m_pPlayer->pev->euser4 );
6
 
7
  pNewEntity->CalcSomething ( );
8
 
9
  return TRUE;
10
}

__________________

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

Старое сообщение 01-02-2014 20:05
-
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 06:12. Новая тема    Ответить
  Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Индекс шминдекс...
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

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

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

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

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