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

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

Рейтинг



как изменять свойства энтить ?

как изменять свойства энтить ?

я пробовал например изменять рендер колор энтитей таким методом

C++ Source Code:
1
TraceResult tr;
2
 
3
Vector anglesAim = m_pPlayer->pev->v_angle + m_pPlayer->pev->punchangle;
4
UTIL_MakeVectors( anglesAim );
5
Vector vecSrc = m_pPlayer->GetGunPosition( ) - gpGlobals->v_up * 2;
6
Vector vecDir = gpGlobals->v_forward;
7
 
8
UTIL_TraceLine(vecSrc, vecSrc + vecDir * 8192, dont_ignore_monsters, m_pPlayer->edict(), &tr);
9
 
10
tr.pHit->v.rendercolor.x = 25;
11
tr.pHit->v.rendercolor.y = 25;
12
tr.pHit->v.rendercolor.y = 93;


но ничего не вышло, судя по всему таким методом можно только получать нужные переменные, но не изменять их

так же соотвествено интересует как перемещать энтити, а так же как их удалять

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

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

Старое сообщение 03-01-2009 15:30
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



fire64 погляди в Спирите энтитю env_customize. Она меняет свойства энтить, правда не все и не всегда правильно, но с RenderFields точно нету глюков.

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

Старое сообщение 03-01-2009 15:40
- За что?
fire64
Житель форума

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

Рейтинг



Цитата:
Ku2zoff писал:
fire64 погляди в Спирите энтитю env_customize. Она меняет свойства энтить, правда не все и не всегда правильно, но с RenderFields точно нету глюков.


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

C++ Source Code:
CBaseEntity *pTarget = UTIL_FindEntityByTargetname(NULL, STRING(tr.pHit->v.targetname), pActivator);


но это будет работать только если у энтити задано targetname
а что делать если нет ?

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

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

Старое сообщение 03-01-2009 15:49
- За что?
 XaeroX
Crystice Softworks

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

Рейтинг



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


Цитата:
fire64 писал:
но ничего не вышло, судя по всему таким методом можно только получать нужные переменные, но не изменять их

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

__________________

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

Старое сообщение 03-01-2009 16:09
-
Scrama
СССР с интернетом и олигархами!

Дата регистрации: May 2006
Проживает: Прииртышье
Сообщений: 3737

Рейтинг



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


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

C++ Source Code:
pevTarget->rendercolor = pev->rendercolor;


Добавлено 03-01-2009 в 22:14:

Цитата:
Ku2zoff писал:
Она меняет свойства энтить, правда не все и не всегда правильно, но с RenderFields точно нету глюков.
Если я не ошибаюсь, их она вообще не трогает.

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran

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

Старое сообщение 03-01-2009 16:14
- За что?
fire64
Житель форума

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

Рейтинг



XaeroX, ок
сорри, сделал целых 2 ошибки
1 вместо z менял 2 раза y и менял рендерколор у модели

впрочем код из моего поста всеравно не работает

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

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

Старое сообщение 03-01-2009 16:46
- За что?
 XaeroX
Crystice Softworks

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

Рейтинг



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


А как ты проверяешь, что он работает?
Если на моделях и брашах изменение рендерколора не видно, а спрайты трейслайном не вылавливаются?

__________________

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

Старое сообщение 03-01-2009 17:03
-
fire64
Житель форума

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

Рейтинг



Цитата:
XaeroX писал:
А как ты проверяешь, что он работает?
Если на моделях и брашах изменение рендерколора не видно, а спрайты трейслайном не вылавливаются?


в таком случае вопрос, как менять цвет моделей у NPC и брашевых энтитей ?

сейчас проверил health на npc, оказывается все работает

также меня интересуют 2 других вопроса из первого поста

как переместить брашевую или точечную энтитю из точки A в точку B
при этом меня интересует 2 варианта
мгновенное перемещение и движение из точки A в точку B

а так же как удалить энтити обоих видов, может быть есть какая то функция типа entremove

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

Отредактировано fire64 03-01-2009 в 17:37

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

Старое сообщение 03-01-2009 17:24
- За что?
 XaeroX
Crystice Softworks

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

Рейтинг



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


Цитата:
fire64 писал:
мгновенное перемещение и движение из точки A в точку B

1. изменяй pev->origin, и потом не забудь вызвать UTIL_SetOrigin.
2. это уже сложно. зависит от конкретного случая.
Цитата:
fire64 писал:
а так же как удалить энтити обоих видов, может быть есть какая то функция типа entremove

UTIL_Remove.
Цитата:
fire64 писал:
в таком случае вопрос, как менять цвет моделей у NPC и брашевых энтитей ?

Никак %)

__________________

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

Старое сообщение 03-01-2009 18:03
-
fire64
Житель форума

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

Рейтинг



XaeroX, спасибо за помощь
а у меня тут прикольный глюк случился
а точнее целая куча глюков

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

C++ Source Code:
1
TraceResult tr;
2
 
