Heming_Hitrowski написал такую статью в последнем номере Serious Time.
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.
Пишу садистский пистоль - при выстреле снимается здоровье. Хп отнимается, Сэм кричит, но покраснение экрана вызвать не удаётся. Как быть? Пробовал с DamageImpact из Player.es, но PlayerWeapons.es его не воспринимает.
В методе ReceiveDamage уже есть расчёт "красного экрана", он может не работать из-за отсутствия на уровне WorldSettingController'a и BackgroundViewer'а.
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. Как задавать ему размеры. (Например, при анимации «fire» размер куба равен 2*2*2 , а при анимации «walk» 3*3*3)
Вопрос 2. Как можно во время анимации размер куба менять динамически (в начале анимации куб равен 2*2*2, а в конце 3*3*3)
Вопрос 3. Как можно менять положение куба в пространстве. (Например, в начале анимации куб находится под землей, а в конце анимации он вылезает наружу)
Всё очень серьёзно. P.S. Не пишите мне на Email, пишите в Л.С.
seriously_petr, в первую очередь компилируй StdH.cpp (отдельно от всех других), у него где-то в опциях ещё должно стоять Create precompiled header. CAHEK, это не куб, а вытянутая сфера, и задаётся она не в коде, а в модели (через Serious Modeler). Ты можешь переключаться между существующими collision'ами, можешь для примера посмотреть, как он переключается у игрока после смерти.
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.
Кто может сказать, где находится код, отвечающий за цвет освещения лазера (естественно лазер игрока) Перелазил весь Projectile.es, ничего подобного не нашел.
Сообщение отредактировалVITEK - Суббота, 07.09.2013, 21:03
Я создал новые collisionы. Их переключаю так ChangeCollisionBoxIndexWhenPossible(EYEMAN_COLLISION_BOX_MORPHATTACKFLY); Все работает, а вот здесь в функции «sleep» нет, хотя в функции « WakeUp» все работает
Код
Sleep(EVoid) { // start sleeping anim if (m_EecC==EYS_SLEEP) { StartModelAnim(EYEMAN_ANIM_MORPHDOWN, AOF_LOOPING); autowait(0.4f); ChangeCollisionBoxIndexWhenPossible(EYEMAN_COLLISION_BOX_MORPHATTACK); // если спит то куб MORPHDOWN } if (m_EecC==EYS_POLZ) { StartModelAnim(EYEMAN_ANIM_MORPHATTACKFLY, AOF_LOOPING); autowait(0.4f); ChangeCollisionBoxIndexWhenPossible(EYEMAN_COLLISION_BOX_MORPHATTACKFLY); // если ползет то MORPHATTACKFLY } // repeat wait() { // if triggered on(ETrigger eTrigger) : { // remember enemy SetTargetSoft(eTrigger.penCaused); // wake up jump WakeUp(); } // if damaged on(EDamage eDamage) : { // wake up jump WakeUp(); } otherwise() : { resume; } } }
// В функции «sleep» неработает
WakeUp(EVoid) { // wakeup anim SightSound(); if (m_EecC==EYS_SLEEP) { StartModelAnim(EYEMAN_ANIM_MORPHUP, 0); ChangeCollisionBoxIndexWhenPossible(EYEMAN_COLLISION_BOX_STAND); } if (m_EecC==EYS_POLZ) { StartModelAnim(EYEMAN_ANIM_MORPHATTACK, 0); ChangeCollisionBoxIndexWhenPossible(EYEMAN_COLLISION_BOX_STAND);
} autowait(GetModelObject()->GetCurrentAnimLength()); // trigger your target SendToTarget(m_penDeathTarget, m_eetDeathType); // proceed with normal functioning return EReturn(); }
// overridable called before main enemy loop actually begins PreMainLoop(EVoid) : CEnemyBase::PreMainLoop { // if sleeping if (m_bSleeping) { m_bSleeping = FALSE; // go to sleep until waken up wait() { on (EBegin) : { call Sleep(); } on (EReturn) : { stop; }; // if dead on(EDeath eDeath) : { // die jump CEnemyBase::Die(eDeath); } } }
Функцию сна взял от скорпиона и чуть переделал. EecC – существует и нормально работает. В целом грамматических ошибок нет. (кампилятор не ругается). Но в игре не аботает.
Сообщение отредактировалCAHEK - Четверг, 21.02.2013, 05:56
Всё очень серьёзно. P.S. Не пишите мне на Email, пишите в Л.С.
Это будет работать только для билда в режиме Debug.
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.
BD19071997, По твоему он у нас есть? Разработчики мода очень давно разбежались и врядли кто выкладывал код, а если и выкладывали, то ссылки давно уже сдохли.
1. Делаешь модель для СС1 этого моба и импортируешь. 2. Добавляешь новый класс в проект SDK. 3. Нужно сделать его наследником класса EnemyFly, настраиваешь как надо класс.
Перечитывая форум я нашёл инфу о создании союзника + исходн. Но так как он от иксбокс мода то там надо удалить все упоминания ModeController и класса Settings, иначе при компиляции вылезут ошибки. Я удалял и в итоге у меня вышло что только при попадании врага в союзника он (союзник) начинал атаковать врага и то только того кто его ранил. После убийства врага (который ранил союзника) союзник останавливается и так пока его снова кто-нибуть не ранит.
скорее всего что-то не так удалил сдесь (это оригинал) (Я весь участок удалил)
CAHEK, код, который ты написал, не относится к визуальному обнаружению противника. Тебе нужно покопаться в Watcher.es, там происходит это обнаружение.
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.
Добавлено (02.03.2013, 15:52) --------------------------------------------- Ситуация: У гнара есть одна дистанция и при достижении которой он начинает атаковать. У скорпиона две (одна для дальнего боя , а вторая для ближнего). Как создать еще дистанции? (не знаю как правильно задать вопрос)
Сообщение отредактировалCAHEK - Среда, 27.02.2013, 05:54
Всё очень серьёзно. P.S. Не пишите мне на Email, пишите в Л.С.
В смысле, создать третью дистанцию? Или добавить вторую врагу, у которой её нет?
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.
У скелетов две дистанции - на ближней они прыгают на игрока, на дальней - бросают колёса. Посмотри на параметры, созвучные с Close range/far range.
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.
Это рассчитывается непосредственно в процедуре, отвечающей за ближнюю атаку (Hit).
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.