А модель врага спрятать с помощью SwitchToEditorModel();
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
SLAwww, Расскажи поподробнее как работает CCastRay и как им пользоваться
Просто прочитав прошлые комменты у меня появилась идея - расширить ИИ врагов добавив им функцию вести огонь из укрытия - из-за любого препятствия мешающего пройти пулям.
Добавлено (28.03.2012, 11:24) --------------------------------------------- И как указать на саму ентитю на врага:
petr_kustov, ну неужели сложно нажать Find in files и посмотреть CCastRay? Там ведь куча мест, где он используется. Что касается последнего вопроса, если эта строчка находится в коде энтити, которая оставляет за собой труп, то указывать на себя не обязательно, то есть, "игрок->" можно заменить на "this->", либо вообще убрать.
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
E:/Mymod/Sources/EntitiesMP/EnemyBase.es(2784) : error C2664: 'Copy' : cannot convert parameter 1 from 'class CModelObject *' to 'class CModelObject &' A reference that is not to 'const' cannot be bound to a non-lvalue
penCorpse->GetModelObject()->Copy(*GetModelObject()); Забыл указатель разименовать. И не забудь инициализировать труп после создания. penCorpse->Initialize();
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
Попробуй Initialize поставить перед копированием модели.
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
1) Меняй флаги после инициализации, а не перед. 2) ((CModelHolder2&)(*m_penCorpse)).m_fHealth = (здоровье) ; 3) SwitchToEditorModel(); Если нужно не прятать саму модель, а только убрать физику, то penCorpse->SetCollisionFlags(ECF_IMMATERIAL);
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
А как запретить некоторые уровни сложности? Или это в СДК сделать нельзя?
До сих пор в топе загрузок и просмотров... Неужели я тоже оставил свой след на этом сайте? А ведь я здесь уже целых двенадцать лет... Удалил свои старые карты из профиля, на кой они мне. Маппер из меня никудышный.
MasterST, Попробуй посмотреть как устроена сложность "Ментал".
Добавлено (30.03.2012, 12:44) --------------------------------------------- SLAwww, Почему у трупа не появляется колизия, он как призрак, а у того у которого SwitchToEditorModel(); у него остается физика, и он как невидимое препятсятвие
А откуда ты знаешь, чья это коллизия? У тебя ведь труп остаётся как раз на том месте, где находился враг или игрок.
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
SetCollisionFlags(ECF_IMMATERIAL) и SetPhysicalFlags(EPF_MODEL_IMMATERIAL) должны делать модель полностью проходимой. Вероятно, ты выставляешь их раньше, чем нужно. Насколько я помню, в конце процедуры Death выставляется ECF_CORPSE, из-за этого, может, и ощущается коллизия.
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
penCorpse->Initialize() стоит перед этой строчкой?
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
Некоторые флаги подходят только для наследников CMovableModelEntity. Попробуй EPF_TRANSLATEDBYGRAVITY.
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
И большое спасибо что ты мне помогаешь, я ценю твою помощь, кто-нибудь другой мог бы меня послать и сказать "разбирайся сам"
Добавлено (31.03.2012, 20:34) --------------------------------------------- petr_kustov, Ура сработало, а еще я добавил
penCorpse->SetParent( this);
потомучто некоторые трупы с разгона - например бык проскакивают вперед по инерции, чтобы трупы были полностью синхронизированы друг с другом я и добавил этот код.
-----
И еще малюсенький вопросик =)
Почему лезет ошибка
E:/Mymod/Sources/EntitiesMP/EnemyBase.es(2902) : error C2039: 'm_fHealth' : is not a member of 'CModelHolder2' E:\MyMod\Sources\EntitiesMP/ModelHolder2.h(25) : see declaration of 'CModelHolder2'
когда я прописал: ((CModelHolder2&)(*m_penCorpse)).m_fHealth = (30.0f);
Сообщение отредактировалpetr_kustov - Суббота, 31.03.2012, 20:37
Потому что у CModelHolder2 нет такого параметра. ) Это я затупил, модели обязательно нужен CModelDestruction, чтобы её можно было разрушить. Ну или можно вписать код непосредственно в CModelHolder2, чтобы он был разрушаем сам по себе. Но лучше добавить в CEnemyBase новый CEntityPointer-параметр, который надо будет нацеливать на какой-нибудь CModelDestruction, например
Code
211 CEntityPointer m_penCorpseDestruction "ModelDestruction for corpse",
А затем, после инициализации трупа, направить его на этот ModelDestruction:
Таким образом, в СЕДе на уровень нужно будет добавить ModelDestruction (один для всех врагов, либо по одному на каждого, либо ещё как-то вперемешку), настроить его и нацелить на него параметр ModelDestruction for corpse у врагов.
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
А можно обойтись без ентить в редакторе и создать деструктор программно? просто мне очень не хочется чтобы враги были связаны с ентитями в седе
Ведь Molodec както реализовал свои жизни у трупов
Может создать подобное без новой модели, а использовать этуже модель?
Добавлено (31.03.2012, 23:34) --------------------------------------------- Может быть как-то моюифицировать модель-холдер2 чтобы у него можно было задать жизни без деструктора, создать базовую примитивную систему разрушения
а чтобы были дебрисы у модели - использовать pencorpse->gethealth(); и простой оператор - если значение равно нулю то включаем бловап = ))
Ну конечно, можно. Для CEnemyBase можно вообще не создавать никаких дополнительных моделей, а просто увеличить время исчезновения врага, а в CModelHolder2 можно дописать код для разрушения. Просто метод с созданием модели более универсален - он подходит и для игроков.
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
А если используя метод с созданием модели, что надо дописать в модель-холдер2 чтобы сделать базовую систему разрушения без деструктора. По-моему это самый оптимальный метод.
Пусть если у модели не выбран деструктор и заданы стартовые жизни больше нуля - система включается(это я знаю как сделать - банальный if-оператор)
А давай ты посмотришь код CModelDestruction, и сам перенесёшь в CModelHolder2 всё нужное? =Р
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.