Перейти к содержанию

Муурн Шепард

Граждане
  • Постов

    3448
  • Зарегистрирован

  • Посещение

Весь контент Муурн Шепард

  1. Можно сделать другой скрипт: if ( GetFight >= 100 ) return endif if ( GetAttacked == 1 ) set Room_Aggression to 1; Room_Aggression -- глобальная переменная. Можно заменить на запись в журнале. Запись можно оставить пустой (тогда в дневник ничего не напишется) или добавить какой-нибудь текст. endif if ( Room_Aggression == 1 ) StartCombat Player SetFight 100 endif
  2. elseif ( doOnce == 0 )Вот эта строчка лишняя. На ее место можно поставить endif, а в конце второй endif убрать. В принципе, да. Но можно вместо этой переменной проверять себя на GetFight. Если результат >= 100, значит, игрок на меня напал. if ( NPC_1->GetAttacked == 1 ) SetFight 100 StartCombat Player set doOnce to 1 elseif ( NPC_2->GetAttacked == 1 ) SetFight 100 StartCombat Player set doOnce to 1 ;<...> elseif ( NPC_n->GetAttacked == 1 ) SetFight 100 StartCombat Player set doOnce to 1 endifЭти блоки лучше объединить вот так.
  3. Я предполагаю, что дело в том, что почему-то глобальная переменная по умолчанию была больше нуля. Не помню, от чего это зависит, но, емнип, иногда случается баг, когда переменная инициализируется с максимальным значением, а не с тем, которое проставлено в Globals. В моем варианте огни снова включаются командой Enable, если команду на выключение еще не давали/отменили.
  4. Fight отвечает за агрессивность в целом. Значения 90+ означают автоматическую агрессию, независимо от привлекательности и репутации игрока. Чтобы неписи реагировали на убийства, нужно ставить им Alarm 90 или выше. При 100 еще будут вешать на игрока штрафы, если заметят. Если неписи не заметили, как вы кого-то убивали, то это логично, что они не будут на вас накидываться. Можно заставить их напасть скриптом в таком духе: short OnPCHitMe if ( OnPCHitMe == 1 ) if ( GetFight < 90 ) NPC_1->StartCombat Player;нужно проставить айди всех неписей, которые есть в здании NPC_1->SetFight 90;нужно проставить айди всех неписей, которые есть в здании NPC_2->StartCombat Player;нужно проставить айди всех неписей, которые есть в здании NPC_2->SetFight 90;нужно проставить айди всех неписей, которые есть в здании NPC_3->StartCombat Player;нужно проставить айди всех неписей, которые есть в здании NPC_3->SetFight 90;нужно проставить айди всех неписей, которые есть в здании NPC_4->StartCombat Player;нужно проставить айди всех неписей, которые есть в здании NPC_4->SetFight 90;нужно проставить айди всех неписей, которые есть в здании NPC_5->StartCombat Player;нужно проставить айди всех неписей, которые есть в здании NPC_5->SetFight 90;нужно проставить айди всех неписей, которые есть в здании endif endif
  5. А если так? begin LIGHTS_remover if ( LIGHTS != 1 ) if ( GetDisabled == 1 ) Enable endif else if ( GetDisabled == 0 ) disable endif endif End
  6. В смысле два? Переменная для отладки.
  7. Мда. В общем, такой скрипт работает с восстановлением здоровья (и, наверно, с другими эффектами), но почему-то совершенно не ловит восстановление магии. Сложный скрипт, как выяснилось, не нужен -- игра перехватывает и удаляет эффекты до того, как они повлияют на персонажа. Два кольца с двумя вариантами скрипта лежат у Дорисы Давел на прилавке, если кто-нибудь захочет разобраться. Begin AntimagicRing short OnPCEquip short RestoringMagicka if ( MenuMode == 1 ) return endif if ( OnPCEquip == 0 ) return endif set RestoringMagicka to ( Player->GetEffect sEffectRestoreSpellPoints ) MessageBox "RestoringMagicka: %.0f" RestoringMagicka ;Отладка. Должно показывать 1, если поймал эффект. if ( RestoringMagicka == 1 ) Player->RemoveEffects 76 endif endAntimagic.ESP
  8. Восстановление магии на постоянный эффект или по активации предметов?
  9. В ванили это: if ( Player->GetEffect sEffectRestoreSpellPoints == 1 ) Player->RemoveEffects 76 endifСписок всех эффектов. Возможно, что часть магии игра все равно успеет восстановить, потому, наверно, тут нужно будет через ModCurrentMagicka вернуть прежнее значение магии. Что-то вроде: float CurrentMagicka float NewMagicka if ( Player->GetEffect sEffectRestoreSpellPoints == 0 ) Set CurrentMagicka to ( Player->GetMagicka ) else Player->RemoveEffects sEffectRestoreSpellPoints set NewMagicka to ( Player->GetMagicka ) set NewMagicka to ( CurrentMagicka - NewMagicka ) Player->ModCurrentMagicka NewMagicka endifА, РЕДМЕНЪ опередил. Но список эффектов лишним не будет.
  10. Исходя из того, что во всех скриптах, написанных разработчиками, применяется такой подход, я смею предположить, что команда GetDisabled занимает меньше времени, чем команда Disable.
  11. Begin AOV_C1 if ( GetJournalIndex AOV_Elmussa >= 100 ) if ( GetDisabled == 0 ) Disable Return endif endif EndПравильней будет так, чтобы не вызывать команду Disable каждый фрейм, когда объект уже отключен.
  12. Необходимо в Gameplay->Settings найти настройку, отвечающую за айди существа соответствующего эффекта.
  13. Ну, выкладывайте. Пока мне кажется идея очень натянутой. Вы сейчас о крупных городах говорите. Там психология у жителей несколько иная. А когда это в Кальдере появились магазины аптекаря и целителя, зачарователя и алхимика да еще с публичным домом в придачу? Про Суран и Тель Мору тот же вопрос.
  14. Потому что у таких мест дурная слава и гнетущая атмосфера. А еще в любой момент может соспауниться даэдрот. Вот правда в любой. Вообще, жить в таких местах для правоверных данмеров, да и не только данмеров, -- это как обвешать квартиру фашистской символикой и спрашивать "а что такого, лучше такие гобелены, чем никаких". На этом оффтоп предлагаю свернуть.РЕДМЕНЪ прав. Набор услуг заявлен, как в столицах домов.
  15. Полностью поддерживаю. Даэдрическим оружием как световым мечом махать.
  16. То есть три храма, но все дома Дагот? А кому молиться в этих храмах будут?
  17. А в чем проблема смонтировать весь образ целиком? Но еще можете открыть образ диска и перенести папку Video в Data Files.
  18. Можно этим же скриптом фиксить силу, если она падает до нуля. Потому что если болезней на существах не будет, то и заражать игрока они не смогут.
  19. Да я без претензий говорил, просто уточнял. Но, вообще, если подходить с этой стороны, то непонятно, почему призванные оружие и доспехи обладают нулевым весом. Если махать призванным оружием так же тяжело, как и обычным, то почему носить его гораздо легче?
  20. Вес оружия влияет на расход запаса сил при ударе. Теперь призванное оружие будет отнимать усталость на одном уровне с даэдрическим.
  21. В целом, ломать не должно. Хотя вопрос, о каких предметах речь. Луну-и-Звезду с инструментами Кагренака консолью добавлять не стоит. На них завязан мейн-квест и, чтобы скрипты сработали, эти предметы нужно подбирать из локации.
  22. MCP ж это фиксит, не? Хотя, в последних версиях автор пишет, что это больше не работает с оборотнями. Но хз насчет остальных существ. А кто-то всерьез пользуется этой булавой? Вот это новость.
  23. Айди и количество объектов. Будет что-то вроде for _, stack2 in pairs (tes3.player.object.equipment) do EquipmentList [_] = { ObjId = stack2.object.id Amount = stack2.count } end Таблица -- это, грубо говоря, таблица в экселе. Есть строки (0, 1, 2 и т. д.), есть столбцы. Вместо столбцов -- все свойства объекта. То есть айди, имя, вес, etc.
×
×
  • Создать...