HLFX.Ru Forum Страницы (239): « Первая ... « 229 230 231 232 [233] 234 235 236 237 » ... Последняя »
Показать все 3580 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Нубские вопросы от <censored> и других нубов (https://hlfx.ru/forum/showthread.php?threadid=4535)


Отправлено Aynekko 04-08-2022 в 13:10:

Одного тогда понять не могу, как так получается, если комната закрытая, ская там нет, потолок не null текстурой и не энтитя. Проходит насквозь получается. А где эта проверка находится, не подскажешь?

__________________
Мой мод на Xash


Отправлено Дядя Миша 04-08-2022 в 13:25:

Отключи ксаш-модовский рендерер для теста. То что я описывал - справедливо для ванильного. Но в ксаш-моде наверное как-то иначе, уже не вспомню.

__________________
My Projects: download page

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

Цитата:

>> так а раньше почему падало ?
> Потому что говно ваш С++, вот почему


Отправлено Aynekko 04-08-2022 в 13:34:

Да, то же самое. Пол нормально освещен, а стоя на нем, игрок и монстры черные.

__________________
Мой мод на Xash


Отправлено hgrunt_2020 05-08-2022 в 12:15:

Странности с сейвом

Создал я свою энтитю, лутбокс с патронами, но при сейве вылазит ошибка:"Can't find address: 10064860". По адресу 10064860 у меня 0001:00063860 [email protected][email protected] 10064860 f i h_cycler.obj(лутбокс у меня находится в h_cycler)
И, что ещё не приятнее это то что не сейвится состояние использования

__________________


https://www.moddb.com/mods/metro-2031-last-chance


Отправлено Дядя Миша 05-08-2022 в 15:11:

Забыл прописать EXPORT своим тчинкам или тачам.

__________________
My Projects: download page

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

Цитата:

>> так а раньше почему падало ?
> Потому что говно ваш С++, вот почему


Отправлено Ku2zoff 05-08-2022 в 17:43:

Цитата:
hgrunt_2020 писал:
не сейвится состояние использования

Либо писать статус использования в кастомную переменную, а переменную в сейвдату, либо писать статус в один из энтварсов. У логических точечных энтить с парой-тройкой параметров можно хранить всё в pev->health, armorvalue, speed, fov и проч., если они не заюзаны в коде этой энтити.

Добавлено 06-08-2022 в 00:43:

Цитата:
Aynekko писал:
Пол нормально освещен, а стоя на нем, игрок и монстры черные.

Пол мировой браш, или энтитя? Обычно такое происходит, если игрок стоит на энтите.


Отправлено Luciferchik 05-08-2022 в 18:57:

для чего предназначена функция DECLARE_CLASS и какую суть несет в себе?

__________________
Sometimes you have to get knocked down lower than you've even been to stand up taller than you everwere.
You so sad. No, i just die everyday...
I can't do anything around here without everybody getting up in my shit...
The aim of life is self-development.


Отправлено Aynekko 05-08-2022 в 20:02:

Цитата:
Ku2zoff писал:
Обычно такое происходит, если игрок стоит на энтите.

В том весь и прикол, что браш самый обычный, а рядом пол продолжается в func_wall и на нем как раз все нормально (ну потому что r_lighting_extended в ксаше )

__________________
Мой мод на Xash


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

Цитата:
Luciferchik писал:
для чего предназначена функция DECLARE_CLASS и какую суть несет в себе?

Это не функция, это макрос. Костыль для сериализации, которую С++ изкаропки не может.

__________________
My Projects: download page

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

Цитата:

>> так а раньше почему падало ?
> Потому что говно ваш С++, вот почему


Отправлено hgrunt_2020 06-08-2022 в 00:23:

Дядя Миша у лутбокса нет ни тчинка ни тача

Добавлено 06-08-2022 в 03:23:

Дядя Миша

C++ Source Code:
1
class CLootbox : public CBaseMonster
2
{
3
  void Spawn(void);
4
  void Use(CBaseEntity* pActivator, CBaseEntity* pCaller, USE_TYPE useType, float value);
5
  virtual int	ObjectCaps(void);
6
  void	KeyValue(KeyValueData* pkvd);
7
  virtual BOOL IsAlive(void) { return FALSE; }
8
  int	Classify(void) { return	CLASS_CYCLER; }
9
public:
10
 
11
  virtual int		Save(CSave& save);
12
  virtual int		Restore(CRestore& restore);
13
  static	TYPEDESCRIPTION m_SaveData[];
14
  int m_item;
15
  int m_count;
16
};

__________________


https://www.moddb.com/mods/metro-2031-last-chance


Отправлено hgrunt_2020 06-08-2022 в 06:43:

Дядя Миша я понял в чем дело
в спавне я удалил строчку SetUse(Use); и все стало нормально

__________________


https://www.moddb.com/mods/metro-2031-last-chance


Отправлено Ku2zoff 06-08-2022 в 07:26:

Цитата:
hgrunt_2020 писал:
SetUse(Use)

Так делать нельзя. Как и SetTouch(Touch) или SetThink(Think), или SetBlocked(Blocked), поскольку Use, Touch, Think и Blocked - виртуальные функции CBaseEntity, из них вызываются каллбэки:
C++ Source Code:
1
virtual void Think( void ) { if (m_pfnThink) (this->*m_pfnThink)(); };
2
virtual void Touch( CBaseEntity *pOther ) { if (m_pfnTouch) (this->*m_pfnTouch)( pOther ); };
3
virtual void Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value )
4
{
5
  if (m_pfnUse)
6
    (this->*m_pfnUse)( pActivator, pCaller, useType, value );
7
}
8
virtual void Blocked( CBaseEntity *pOther ) { if (m_pfnBlocked) (this->*m_pfnBlocked)( pOther ); };

