EdgeNito12 Опубликовано 9 июля, 2016 Опубликовано 9 июля, 2016 08.07.2016 09:03:44, krezozavr сказал(-а):Я абсолютный ламер в скайримовских скриптах 1 вам тогда не скрипт а квест скорее нужен, посмотрите квесты. 2 чтобы сделать что-либо прийдется разобраться, тк готового ответа скорее всего нету. 3 и зачем это надо? Смысл такого = оперативную память компа засорять? 1
krezozavr Опубликовано 11 июля, 2016 Опубликовано 11 июля, 2016 09.07.2016 20:46:25, EdgeNito12 сказал(-а):3 и зачем это надо? Смысл такого = оперативную память компа засорять? Ну раз человек ищет ответ на какой-то вопрос, значит ему это нужно. Ладно, будем искать методом научного тыка, надеюсь там скрипты не сильно сложнее чем в Морровинде.
EdgeNito12 Опубликовано 12 июля, 2016 Опубликовано 12 июля, 2016 11.07.2016 18:38:51, krezozavr сказал(-а):Ну раз человек ищет ответ на какой-то вопрос 1 я же ответил вам: вам не скрипт а квест нужен, к которому вы пропишите куски кода/скрипта. Я незнаю, понадобится ли вам править "behavior"-инструкции поведения(непомню как называются), Но тут вопрос может оказаться глубоко в skyrim.exe И поэтому 2 -что вы хотите получить - может можно как-то обойти это - например референсом компаньон, но тут нужно поподробнее. 2 зачем это надо? - имелось ввииду, что сложность исправления(чтобы вот каждый компаньон в любом месте мог ждать вас ) помоему несоразмерна получаемому результату(ну ждет он вас - что это дает???) 1
krezozavr Опубликовано 13 июля, 2016 Опубликовано 13 июля, 2016 12.07.2016 17:40:39, EdgeNito12 сказал(-а): 2 зачем это надо? - имелось ввииду, что сложность исправления(чтобы вот каждый компаньон в любом месте мог ждать вас ) помоему несоразмерна получаемому результату(ну ждет он вас - что это дает???) Ну в целом ситуация такая. 100500 раз пройденный сюжет Ская мну уже малоинтересен. Используется игра чисто как этакий средневеково-фэнтезийный сим. Отыгрыш роли- ГГ охотник, промышляет добычей шкур, мяса и рыбы (никаких грабежей и мародёрства). Для торговли используется плагин yourmarketstall- торговля в реальном времени и месте с собственного "ларька". Прикол в том, что за торговый стол можно посадить компаньона... Ну вроде всё логично, муж-добытчик на охоте, жена торгует. Но неудобство в том, что когда компаньон торгует- он какбэ числится в режиме ожидания, т.е. каждые 72 часа нужно успеть снять выручку и хоть немного прогулять её, прежде чем снова посадить торговать. Не успел-всё, компаньон встал и ушёл домой, а всё заработанное помножилось на ноль) Вот такая загогулина)
EdgeNito12 Опубликовано 16 июля, 2016 Опубликовано 16 июля, 2016 13.07.2016 09:24:34, krezozavr сказал(-а): Ну в целом ситуация такая. 100500 раз пройденный сюжет Ская мну уже малоинтересен. Используется игра чисто как этакий средневеково-фэнтезийный сим. Отыгрыш роли- ГГ охотник, промышляет добычей шкур, мяса и рыбы (никаких грабежей и мародёрства). Для торговли используется плагин yourmarketstall- торговля в реальном времени и месте с собственного "ларька". Прикол в том, что за торговый стол можно посадить компаньона... Ну вроде всё логично, муж-добытчик на охоте, жена торгует. Но неудобство в том, что когда компаньон торгует- он какбэ числится в режиме ожидания, т.е. каждые 72 часа нужно успеть снять выручку и хоть немного прогулять её, прежде чем снова посадить торговать. Не успел-всё, компаньон встал и ушёл домой, а всё заработанное помножилось на ноль) Вот такая загогулина) Похорошему тут надо квест делать(ну он не будет числиться как квест) и пытаться танцевать оттуда. Немного непонял - "компаньон торгует" шта?? вашим скриптом? или как он вообще делает такое? 1
werr Опубликовано 16 июля, 2016 Опубликовано 16 июля, 2016 13.07.2016 09:24:34, krezozavr сказал(-а): Ну в целом ситуация такая. 100500 раз пройденный сюжет Ская мну уже малоинтересен. Используется игра чисто как этакий средневеково-фэнтезийный сим. Отыгрыш роли- ГГ охотник, промышляет добычей шкур, мяса и рыбы (никаких грабежей и мародёрства). Для торговли используется плагин yourmarketstall- торговля в реальном времени и месте с собственного "ларька". Прикол в том, что за торговый стол можно посадить компаньона... Ну вроде всё логично, муж-добытчик на охоте, жена торгует. Но неудобство в том, что когда компаньон торгует- он какбэ числится в режиме ожидания, т.е. каждые 72 часа нужно успеть снять выручку и хоть немного прогулять её, прежде чем снова посадить торговать. Не успел-всё, компаньон встал и ушёл домой, а всё заработанное помножилось на ноль) Вот такая загогулина) Нужно просто вписать другое время ожидания и перекомпилировать скрипт. http://i.imgur.com/tcCmOzN.png Плохо то, что это ванильный скрипт и ванильный квест. И по-хорошему нужно начать игру сначала, потому что ты обновишь уже запущенный у тебя в сохранении игры квест. Игра может воспринять это неадекватно. 1 A Random Dude's Story
krezozavr Опубликовано 18 июля, 2016 Опубликовано 18 июля, 2016 (изменено) 16.07.2016 11:36:20, EdgeNito12 сказал(-а):"компаньон торгует" шта?? вашим скриптом? или как он вообще делает такое? Я не знаю как. Но даже если компаньон торгует в Рифтене, а ГГ шарится по Пределу появляются периодически отладочные сообщения типа заработано столько-то золота. Из компаньонских модов у меня стоит TCG, а он позволяет лишь менять эквип, больше никаких изменений. 16.07.2016 12:31:29, werr сказал(-а):Нужно просто вписать другое время ожидания и перекомпилировать скрипт. Вот спасибо :good2: Завтра попробую, а может и сегодня вечером. Не работает( Выставил 999, но как было 72 часа, так и осталось, и новая игра не помогла( Изменено 21 июля, 2016 пользователем krezozavr
crimm Опубликовано 29 августа, 2016 Опубликовано 29 августа, 2016 15.02.2016 10:41:45, crimm сказал(-а): Здравствуйте, подскажите как можно создать цепочку эффектов в заклинании или зелье, например, выпиваешь зелье и тебе сначала регенит здоровье минуту, потом ману минуту, потом выносливость минуту. заранее благодарен задавал вопрос никто не ответил (
zilav Опубликовано 30 августа, 2016 Опубликовано 30 августа, 2016 (изменено) 29.08.2016 21:35:21, crimm сказал(-а): задавал вопрос никто не ответил ( Пишете собственный заскриптованный магический эффект, добавляете его в бутылку или заклинание. Первое заклинание применяете сразу в скрипте. Последующие через RegisterForSingleUpdate с заданным временными интервалами. Изменено 30 августа, 2016 пользователем zilav 1
EdgeNito12 Опубликовано 31 августа, 2016 Опубликовано 31 августа, 2016 29.08.2016 21:35:21, crimm сказал(-а): как можно создать цепочку эффектов в заклинании или зелье, например, выпиваешь зелье и тебе сначала регенит здоровье минуту, потом ману минуту, потом выносливость минуту..... .....задавал вопрос никто не ответил ( у спелла все просто: делается 3 эффекта: 1 на восстановление здоровья, 2 ... маны, 2 ... сил. и все они должны быть наложены/применены к цели(тоесть кастеру) одновременно. У эффектов должны быть в условиях действия следующее: если эффект восстановления здоровья действует, то этот эффект не действует == такое условие должно быть у самого эффекта а не у спелла. и время действия эффектов соответственно: на здоровье =x сек, на ману = 2x сек, на силы = 3x сек. те пока действует эффект на здоровье, самый кратковременный из них - остальные неработают по причине условий: эффект восстановление здоровья присутствует на кастере. общая мысль такая. вожно и через скрипт, но не обязательно. 2
crimm Опубликовано 3 сентября, 2016 Опубликовано 3 сентября, 2016 спасибо за идеи надо это обмозговать
Witcherru_222 Опубликовано 5 сентября, 2016 Опубликовано 5 сентября, 2016 Как создать переменную для непися, с которым в данный момент говоришь?
werr Опубликовано 5 сентября, 2016 Опубликовано 5 сентября, 2016 05.09.2016 10:16:32, Witcherru_222 сказал(-а):Как создать переменную для непися, с которым в данный момент говоришь? Ммм... лучше контекст опиши. Что для чего и куда надо? 1 A Random Dude's Story
-Miro- Опубликовано 26 сентября, 2016 Опубликовано 26 сентября, 2016 Кто ни будь знает, скрипт, который сможет запретить пользоваться 3D картой? чтобы нельзя было залезть в неё ни через кнопку M, ни через Твин меню! Skyrim Revival Legends
werr Опубликовано 26 сентября, 2016 Опубликовано 26 сентября, 2016 26.09.2016 02:48:24, AlienSoul сказал(-а): Кто ни будь знает, скрипт, который сможет запретить пользоваться 3D картой? чтобы нельзя было залезть в неё ни через кнопку M, ни через Твин меню! такого скрипта нет, это хардкод часть. карта строится из лодов 32 уровня, поэтому чтобы было не видно карту (вернее просто интерфейс карты, без самого изображения мира), нужно удалить лоды, отвечающие этому уровню детализации. 1 A Random Dude's Story
-Miro- Опубликовано 27 сентября, 2016 Опубликовано 27 сентября, 2016 26.09.2016 22:32:51, werr сказал(-а): такого скрипта нет, это хардкод часть. карта строится из лодов 32 уровня, поэтому чтобы было не видно карту (вернее просто интерфейс карты, без самого изображения мира), нужно удалить лоды, отвечающие этому уровню детализации. как не бывает? в этом моде есть такое, когда ГГ в бою, картой пользоваться нельзя, при заходе в Карту, Карта автоматически закрывается, т.е срабатывает скрипт) Skyrim Revival Legends
werr Опубликовано 28 сентября, 2016 Опубликовано 28 сентября, 2016 27.09.2016 10:52:04, AlienSoul сказал(-а):как не бывает? в этом моде есть такое, когда ГГ в бою, картой пользоваться нельзя, при заходе в Карту, Карта автоматически закрывается, т.е срабатывает скрипт) Странно, не припоминаю ничего по скриптам, что бы могло так работать. Хотя, если он юзает сксе для этого - хз. Ну тогда я не прав. И сразу встречный вопрос: у тебя есть готовое решение на руках, что мешает его посмотреть и проанализировать? Зачем тогда задавать вопрос? 1 A Random Dude's Story
-Miro- Опубликовано 28 сентября, 2016 Опубликовано 28 сентября, 2016 28.09.2016 04:18:59, werr сказал(-а): Странно, не припоминаю ничего по скриптам, что бы могло так работать. Хотя, если он юзает сксе для этого - хз. Ну тогда я не прав. И сразу встречный вопрос: у тебя есть готовое решение на руках, что мешает его посмотреть и проанализировать? Зачем тогда задавать вопрос? имел бы я хорошие знания по скриптам, то уже бы давно сделал, но увы не могу :( я скрипт разбирал и не много понял, но не понял как это все в кучу собрать, мне нужен человек, который поможет с разбором одного скрипта и все Skyrim Revival Legends
werr Опубликовано 28 сентября, 2016 Опубликовано 28 сентября, 2016 28.09.2016 08:46:42, AlienSoul сказал(-а): имел бы я хорошие знания по скриптам, то уже бы давно сделал, но увы не могу :( я скрипт разбирал и не много понял, но не понял как это все в кучу собрать, мне нужен человек, который поможет с разбором одного скрипта и все если хочешь - напиши код тогда сюда. посмотрим. 1 A Random Dude's Story
-Miro- Опубликовано 29 сентября, 2016 Опубликовано 29 сентября, 2016 28.09.2016 10:28:36, werr сказал(-а): если хочешь - напиши код тогда сюда. посмотрим. Воть Scriptname RTT_Menu extends SKI_ConfigBase RTT Property ReadingTakesTime Auto bool isModActive = false bool isReadingActive = true bool isCraftingActive = true bool isContainerActive = true bool isLockpickActive = true bool isTrainingActive = true bool isLevelUpActive = true bool isInventoryActive = true bool isMagicActive = true bool isJournalActive = true bool isMapActive = true bool isBarterActive = true bool isGiftActive = true int isModActiveID int isReadingActiveID int isCraftingActiveID int isContainerActiveID int isLockpickActiveID int isTrainingActiveID int isLevelUpActiveID int isInventoryActiveID int isMagicActiveID int isJournalActiveID int isMapActiveID int isBarterActiveID int isGiftActiveID int showMessageID int dontShowMessageID int expertiseReducesTimeID int cantReadID int readMultID int readingIncreasesSpeechID int readingIncreaseMultID int spellLearnTimeID int cantLootID int lootMultID int pickpocketMultID int cantPickID int pickMultID int headCraftTimeID int armorCraftTimeID int handsCraftTimeID int feetCraftTimeID int shieldCraftTimeID int jewelryCraftTimeID int battleAxeCraftTimeID int bowCraftTimeID int daggerCraftTimeID int greatswordCraftTimeID int maceCraftTimeID int staffCraftTimeID int swordCraftTimeID int warhammerCraftTimeID int warAxeCraftTimeID int weaponCraftTimeID int miscCraftTimeID int armorImproveTimeID int weaponImproveTimeID int potionCraftTimeID int enchantingTimeID int trainingMultID int trainingTimeID int cantLevelUpID int levelUpMultID int levelUpTimeID int inventoryMultID int cantInventoryID int eatTimeID int magicMultID int cantMagicID int journalMultID int cantJournalID int mapMultID int cantMapID int barterMultID int giftMultID int saveID int loadID import FISSFactory Function InitMod() if ( isModActive ) ReadingTakesTime.StartReading = Utility.GetCurrentRealTime() ReadingTakesTime.StopReading = Utility.GetCurrentRealTime() if ( isReadingActive ) RegisterForMenu("Book Menu") else UnregisterForMenu("Book Menu") endIf if ( isCraftingActive ) RegisterForMenu("Crafting Menu") else UnregisterForMenu("Crafting Menu") endIf if ( isContainerActive ) RegisterForMenu("ContainerMenu") ;RegisterForCrosshairRef() else UnregisterForMenu("ContainerMenu") ;UnregisterForCrosshairRef() endIf if ( isLockpickActive ) RegisterForMenu("Lockpicking Menu") else UnregisterForMenu("Lockpicking Menu") endIf if ( isTrainingActive ) RegisterForMenu("Training Menu") else UnregisterForMenu("Training Menu") endIf if ( isLevelUpActive ) RegisterForMenu("StatsMenu") else UnregisterForMenu("StatsMenu") endIf if ( isInventoryActive ) RegisterForMenu("InventoryMenu") else UnregisterForMenu("InventoryMenu") endIf if ( isMagicActive ) RegisterForMenu("MagicMenu") else UnregisterForMenu("MagicMenu") endIf if ( isJournalActive ) RegisterForMenu("Journal Menu") ReadingTakesTime.StartReading = Utility.GetCurrentRealTime() ReadingTakesTime.StopReading = Utility.GetCurrentRealTime() else UnregisterForMenu("Journal Menu") endIf if ( isMapActive ) RegisterForMenu("MapMenu") else UnregisterForMenu("MapMenu") endIf if ( isBarterActive ) RegisterForMenu("BarterMenu") else UnregisterForMenu("BarterMenu") endIf if ( isGiftActive ) RegisterForMenu("GiftMenu") else UnregisterForMenu("GiftMenu") endIf else UnregisterForAllMenus() UnregisterForCrosshairRef() endIf ReadingTakesTime.InitStats(isModActive) EndFunction Function SaveSettings() FISSInterface fiss = FISSFactory.getFISS() If !fiss debug.MessageBox("$FISS not installed. Saving disabled") return endif fiss.beginSave("LTT\\LTTSettings.xml", "LivingTakesTime") fiss.saveBool("isModActive", isModActive) fiss.saveBool("isReadingActive", isReadingActive) fiss.saveBool("isCraftingActive", isCraftingActive) fiss.saveBool("isContainerActive", isContainerActive) fiss.saveBool("isLockpickActive", isLockpickActive) fiss.saveBool("isTrainingActive", isTrainingActive) fiss.saveBool("isLevelUpActive", isLevelUpActive) fiss.saveBool("isInventoryActive", isInventoryActive) fiss.saveBool("isMagicActive", isMagicActive) fiss.saveBool("isJournalActive", isJournalActive) fiss.saveBool("isMapActive", isMapActive) fiss.saveBool("isBarterActive", isBarterActive) fiss.saveBool("isGiftActive", isGiftActive) fiss.saveBool("cantLoot", ReadingTakesTime.cantLoot) fiss.saveBool("cantPick", ReadingTakesTime.cantPick) fiss.saveBool("showMessage", ReadingTakesTime.showMessage) fiss.saveBool("dontShowMessage", ReadingTakesTime.dontShowMessage) fiss.saveBool("expertiseReducesTime", ReadingTakesTime.expertiseReducesTime) fiss.saveBool("cantRead", ReadingTakesTime.cantRead) fiss.saveBool("readingIncreasesSpeech", ReadingTakesTime.readingIncreasesSpeech) fiss.saveBool("cantLevelUp", ReadingTakesTime.cantLevelUp) fiss.saveBool("cantInventory", ReadingTakesTime.cantInventory) fiss.saveBool("cantMagic", ReadingTakesTime.cantMagic) fiss.saveBool("cantJournal", ReadingTakesTime.cantJournal) fiss.saveBool("cantMap", ReadingTakesTime.cantMap) fiss.saveFloat("readMult", ReadingTakesTime.readMult) fiss.saveFloat("readingIncreaseMult", ReadingTakesTime.readingIncreaseMult) fiss.saveFloat("spellLearnTime", ReadingTakesTime.spellLearnTime) fiss.saveFloat("headCraftTime", ReadingTakesTime.headCraftTime) fiss.saveFloat("armorCraftTime", ReadingTakesTime.armorCraftTime) fiss.saveFloat("handsCraftTime", ReadingTakesTime.handsCraftTime) fiss.saveFloat("feetCraftTime", ReadingTakesTime.feetCraftTime) fiss.saveFloat("shieldCraftTime", ReadingTakesTime.shieldCraftTime) fiss.saveFloat("jewelryCraftTime", ReadingTakesTime.jewelryCraftTime) fiss.saveFloat("battleAxeCraftTime", ReadingTakesTime.battleAxeCraftTime) fiss.saveFloat("bowCraftTime", ReadingTakesTime.bowCraftTime) fiss.saveFloat("daggerCraftTime", ReadingTakesTime.daggerCraftTime) fiss.saveFloat("greatswordCraftTime", ReadingTakesTime.greatswordCraftTime) fiss.saveFloat("maceCraftTime", ReadingTakesTime.maceCraftTime) fiss.saveFloat("staffCraftTime", ReadingTakesTime.staffCraftTime) fiss.saveFloat("swordCraftTime", ReadingTakesTime.swordCraftTime) fiss.saveFloat("warhammerCraftTime", ReadingTakesTime.warhammerCraftTime) fiss.saveFloat("warAxeCraftTime", ReadingTakesTime.warAxeCraftTime) fiss.saveFloat("weaponCraftTime", ReadingTakesTime.weaponCraftTime) fiss.saveFloat("miscCraftTime", ReadingTakesTime.miscCraftTime) fiss.saveFloat("armorImproveTime", ReadingTakesTime.armorImproveTime) fiss.saveFloat("weaponImproveTime", ReadingTakesTime.weaponImproveTime) fiss.saveFloat("enchantingTime", ReadingTakesTime.enchantingTime) fiss.saveFloat("potionCraftTime", ReadingTakesTime.potionCraftTime) fiss.saveFloat("lootMult", ReadingTakesTime.lootMult) fiss.saveFloat("pickMult", ReadingTakesTime.pickMult) fiss.saveFloat("pickpocketMult", ReadingTakesTime.pickpocketMult) fiss.saveFloat("trainingMult", ReadingTakesTime.trainingMult) fiss.saveFloat("trainingTime", ReadingTakesTime.trainingTime) fiss.saveFloat("levelUpMult", ReadingTakesTime.levelUpMult) fiss.saveFloat("levelUpTime", ReadingTakesTime.levelUpTime) fiss.saveFloat("inventoryMult", ReadingTakesTime.inventoryMult) fiss.saveFloat("eatTime", ReadingTakesTime.eatTime) fiss.saveFloat("magicMult", ReadingTakesTime.magicMult) fiss.saveFloat("journalMult", ReadingTakesTime.journalMult) fiss.saveFloat("mapMult", ReadingTakesTime.mapMult) fiss.saveFloat("barterMult", ReadingTakesTime.barterMult) fiss.saveFloat("giftMult", ReadingTakesTime.giftMult) string saveResult = fiss.endSave() if saveResult != "" debug.Trace(saveResult) endif EndFunction Function LoadSettings() FISSInterface fiss = FISSFactory.getFISS() If !fiss debug.MessageBox("FISS not installed. Loading disabled") return endif fiss.beginLoad("LTT\\LTTSettings.xml") isModActive = fiss.loadBool("isModActive") isReadingActive = fiss.loadBool("isReadingActive") isCraftingActive = fiss.loadBool("isCraftingActive") isContainerActive = fiss.loadBool("isContainerActive") isLockpickActive = fiss.loadBool("isLockpickActive") isTrainingActive = fiss.loadBool("isTrainingActive") isLevelUpActive = fiss.loadBool("isLevelUpActive") isInventoryActive = fiss.loadBool("isInventoryActive") isMagicActive = fiss.loadBool("isMagicActive") isJournalActive = fiss.loadBool("isJournalActive") isMapActive = fiss.loadBool("isMapActive") isBarterActive = fiss.loadBool("isBarterActive") isGiftActive = fiss.loadBool("isGiftActive") ReadingTakesTime.cantLoot = fiss.loadBool("cantLoot") ReadingTakesTime.cantPick = fiss.loadBool("cantPick") ReadingTakesTime.showMessage = fiss.loadBool("showMessage") ReadingTakesTime.dontShowMessage = fiss.loadBool("dontShowMessage") ReadingTakesTime.expertiseReducesTime = fiss.loadBool("expertiseReducesTime") ReadingTakesTime.cantRead = fiss.loadBool("cantRead") ReadingTakesTime.readingIncreasesSpeech = fiss.loadBool("readingIncreasesSpeech") ReadingTakesTime.cantLevelUp = fiss.loadBool("cantLevelUp") ReadingTakesTime.cantInventory = fiss.loadBool("cantInventory") ReadingTakesTime.cantMagic = fiss.loadBool("cantMagic") ReadingTakesTime.cantJournal = fiss.loadBool("cantJournal") ReadingTakesTime.cantMap = fiss.loadBool("cantMap") ReadingTakesTime.readMult = fiss.loadFloat("readMult") ReadingTakesTime.readingIncreaseMult = fiss.loadFloat("readingIncreaseMult") ReadingTakesTime.spellLearnTime = fiss.loadFloat("spellLearnTime") ReadingTakesTime.headCraftTime = fiss.loadFloat("headCraftTime") ReadingTakesTime.armorCraftTime = fiss.loadFloat("armorCraftTime") ReadingTakesTime.handsCraftTime = fiss.loadFloat("handsCraftTime") ReadingTakesTime.feetCraftTime = fiss.loadFloat("feetCraftTime") ReadingTakesTime.shieldCraftTime = fiss.loadFloat("shieldCraftTime") ReadingTakesTime.jewelryCraftTime = fiss.loadFloat("jewelryCraftTime") ReadingTakesTime.battleAxeCraftTime = fiss.loadFloat("battleAxeCraftTime") ReadingTakesTime.bowCraftTime = fiss.loadFloat("bowCraftTime") ReadingTakesTime.daggerCraftTime = fiss.loadFloat("daggerCraftTime") ReadingTakesTime.greatswordCraftTime = fiss.loadFloat("greatswordCraftTime") ReadingTakesTime.maceCraftTime = fiss.loadFloat("maceCraftTime") ReadingTakesTime.staffCraftTime = fiss.loadFloat("staffCraftTime") ReadingTakesTime.swordCraftTime = fiss.loadFloat("swordCraftTime") ReadingTakesTime.warhammerCraftTime = fiss.loadFloat("warhammerCraftTime") ReadingTakesTime.warAxeCraftTime = fiss.loadFloat("warAxeCraftTime") ReadingTakesTime.weaponCraftTime = fiss.loadFloat("weaponCraftTime") ReadingTakesTime.miscCraftTime = fiss.loadFloat("miscCraftTime") ReadingTakesTime.armorImproveTime = fiss.loadFloat("armorImproveTime") ReadingTakesTime.weaponImproveTime = fiss.loadFloat("weaponImproveTime") ReadingTakesTime.enchantingTime = fiss.loadFloat("enchantingTime") ReadingTakesTime.potionCraftTime = fiss.loadFloat("potionCraftTime") ReadingTakesTime.lootMult = fiss.loadFloat("lootMult") ReadingTakesTime.pickMult = fiss.loadFloat("pickMult") ReadingTakesTime.pickpocketMult = fiss.loadFloat("pickpocketMult") ReadingTakesTime.trainingMult = fiss.loadFloat("trainingMult") ReadingTakesTime.trainingTime = fiss.loadFloat("trainingTime") ReadingTakesTime.levelUpMult = fiss.loadFloat("levelUpMult") ReadingTakesTime.levelUpTime = fiss.loadFloat("levelUpTime") ReadingTakesTime.inventoryMult = fiss.loadFloat("inventoryMult") ReadingTakesTime.eatTime = fiss.loadFloat("eatTime") ReadingTakesTime.magicMult = fiss.loadFloat("magicMult") ReadingTakesTime.journalMult = fiss.loadFloat("journalMult") ReadingTakesTime.mapMult = fiss.loadFloat("mapMult") ReadingTakesTime.barterMult = fiss.loadFloat("barterMult") ReadingTakesTime.giftMult = fiss.loadFloat("giftMult") string loadResult = fiss.endLoad() if loadResult != "" debug.Trace(loadResult) endif InitMod() EndFunction int function GetVersion() return 6 endFunction event OnConfigInit() ModName = "Living Takes Time" Pages = new string[7] Pages[0] = "General" Pages[1] = "Reading" Pages[2] = "Crafting" Pages[3] = "Looting" Pages[4] = "Training" Pages[5] = "Preparing" Pages[6] = "Trading" ReadingTakesTime.StartReading = Utility.GetCurrentRealTime() ReadingTakesTime.StopReading = Utility.GetCurrentRealTime() UnregisterForAllMenus() ;UnregisterForCrosshairRef() RegisterForMenu("Book Menu") RegisterForMenu("Crafting Menu") RegisterForMenu("ContainerMenu") ;RegisterForCrosshairRef() RegisterForMenu("Lockpicking Menu") RegisterForMenu("Training Menu") RegisterForMenu("StatsMenu") RegisterForMenu("InventoryMenu") RegisterForMenu("MagicMenu") RegisterForMenu("Journal Menu") RegisterForMenu("MapMenu") RegisterForMenu("BarterMenu") RegisterForMenu("GiftMenu") ReadingTakesTime.showMessage = True ReadingTakesTime.dontShowMessage = True ReadingTakesTime.cantRead = True ReadingTakesTime.readMult = 1 ReadingTakesTime.armorCraftTime = 4 ReadingTakesTime.weaponCraftTime = 4 ReadingTakesTime.armorImproveTime = 1 ReadingTakesTime.weaponImproveTime = 1 ReadingTakesTime.enchantingTime = 1 ReadingTakesTime.potionCraftTime = 1 ReadingTakesTime.cantLoot = True ReadingTakesTime.lootMult = 1 ReadingTakesTime.cantPick = True ReadingTakesTime.pickMult = 1 ReadingTakesTime.trainingMult = 1 ReadingTakesTime.trainingTime = 2 ReadingTakesTime.cantLevelUp = True ReadingTakesTime.levelUpMult = 1 ReadingTakesTime.levelUpTime = 1 ReadingTakesTime.cantInventory = True ReadingTakesTime.inventoryMult = 1 ReadingTakesTime.eatTime = 5 ReadingTakesTime.cantMagic = True ReadingTakesTime.magicMult = 1 ReadingTakesTime.cantJournal = True ReadingTakesTime.journalMult = 1 ReadingTakesTime.cantMap = True ReadingTakesTime.mapMult = 1 ReadingTakesTime.barterMult = 1 ReadingTakesTime.giftMult = 1 isModActive = false isReadingActive = true isCraftingActive = true isContainerActive = true isLockpickActive = true isTrainingActive = true isLevelUpActive = true isInventoryActive = true isMagicActive = true isJournalActive = true isMapActive = true isBarterActive = true isGiftActive = true endEvent event OnVersionUpdate(int version) if (version > 2) ReadingTakesTime.isInventoryActive = isInventoryActive ReadingTakesTime.headCraftTime = 3 ReadingTakesTime.armorCraftTime = 6 ReadingTakesTime.handsCraftTime = 3 ReadingTakesTime.feetCraftTime = 3 ReadingTakesTime.shieldCraftTime = 4 ReadingTakesTime.jewelryCraftTime = 2 ReadingTakesTime.battleAxeCraftTime = 4 ReadingTakesTime.bowCraftTime = 4 ReadingTakesTime.daggerCraftTime = 3 ReadingTakesTime.greatswordCraftTime = 4 ReadingTakesTime.maceCraftTime = 4 ReadingTakesTime.staffCraftTime = 2 ReadingTakesTime.swordCraftTime = 4 ReadingTakesTime.warhammerCraftTime = 4 ReadingTakesTime.warAxeCraftTime = 4 ReadingTakesTime.weaponCraftTime = 2 ReadingTakesTime.miscCraftTime = 0.5 ReadingTakesTime.chopTime = 5 endIf if (version > 3) ReadingTakesTime.expertiseReducesTime = True ReadingTakesTime.readingIncreasesSpeech = True ReadingTakesTime.readingIncreaseMult = 1 endIf if (version > 4) ReadingTakesTime.pickpocketMult = 1 endIf if (version > 5) Pages[0] = "$General" Pages[1] = "$Reading" Pages[2] = "$Crafting" Pages[3] = "$Looting" Pages[4] = "$Training" Pages[5] = "$Preparing" Pages[6] = "$Trading" ReadingTakesTime.spellLearnTime = 2 InitMod() endIf endEvent event OnGameReload() parent.OnGameReload() ; Don't forget to call the parent! InitMod() endEvent event OnPageReset(string page) if (page == "") LoadCustomContent("LivingTakesTime/LTThome.dds",26,23) return else UnloadCustomContent() endIf if (page == "$General") SetCursorFillMode(TOP_TO_BOTTOM) AddHeaderOption("$Options") isModActiveID = AddToggleOption("$Activate Mod?", isModActive) showMessageID = AddToggleOption("$Show message notifications?", ReadingTakesTime.showMessage) dontShowMessageID = AddToggleOption("$No notifications if no time has passed?", ReadingTakesTime.dontShowMessage) expertiseReducesTimeID = AddToggleOption("$Expertise reduces time?", ReadingTakesTime.expertiseReducesTime) SetCursorPosition(1) AddHeaderOption("$Save & Load") FISSInterface fiss = FISSFactory.getFISS() int SaveFlag = OPTION_FLAG_NONE int LoadFlag = OPTION_FLAG_NONE if !fiss SaveFlag = OPTION_FLAG_DISABLED LoadFlag = OPTION_FLAG_DISABLED else fiss.beginLoad("LTT\\LTTSettings.xml") if fiss.endLoad() != "" LoadFlag = OPTION_FLAG_DISABLED endIf endif saveID = AddTextOption("$Save settings", "", SaveFlag) loadID = AddTextOption("$Load settings", "", LoadFlag) elseif (page == "$Reading") SetCursorFillMode(TOP_TO_BOTTOM) AddHeaderOption("$Options") isReadingActiveID = AddToggleOption("$Reading Takes Time?", isReadingActive) readMultID = AddSliderOption("$Time Multiplier", ReadingTakesTime.readMult,"$x{2}") cantReadID = AddToggleOption("$Block read while in combat?", ReadingTakesTime.cantRead) readingIncreasesSpeechID = AddToggleOption("$Reading increases speech?", ReadingTakesTime.readingIncreasesSpeech) readingIncreaseMultID = AddSliderOption("$Reading increase Multiplier", ReadingTakesTime.readingIncreaseMult,"$x{2}") spellLearnTimeID = AddSliderOption("$Learning Spell Time", ReadingTakesTime.spellLearnTime,"${1} hour(s)") elseIf (page == "$Crafting") SetCursorFillMode(TOP_TO_BOTTOM) AddHeaderOption("$Options") isCraftingActiveID = AddToggleOption("$Crafting Takes Time?", isCraftingActive) AddHeaderOption("$Armors, Shields and Jewels") armorImproveTimeID = AddSliderOption("$Improving Time", ReadingTakesTime.armorImproveTime,"${1} hour(s)") headCraftTimeID = AddSliderOption("$Helmet & Circlet Crafting Time", ReadingTakesTime.headCraftTime,"${1} hour(s)") armorCraftTimeID = AddSliderOption("$Cuirass & Clothes Crafting Time", ReadingTakesTime.armorCraftTime,"${1} hour(s)") handsCraftTimeID = AddSliderOption("$Bracers & Gloves Crafting Time", ReadingTakesTime.handsCraftTime,"${1} hour(s)") feetCraftTimeID = AddSliderOption("$Boots & Shoes Crafting Time", ReadingTakesTime.feetCraftTime,"${1} hour(s)") shieldCraftTimeID = AddSliderOption("$Shield Crafting Time", ReadingTakesTime.shieldCraftTime,"${1} hour(s)") jewelryCraftTimeID = AddSliderOption("$Jewelry Crafting Time", ReadingTakesTime.jewelryCraftTime,"${1} hour(s)") AddHeaderOption("$Tanning, Smelting and Misc") miscCraftTimeID = AddSliderOption("$Crafting Time", ReadingTakesTime.miscCraftTime,"${1} hour(s)") AddHeaderOption("$Enchanting") enchantingTimeID = AddSliderOption("$Crafting Time", ReadingTakesTime.enchantingTime,"${1} hour(s)") AddHeaderOption("$Potions, Poisons and Food") potionCraftTimeID = AddSliderOption("$Crafting Time", ReadingTakesTime.potionCraftTime,"${1} hour(s)") SetCursorPosition(5) AddHeaderOption("$Weapons") weaponImproveTimeID = AddSliderOption("$Improving Time", ReadingTakesTime.weaponImproveTime,"${1} hour(s)") battleAxeCraftTimeID = AddSliderOption("$Battle Axe Crafting Time", ReadingTakesTime.battleAxeCraftTime,"${1} hour(s)") bowCraftTimeID = AddSliderOption("$Bow Crafting Time", ReadingTakesTime.bowCraftTime,"${1} hour(s)") daggerCraftTimeID = AddSliderOption("$Dagger Crafting Time", ReadingTakesTime.daggerCraftTime,"${1} hour(s)") greatswordCraftTimeID = AddSliderOption("$Greatsword Crafting Time", ReadingTakesTime.greatswordCraftTime,"${1} hour(s)") maceCraftTimeID = AddSliderOption("$Mace Crafting Time", ReadingTakesTime.maceCraftTime,"${1} hour(s)") staffCraftTimeID = AddSliderOption("$Staff Crafting Time", ReadingTakesTime.staffCraftTime,"${1} hour(s)") swordCraftTimeID = AddSliderOption("$Sword Crafting Time", ReadingTakesTime.swordCraftTime,"${1} hour(s)") warhammerCraftTimeID = AddSliderOption("$Warhammer Crafting Time", ReadingTakesTime.warhammerCraftTime,"${1} hour(s)") warAxeCraftTimeID = AddSliderOption("$War Axe Crafting Time", ReadingTakesTime.warAxeCraftTime,"${1} hour(s)") weaponCraftTimeID = AddSliderOption("$Ammo Crafting Time", ReadingTakesTime.weaponCraftTime,"${1} hour(s)") elseIf (page == "$Looting") SetCursorFillMode(LEFT_TO_RIGHT) AddHeaderOption("$Containers, Dead Bodies and Pickpocket") AddHeaderOption("$Lockpicking") isContainerActiveID = AddToggleOption("$Looting Takes Time?", isContainerActive) isLockpickActiveID = AddToggleOption("$Lockpicking Takes Time?", isLockpickActive) lootMultID = AddSliderOption("$Time Multiplier", ReadingTakesTime.lootMult,"$x{2}") pickMultID = AddSliderOption("$Time Multiplier", ReadingTakesTime.pickMult,"$x{2}") cantLootID = AddToggleOption("$Block looting while in combat?", ReadingTakesTime.cantLoot) cantPickID = AddToggleOption("$Block lockpicking while in combat?", ReadingTakesTime.cantPick) pickpocketMultID = AddSliderOption("$Pickpocket Time Multiplier", ReadingTakesTime.pickpocketMult,"$x{2}") elseIf (page == "$Training") SetCursorFillMode(LEFT_TO_RIGHT) AddHeaderOption("$Training") AddHeaderOption("$Level Up") isTrainingActiveID = AddToggleOption("$Training Takes Time?", isTrainingActive) isLevelUpActiveID = AddToggleOption("$Leveling Up Takes Time?", isLevelUpActive) trainingMultID = AddSliderOption("$Time Multiplier", ReadingTakesTime.trainingMult,"$x{2}") levelUpMultID = AddSliderOption("$Time Multiplier", ReadingTakesTime.levelUpMult,"$x{2}") trainingTimeID = AddSliderOption("$Training Time", ReadingTakesTime.trainingTime,"${1} hour(s)") SetCursorFillMode(TOP_TO_BOTTOM) levelUpTimeID = AddSliderOption("$Level Up Time", ReadingTakesTime.levelUpTime,"${1} hour(s)") cantLevelUpID = AddToggleOption("$Block leveling while in combat?", ReadingTakesTime.cantLevelUp) elseIf (page == "$Preparing") SetCursorFillMode(LEFT_TO_RIGHT) AddHeaderOption("$Inventory") AddHeaderOption("$Magic") isInventoryActiveID = AddToggleOption("$Inventory Takes Time?", isInventoryActive) isMagicActiveID = AddToggleOption("$Magic Menu Takes Time?", isMagicActive) inventoryMultID = AddSliderOption("$Time Multiplier", ReadingTakesTime.inventoryMult,"$x{2}") magicMultID = AddSliderOption("$Time Multiplier", ReadingTakesTime.magicMult,"$x{2}") cantInventoryID = AddToggleOption("$Block inventory while in combat?", ReadingTakesTime.cantInventory) cantMagicID = AddToggleOption("$Block magic menu while in combat?", ReadingTakesTime.cantMagic) SetCursorFillMode(TOP_TO_BOTTOM) eatTimeID = AddSliderOption("$Eating Time", ReadingTakesTime.eatTime,"${0} Minute(s)") SetCursorFillMode(LEFT_TO_RIGHT) AddHeaderOption("$Journal") AddHeaderOption("$Map") isJournalActiveID = AddToggleOption("$Journal Takes Time?", isJournalActive) isMapActiveID = AddToggleOption("$Map Takes Time?", isMapActive) journalMultID = AddSliderOption("$Time Multiplier", ReadingTakesTime.journalMult,"$x{2}") mapMultID = AddSliderOption("$Time Multiplier", ReadingTakesTime.mapMult,"$x{2}") cantJournalID = AddToggleOption("$Block journal while in combat?", ReadingTakesTime.cantJournal) cantMapID = AddToggleOption("$Block map menu while in combat?", ReadingTakesTime.cantMap) elseIf (page == "$Trading") SetCursorFillMode(LEFT_TO_RIGHT) AddHeaderOption("$Barter") AddHeaderOption("$Gift") isBarterActiveID = AddToggleOption("$Barter Takes Time?", isBarterActive) isGiftActiveID = AddToggleOption("$Gifting Takes Time?", isGiftActive) barterMultID = AddSliderOption("$Time Multiplier", ReadingTakesTime.barterMult,"$x{2}") giftMultID = AddSliderOption("$Time Multiplier", ReadingTakesTime.giftMult,"$x{2}") endIf endEvent event OnOptionSelect(int option) if (option == saveID) Bool Choice = ShowMessage("$Save Settings?", True, "$Save", "$Cancel") if (Choice) SaveSettings() ForcePageReset() endif endif if (option == loadID) Bool Choice = ShowMessage("$Load Settings?", True, "$Load", "$Cancel") if (Choice) LoadSettings() ForcePageReset() endif endif if ( option == isModActiveID ) isModActive= !isModActive SetToggleOptionValue(isModActiveID , isModActive) InitMod() elseif ( option == isReadingActiveID ) isReadingActive = !isReadingActive SetToggleOptionValue(isReadingActiveID, isReadingActive) if ( isReadingActive ) RegisterForMenu("Book Menu") else UnregisterForMenu("Book Menu") endIf elseif ( option == isCraftingActiveID ) isCraftingActive = !isCraftingActive SetToggleOptionValue(isCraftingActiveID, isCraftingActive ) if ( isCraftingActive ) RegisterForMenu("Crafting Menu") else UnregisterForMenu("Crafting Menu") endIf elseif ( option == isContainerActiveID ) isContainerActive = !isContainerActive SetToggleOptionValue(isContainerActiveID, isContainerActive ) if ( isContainerActive ) RegisterForMenu("ContainerMenu") ;RegisterForCrosshairRef() else UnregisterForMenu("ContainerMenu") ;UnregisterForCrosshairRef() endIf elseif ( option == isLockpickActiveID ) isLockpickActive = !isLockpickActive SetToggleOptionValue(isLockpickActiveID, isLockpickActive ) if ( isLockpickActive ) RegisterForMenu("Lockpicking Menu") else UnregisterForMenu("Lockpicking Menu") endIf elseif ( option == isTrainingActiveID ) isTrainingActive = !isTrainingActive SetToggleOptionValue(isTrainingActiveID, isTrainingActive ) if ( isTrainingActive) RegisterForMenu("Training Menu") else UnregisterForMenu("Training Menu") endIf elseif ( option == isLevelUpActiveID ) isLevelUpActive = !isLevelUpActive SetToggleOptionValue(isLevelUpActiveID, isLevelUpActive ) if ( isLevelUpActive ) RegisterForMenu("StatsMenu") else UnregisterForMenu("StatsMenu") endIf elseif ( option == isInventoryActiveID) isInventoryActive = !isInventoryActive ReadingTakesTime.isInventoryActive = isInventoryActive SetToggleOptionValue(isInventoryActiveID, isInventoryActive ) if ( isInventoryActive ) RegisterForMenu("InventoryMenu") else UnregisterForMenu("InventoryMenu") endIf elseif ( option == isMagicActiveID) isMagicActive = !isMagicActive SetToggleOptionValue(isMagicActiveID, isMagicActive ) if ( isMagicActive ) RegisterForMenu("MagicMenu") else UnregisterForMenu("MagicMenu") endIf elseif ( option == isJournalActiveID) isJournalActive = !isJournalActive SetToggleOptionValue(isJournalActiveID, isJournalActive ) if ( isJournalActive ) RegisterForMenu("Journal Menu") ReadingTakesTime.StartReading = Utility.GetCurrentRealTime() ReadingTakesTime.StopReading = Utility.GetCurrentRealTime() else UnregisterForMenu("Journal Menu") endIf elseif ( option == isMapActiveID ) isMapActive = !isMapActive SetToggleOptionValue(isMapActiveID, isMapActive ) if ( isMapActive ) RegisterForMenu("MapMenu") else UnregisterForMenu("MapMenu") endIf elseif ( option == isBarterActiveID ) isBarterActive = !isBarterActive SetToggleOptionValue(isBarterActiveID, isBarterActive ) if ( isBarterActive ) RegisterForMenu("BarterMenu") else UnregisterForMenu("BarterMenu") endIf elseif ( option == isGiftActiveID ) isGiftActive = !isGiftActive SetToggleOptionValue(isGiftActiveID, isGiftActive ) if ( isGiftActive ) RegisterForMenu("GiftMenu") else UnregisterForMenu("GiftMenu") endIf elseif ( option == cantLootID ) ReadingTakesTime.cantLoot = !ReadingTakesTime.cantLoot SetToggleOptionValue(cantLootID, ReadingTakesTime.cantLoot) elseif ( option == cantPickID ) ReadingTakesTime.cantPick = !ReadingTakesTime.cantPick SetToggleOptionValue(cantPickID, ReadingTakesTime.cantPick) elseif ( option == showMessageID ) ReadingTakesTime.showMessage = !ReadingTakesTime.showMessage SetToggleOptionValue(showMessageID , ReadingTakesTime.showMessage) elseif ( option == dontShowMessageID ) ReadingTakesTime.dontShowMessage = !ReadingTakesTime.dontShowMessage SetToggleOptionValue(dontShowMessageID, ReadingTakesTime.dontShowMessage ) elseif ( option == expertiseReducesTimeID ) ReadingTakesTime.expertiseReducesTime = !ReadingTakesTime.expertiseReducesTime SetToggleOptionValue(expertiseReducesTimeID, ReadingTakesTime.expertiseReducesTime ) elseif ( option == cantReadID) ReadingTakesTime.cantRead = !ReadingTakesTime.cantRead SetToggleOptionValue(cantReadID, ReadingTakesTime.cantRead) elseif ( option == readingIncreasesSpeechID) ReadingTakesTime.readingIncreasesSpeech = !ReadingTakesTime.readingIncreasesSpeech SetToggleOptionValue(readingIncreasesSpeechID, ReadingTakesTime.readingIncreasesSpeech) elseif ( option == cantLevelUpID) ReadingTakesTime.cantLevelUp = !ReadingTakesTime.cantLevelUp SetToggleOptionValue(cantLevelUpID, ReadingTakesTime.cantLevelUp) elseif ( option == cantInventoryID) ReadingTakesTime.cantInventory = !ReadingTakesTime.cantInventory SetToggleOptionValue(cantInventoryID, ReadingTakesTime.cantInventory) elseif ( option == cantMagicID) ReadingTakesTime.cantMagic = !ReadingTakesTime.cantMagic SetToggleOptionValue(cantMagicID, ReadingTakesTime.cantMagic) elseif ( option == cantJournalID) ReadingTakesTime.cantJournal = !ReadingTakesTime.cantJournal SetToggleOptionValue(cantJournalID, ReadingTakesTime.cantJournal) elseif ( option == cantMapID) ReadingTakesTime.cantMap = !ReadingTakesTime.cantMap SetToggleOptionValue(cantMapID, ReadingTakesTime.cantMap) endIf endEvent event OnOptionSliderOpen(int option) if (option == readMultID ) SetSliderDialogStartValue(ReadingTakesTime.readMult) SetSliderDialogDefaultValue(1.00) SetSliderDialogRange(0.00, 4.00) SetSliderDialogInterval(0.05) elseif (option == readingIncreaseMultID ) SetSliderDialogStartValue(ReadingTakesTime.readingIncreaseMult) SetSliderDialogDefaultValue(1.0) SetSliderDialogRange(0.0, 10.0) SetSliderDialogInterval(0.1) elseif (option == spellLearnTimeID ) SetSliderDialogStartValue(ReadingTakesTime.spellLearnTime) SetSliderDialogDefaultValue(2.0) SetSliderDialogRange(0.0, 24.0) SetSliderDialogInterval(0.1) elseif (option == headCraftTimeID ) SetSliderDialogStartValue(ReadingTakesTime.headCraftTime) SetSliderDialogDefaultValue(3.0) SetSliderDialogRange(0.0, 24.0) SetSliderDialogInterval(0.1) elseif (option == armorCraftTimeID ) SetSliderDialogStartValue(ReadingTakesTime.armorCraftTime) SetSliderDialogDefaultValue(6.0) SetSliderDialogRange(0.0, 24.0) SetSliderDialogInterval(0.1) elseif (option == handsCraftTimeID ) SetSliderDialogStartValue(ReadingTakesTime.handsCraftTime) SetSliderDialogDefaultValue(3.0) SetSliderDialogRange(0.0, 24.0) SetSliderDialogInterval(0.1) elseif (option == feetCraftTimeID ) SetSliderDialogStartValue(ReadingTakesTime.feetCraftTime) SetSliderDialogDefaultValue(3.0) SetSliderDialogRange(0.0, 24.0) SetSliderDialogInterval(0.1) elseif (option == shieldCraftTimeID ) SetSliderDialogStartValue(ReadingTakesTime.shieldCraftTime) SetSliderDialogDefaultValue(4.0) SetSliderDialogRange(0.0, 24.0) SetSliderDialogInterval(0.1) elseif (option == jewelryCraftTimeID ) SetSliderDialogStartValue(ReadingTakesTime.jewelryCraftTime) SetSliderDialogDefaultValue(2.0) SetSliderDialogRange(0.0, 24.0) SetSliderDialogInterval(0.1) elseIf (option == battleAxeCraftTimeID ) SetSliderDialogStartValue(ReadingTakesTime.battleAxeCraftTime) SetSliderDialogDefaultValue(4.0) SetSliderDialogRange(0.0, 24.0) SetSliderDialogInterval(0.1) elseIf (option == bowCraftTimeID ) SetSliderDialogStartValue(ReadingTakesTime.bowCraftTime) SetSliderDialogDefaultValue(4.0) SetSliderDialogRange(0.0, 24.0) SetSliderDialogInterval(0.1) elseIf (option == daggerCraftTimeID ) SetSliderDialogStartValue(ReadingTakesTime.daggerCraftTime) SetSliderDialogDefaultValue(3.0) SetSliderDialogRange(0.0, 24.0) SetSliderDialogInterval(0.1) elseIf (option == greatswordCraftTimeID ) SetSliderDialogStartValue(ReadingTakesTime.greatswordCraftTime) SetSliderDialogDefaultValue(4.0) SetSliderDialogRange(0.0, 24.0) SetSliderDialogInterval(0.1) elseIf (option == maceCraftTimeID ) SetSliderDialogStartValue(ReadingTakesTime.maceCraftTime) SetSliderDialogDefaultValue(4.0) SetSliderDialogRange(0.0, 24.0) SetSliderDialogInterval(0.1) elseIf (option == staffCraftTimeID ) SetSliderDialogStartValue(ReadingTakesTime.staffCraftTime) SetSliderDialogDefaultValue(2.0) SetSliderDialogRange(0.0, 24.0) SetSliderDialogInterval(0.1) elseIf (option == swordCraftTimeID ) SetSliderDialogStartValue(ReadingTakesTime.swordCraftTime) SetSliderDialogDefaultValue(4.0) SetSliderDialogRange(0.0, 24.0) SetSliderDialogInterval(0.1) elseIf (option == warhammerCraftTimeID ) SetSliderDialogStartValue(ReadingTakesTime.warhammerCraftTime) SetSliderDialogDefaultValue(4.0) SetSliderDialogRange(0.0, 24.0) SetSliderDialogInterval(0.1) elseIf (option == warAxeCraftTimeID ) SetSliderDialogStartValue(ReadingTakesTime.warAxeCraftTime) SetSliderDialogDefaultValue(4.0) SetSliderDialogRange(0.0, 24.0) SetSliderDialogInterval(0.1) elseIf (option == weaponCraftTimeID ) SetSliderDialogStartValue(ReadingTakesTime.weaponCraftTime) SetSliderDialogDefaultValue(2.0) SetSliderDialogRange(0.0, 24.0) SetSliderDialogInterval(0.1) elseIf (option == miscCraftTimeID ) SetSliderDialogStartValue(ReadingTakesTime.miscCraftTime) SetSliderDialogDefaultValue(1.0) SetSliderDialogRange(0.0, 24.0) SetSliderDialogInterval(0.1) elseIf (option == armorImproveTimeID ) SetSliderDialogStartValue(ReadingTakesTime.armorImproveTime) SetSliderDialogDefaultValue(1.0) SetSliderDialogRange(0.0, 24.0) SetSliderDialogInterval(0.1) elseIf (option == weaponImproveTimeID ) SetSliderDialogStartValue(ReadingTakesTime.weaponImproveTime) SetSliderDialogDefaultValue(1.0) SetSliderDialogRange(0.0, 24.0) SetSliderDialogInterval(0.1) elseIf (option == enchantingTimeID ) SetSliderDialogStartValue(ReadingTakesTime.enchantingTime) SetSliderDialogDefaultValue(1.0) SetSliderDialogRange(0.0, 24.0) SetSliderDialogInterval(0.1) elseIf (option == potionCraftTimeID ) SetSliderDialogStartValue(ReadingTakesTime.potionCraftTime) SetSliderDialogDefaultValue(1.0) SetSliderDialogRange(0.0, 24.0) SetSliderDialogInterval(0.1) elseIf (option == lootMultID ) SetSliderDialogStartValue(ReadingTakesTime.lootMult) SetSliderDialogDefaultValue(1.00) SetSliderDialogRange(0.00, 4.00) SetSliderDialogInterval(0.05) elseIf (option == pickMultID ) SetSliderDialogStartValue(ReadingTakesTime.pickMult) SetSliderDialogDefaultValue(1.00) SetSliderDialogRange(0.00, 4.00) SetSliderDialogInterval(0.05) elseIf (option == pickpocketMultID ) SetSliderDialogStartValue(ReadingTakesTime.pickpocketMult) SetSliderDialogDefaultValue(1.00) SetSliderDialogRange(0.00, 4.00) SetSliderDialogInterval(0.05) elseIf (option == trainingMultID ) SetSliderDialogStartValue(ReadingTakesTime.trainingMult) SetSliderDialogDefaultValue(1.00) SetSliderDialogRange(0.00, 4.00) SetSliderDialogInterval(0.05) elseIf (option == trainingTimeID ) SetSliderDialogStartValue(ReadingTakesTime.trainingTime) SetSliderDialogDefaultValue(2.0) SetSliderDialogRange(0.0, 24.0) SetSliderDialogInterval(0.1) elseIf (option == levelUpMultID ) SetSliderDialogStartValue(ReadingTakesTime.levelUpMult) SetSliderDialogDefaultValue(1.00) SetSliderDialogRange(0.00, 4.00) SetSliderDialogInterval(0.05) elseIf (option == levelUpTimeID ) SetSliderDialogStartValue(ReadingTakesTime.levelUpTime) SetSliderDialogDefaultValue(1.0) SetSliderDialogRange(0.0, 24.0) SetSliderDialogInterval(0.1) elseIf (option == inventoryMultID ) SetSliderDialogStartValue(ReadingTakesTime.inventoryMult) SetSliderDialogDefaultValue(1.00) SetSliderDialogRange(0.00, 4.00) SetSliderDialogInterval(0.05) elseIf (option == eatTimeID ) SetSliderDialogStartValue(ReadingTakesTime.eatTime) SetSliderDialogDefaultValue(5) SetSliderDialogRange(0, 60) SetSliderDialogInterval(1) elseIf (option == magicMultID ) SetSliderDialogStartValue(ReadingTakesTime.magicMult) SetSliderDialogDefaultValue(1.00) SetSliderDialogRange(0.00, 4.00) SetSliderDialogInterval(0.05) elseIf (option == journalMultID ) SetSliderDialogStartValue(ReadingTakesTime.journalMult) SetSliderDialogDefaultValue(1.00) SetSliderDialogRange(0.00, 4.00) SetSliderDialogInterval(0.05) elseIf (option == mapMultID ) SetSliderDialogStartValue(ReadingTakesTime.mapMult) SetSliderDialogDefaultValue(1.00) SetSliderDialogRange(0.00, 4.00) SetSliderDialogInterval(0.05) elseIf (option == barterMultID ) SetSliderDialogStartValue(ReadingTakesTime.barterMult) SetSliderDialogDefaultValue(1.00) SetSliderDialogRange(0.00, 4.00) SetSliderDialogInterval(0.05) elseIf (option == giftMultID ) SetSliderDialogStartValue(ReadingTakesTime.giftMult) SetSliderDialogDefaultValue(1.00) SetSliderDialogRange(0.00, 4.00) SetSliderDialogInterval(0.05) endIf endEvent event OnOptionSliderAccept(int option, float value) if (option == readMultID ) ReadingTakesTime.readMult = value SetSliderOptionValue(readMultID, ReadingTakesTime.readMult, "$x{2}") elseIf (option == readingIncreaseMultID ) ReadingTakesTime.readingIncreaseMult = value SetSliderOptionValue(readingIncreaseMultID , ReadingTakesTime.readingIncreaseMult, "$x{2}") elseIf (option == spellLearnTimeID ) ReadingTakesTime.spellLearnTime = value SetSliderOptionValue(spellLearnTimeID , ReadingTakesTime.spellLearnTime, "${1} hour(s)") elseIf (option == headCraftTimeID ) ReadingTakesTime.headCraftTime = value SetSliderOptionValue(headCraftTimeID , ReadingTakesTime.headCraftTime, "${1} hour(s)") elseIf (option == armorCraftTimeID ) ReadingTakesTime.armorCraftTime = value SetSliderOptionValue(armorCraftTimeID , ReadingTakesTime.armorCraftTime, "${1} hour(s)") elseIf (option == handsCraftTimeID ) ReadingTakesTime.handsCraftTime = value SetSliderOptionValue(handsCraftTimeID , ReadingTakesTime.handsCraftTime, "${1} hour(s)") elseIf (option == feetCraftTimeID ) ReadingTakesTime.feetCraftTime = value SetSliderOptionValue(feetCraftTimeID , ReadingTakesTime.feetCraftTime, "${1} hour(s)") elseIf (option == shieldCraftTimeID ) ReadingTakesTime.shieldCraftTime = value SetSliderOptionValue(shieldCraftTimeID , ReadingTakesTime.shieldCraftTime, "${1} hour(s)") elseIf (option == jewelryCraftTimeID ) ReadingTakesTime.jewelryCraftTime = value SetSliderOptionValue(jewelryCraftTimeID , ReadingTakesTime.jewelryCraftTime, "${1} hour(s)") elseIf (option == battleAxeCraftTimeID ) ReadingTakesTime.battleAxeCraftTime = value SetSliderOptionValue(battleAxeCraftTimeID, ReadingTakesTime.battleAxeCraftTime, "${1} hour(s)") elseIf (option == bowCraftTimeID ) ReadingTakesTime.bowCraftTime = value SetSliderOptionValue(bowCraftTimeID, ReadingTakesTime.bowCraftTime, "${1} hour(s)") elseIf (option == daggerCraftTimeID ) ReadingTakesTime.daggerCraftTime = value SetSliderOptionValue(daggerCraftTimeID, ReadingTakesTime.daggerCraftTime, "${1} hour(s)") elseIf (option == greatswordCraftTimeID ) ReadingTakesTime.greatswordCraftTime = value SetSliderOptionValue(greatswordCraftTimeID, ReadingTakesTime.greatswordCraftTime, "${1} hour(s)") elseIf (option == maceCraftTimeID ) ReadingTakesTime.maceCraftTime = value SetSliderOptionValue(maceCraftTimeID, ReadingTakesTime.maceCraftTime, "${1} hour(s)") elseIf (option == staffCraftTimeID ) ReadingTakesTime.staffCraftTime = value SetSliderOptionValue(staffCraftTimeID, ReadingTakesTime.staffCraftTime, "${1} hour(s)") elseIf (option == swordCraftTimeID ) ReadingTakesTime.swordCraftTime = value SetSliderOptionValue(swordCraftTimeID, ReadingTakesTime.swordCraftTime, "${1} hour(s)") elseIf (option == warhammerCraftTimeID ) ReadingTakesTime.warhammerCraftTime = value SetSliderOptionValue(warhammerCraftTimeID, ReadingTakesTime.warhammerCraftTime, "${1} hour(s)") elseIf (option == warAxeCraftTimeID ) ReadingTakesTime.warAxeCraftTime = value SetSliderOptionValue(warAxeCraftTimeID, ReadingTakesTime.warAxeCraftTime, "${1} hour(s)") elseIf (option == weaponCraftTimeID ) ReadingTakesTime.weaponCraftTime = value SetSliderOptionValue(weaponCraftTimeID, ReadingTakesTime.weaponCraftTime, "${1} hour(s)") elseIf (option == miscCraftTimeID ) ReadingTakesTime.miscCraftTime = value SetSliderOptionValue(miscCraftTimeID, ReadingTakesTime.miscCraftTime, "${1} hour(s)") elseIf (option == armorImproveTimeID ) ReadingTakesTime.armorImproveTime = value SetSliderOptionValue(armorImproveTimeID , ReadingTakesTime.armorImproveTime, "${1} hour(s)") elseIf (option == weaponImproveTimeID ) ReadingTakesTime.weaponImproveTime = value SetSliderOptionValue(weaponImproveTimeID , ReadingTakesTime.weaponImproveTime, "${1} hour(s)") elseIf (option == enchantingTimeID ) ReadingTakesTime.enchantingTime = value SetSliderOptionValue(enchantingTimeID, ReadingTakesTime.enchantingTime, "${1} hour(s)") elseIf (option == potionCraftTimeID ) ReadingTakesTime.potionCraftTime = value SetSliderOptionValue(potionCraftTimeID, ReadingTakesTime.potionCraftTime, "${1} hour(s)") elseIf (option == lootMultID ) ReadingTakesTime.lootMult = value SetSliderOptionValue(lootMultID, ReadingTakesTime.lootMult, "$x{2}") elseIf (option == pickMultID ) ReadingTakesTime.pickMult = value SetSliderOptionValue(pickMultID, ReadingTakesTime.pickMult, "$x{2}") elseIf (option == pickpocketMultID ) ReadingTakesTime.pickpocketMult = value SetSliderOptionValue(pickpocketMultID, ReadingTakesTime.pickpocketMult, "$x{2}") elseIf (option == trainingMultID ) ReadingTakesTime.trainingMult = value SetSliderOptionValue(trainingMultID, ReadingTakesTime.trainingMult, "$x{2}") elseIf (option == trainingTimeID ) ReadingTakesTime.trainingTime = value SetSliderOptionValue(trainingTimeID, ReadingTakesTime.trainingTime, "${1} hour(s)") elseIf (option == levelUpMultID ) ReadingTakesTime.levelUpMult = value SetSliderOptionValue(levelUpMultID, ReadingTakesTime.levelUpMult, "$x{2}") elseIf (option == levelUpTimeID ) ReadingTakesTime.levelUpTime = value SetSliderOptionValue(levelUpTimeID, ReadingTakesTime.levelUpTime, "${1} hour(s)") elseIf (option == inventoryMultID ) ReadingTakesTime.inventoryMult = value SetSliderOptionValue(inventoryMultID, ReadingTakesTime.inventoryMult , "$x{2}") elseIf (option == eatTimeID ) ReadingTakesTime.eatTime = value SetSliderOptionValue(eatTimeID, ReadingTakesTime.eatTime, "${0} Minute(s)") elseIf (option == magicMultID ) ReadingTakesTime.magicMult = value SetSliderOptionValue(magicMultID, ReadingTakesTime.magicMult, "$x{2}") elseIf (option == journalMultID ) ReadingTakesTime.journalMult = value SetSliderOptionValue(journalMultID, ReadingTakesTime.journalMult, "$x{2}") elseIf (option == mapMultID ) ReadingTakesTime.mapMult = value SetSliderOptionValue(mapMultID, ReadingTakesTime.mapMult, "$x{2}") elseIf (option == barterMultID ) ReadingTakesTime.barterMult = value SetSliderOptionValue(barterMultID, ReadingTakesTime.barterMult, "$x{2}") elseIf (option == giftMultID ) ReadingTakesTime.giftMult = value SetSliderOptionValue(giftMultID, ReadingTakesTime.giftMult, "$x{2}") endIf endEvent event OnOptionDefault(int option) if (option == isModActiveID ) isModActive = true ; default value SetToggleOptionValue(isModActiveID , isModActive) elseif (option == isReadingActiveID ) isReadingActive = true ; default value SetToggleOptionValue(isReadingActiveID , isReadingActive) elseif (option == isCraftingActiveID ) isCraftingActive = true ; default value SetToggleOptionValue(isCraftingActiveID , isCraftingActive) elseif (option == showMessageID ) ReadingTakesTime.showMessage = true ; default value SetToggleOptionValue(showMessageID , ReadingTakesTime.showMessage) elseif (option == dontShowMessageID ) ReadingTakesTime.dontShowMessage = true ; default value SetToggleOptionValue(dontShowMessageID, ReadingTakesTime.dontShowMessage ) elseif (option == expertiseReducesTimeID ) ReadingTakesTime.expertiseReducesTime = true ; default value SetToggleOptionValue(expertiseReducesTimeID, ReadingTakesTime.expertiseReducesTime ) elseif (option == cantReadID) ReadingTakesTime.cantRead = true ; default value SetToggleOptionValue(cantReadID, ReadingTakesTime.cantRead) elseif (option == readingIncreasesSpeechID) ReadingTakesTime.readingIncreasesSpeech = true ; default value SetToggleOptionValue(readingIncreasesSpeechID, ReadingTakesTime.readingIncreasesSpeech) elseif (option == cantLootID) ReadingTakesTime.cantLoot= true ; default value SetToggleOptionValue(cantLootID, ReadingTakesTime.cantLoot) elseif (option == cantPickID) ReadingTakesTime.cantPick= true ; default value SetToggleOptionValue(cantPickID, ReadingTakesTime.cantPick) elseif (option == cantLevelUpID) ReadingTakesTime.cantLevelUp= true ; default value SetToggleOptionValue(cantLevelUpID, ReadingTakesTime.cantLevelUp) elseif (option == cantInventoryID) ReadingTakesTime.cantInventory= true ; default value SetToggleOptionValue(cantInventoryID, ReadingTakesTime.cantInventory) elseif (option == cantMagicID) ReadingTakesTime.cantMagic= true ; default value SetToggleOptionValue(cantMagicID, ReadingTakesTime.cantMagic) elseif (option == cantJournalID) ReadingTakesTime.cantJournal= true ; default value SetToggleOptionValue(cantJournalID, ReadingTakesTime.cantJournal) elseif (option == cantMapID) ReadingTakesTime.cantMap= true ; default value SetToggleOptionValue(cantMapID, ReadingTakesTime.cantMap) endIf endEvent event OnOptionHighlight(int option) if (option == isModActiveID ) SetInfoText("$Activate or deactivate the mod.") elseif (option == isReadingActiveID || option == isCraftingActiveID || option == isContainerActiveID || option == isLockpickActiveID || option == isTrainingActiveID|| option == isLevelUpActiveID|| option == isInventoryActiveID|| option == isMagicActiveID|| option == isJournalActiveID|| option == isMapActiveID|| option == isBarterActiveID|| option == isGiftActiveID) SetInfoText("$Activate or deactivate this module.") elseif (option == readMultID|| option == lootMultID|| option == pickMultID|| option == pickpocketMultID|| option == trainingMultID|| option == levelUpMultID|| option == inventoryMultID|| option == magicMultID|| option == journalMultID|| option == mapMultID|| option == barterMultID|| option == giftMultID) SetInfoText("$Multiplier used to calculate the time spent in this menu.") elseif (option == spellLearnTimeID|| option == headCraftTimeID|| option == armorCraftTimeID|| option == handsCraftTimeID|| option == feetCraftTimeID|| option == shieldCraftTimeID|| option == jewelryCraftTimeID|| option == battleAxeCraftTimeID|| option == bowCraftTimeID|| option == daggerCraftTimeID|| option == greatswordCraftTimeID|| option == maceCraftTimeID|| option == staffCraftTimeID|| option == swordCraftTimeID|| option == warhammerCraftTimeID|| option == warAxeCraftTimeID|| option == weaponCraftTimeID|| option == miscCraftTimeID|| option == armorImproveTimeID|| option == weaponImproveTimeID|| option == potionCraftTimeID|| option == enchantingTimeID|| option == trainingTimeID|| option == levelUpTimeID|| option == eatTimeID) SetInfoText("$Time spent when performing this action.") elseif (option == cantReadID || option == cantLootID|| option == cantPickID|| option == cantLevelUpID|| option == cantInventoryID|| option == cantMagicID|| option == cantJournalID|| option == cantMapID) SetInfoText("$Block this action while in combat.") elseif (option == readingIncreasesSpeechID ) SetInfoText("$Reading increases speech.") elseif (option == readingIncreaseMultID ) SetInfoText("$Reading increase multiplier.") elseif (option == showMessageID ) SetInfoText("$Show notification messages with the time spent.") elseif (option == dontShowMessageID ) SetInfoText("$RTT_DONTSHOWMESSAGE_HIGHLIGHT") elseif (option == expertiseReducesTimeID ) SetInfoText("$RTT_EXPERTIESEREDUCESTIME_HIGHLIGHT") endIf endEvent Skyrim Revival Legends
I.L.Pron Опубликовано 29 сентября, 2016 Опубликовано 29 сентября, 2016 29.09.2016 05:15:23, AlienSoul сказал(-а):Воть А ты уверен, что это нужный скрипт? Это скрипт МСМ-меню в котором присваиваются значения переменным и регистрируются меню. Я конечно не изучал все 1200 строк кода, но мне кажется, что отключение карты происходит где-то в другом месте. Ищи в других скриптах такие функции, как: 1) "IsInCombat" - проверяет, находится ли НПС или Игрок в бою. Раз в бою карта не работает, значит эта функция вполне может использоваться в коде. 2) "IsMenuOpen" - проверяет, открыто ли меню. Тоже вполне может быть использовано автором, чтобы проверить, открыл ли игрок меню карты. В качестве переменной в этой функции должно быть слово "MapMenu". Как вариант, ещё может использоваться функция "IsInMenuMode", хотя вряд ли. 1
-Miro- Опубликовано 30 сентября, 2016 Опубликовано 30 сентября, 2016 29.09.2016 22:45:38, I.L.Pron сказал(-а): А ты уверен, что это нужный скрипт? Значит этот скрипт Scriptname RTT extends Quest Message Property RTT_Message Auto Message Property RTT_CantRead Auto Bool Property isInventoryActive Auto ;reading Bool Property cantRead Auto Float Property readMult Auto Bool Property readingIncreasesSpeech Auto Float Property readingIncreaseMult Auto Float Property spellLearnTime Auto ;crafting Float Property headCraftTime Auto Float Property armorCraftTime Auto Float Property handsCraftTime Auto Float Property feetCraftTime Auto Float Property shieldCraftTime Auto Float Property jewelryCraftTime Auto Float Property battleAxeCraftTime Auto Float Property bowCraftTime Auto Float Property daggerCraftTime Auto Float Property greatswordCraftTime Auto Float Property maceCraftTime Auto Float Property staffCraftTime Auto Float Property swordCraftTime Auto Float Property warhammerCraftTime Auto Float Property warAxeCraftTime Auto Float Property weaponCraftTime Auto Float Property miscCraftTime Auto Float Property weaponImproveTime Auto Float Property armorImproveTime Auto Float Property enchantingTime Auto Float Property potionCraftTime Auto int openArmorsImproved = 0 int openWeaponsImproved = 0 int openEnchantings = 0 int openPotions = 0 int openPoisons = 0 int closeArmorsImproved = 0 int closeWeaponsImproved = 0 int closeEnchantings = 0 int closePotions = 0 int closePoisons = 0 Bool crafting = False ;looting Bool Property cantLoot Auto Float Property lootMult Auto Float Property pickpocketMult Auto Bool Property cantPick Auto Float Property pickMult Auto Float Property chopTime Auto Float Property mineTime Auto Float Property harvestTime Auto Bool isRegisteredForEvents = False ;training Float Property trainingMult Auto Float Property trainingTime Auto int openTraining = 0 int closeTraining = 0 Bool Property cantLevelUp Auto Float Property levelUpMult Auto Float Property levelUpTime Auto int openLevel = 0 int closeLevel = 0 ;preparing Bool Property cantInventory Auto Float Property inventoryMult Auto Float Property eatTime Auto int openEat = 0 int closeEat = 0 int openSpell = 0 Bool Property cantMagic Auto Float Property magicMult Auto Bool Property cantJournal Auto Float Property journalMult Auto Bool Property cantMap Auto Float Property mapMult Auto ;trading Float Property barterMult Auto Float Property giftMult Auto ;general Bool Property showMessage Auto Bool Property dontShowMessage Auto Bool Property expertiseReducesTime Auto GlobalVariable Property GameHour Auto GlobalVariable Property TimeScale Auto Bool CloseBook = False Float Property StartReading Auto Float Property StopReading Auto Actor LastTarget = None Bool _isModActive = False Event OnInit() EndEvent Function InitStats(Bool Active) _isModActive = Active openEat = Game.QueryStat("Food Eaten") openSpell = Game.QueryStat("Spells Learned") openArmorsImproved = Game.QueryStat("Armor Improved") openWeaponsImproved = Game.QueryStat("Weapons Improved") openEnchantings = Game.QueryStat("Magic Items Made") openPotions = Game.QueryStat("Potions Mixed") openPoisons = Game.QueryStat("Poisons Mixed") UnregisterForTrackedStatsEvent() EndFunction Function TimeCalc(Float PassedTime) Int Hours = Math.Floor(PassedTime) Int Minutes = Math.Floor((PassedTime - Hours)*60) if (dontShowMessage == false || Hours !=0 || Minutes != 0) if(showMessage) ;RTT_Message.Show(Hours,Minutes) if (Hours != 0) Debug.Notification("Времени прошло: "+Hours+"ч. "+Minutes+"м.") endif if (Hours == 0) Debug.Notification("Времени прошло: "+Minutes+"м.") endif endif endif GameHour.Mod(PassedTime) EndFunction Float Function ExpertiseMultiplier(String Skill) if (!expertiseReducesTime) return 1 endif Float SkillPoints = Game.GetPlayer().GetActorValue(Skill) if (SkillPoints<0) SkillPoints = 0 elseif (SkillPoints>150) SkillPoints = 150 endif return (100-(SkillPoints/2))/100 EndFunction Function SkillIncrease(String Skill, Float Increase) ActorValueInfo aVI = ActorValueInfo.GetActorValueInfobyName(Skill) aVI.AddSkillExperience(Increase) EndFunction Function CloseInCombat() CloseBook = True if(showMessage) ;RTT_CantRead.Show() ;function Input.TapKey (dxKeycode) Debug.Notification("$I can't do that while in combat!") ;Debug.Notification(Input.GetNumKeysPressed()) endif while (Utility.IsInMenuMode()) Input.TapKey(15) ;Input.TapKey(41) Utility.WaitMenuMode(0.15) endwhile EndFunction ;deprecated since SKSE 1.7.1 Event OnCrosshairRefChange (ObjectReference ref) LastTarget = ref as Actor EndEvent Bool Function isPlayerPickpocketing() Bool isPickpocketing = False LastTarget = Game.GetCurrentCrosshairRef() as Actor if (LastTarget && !LastTarget.isDead() && Game.GetPlayer().isSneaking()) isPickpocketing = True endif return isPickpocketing EndFunction Function ItemAdded (Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akSourceContainer) int type = akBaseItem.GetType() if akSourceContainer ;if items come from a container they're not crafted and we should skip, this fixes problems with jaggarfeld and such return endif if crafting if ( type == 26) Armor a = akBaseItem as Armor if a.isHelmet() || a.isClothingHead() TimeCalc(headCraftTime*ExpertiseMultiplier("Smithing")) elseif a.isCuirass() || a.isClothingBody() TimeCalc(armorCraftTime*ExpertiseMultiplier("Smithing")) elseif a.isGauntlets() || a.isClothingHands() TimeCalc(handsCraftTime*ExpertiseMultiplier("Smithing")) elseif a.isBoots() || a.isClothingFeet() TimeCalc(feetCraftTime*ExpertiseMultiplier("Smithing")) elseif a.isShield() TimeCalc(shieldCraftTime*ExpertiseMultiplier("Smithing")) elseif a.isJewelry() || a.isClothingRing() TimeCalc(jewelryCraftTime*ExpertiseMultiplier("Smithing")) else ;whatever is left TimeCalc(armorCraftTime*ExpertiseMultiplier("Smithing")) endif elseif ( type == 41) Weapon w = akBaseItem as Weapon if w.isBattleAxe() TimeCalc(battleAxeCraftTime*ExpertiseMultiplier("Smithing")) elseif w.isBow() TimeCalc(bowCraftTime*ExpertiseMultiplier("Smithing")) elseif w.isDagger() TimeCalc(daggerCraftTime*ExpertiseMultiplier("Smithing")) elseif w.isGreatSword() TimeCalc(greatswordCraftTime*ExpertiseMultiplier("Smithing")) elseif w.isMace() TimeCalc(maceCraftTime*ExpertiseMultiplier("Smithing")) elseif w.isStaff() TimeCalc(staffCraftTime*ExpertiseMultiplier("Smithing")) elseif w.isSword() TimeCalc(swordCraftTime*ExpertiseMultiplier("Smithing")) elseif w.isWarhammer() TimeCalc(warhammerCraftTime*ExpertiseMultiplier("Smithing")) elseif w.isWarAxe() TimeCalc(warAxeCraftTime*ExpertiseMultiplier("Smithing")) else ;ammo and whatever is left TimeCalc(weaponCraftTime*ExpertiseMultiplier("Smithing")) endif elseif ( type == 32 || type == 52 ) ;misc and soul gems ;filter for added and removed workbenches Form[] Exclusions = new Form[26] Exclusions[0] = Game.GetFormFromFile(0x000030DF, "HearthFires.esm");House - Workbench Exclusions[1] = Game.GetFormFromFile(0x00003121, "HearthFires.esm");House - Remove Workbench Exclusions[2] = Game.GetFormFromFile(0x000030E7, "HearthFires.esm");Main Hall - Workbenches Exclusions[3] = Game.GetFormFromFile(0x00003122, "HearthFires.esm");Main Hall - Remove Workbenches Exclusions[4] = Game.GetFormFromFile(0x0000312B, "HearthFires.esm");Entryway - Workbench Exclusions[5] = Game.GetFormFromFile(0x0000312C, "HearthFires.esm");Entryway - Remove Workbench Exclusions[6] = Game.GetFormFromFile(0x00003ADA, "HearthFires.esm");Bedrooms - Workbench Exclusions[7] = Game.GetFormFromFile(0x00003ADB, "HearthFires.esm");Bedrooms - Remove Workbench Exclusions[8] = Game.GetFormFromFile(0x00003ADC, "HearthFires.esm");Greenhouse - Workbench Exclusions[9] = Game.GetFormFromFile(0x00003ADD, "HearthFires.esm");Greenhouse - Remove Workbench Exclusions[10] = Game.GetFormFromFile(0x00003ADE, "HearthFires.esm");Enchanter's Tower - Workbench Exclusions[11] = Game.GetFormFromFile(0x00003ADF, "HearthFires.esm");Enchanter's Tower - Remove Workbench Exclusions[12] = Game.GetFormFromFile(0x00003AE0, "HearthFires.esm");Storage Room - Workbench Exclusions[13] = Game.GetFormFromFile(0x00003AE1, "HearthFires.esm");Storage Room - Remove Workbench Exclusions[14] = Game.GetFormFromFile(0x00003AE2, "HearthFires.esm");Trophy Room - Workbench Exclusions[15] = Game.GetFormFromFile(0x00003AE3, "HearthFires.esm");Trophy Room - Remove Workbench Exclusions[16] = Game.GetFormFromFile(0x00003AE4, "HearthFires.esm");Alchemy Laboratory - Workbench Exclusions[17] = Game.GetFormFromFile(0x00003AE5, "HearthFires.esm");Alchemy Laboratory - Remove Workbench Exclusions[18] = Game.GetFormFromFile(0x00003AE6, "HearthFires.esm");Armory - Workbench Exclusions[19] = Game.GetFormFromFile(0x00003AE7, "HearthFires.esm");Armory - Remove Workbench Exclusions[20] = Game.GetFormFromFile(0x00003AE8, "HearthFires.esm");Kitchen - Workbench Exclusions[21] = Game.GetFormFromFile(0x00003AE9, "HearthFires.esm");Kitchen - Remove Workbench Exclusions[22] = Game.GetFormFromFile(0x00003AEA, "HearthFires.esm");Library - Workbench Exclusions[23] = Game.GetFormFromFile(0x00003AEB, "HearthFires.esm");Library - Remove Workbench Exclusions[24] = Game.GetFormFromFile(0x00003AEC, "HearthFires.esm");Cellar - Workbench Exclusions[25] = Game.GetFormFromFile(0x00003AED, "HearthFires.esm");Cellar - Remove Workbench int i = Exclusions.length while i i -=1 if akBaseItem == Exclusions return endif endwhile if akBaseItem.HasKeywordString("BYOHHouseCraftingCategoryBuilding") ;Debug.Notification("building "+akBaseItem.GetFormID()+" "+akBaseItem.getname()) Game.GetPlayer().AddItem(akBaseItem) elseif akBaseItem.HasKeywordString("BYOHHouseCraftingCategoryContainers") ;Debug.Notification("container "+akBaseItem.GetFormID()+" "+akBaseItem.getname()) elseif akBaseItem.HasKeywordString("BYOHHouseCraftingCategoryFurniture") ;Debug.Notification("furniture "+akBaseItem.GetFormID()+" "+akBaseItem.getname()) elseif akBaseItem.HasKeywordString("BYOHHouseCraftingCategoryWeaponRacks") ;Debug.Notification("weaponrack "+akBaseItem.GetFormID()+" "+akBaseItem.getname()) elseif akBaseItem.HasKeywordString("BYOHHouseCraftingCategoryShelf") ;Debug.Notification("shelf "+akBaseItem.GetFormID()+" "+akBaseItem.getname()) elseif akBaseItem.HasKeywordString("BYOHHouseCraftingCategoryExterior") ;Debug.Notification("exterior "+akBaseItem.GetFormID()+" "+akBaseItem.getname()) elseif miscCraftTime > 0 ;Debug.Notification("misc "+akBaseItem.GetFormID()+" "+akBaseItem.getname()) TimeCalc(miscCraftTime*ExpertiseMultiplier("Smithing")) endif endif endif EndFunction Function ItemRemoved (Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akDestContainer) if _isModActive if akBaseItem.GetType() == 46 && eatTime > 0 Potion p = akBaseItem as Potion Form[] Exclusions = new Form[3] Exclusions[0] = Game.GetFormFromFile(0x05B864, "Chesko_Frostfall.esp");Soothe Exclusions[1] = Game.GetFormFromFile(0x05B867, "Chesko_Frostfall.esp");Bask Exclusions[2] = Game.GetFormFromFile(0x05B869, "Chesko_Frostfall.esp");Revel int i = Exclusions.length while i i -=1 if akBaseItem == Exclusions return endif endwhile if p.isFood() && openEat < Game.QueryStat("Food Eaten") openEat = Game.QueryStat("Food Eaten") Float PassedTime = aiItemCount*(eatTime/100/3*5) TimeCalc(PassedTime) endif endif if akBaseItem.GetType() == 27 && spellLearnTime > 0 Book b = akBaseItem as Book if b.GetSpell() && openSpell < Game.QueryStat("Spells Learned") openSpell = Game.QueryStat("Spells Learned") TimeCalc(spellLearnTime*ExpertiseMultiplier("Speechcraft")) endif endif endif EndFunction Event OnMenuOpen(String MenuName) If MenuName == "Book Menu" if Game.GetPlayer().IsInCombat() && cantRead CloseInCombat() else if UI.IsMenuOpen("InventoryMenu") && isInventoryActive StopReading = Utility.GetCurrentRealTime() Float PassedTime = ((StopReading-StartReading)*TimeScale.GetValue()/(60*60*24)*24)*inventoryMult TimeCalc(PassedTime) endif StartReading = Utility.GetCurrentRealTime() endif ElseIf MenuName == "ContainerMenu" if Game.GetPlayer().IsInCombat() && cantLoot CloseInCombat() else StartReading = Utility.GetCurrentRealTime() endif ElseIf MenuName == "Lockpicking Menu" if Game.GetPlayer().IsInCombat() && cantPick CloseInCombat() else StartReading = Utility.GetCurrentRealTime() endif ElseIf MenuName == "Crafting Menu" ;RegisterForTrackedStatsEvent() openArmorsImproved = Game.QueryStat("Armor Improved") openWeaponsImproved = Game.QueryStat("Weapons Improved") openEnchantings = Game.QueryStat("Magic Items Made") openPotions = Game.QueryStat("Potions Mixed") openPoisons = Game.QueryStat("Poisons Mixed") crafting = True ElseIf MenuName == "Training Menu" StartReading = Utility.GetCurrentRealTime() openTraining = Game.QueryStat("Training Sessions") ElseIf MenuName == "StatsMenu" if Game.GetPlayer().IsInCombat() && cantLevelUp CloseInCombat() else StartReading = Utility.GetCurrentRealTime() openLevel = Game.GetPlayer().getLevel() endif ElseIf MenuName == "InventoryMenu" if Game.GetPlayer().IsInCombat() && cantInventory CloseInCombat() else StartReading = Utility.GetCurrentRealTime() openEat = Game.QueryStat("Food Eaten") openSpell = Game.QueryStat("Spells Learned") endif ElseIf MenuName == "MagicMenu" if Game.GetPlayer().IsInCombat() && cantMagic CloseInCombat() else StartReading = Utility.GetCurrentRealTime() endif ElseIf MenuName == "Journal Menu" if Game.GetPlayer().IsInCombat() && cantJournal CloseInCombat() else StartReading = Utility.GetCurrentRealTime() endif ElseIf MenuName == "MapMenu" if Game.GetPlayer().IsInCombat() && cantMap CloseInCombat() else StartReading = Utility.GetCurrentRealTime() endif ElseIf MenuName == "BarterMenu" StartReading = Utility.GetCurrentRealTime() ElseIf MenuName == "GiftMenu" StartReading = Utility.GetCurrentRealTime() EndIf EndEvent Event OnMenuClose(String MenuName) If !CloseBook If MenuName == "Book Menu" StopReading = Utility.GetCurrentRealTime() Float PassedTime = ((StopReading-StartReading)*TimeScale.GetValue()/(60*60*24)*24)*readMult TimeCalc(PassedTime*ExpertiseMultiplier("Speechcraft")) if (readingIncreasesSpeech) SkillIncrease("Speechcraft", (StopReading-StartReading)*readingIncreaseMult) endif if UI.IsMenuOpen("InventoryMenu") && isInventoryActive StartReading = Utility.GetCurrentRealTime() endif ElseIf MenuName == "ContainerMenu" StopReading = Utility.GetCurrentRealTime() Float PassedTime = ((StopReading-StartReading)*TimeScale.GetValue()/(60*60*24)*24)*lootMult if isPlayerPickpocketing() PassedTime = (((StopReading-StartReading)*TimeScale.GetValue()/(60*60*24)*24)*pickpocketMult)*ExpertiseMultiplier("Pickpocket") endif TimeCalc(PassedTime) ElseIf MenuName == "Lockpicking Menu" StopReading = Utility.GetCurrentRealTime() Float PassedTime = ((StopReading-StartReading)*TimeScale.GetValue()/(60*60*24)*24)*pickMult TimeCalc(PassedTime*ExpertiseMultiplier("Lockpicking")) ElseIf MenuName == "Crafting Menu" ;UnregisterForTrackedStatsEvent() closeArmorsImproved = Game.QueryStat("Armor Improved") if (closeArmorsImproved - openArmorsImproved) > 0 TimeCalc(armorImproveTime*ExpertiseMultiplier("Smithing")) endif closeWeaponsImproved = Game.QueryStat("Weapons Improved") if (closeWeaponsImproved - openWeaponsImproved) > 0 TimeCalc(weaponImproveTime*ExpertiseMultiplier("Smithing")) endif closeEnchantings = Game.QueryStat("Magic Items Made") if (closeEnchantings - openEnchantings) > 0 TimeCalc(enchantingTime*ExpertiseMultiplier("Enchanting")) endif closePotions = Game.QueryStat("Potions Mixed") if (closePotions - openPotions) > 0 TimeCalc(potionCraftTime*ExpertiseMultiplier("Alchemy")) endif closePoisons = Game.QueryStat("Poisons Mixed") if (closePoisons - openPoisons) > 0 TimeCalc(potionCraftTime*ExpertiseMultiplier("Alchemy")) endif crafting = False ElseIf MenuName == "Training Menu" StopReading = Utility.GetCurrentRealTime() Float PassedTime = ((StopReading-StartReading)*TimeScale.GetValue()/(60*60*24)*24)*trainingMult closeTraining = Game.QueryStat("Training Sessions") PassedTime = PassedTime + ((closeTraining - openTraining )*trainingTime) TimeCalc(PassedTime) ElseIf MenuName == "StatsMenu" StopReading = Utility.GetCurrentRealTime() Float PassedTime = ((StopReading-StartReading)*TimeScale.GetValue()/(60*60*24)*24)*levelUpMult closeLevel = Game.GetPlayer().getLevel() PassedTime = PassedTime + ((closeLevel - openLevel)*levelUpTime) TimeCalc(PassedTime) ElseIf MenuName == "InventoryMenu" StopReading = Utility.GetCurrentRealTime() Float PassedTime = ((StopReading-StartReading)*TimeScale.GetValue()/(60*60*24)*24)*inventoryMult TimeCalc(PassedTime) ElseIf MenuName == "MagicMenu" StopReading = Utility.GetCurrentRealTime() Float PassedTime = ((StopReading-StartReading)*TimeScale.GetValue()/(60*60*24)*24)*magicMult TimeCalc(PassedTime) ElseIf MenuName == "Journal Menu" StopReading = Utility.GetCurrentRealTime() Float PassedTime = ((StopReading-StartReading)*TimeScale.GetValue()/(60*60*24)*24)*journalMult TimeCalc(PassedTime) ElseIf MenuName == "MapMenu" StopReading = Utility.GetCurrentRealTime() Float PassedTime = ((StopReading-StartReading)*TimeScale.GetValue()/(60*60*24)*24)*mapMult TimeCalc(PassedTime) ElseIf MenuName == "BarterMenu" StopReading = Utility.GetCurrentRealTime() Float PassedTime = ((StopReading-StartReading)*TimeScale.GetValue()/(60*60*24)*24)*barterMult TimeCalc(PassedTime) ElseIf MenuName == "GiftMenu" StopReading = Utility.GetCurrentRealTime() Float PassedTime = ((StopReading-StartReading)*TimeScale.GetValue()/(60*60*24)*24)*giftMult TimeCalc(PassedTime) EndIf Else CloseBook = False EndIf EndEvent Event OnTrackedStatsEvent(string asStatFilter, int aiStatValue) ;if (asStatFilter == "Armor Improved") ; TimeCalc(armorImproveTime*ExpertiseMultiplier("Smithing")) ;elseif (asStatFilter == "Weapons Improved") ; TimeCalc(weaponImproveTime*ExpertiseMultiplier("Smithing")) ;elseif (asStatFilter == "Magic Items Made") ; TimeCalc(enchantingTime*ExpertiseMultiplier("Enchanting")) ;elseif (asStatFilter == "Potions Mixed") ; TimeCalc(potionCraftTime*ExpertiseMultiplier("Alchemy")) ;elseif (asStatFilter == "Poisons Mixed") ; TimeCalc(potionCraftTime*ExpertiseMultiplier("Alchemy")) ;endif EndEvent Skyrim Revival Legends
I.L.Pron Опубликовано 30 сентября, 2016 Опубликовано 30 сентября, 2016 Да, похоже на то. Вот нужная тебе функция из этого скрипта: Function CloseInCombat() while (Utility.IsInMenuMode()) ; до тех пор, пока мы находимся в меню будем делать следующее: Input.TapKey(15) ; принудительно нажимаем на кнопку "15" (это кнопка Tab) Utility.WaitMenuMode(0.15) ; пока игра не закрыла меню, приостанавливаем остальные скрипты (видимо, чтобы избежать глюков) endwhile EndFunction Как несложно заметить, автор использовал одну из SКSE-функций обрабатывающих ввод (Input). Соответствие номеров и клавиш можно посмотреть здесь Сама функция втыкается в ивэнт открытия окна: Event OnMenuOpen(String MenuName) ;произошло событие - открытие какого-то меню If MenuName == "MapMenu" ; проверяем, не меню ли карты открылось, если да, то делаем следующее: if Game.GetPlayer().IsInCombat() ; проверяем, находится ли игрок в бою, если да, то делаем следующее: CloseInCombat() ; вызываем функцию, которая принудительно закрывает меню. endif endif EndEvent Лишнее из кода выкинул, оставил только суть. 2
werr Опубликовано 30 сентября, 2016 Опубликовано 30 сентября, 2016 30.09.2016 16:50:00, I.L.Pron сказал(-а): То же самое почти слово в слово написал сегодня днем. Но на работе инет пропал, а потом кто-то закрыл браузер (комп у нас общий стоит). Балин, как же тупо получилось. Ну хоть лайк поставлю. Все верно написано. AlienSoul, добавлю только, что предложенный скрипт вешался на квест, поэтому и этот следует вешать туда же, следи. 2 A Random Dude's Story
I.L.Pron Опубликовано 30 сентября, 2016 Опубликовано 30 сентября, 2016 Там надо будет ещё где-то прописывать RegisterForMenu и UnregisterForMenu, вроде без этого скрипт не взлетит.
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти