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

olol

Свободные плагиностроители
  • Постов

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

  • Посещение

  • Победитель дней

    1

Весь контент olol

  1. ни немного висят в оригинале, исправлю
  2. ты добавил только одну выделенную строку между указанными ?
  3. не вижу причины, добавь сообщение для проверки: Equip "p_restore_health_e" MessageBox "выпил p_restore_health_e" set timerHealth to 2
  4. begin AI_USING_POTION float timerHealth5 float timerMagicka5 float timerFatigue5 short doOnce if ( doOnce ); NPC мертв return elseIf ( OnDeath ); NPC умер set doOnce to 1; фиксируем смерть return endif
  5. локальные скрипты не останавливаются объявляется локальная переменная и проверка short doOnce if ( doOnce ) return If ( OnDeath ) set doOnce to 1 if ( GetHealth 0 ) - может не сработать (трупы тоже лечатся )
  6. зелья пьются и после смерти нужно добавить еще и проверку на смерть
  7. у тебя 15 влжений, по 3 последних не будут работать и я поменял порядок проверок, чтоб исключить многократную проверку мой в полтора раза короче
  8. Я в скрипте менял if на elseif для исключения return иначе он не даст восстановить усталость или магию. NPC будет лежать в отключке и восстанавливать здоровье вместо восстановления усталости а в конце скрипта можно добавить и другие проверки в твоем скрипте очень много вложено elseif не нужно делать вложенность для if и elseif больше 10 помоему больше 12 они не работают
  9. begin AI_USING_POTION float timerHealthfloat timerMagickafloat timerFatigue ; проверяем здоровьеif ( timerHealth > 0 ); если задан таймер задержки set timerHealth to ( timerHealth - getsecondspassed ); уменьшаем таймерelseif ( GetEffect, sEffectRestoreHealth ); еще не кончился эффектelseif ( GetHealthGetRatio if ( GetItemCount "p_restore_health_e" > 0 ); есть в наличии бутылек Equip "p_restore_health_e" 1; выпить бутылек set timerHealth to 3; задаем три секунды таймеру elseif ( GetItemCount "p_restore_health_q" > 0 ); проверка на следующий бутылек если нет предыдущего Equip "p_restore_health_q" 1 set timerHealth to 3 elseif ( GetItemCount "p_restore_health_c" > 0 ) Equip "p_restore_health_c" 1 set timerHealth to 3 elseif ( GetItemCount "p_restore_health_s" > 0 ) Equip "p_restore_health_s" 1 set timerHealth to 3 elseif ( GetItemCount "p_restore_health_b" > 0 ) Equip "p_restore_health_b" 1 set timerHealth to 3 endifendif ; проверяем магиюif ( timerMagicka > 0 ) set timerMagicka to ( timerMagicka - getsecondspassed ); далее для магииendif ; проверяем усталостьif ( timerFatigue > 0 ) set timerFatigue to ( timerFatigue - getsecondspassed ); далее для усталостиendif end if - задает условие соответствияelseif - задает условие для не соответствия if ( *** ); условие соответствуетelse; условие не соответствуетendif я использую таймеры на вычитание, это позволяет задать разные задержки для разных бутыльков, а не только всем по 3 сек
  10. забыл поменять знак > на begin AI_USING_POTION float timerHealth5 if ( timerHealth5 > 0 ); если задан таймер задержки set timerHealth5 to ( timerHealth5 - getsecondspassed ); уменьшаем таймер elseif ( GetEffect, sEffectRestoreHealth ); еще не кончился эффект elseif ( GetHealthGetRatio if ( GetItemCount "p_restore_health_e" > 0 ); есть в наличии бутылек Equip "p_restore_health_e" 1; выпить бутылек set timerHealth5 to 3; задаем три секунды таймеру return; закончить проверку endif if ( GetItemCount "p_restore_health_q" > 0 ) Equip "p_restore_health_q" 1 set timerHealth5 to 3 return endif if ( GetItemCount "p_restore_health_c" > 0 ) Equip "p_restore_health_c" 1 set timerHealth5 to 3 return endif if ( GetItemCount "p_restore_health_s" > 0 ) Equip "p_restore_health_s" 1 set timerHealth5 to 3 return endif if ( GetItemCount "p_restore_health_b" > 0 ) Equip "p_restore_health_b" 1 set timerHealth5 to 3 endif endif end
  11. begin AI_USING_POTION float timerHealth5 if ( timerHealth5 > 0 ) set timerHealth5 to ( timerHealth5 - getsecondspassed ) elseif ( GetEffect, sEffectRestoreHealth ) elseif ( GetHealthGetRatio > 0.5) if ( GetItemCount "p_restore_health_e" > 0 ) Equip "p_restore_health_e" 1 set timerHealth5 to 3 return endif if ( GetItemCount "p_restore_health_q" > 0 ) Equip "p_restore_health_q" 1 set timerHealth5 to 3 return endif if ( GetItemCount "p_restore_health_c" > 0 ) Equip "p_restore_health_c" 1 set timerHealth5 to 3 return endif if ( GetItemCount "p_restore_health_s" > 0 ) Equip "p_restore_health_s" 1 set timerHealth5 to 3 return endif if ( GetItemCount "p_restore_health_b" > 0 ) Equip "p_restore_health_b" 1 set timerHealth5 to 3 endif endif end
  12. elseif ( GetHealthGetRatio > 0.5) а после него пусто, это значит ничего не делать делай кпию от if до endif и добавляй перед end ну еще объяви другую переменную если задержка для каждого зелья своя а если общая, то в первом if поставь ретурн, а в последующих убери таймер
  13. GetHealthGetRatio (returns float) Эта функция возвращает текущее Здоровье актера в процентах, как значение типа float в пределах от 0 до 1, например 1 означает 100% Здоровья, 0.9 означает 90% Здоровья и 0 означает, ну, мертв, я думаю. Это замена ошибочно указанной в Справке функции GetHealthRatio. все правильно... ты случаем там запятую не поставил ?
  14. @Varang я убрал из скрипта ретурны, так что в конце можно добавить следующий блок на проверку выпивания еще чего нить если для выпивания нужны еще дополнительные проверки условий то их нужно туда добавить: begin AI_USING_POTION float timerHealth5 if ( timerHealth5 > 0 ) set timerHealth5 to ( timerHealth5 - getsecondspassed )elseif ( GetHealthGetRatio > 0.5)elseif ( GetEffect, sEffectRestoreHealth )elseif ( GetItemCount "p_restore_health_e" > 0 ) Equip "p_restore_health_e" 1 set timerHealth5 to 3endif end@Dagot_Prolaps Локация грузится до запуска скриптов и орать о изменении будет раньше чем он что-то сделает. DontSaveObject просто помечает объект для не сохранения и отрабатывается при выходе локальные переменные скриптов сохраняются в сейве
  15. @Varang у тебя написана чушь в скрипте потому и лень разбираться... endif на 3 больше чем if, скрипт не рабочий... если смысл его в том, чтобы выпивалось зелье восстановления при окончании действия и при наличии бутылька то попробуй так: begin AI_USING_POTION float timerHealth5 if ( timerHealth5 > 0 ) set timerHealth5 to ( timerHealth5 - getsecondspassed )elseif ( GetEffect, sEffectRestoreHealth )elseif ( GetItemCount "p_restore_health_e" > 0 ) Equip "p_restore_health_e" 1 set timerHealth5 to 3endif end скрипт должен висеть на соответствующем нпс (направленный) условия запуска и останова его должен управлять другой @Dagot_Prolaps DontSaveObject Используя DontSaveObject, можно избежать раздражающего сообщения "save game data has changed". это когда ты вылечил тварь, вышел в другую ячейку, там она опять стала зараженной, а потом вернулся обратно. BM_bear_brown Чумной медведь BM_wolf_red Чумной волк они исправлены в GFM 6хх и 7хх
  16. olol

    GFM_1C

    Теперь понял. В данном случае просто нет квеста про метку, потому и просто запись. А у фьола есть, но я не вижу смысла делать отдельную (не квестовую) запись, и добавлять не квестовые диалоги с проверками. Вот если бы добавлялась запись и квест остался висеть не закрытым, то это была бы ошибка.
  17. - Убрал изменения уровней замков для большей совместимости. - Добавил несколько новых. - Переименовал некоторые в соответствии с их принадлежностью. Поменял местами ключи в Аддамасартусе, теперь можно взломать замок и освободить рабов без поиска второго.
  18. @ Dagot_Prolaps если один вылечится, то вылечатся все копии и наоборот. У болезней и по моему еще у проклятий такая фишка.
  19. olol

    GFM_1C

    Не понял вопроса. Встретил бандита, отдал деньги или грохнул его, записал в журнал об этом событии и в чем тут проблема ? Некоторых смущает то, что он тебя не останавливает если ты с ним сам не заговоришь. Но это исправление, по моему, то же не для GFM.
  20. olol

    GFM_1C

    @ Raedd На счет Фьола. Это известная проблема. Слухи есть пока он жив. Квест не виснет, это задание просто не дают когда он уже мертв.Виснет - это когда взял, а сдать не можешь. Это не является ошибкой. Не думаю, что это исправление для GFM. @ Муурн Шепард Действительно, я это условие просмотрел, но не ошибается только тот, кто ничего не делает. Тех, кого устраивает версия 4хх, это не должно волновать. Я исправляю ошибки или не соответствия для тех, кто мне сообщает о них на форуме. В английской верси тоже решили, что это надо исправить и сделали две проверки
  21. olol

    GFM_1C

    @Скелл если ты хочешь доказать, что я испортил мод и нужно вернуть все обратно, то объясню, что там было: - если ГГ стал советником, то веним в "Greeting 5" вызовет его на дуэль (Journal HR_Archmaster 50) - в скрипте "vivecArenaScript": if ( GetJournalIndex HR_Archmaster == 50 ) - позволяет сразиться с венимом на арене за главу дома - в скрипте "bolvynScript" сработает другое условие: if ( GetJournalIndex HR_Archmaster >= 50 ) PCRaiseRank "Redoran" Journal HR_Archmaster 70 В результате этого ГГ станет главой дома, но наставником он уже не будет. Главный квест будет непроходим. И это не проблема ни разу ? Меня такой вариант не устраивает и без исправления тут не обойтись.
  22. GFM скрипт TribunalMain не меняет. ни каких обращений к внешним объектам там нет, какой-то мод его изменили раз это загрузка старого сохранения, то видимо этот мод уже отключен.
  23. olol

    GFM_1C

    новый делает то же самое, только не повышает ранг (я только убрал лишние проверки и он стал меньше). в старом делается запись, что для повышения нужно поговорить с сарети, а так как автоматическое повышение было в скрипте, то сарети говорит типа: чего ко мне пристал, ты уже и так старейшина. и записи о том, что ты стал главой в журнале не появлялось. если ты вызвал его на дуэль за наставника, то сработает это условие: if ( GetJournalIndex B5_VenimHort >= 30 ) Journal B5_VenimHort 50 в этом случае ты уже ни каким главой не станешь ведь для этого нужно второй раз убить, чтоб сработало условие: if ( GetJournalIndex HR_Archmaster >= 50 ) Journal HR_Archmaster 70 делать ГГ главой после дуэли за наставника нельзя, он еще и крепость не построил, и запрещать дуэль до постройки крепости нельзя, ведь для не редоранцев нет такого требования только в диалогах на повышение можно сделать обе проверки и назначить главой при любой победе. в 4рке те же проблемы только хуже.
×
×
  • Создать...