HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Как прикрутить к точечной энити отображаемый парамер?
Заморочился)))
  Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
Scream
Житель форума

Дата регистрации: Sep 2007
Проживает: Москва
Сообщений: 192
Возраст: 38

Рейтинг



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


Как прикрутить к точечной энити отображаемый парамер?

Сидел лазал по коду и возникла мысль - как привинтить к энтити параметр, который вводился бы в хаммере и отображался бы в игре текстом, например при активации ентити?

Пробовал по аналогии с отображением названий поднятых оружий, но не выходит, оружие как я понял откликается в CBasePlayer, а например триггеры в CBaseTrigger и CBaseEntity, а там другая структура...
Помогие плз, подскажите правильное направление, хочется самому понять)))


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

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

Старое сообщение 28-12-2007 17:34
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Scream используй UTIL_HudMessageAll, её можно запускать из любого места.
Пример использования смотри все в той же game_text.

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

Старое сообщение 28-12-2007 17:51
-
ToMMuK
SmallHabit'at

Дата регистрации: Jun 2006
Проживает: Рига
Сообщений: 634
Возраст: 33

Рейтинг



попутный вопрос... как зделать так чтобы он брал текс из файла например в энтите я напишу #Text1 а он из файла возмёт строчку #Text1???

__________________
Сайт латвийского мода

Игроки в халф лайф делятся на две больше группы - те, кто не доехал на поезде и те, кто прошел несколько раз.

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

Старое сообщение 28-12-2007 18:08
- За что?
Scream
Житель форума

Дата регистрации: Sep 2007
Проживает: Москва
Сообщений: 192
Возраст: 38

Рейтинг



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


C++ Source Code:
1
class CItemSecurity : public CItem
2
{
3
 
4
  inline	void	MessageSet( const char *pMessage ) { pev->message = ALLOC_STRING(pMessage); }
5
  inline	const char *MessageGet( void )	{ return STRING(pev->message); } // как я понял, задаётся чтение заданного сообщения
6
 
7
private:
8
 
9
  hudtextparms_t	m_textParms; // и параметры отображения
10
  void Spawn( void )
11
  {
12
    Precache( );
13
    SET_MODEL(ENT(pev), "models/w_security.mdl");
14
    CItem::Spawn( );
15
  }
16
  void Precache( void )
17
  {
18
    PRECACHE_MODEL ("models/w_security.mdl");
19
  }
20
  BOOL MyTouch( CBasePlayer *pPlayer )
21
  {
22
    pPlayer->m_rgItems[ITEM_SECURITY] += 1;
23
    return TRUE;
24
    UTIL_HudMessageAll( m_textParms, MessageGet() );
25
  }
26
};


То есть я обозначил параметры MessageGet и m_textParms, а как их теперь конкретизировать?)) Всмысле задаь прямо здесь же в классе?

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

Старое сообщение 28-12-2007 18:26
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



code:
BOOL MyTouch( CBasePlayer *pPlayer ) { pPlayer->m_rgItems[ITEM_SECURITY] += 1; return TRUE; UTIL_HudMessageAll( m_textParms, MessageGet() ); }

вот это работать не будет. надо так
code:
BOOL MyTouch( CBasePlayer *pPlayer ) { pPlayer->m_rgItems[ITEM_SECURITY] += 1; m_textParms.channel = 1; m_textParms.x = 320; m_textParms.y = 240; m_textParms.effect = 0; m_textParms.r1 = 255; m_textParms.g1 = 255; m_textParms.b1 = 255; m_textParms.a1 = 180; m_textParms.fadeinTime = 0.1; m_textParms.fadeoutTime = 0.1; m_textParms.holdTime = 5; m_textParms.fxTime = 0.1; UTIL_HudMessageAll( m_textParms, MessageGet() ); return TRUE; }

надеюсь принцип понятен

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

Старое сообщение 28-12-2007 20:59
-
Scream
Житель форума

Дата регистрации: Sep 2007
Проживает: Москва
Сообщений: 192
Возраст: 38

Рейтинг



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


Дядя Миша
Спасиб, а я никак не мог допереть, как задать textParms здесь, без задавания их в ентите в хаммере.

УРА! Теперь когда берёшь карточку автоматом отображается текст и нет возни с мульименеджером и геймтексом!)))

Отредактировано Scream 28-12-2007 в 21:54

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

Старое сообщение 28-12-2007 21:47
- За что?
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 23:37. Новая тема    Ответить
  Предыдущая тема   Следующая тема
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