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

olol

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

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

  • Посещение

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

    1

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

  1. Наконец обновил версию от Hircine и закончил перенос интерьера от David Brasher.
  2. чёй-то тебе крупно не повезло, собрал все баги движка сразу. вот и попробуй тут вычислить причину... рискну посоветовать попробовать сделать то же самое с Equipt :) а со звуком можно просто создать другой drink2 с тем же звуком и использовать его.
  3. проверка на эффект не нужна я не вижу причин для сбоя, перегруженность это фигня. Видимо что-то нельзя вызывать вместе. можно их проверять по очереди: 1) добавь переменную: short State 2) добавь проверку для этих блоков: ​if ( State == 0 ) Set State to 1 ​elseif ( State == 1 ) Set State to 2 ​else Set State to 0 ​​endif if ( State == 0 ) if ( timerHealth > 0 ); если задан таймер задержки ... endif if ( State == 1 ) Set mana to GetMagicka ... endif State будет меняться: 0 1 2 0 1 2... проверки будут разнесены по времени.
  4. замени: Set mana to GetMagicka / MaxMagicka на: Set mana to GetMagicka Set mana to mana / MaxMagicka
  5. Для чего придумали тарелки для супа, каши и кружку для чая ? Все можно наливать в одну большую кружку, тогда придется меньше мыть посуды в фигваме. Оптимизация однако...
  6. Названия переменным можно давать любые кроме ключевых слов. doInit - типа однократная начальная инициализация.
  7. Ни какого перегруза быть не должно, если не работает при добавлении магии, то наверно она и одна работать не будет.
  8. если в локальном скрипте скрипте возникают проблемы, то ты переносишь часть скрипта в другой глобальный и получаешь дополнительные проблемы, зачем? если проблема со звуком, то можно добавить проверку или использовать не 3D. if ( GetSoundPlaying "Drink" == 0 ) PlaySound "Drink" endif Для магии лучше запомнить начальное значение и потом следить за ее изменением: short doInit Float MaxMagicka if ( doInit ) Set MaxMagicka to GetMagicka endif ...elseif ( GetMagicka / MaxMagicka
  9. направленный скрипт это глобальный скрипт, он работает пока его не остановят или он сам не остановится. если ты хочешь активатором в ячейке запускать направленный скрипт, то скрипт должен проверять выход из ячейки: if ( CellChanged ) StopScript "A_A_NPC_USING_POTION_HEALTH" для магии ты опять проверяешь на 150 !
  10. Если движок сбоит на последнем бутыльке в инвентаре, то можно попробовать добавить любой другой который ты не будешь использовать. Гарантии ни какой, но есть небольшая вероятность что это поможет. AddItem "p_burden_s" 1 Equip "p_restore_health_e" 1; выпить бутылек RemoveItem "p_burden_s" 1
  11. @Varang Проблема с Equip заключается в том, что трибунал ее исправил для использования брони и оружия. А то, что бутылек при использовании исчезнет движок видимо не учитывает и по этому сбоит. Попробуй в старом скрипте перед Equip добавлять какой-нибудь другой бутылек (например p_reflection_s).
  12. глобальные скрипты работают пока их не становят. они могут проверять выход из ячейки (для внутренних) и останавливаться, но при вхде их нужно опять запускать
  13. для первых ячеек движок еще помнит соседнюю ячейку НПС, а потом забывает. PlaySound3D "Drink" активатор срабатывает при в ходе в ячейку в любом месте, только работать он будет и при выходе из нее.
  14. скрипт локальный, но добаляет бутылек НПС в другой ячейке: "processus vitellius"->AddItem "p_restore_health_e" 1 нужно либо в каждой ячейке ложить разных мертвых НПС под землю и добавлять им либо постоянно добавлять/удалять одного НПС (морока с этим будет немалая). если ты в этой ячейке не менял, значит смотри какой другой мод это делает.
  15. если вылеты прекратились - это хорошо. синтаксис тут не причем, иначе ошибка бы была бы у всех. наверно нужно, чтоб НПС был в текущей ячейке.
  16. Похоже на то, что сбоит последний загруженный бутылек (как у анимации контейнеров). нужно добавлять его другому НПС, вот только кому... может попробовать добавлять/удалять бутылек Процессусу Вителлиусу ? ГФМ делает ему сохранность трупа (нельзя убрать). if ( GetItemCount "p_restore_health_e" > 0 ); есть в наличии бутылек "processus vitellius"->AddItem "p_restore_health_e" 1 Equip "p_restore_health_e" 1; выпить бутылек "processus vitellius"->RemoveItem "p_restore_health_e" 1 set timerHealth to 3; задаем три секунды таймеру elseif ( GetItemCount "p_restore_health_q" > 0 ); проверка на следующий бутылек если нет предыдущего если опять не получится, значит не судьба...
  17. Можно так или Add, Remove, Equip, Add, Remove. Все это пляски с бубном, но есть вероятность того, что это поможет.
  18. Последнее, что могу еще предложить, это: добавить и удалить бутылек перед и после его выпивания. Если движок теряет указатель после его выпивания, то есть вероятность, что это поможет.
  19. трудно исправить ошибку которой нет... екуипт была битой в морке, потом в трибе ее исправили, но похоже не до конца. как вариант можно ее заменить на добавление эффектов с удалением бутылька, но это снова марока с тладкой.
  20. я с MCP не связывался, помню фриц русской морки передавал автору. кинь еще свой моровинд.ини посмотреть настройки, может у тебя включен ускоренный режим загрузки.
  21. скрипт не работает при уходе из ячейки, дистанция вряд ли поможет. а вот убирать труп сразу после убийства пока не кончилось действие бутылька не нужно возможно, что при смерти нпс их нужно удалять в скрипте, чтоб исключить эту ситуацию
  22. для проверки достаточно удалить активатор запускающий глобальные скрипты и начать новую игру сохранялки для проверки не предсказуемы бутылки отличаются от брони своим эффектом, окончание их действия видимо сбоит в игре если локалки будут сбоить, то это уже баг движка и тогда нужно сообщить это для МСР или смотреть нужно в ОпенМВ.
  23. два елсеиф потому что после первго не нужно ни какого действия и продолжить другие проверки. возможно глобальные сбоят и мешают локальным нужно проверить без глобальных, если будет ок, то вешать на лкальные активаторы в этих ячейках, как я тебе говорил.
  24. cel-файл работает как автозамена слов при выводе текста, в данном случае это ни на что не отразится. т.е. если "Сапоги апостола" заменить на "Ботинки апостола", то писать будет ботинки, но в журнале топик про ботинки останется на букву "С". В конце секции: If ( player->GetLevel > 20 ) нет "return" С точки зрения оптимизации нужна одна секция If ( DoOnce == 0 ) в которой проверять уровни для раздачи и фиксировать что выдано В другой секции If ( GetHealth ​в зависимости от выданного удалять
×
×
  • Создать...