3
Vector anglesAim = m_pPlayer->pev->v_angle + m_pPlayer->pev->punchangle;
4
UTIL_MakeVectors( anglesAim );
5
Vector vecSrc = m_pPlayer->GetGunPosition( ) - gpGlobals->v_up * 2;
6
Vector vecDir = gpGlobals->v_forward;
7
 
8
UTIL_TraceLine(vecSrc, vecSrc + vecDir * 8192, dont_ignore_monsters, m_pPlayer->edict(), &tr);
9
 
10
if (tr.flFraction != 1.0)
11
{
12
  tr.pHit->v.origin = vecSrc;
13
  UTIL_SetOrigin ( this, vecSrc );
14
}


запустил мультиплеер с кооп режимом

выстрелил в NPC, в результате он появился над моей головой и заблокировал мое движение.
В результате мне пришлось себя убить

и после респавна появились глюки

вот список

1) тот npc в которого я стрелял теперь весит в воздухе

2) некоторые npc стали металлические на звук и не уязвимые

3) некоторые npc не могли нанести мне вред

4) некоторые npc стали стрелять в меня сквозь стеклянную стену и кроме того что они видели меня сквозь стену они еще и простреливали ее насквозь

5) самое странное, после реконнекта к серверу исчезло небо, вместо него белая текстура

вот скрин, правда на нем кроме неба мало что видно

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

Отредактировано fire64 03-01-2009 в 19:00

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

Старое сообщение 03-01-2009 18:47
- За что?
 XaeroX
Crystice Softworks

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

Рейтинг



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


Ну блин... Ты не видишь что ли, что оригин сам себе выставил во второй функции?
Надо так:

tr.pHit->v.origin = vecSrc;
UTIL_SetOrigin ( CBaseEntity::Instance(tr.pHit), vecSrc );

__________________

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

Старое сообщение 03-01-2009 19:12
-
fire64
Житель форума

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

Рейтинг



спасибо

насчет неба, как выяснилось это очередной глюк спирита

кстати насчет перемещения

может попробовать многократный вызов



C++ Source Code:
tr.pHit->v.origin.x = tr.pHit->v.origin.x - 1;
tr.pHit->v.origin.y = tr.pHit->v.origin.y - 1;
UTIL_SetOrigin ( CBaseEntity::Instance(tr.pHit), tr.pHit->v.origin );


думаю это должно выглядеть как плавное перемещение

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

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

Старое сообщение 03-01-2009 19:21
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



>>Ну блин... Ты не видишь что ли, что оригин сам себе выставил во второй функции?
По-моему не сам себе, а энтите оружия. Это ж код PrimaryAttack. Если б он себе выставил, это было бы так, если я не ошибаюсь:

C++ Source Code:
UTIL_SetOrigin(m_pPlayer, vecSrc);

но это не важно.

>>насчет неба, как выяснилось это очередной глюк спирита
fire64 колись, шо за спирит такой? Белое небо у меня было только когда я умудрился удалить папку gfx/env

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

Старое сообщение 03-01-2009 19:27
- За что?
fire64
Житель форума

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

Рейтинг



благодаря XaeroX баг под пунктом 1 исправлен
глюк под номером 5 оказался спиритовским ( Half-life: Revision Build 1.0 )
небо исчезает если играя сервером ввести в косноль команду reconnect

при использовании перемещающего оружия на каком либо npc
появляются глюки 2, 3 и 4 со всеми npc на карте
так же через какое-то время перестает работать оружие ( не перемещает )

tr.pHit->v.health начинает возвращать 0 вместо настоящего здоровья
думаю что и поломка перемещения и 0 здоровья связано с тем что что-то препятствует лучу трассирования

такое ощущение как будто вокруг игрока образуется некая невидимая металлическая сфера отрезающая его от остального мира

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

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

Старое сообщение 03-01-2009 19:47
- За что?
Scrama
СССР с интернетом и олигархами!

Дата регистрации: May 2006
Проживает: Прииртышье
Сообщений: 3737

Рейтинг



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


Цитата:
XaeroX писал:
Если на моделях и брашах изменение рендерколора не видно, а спрайты трейслайном не вылавливаются?

Специально перепроверять не стал, но кажись вот в этом режиме к брашам можно применить цвет - равномерная заливка rendercolor'ом.
code:
@BaseClass base(RenderFxChoices) = RenderFields [ rendermode(choices) : "Render Mode" : 0 = [ 0: "Normal" 1: "Color" 2: "Texture" 3: "Glow" 4: "Solid" 5: "Additive" ] renderamt(integer) : "FX Amount (1 - 255)" : 255 rendercolor(color255) : "FX Color (R G B)" : "0 0 0" ]


Добавлено 04-01-2009 в 21:49:

Перепроверил:

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran

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

Старое сообщение 04-01-2009 15:49
- За что?
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 07:21. Новая тема    Ответить
Страницы (2): [1] 2 »   Предыдущая тема   Следующая тема
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