Функции каллбэкам присваиваются здесь:
C++ Source Code:
#define SetThink( a ) m_pfnThink = static_cast <void (CBaseEntity::*)(void)> (a)
#define SetTouch( a ) m_pfnTouch = static_cast <void (CBaseEntity::*)(CBaseEntity *)> (a)
#define SetUse( a ) m_pfnUse = static_cast <void (CBaseEntity::*)( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value )> (a)
#define SetBlocked( a ) m_pfnBlocked = static_cast <void (CBaseEntity::*)(CBaseEntity *)> (a)

Сделано это с той целью, чтобы тчинков, тачей, юзов и блокедов у энтити было много, и юзер мог их переключать.

Добавлено 06-08-2022 в 14:26:

SetUse и всё остальное имеет смысл, если твоя функция юза называется нестандартно: CLootbox::LootboxUse. Заметь, блокедов с нестандартными названиями нету, потому что свойства платформ, дверей и прочего почти не меняются, и ответ на блокировку у них всегда один - дамаг для заблокировавшей энтити. А тчинки, тачи и юзы меняются у многих энтить в процессе их работы.


Отправлено hgrunt_2020 06-08-2022 в 07:52:

Ku2zoff я не знал, потому и вышла такая ошибка

Добавлено 06-08-2022 в 10:52:

Ku2zoff теперь всё прекрасно работает
https://youtu.be/QzwoF5j5LYg

__________________


https://www.moddb.com/mods/metro-2031-last-chance


Отправлено Aynekko 06-08-2022 в 19:11:

Цитата:
Aynekko писал:
А почему модель может быть черной? Лайт_енв на карте нет, и я точно стою на освещенном браше. Буквально стоя на соседнем браше игрок освещен нормально. Значит освещение берется не с пола, а вообще непонятно откуда...

Цитата:
Aynekko писал:
браш самый обычный, а рядом пол продолжается в func_wall и на нем как раз все нормально

Я разобрался в чем была проблема. Скейл текстуры. Он был равен 0.25. И стоя на нем, модели были черные. Сделал 0.5, все нормально.
Я никогда не перестану удивляться ксашу/голде.

__________________
Мой мод на Xash


Отправлено hgrunt_2020 06-08-2022 в 22:37:

Aynekko лол, проблема была всего лишь в скейле!? Удивительно.

__________________


https://www.moddb.com/mods/metro-2031-last-chance


Временная зона GMT. Текущее время 23:29. Страницы (239): « Первая ... « 229 230 231 232 [233] 234 235 236 237 » ... Последняя »
Показать все 3580 сообщений этой темы на одной странице

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