Pretorius Опубликовано 10 апреля, 2010 Жалоба Поделиться Опубликовано 10 апреля, 2010 Wizard's Islands содержит интересную группу моделей стихийных бедствий (Z_Fire_Rain_Creature, Z_IceFlurry_Creature, Z_Inferno_Creature, Z_LightningStorm_Cr, Z_SonicWave_Creature, Z_Tornado_Creature), которые так и не были использованы в оригинальной игре.Ниже приведен скрипт, загружающий эти модели в игру при MornAssault == 1 (при атаке на Морнхолд Рыцарей Тьмы, посылаемых Священным Советом после уничтожения тирана Хелсета). При приближении игрока к creature, оно должно загружаться, атаковать некоторое время игрока и исчезать до повторного к нему приближения.Проблема заключается в том, что иногда скрипт почему-то работает нестабильно, останавливаясь на исполнении команд DisablePlayerControls и Enable. begin DestructionMournholdScript short Blastshort doOnceshort Sitisitfloat timerfloat damage if ( MenuMode == 1 ) returnendif if ( Player->GetHealth <= 0 ) returnendif if ( doOnce == 1 ) set doOnce to 0 returnendif SetHealth 10000 if ( GetAttacked == 1 ) if ( doOnce == 0 ) SetFight 0 StopCombat Player set doOnce to 1 endifendif if ( MornAssault == 0 ) if ( GetDisabled == 0 ) Disable return elseif ( GetDisabled == 1 ) return endifendif if ( MornAssault == 1 ) if ( CellChanged == 0 ) if ( GetSoundPlaying "DarkFire" == 0 ) PlayLoopSound3DVP "DarkFire" 1.0, 1.0 endif endifendif if ( MornAssault == 1 ) if ( GetDistance Player < 500 ) if ( Blast == 0 ) if ( GetDisabled == 1 ) Enable set Sitisit to 1 elseif ( GetDisabled == 0 ) set Sitisit to 1 endif elseif ( Blast == 1 ) Disable return endif elseif ( GetDistance Player >= 500 ) if ( GetDisabled == 0 ) Disable set Sitisit to 0 set Blast to 0 return elseif ( GetDisabled == 1 ) set Sitisit to 0 set Blast to 0 return endif endifendif if ( Sitisit == 1 ) if ( timer >= 10 ) if ( Blast == 0 ) EnablePlayerControls set Blast to 1 set timer to 0 endif endifendif if ( Sitisit == 1 ) if ( timer < 10 ) if ( Blast == 0 ) DisablePlayerControls set timer to ( timer + GetSecondsPassed ) set damage to -500 set damage to ( damage * GetSecondsPassed ) Player->ModCurrentHealth, damage PlayGroup, Idle endif endifendif end DestructionMournholdScript Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти