aaa112aaa Опубликовано 18 октября, 2021 Опубликовано 18 октября, 2021 (изменено) 18.10.2021 18:38:28, Azazellz сказал(-а): Я так думаю, что дело не в самой функции, а в том, что ты вызываешь ее по 16 (?) раз. Не проще ли при установке метки делать это один раз, писать результат в проперти типа стринг, и потом уже оттуда его в меню подтягивать? Ну или вообще без проперти обойтись, тупо переменной. Квестовые скрипты активны постоянно, поэтому оно все равно никуда не пропадет. Даже не представляю как можно эту функцию рассчитанную на подстановку в неё значений использовать только один раз, мне надо 16 разных имён на выходе получить, в зависимости от места где находится маркер. String Function GetCellName(ObjectReference O, String S1, String S2) if (O.GetParentCell().IsInterior() == 0); Обработка Exterior If (O.GetCurrentLocation().GetName() != "") return (O.GetCurrentLocation().GetName() + " (Снаружи)") ElseIf ((O.GetCurrentLocation().GetName() == "") && (O.GetParentCell().GetName() == "")); Обработка World Space Int xcell = math.floor(O.getpositionX() / 4096 as Float) Int ycell = math.floor(O.getpositionY() / 4096 as Float) Int zcell = math.floor(O.getpositionZ()) return ("Тамриэль " + xcell as String + " , " + ycell as String); Скайрим Endif ElseIf (O.GetParentCell().IsInterior() == 1); Обработка Interior и дефолтный Cell If (O.GetParentCell().GetName() != "") If ((S1 == "Mark And Recall Markers Cell") && (S2 == "Пусто")) Else return (O.GetParentCell().GetName()) Endif EndIf EndIf EndFunction Изменено 18 октября, 2021 пользователем aaa112aaa
Azazellz Опубликовано 18 октября, 2021 Опубликовано 18 октября, 2021 18.10.2021 19:30:12, aaa112aaa сказал(-а):Даже не представляю как можно эту функцию рассчитанную на подстановку в неё значений использовать только один раз, мне надо 16 разных имён на выходе получить, в зависимости от места где находится маркер. Ну, вообще, все зависит от реализации. Я не понимаю, зачем у тебя такие сложности? Зачем вызывать функцию 16 раз? Пометка-возврат делается же элементарно. Кастуется пометка, выбирается слот, на точку игрока переносится определенный заранее созданный маркер. При касте возврата и выбора определенной строки, игрока на этот маркер телепортирует. Вот и вызывай функцию один раз, при установке пометки. Бери cellname и передавай в скрипт квеста, записывай его как проперти или переменную. А при построении меню бери имена ячейки из того списка, что ты уже передал. Не надо заново вызывать функцию, тебе важно только имя и индекс, по которому ты будешь делать возврат на определенный маркер. Плюс портянки эти с кодом - мне аж поплохело, когда я это все увидел, даже вникать глубоко не стал, что именно ты этими простынями делаешь =)
aaa112aaa Опубликовано 18 октября, 2021 Опубликовано 18 октября, 2021 18.10.2021 21:07:05, Azazellz сказал(-а): Ну, вообще, все зависит от реализации. Я не понимаю, зачем у тебя такие сложности? Зачем вызывать функцию 16 раз? Пометка-возврат делается же элементарно. Кастуется пометка, выбирается слот, на точку игрока переносится определенный заранее созданный маркер. При касте возврата и выбора определенной строки, игрока на этот маркер телепортирует. Вот и вызывай функцию один раз, при установке пометки. Бери cellname и передавай в скрипт квеста, записывай его как проперти или переменную. А при построении меню бери имена ячейки из того списка, что ты уже передал. Не надо заново вызывать функцию, тебе важно только имя и индекс, по которому ты будешь делать возврат на определенный маркер. Плюс портянки эти с кодом - мне аж поплохело, когда я это все увидел, даже вникать глубоко не стал, что именно ты этими простынями делаешь =) Понял, сделал, проверяю. )
aaa112aaa Опубликовано 20 октября, 2021 Опубликовано 20 октября, 2021 (изменено) Ну вроде всё оптимизировал на сколько возможно, меню показывает быстро, теперь другая проблема, сделал сохранение имени локации в которой стою в конфиг, а после от туда подтягиваю, и вставляю в функцию CenterOnCell() сначала всё было как надо, помечал, загружал сохранение предыдущее, делал возврат и о чудо, оказывался там где ставил метку, только вот пока это было всего 4 переменных (Имя локации, X, Y, Z), всё работала, а когда сделал на все 16 меток по 4 переменные, то функция CenterOnCell() перестало работать, есть какой альтернативный способ телепортации в локацию без использования указания цели (ObjectReference) ? Или как сохранить ссылку на ObjectReference? что-то навроде ида, а потом выбирать по этому иду. Изменено 20 октября, 2021 пользователем aaa112aaa
Azazellz Опубликовано 20 октября, 2021 Опубликовано 20 октября, 2021 20.10.2021 15:01:30, aaa112aaa сказал(-а): Ну вроде всё оптимизировал на сколько возможно, меню показывает быстро, теперь другая проблема, сделал сохранение имени локации в которой стою в конфиг, а после от туда подтягиваю, и вставляю в функцию CenterOnCell() сначала всё было как надо, помечал, загружал сохранение предыдущее, делал возврат и о чудо, оказывался там где ставил метку, только вот пока это было всего 4 переменных (Имя локации, X, Y, Z), всё работала, а когда сделал на все 16 меток по 4 переменные, то функция CenterOnCell() перестало работать, есть какой альтернативный способ телепортации в локацию без использования указания цели (ObjectReference) ? Или как сохранить ссылку на ObjectReference? что-то навроде ида, а потом выбирать по этому иду. Зачем тебе вообще CenterOnCell использовать? Используй MoveTo с указанием объекта. Я ж не зря писал про маркеры в старом сообщении. Берешь 16 маркеров, ставишь их куда-нибудь в служебную ячейку (лучше в ванильную, уже созданную), забиваешь их в проперти скрипта по номерам. При касте пометки делаешь MoveTo на маркер под нужным номером, указывая целью игрока. Типа такого: ReturnMarker01.MoveTo(Player, abMatchRotation = true) При касте возврата делаешь MoveTo на игрока, указывая целью маркер под нужным номером. Типа такого: Player.MoveTo(ReturnMarker01, abMatchRotation = true) Не забудь только механизм ввести, который игроку перенестись к еще не размещенным маркерам не позволит. bool-переменные какие-нибудь, которые будут включаться, когда игрок пометки делает. Т.е. вся система работает по принципу: вариант в меню (индекс) == маркер. И все. Имя локации тебе нужно только для интерфейса и отображения, чтоб игрок не путался. В самом скрипте оно нигде не используется. Если совсем круто сделать хочешь - позволь игроку самому название вводить. Ставишь пометку, появляется окно, в нем доступен ввод текста. Название ячейки, которое ты раньше нашел, получено, и уже в него забито. Можно так оставить и подтвердить выбор, а можно свое ввести. Я когда-то что-то такое делал, но за давностью лет уже забыл, как именно это окошко с вводом текста вызывается, и с какой системы оно идет вообще =)
aaa112aaa Опубликовано 20 октября, 2021 Опубликовано 20 октября, 2021 (изменено) 20.10.2021 18:22:46, Azazellz сказал(-а): Зачем тебе вообще CenterOnCell использовать? Используй MoveTo с указанием объекта. Я ж не зря писал про маркеры в старом сообщении. Берешь 16 маркеров, ставишь их куда-нибудь в служебную ячейку (лучше в ванильную, уже созданную), забиваешь их в проперти скрипта по номерам. При касте пометки делаешь MoveTo на маркер под нужным номером, указывая целью игрока. Типа такого: ReturnMarker01.MoveTo(Player, abMatchRotation = true) При касте возврата делаешь MoveTo на игрока, указывая целью маркер под нужным номером. Типа такого: Player.MoveTo(ReturnMarker01, abMatchRotation = true) Не забудь только механизм ввести, который игроку перенестись к еще не размещенным маркерам не позволит. bool-переменные какие-нибудь, которые будут включаться, когда игрок пометки делает. Т.е. вся система работает по принципу: вариант в меню (индекс) == маркер. И все. Имя локации тебе нужно только для интерфейса и отображения, чтоб игрок не путался. В самом скрипте оно нигде не используется. Если совсем круто сделать хочешь - позволь игроку самому название вводить. Ставишь пометку, появляется окно, в нем доступен ввод текста. Название ячейки, которое ты раньше нашел, получено, и уже в него забито. Можно так оставить и подтвердить выбор, а можно свое ввести. Я когда-то что-то такое делал, но за давностью лет уже забыл, как именно это окошко с вводом текста вызывается, и с какой системы оно идет вообще =) У меня итак сделано по принципу MoveTo, но я решил попытаться сделать "костыль" сохранения помеченных точек телепорта в конфиг, если например начал новую игру или сделал пометку в другом сохранении, то скрипт бы загрузил названия локаций (в моём случае, пока что) и при нажатии на "возврат" сверяет имена по доп функции, если имена не совпадают или имя пустое, телепортирует через CenterOnCell, если совпадают, телепортирует стандартно через MoveTo. Пока у меня так сделано, но из-за того что функция CenterOnCell перестала работать пришлось "запретить" использование по умолчанию. If (IsAllowed == True) CheckMark(MarkerReturn, CellName_16, fX_16, fY_16, fZ_16) Else Recall() EndIf Изменено 20 октября, 2021 пользователем aaa112aaa
Azazellz Опубликовано 20 октября, 2021 Опубликовано 20 октября, 2021 20.10.2021 19:01:08, aaa112aaa сказал(-а):но я решил попытаться сделать "костыль" сохранения помеченных точек телепорта в конфиг, если например начал новую игру или сделал пометку в другом сохранении Передавай между сохранениями ID/имя ячейки и координаты маркеров. По нажатию какой-нибудь специальной кнопки пусть скрипт эти данные подгружает и заново расставляет маркеры. Не уверен, правда, как это можно сделать. 20.10.2021 19:01:08, aaa112aaa сказал(-а):но из-за того что функция CenterOnCell перестала работать пришлось "запретить" использование по умолчанию. Вообще да, на вики вон про нее пишут, что скайрим может вообще зависнуть. Так что лучше ее осторожно использовать.
aaa112aaa Опубликовано 25 октября, 2021 Опубликовано 25 октября, 2021 (изменено) И снова здравствуйте. Снова я, снова проблема. Так вот, в скрипте в части "Oninit" есть код и почему-то он выполняется дважды, а то бывает и трижды, если бы не сообщения, я бы об этом и не узнал никогда. Вот почему так? И не важно какое сохранение, я загружался и на чистое сохранение, без мода. Вот собственно код Event OnInit() : OnInit() Event OnInit(); quests that are not run-once (задания, которые не выполняются один раз) bIsInitStarted = true RegisterForSingleUpdate(5.0); register for an onupdate event in 5 seconds Show_Notification("OnInit.", "#00ff00") if !(GetPlayer().HasSpell((GetFormFromFile(0x5901, "MarkAndRecall.esp")) as Spell)) GetPlayer().addspell((GetFormFromFile(0x5901, "MarkAndRecall.esp")) as Spell, false) If(bGetCurrentLanguage() == true) Show_Notification("Заклинание: " + (GetFormFromFile(0x5901, "MarkAndRecall.esp")).GetName() + " Добавлено.", "#00FF00") Else Show_Notification("Spell: " + (GetFormFromFile(0x5901, "MarkAndRecall.esp")).GetName() + " Added.", "#00FF00") EndIf endif Quest SKI_ConfigManagerInstance = ((GetFormFromFile(0x802, "SkyUI_SE.esp")) as Quest) if self.IsRunning() LoadOnlySettings() LoadSettingsAtStart() if(ConfigMCM.OldVersion != ConfigMCM.Version) SKI_ConfigManagerInstance.SetStage(1) If(bGetCurrentLanguage() == true) MessageBox("Мод: " + self.GetName() + " был обновлён, загрузка настроек.") ;Show_Notification("Мод: " + self.GetName() + " был обновлён загрузка настроек.", "#00ff00") Else MessageBox("The mod: " + self.GetName() + " has been updated, loading settings, please wait.") ;Show_Notification("The mod: " + self.GetName() + " has been updated, loading settings, please wait.", "#00ff00") EndIf If(bGetCurrentLanguage() == true) Show_Notification("Версия " + self.GetName() + " " + ConfigMCM.Version, "#DAA520") DebugNotification("Старая версия " + self.GetName() + " " + ConfigMCM.OldVersion, false, "#00FF00") Else Show_Notification("Version of " + self.GetName() + " " + ConfigMCM.Version, "#DAA520") DebugNotification("Old version of " + self.GetName() + " " + ConfigMCM.OldVersion, false, "#00FF00") EndIf ;LoadOnlyLocNames() If(bLoadOnlyLocNames() == true) Wait(1) MarkAndRecallScript.Set1() MarkAndRecallScript.Set2() MarkAndRecallScript.Set3() MarkAndRecallScript.Set4() MarkAndRecallScript.Set5() MarkAndRecallScript.Set6() MarkAndRecallScript.Set7() MarkAndRecallScript.Set8() MarkAndRecallScript.Set9() MarkAndRecallScript.Set10() MarkAndRecallScript.Set11() MarkAndRecallScript.Set12() MarkAndRecallScript.Set13() MarkAndRecallScript.Set14() MarkAndRecallScript.Set15() MarkAndRecallScript.Set16() Wait(3) RecallsDisplayed() EndIf If(bGetCurrentLanguage() == true) Show_Notification("Все готово.", "#00ff00") Else Show_Notification("Everything is ready.", "#00ff00") EndIf ConfigMCM.OldVersion = ConfigMCM.Version EndIf UpdateSettings() ;self.OnGameReload() endIf bIsInitStarted = false bIsInitCompleted = true EndEvent А вот, если нужно, весь скрипт: MarkAndRecallQuestScript Scriptname MarkAndRecallQuestScript extends Quest Conditional ;Import SKSE import Debug import Utility import Game import Input Import UI Import StringUtil Import SKI_ConfigBase ;-- Properties -------------------------------------- MarkAndRecallConfigMCMScript property ConfigMCM auto MarkAndRecallScriptEffect property MarkAndRecallScript auto bool Property bEnabled = true Auto Bool Property IsDebugMode = false Auto Bool Property IsAllowed = false Auto Bool Property IsClassicMode = true Auto Bool Property bSaveUserSettings = false Auto Bool Property bCanCityPortal = true Auto Conditional Bool Property bCheckingNames = false Auto Conditional Bool Property bIsInitStarted = false Auto Bool Property bIsInitCompleted = false Auto bool property uninstall = false auto Message property uninstallMessage auto Bool property ErrorDetected = false Auto Hidden Bool property MENUExtended Auto Hidden Bool property DLC1Extended Auto Hidden String property MinSKSEVersion String function get() return "2.0.19" endFunction endproperty Int property MinSKSERelease Int function get() return 53 endFunction endproperty Int property ERR_SKSE_VERSION_SCPT Int function get() return 3 endFunction endproperty Int property ERR_SKSE_MISSING Int function get() return 1 endFunction endproperty Int property ERR_SKSE_BROKEN Int function get() return 7 endFunction endproperty Int property ERR_SKSE_VERSION_RT Int function get() return 2 endFunction endproperty Int property ERR_INI_PAPYRUS Int function get() return 4 endFunction endproperty ReferenceAlias Property Recall1 Auto ReferenceAlias Property Recall2 Auto ReferenceAlias Property Recall3 Auto ReferenceAlias Property Recall4 Auto ReferenceAlias Property Recall5 Auto ReferenceAlias Property Recall6 Auto ReferenceAlias Property Recall7 Auto ReferenceAlias Property Recall8 Auto ReferenceAlias Property Recall9 Auto ReferenceAlias Property Recall10 Auto ReferenceAlias Property Recall11 Auto ReferenceAlias Property Recall12 Auto ReferenceAlias Property Recall13 Auto ReferenceAlias Property Recall14 Auto ReferenceAlias Property Recall15 Auto ReferenceAlias Property Recall16 Auto String Property Recall1Name Auto Hidden String Property Recall2Name Auto Hidden String Property Recall3Name Auto Hidden String Property Recall4Name Auto Hidden String Property Recall5Name Auto Hidden String Property Recall6Name Auto Hidden String Property Recall7Name Auto Hidden String Property Recall8Name Auto Hidden String Property Recall9Name Auto Hidden String Property Recall10Name Auto Hidden String Property Recall11Name Auto Hidden String Property Recall12Name Auto Hidden String Property Recall13Name Auto Hidden String Property Recall14Name Auto Hidden String Property Recall15Name Auto Hidden String Property Recall16Name Auto Hidden String Property Cell_Name Auto Hidden Float Property f_X Auto Hidden Float Property f_Y Auto Hidden Float Property f_Z Auto Hidden Int Property Distance = 4000 Auto ;ReferenceAlias Property Player Auto ;-- Variables --------------------------------------- String settings_path = "..\\MarkAndRecall\\UserSettings" String S_1 String[] sNames String[] sCN ReferenceAlias[] aORef String _Recall_1_Name String Recall2Name String Recall3Name String Recall4Name String Recall5Name String Recall6Name String Recall7Name String Recall8Name String Recall9Name String Recall10Name String Recall11Name String Recall12Name String Recall13Name String Recall14Name String Recall15Name String Recall16Name String _Cell_Name_1 String _Cell_Name_2 String _Cell_Name_3 String _Cell_Name_4 String _Cell_Name_5 String _Cell_Name_6 String _Cell_Name_7 String _Cell_Name_8 String _Cell_Name_9 String _Cell_Name_10 String _Cell_Name_11 String _Cell_Name_12 String _Cell_Name_13 String _Cell_Name_14 String _Cell_Name_15 String _Cell_Name_16 int _IsNameSet1 int _IsNameSet2 int _IsNameSet3 int _IsNameSet4 int _IsNameSet5 int _IsNameSet6 int _IsNameSet7 int _IsNameSet8 int _IsNameSet9 int _IsNameSet10 int _IsNameSet11 int _IsNameSet12 int _IsNameSet13 int _IsNameSet14 int _IsNameSet15 int _IsNameSet16 float _fX_1 float _fX_2 float _fX_3 float _fX_4 float _fX_5 float _fX_6 float _fX_7 float _fX_8 float _fX_9 float _fX_10 float _fX_11 float _fX_12 float _fX_13 float _fX_14 float _fX_15 float _fX_16 float _fY_1 float _fY_2 float _fY_3 float _fY_4 float _fY_5 float _fY_6 float _fY_7 float _fY_8 float _fY_9 float _fY_10 float _fY_11 float _fY_12 float _fY_13 float _fY_14 float _fY_15 float _fY_16 float _fZ_1 float _fZ_2 float _fZ_3 float _fZ_4 float _fZ_5 float _fZ_6 float _fZ_7 float _fZ_8 float _fZ_9 float _fZ_10 float _fZ_11 float _fZ_12 float _fZ_13 float _fZ_14 float _fZ_15 float _fZ_16 ;float _afZ ;/ /; ;-- Functions --------------------------------------- Event OnInit(); quests that are not run-once (задания, которые не выполняются один раз) bIsInitStarted = true RegisterForSingleUpdate(5.0); register for an onupdate event in 5 seconds Show_Notification("OnInit.", "#00ff00") if !(GetPlayer().HasSpell((GetFormFromFile(0x5901, "MarkAndRecall.esp")) as Spell)) GetPlayer().addspell((GetFormFromFile(0x5901, "MarkAndRecall.esp")) as Spell, false) If(bGetCurrentLanguage() == true) Show_Notification("Заклинание: " + (GetFormFromFile(0x5901, "MarkAndRecall.esp")).GetName() + " Добавлено.", "#00FF00") Else Show_Notification("Spell: " + (GetFormFromFile(0x5901, "MarkAndRecall.esp")).GetName() + " Added.", "#00FF00") EndIf endif Quest SKI_ConfigManagerInstance = ((GetFormFromFile(0x802, "SkyUI_SE.esp")) as Quest) if self.IsRunning() LoadOnlySettings() LoadSettingsAtStart() if(ConfigMCM.OldVersion != ConfigMCM.Version) SKI_ConfigManagerInstance.SetStage(1) If(bGetCurrentLanguage() == true) MessageBox("Мод: " + self.GetName() + " был обновлён, загрузка настроек.") ;Show_Notification("Мод: " + self.GetName() + " был обновлён загрузка настроек.", "#00ff00") Else MessageBox("The mod: " + self.GetName() + " has been updated, loading settings, please wait.") ;Show_Notification("The mod: " + self.GetName() + " has been updated, loading settings, please wait.", "#00ff00") EndIf If(bGetCurrentLanguage() == true) Show_Notification("Версия " + self.GetName() + " " + ConfigMCM.Version, "#DAA520") DebugNotification("Старая версия " + self.GetName() + " " + ConfigMCM.OldVersion, false, "#00FF00") Else Show_Notification("Version of " + self.GetName() + " " + ConfigMCM.Version, "#DAA520") DebugNotification("Old version of " + self.GetName() + " " + ConfigMCM.OldVersion, false, "#00FF00") EndIf ;LoadOnlyLocNames() If(bLoadOnlyLocNames() == true) Wait(1) MarkAndRecallScript.Set1() MarkAndRecallScript.Set2() MarkAndRecallScript.Set3() MarkAndRecallScript.Set4() MarkAndRecallScript.Set5() MarkAndRecallScript.Set6() MarkAndRecallScript.Set7() MarkAndRecallScript.Set8() MarkAndRecallScript.Set9() MarkAndRecallScript.Set10() MarkAndRecallScript.Set11() MarkAndRecallScript.Set12() MarkAndRecallScript.Set13() MarkAndRecallScript.Set14() MarkAndRecallScript.Set15() MarkAndRecallScript.Set16() Wait(3) RecallsDisplayed() EndIf If(bGetCurrentLanguage() == true) Show_Notification("Все готово.", "#00ff00") Else Show_Notification("Everything is ready.", "#00ff00") EndIf ConfigMCM.OldVersion = ConfigMCM.Version EndIf UpdateSettings() ;self.OnGameReload() endIf bIsInitStarted = false bIsInitCompleted = true EndEvent Event OnPlayerLoadGame() Show_Notification("MarkAndRecallQuest: OnPlayerLoadGame", "#00ff00") LoadSettingsAtStart() EndEvent Function OnGameReload(); quests that were running at time of save (задания, которые выполнялись во время сохранения) requires SkyUI's SKI_PlayerLoadGameAlias script; or use Player's OnPlayerLoadGame event LoadOnlySettings() LoadSettingsAtStart() DebugNotification("OnGameReload.", true , "#00FF00") if (IsDebugMode) MarkAndRecallScript.IsDebugMode = IsDebugMode ConfigMCM.bIsDebugMode = IsDebugMode endif if (IsAllowed) MarkAndRecallScript.IsAllowed = IsAllowed ConfigMCM.bIsAllowed = IsAllowed endif if (IsClassicMode) MarkAndRecallScript.IsClassicMode = IsClassicMode ConfigMCM.bIsClassicMode = IsClassicMode endif if (bCanCityPortal) MarkAndRecallScript.bCanCityPortal = bCanCityPortal ConfigMCM.bIsClassicMode = bCanCityPortal endif if (bCheckingNames) MarkAndRecallScript.bCheckingNames = bCheckingNames ConfigMCM.bIsClassicMode = bCheckingNames endif ;/ bool MENUCheck = (Game.GetFormFromFile(0xE00, "UIExtensions.esp") != None) If MENUCheck Debug.Trace("Notification: Menu system loaded.", 1) MENUExtended = true Else Debug.Trace("WARNING: Menu system disabled, plugin UIExtensions.esp failed to load.", 1) MENUExtended = false Endif /; ; Check for DLC1 bool DLC1Check = (Game.GetFormFromFile(0x588C, "Dawnguard.esm") != None) ; Checks for DLC1VampireTurnScript Quest If DLC1Check Debug.Trace("Notification: Dawnguard loaded.", 1) DLC1Extended = true Else DLC1Extended = false Debug.Trace("WARNING: Dawnguard not loaded.", 1) Endif bool APNLCheck = (Game.GetFormFromFile(0x824, "SkyUI_SE.esp") != None) If APNLCheck Debug.Trace("Notification: SkyUI_SE.esp loaded.", 1) Else Debug.Trace("WARNING: Plugin failed to load SkyUI not found.", 1) Endif ErrorDetected = false if skse.GetVersionRelease() == 0 self.Error(self.ERR_SKSE_MISSING, "The Skyrim Script Extender (SKSE64) не запущен.") return elseIf self.GetType() == 0 self.Error(self.ERR_SKSE_BROKEN, "SKSE64 скрипты были перезаписаны или неправильно установлены.\nПереустановка SKSE64 может исправить эту проблему.") return elseIf skse.GetVersionRelease() < self.MinSKSERelease self.Error(self.ERR_SKSE_VERSION_RT, "SKSE64 является устаревшей версией.\n" + "Требуемая версия: " + self.MinSKSEVersion + " или новее\n" + "Обнаруженная версия: " + skse.GetVersion() as String + "." + skse.GetVersionMinor() as String + "." + skse.GetVersionBeta() as String) return elseIf skse.GetScriptVersionRelease() < self.MinSKSERelease self.Error(self.ERR_SKSE_VERSION_SCPT, "SKSE64 скрипты устарели.\nВы скорее всего забыли установить/обновить эти скрипты, которые поставляются вместе с SKSE64.") return endIf if utility.GetINIInt("iMinMemoryPageSize:Papyrus") <= 0 || utility.GetINIInt("iMaxMemoryPageSize:Papyrus") <= 0 || utility.GetINIInt("iMaxAllocatedMemoryBytes:Papyrus") <= 0 self.Error(self.ERR_INI_PAPYRUS, "Ваши настройки Papyrus INI являются недействительными. Пожалуйста исправьте их.") return endIf Quest MarkAndRecallVersionCheck = ((GetFormFromFile(0x52FF0, "MarkAndRecall.esp")) as Quest) Quest MarkAndRecallObjectivesDisplayedQuest = ((GetFormFromFile(0x52FEF, "MarkAndRecall.esp")) as Quest) Quest SKI_ConfigManagerInstance = ((GetFormFromFile(0x802, "SkyUI_SE.esp")) as Quest) if(ConfigMCM.OldVersion as String != ConfigMCM.Version as String) SKI_ConfigManagerInstance.SetStage(1) If(bGetCurrentLanguage() == true) MessageBox("Мод: " + self.GetName() + " был обновлён, загрузка настроек.") ;Show_Notification("Мод: " + self.GetName() + " был обновлён загрузка настроек.", "#00ff00") Else MessageBox("The mod: " + self.GetName() + " has been updated, loading settings, please wait.") ;Show_Notification("The mod: " + self.GetName() + " has been updated, loading settings, please wait.", "#00ff00") EndIf If(bGetCurrentLanguage() == true) Show_Notification("Мод: " + self.GetName() + " был обновлён загрузка настроек.", "#00ff00") Else Show_Notification("The mod: " + self.GetName() + " has been updated, loading settings, please wait.", "#00ff00") EndIf If(bGetCurrentLanguage() == true) Show_Notification("Версия " + self.GetName() + " " + ConfigMCM.Version, "#DAA520") DebugNotification("Старая версия " + self.GetName() + " " + ConfigMCM.OldVersion, true , "#00FF00") Else Show_Notification("Version of " + self.GetName() + " " + ConfigMCM.Version, "#DAA520") DebugNotification("Old version of " + self.GetName() + " " + ConfigMCM.OldVersion, true , "#00FF00") EndIf ;LoadOnlyLocNames() If(bLoadOnlyLocNames() == true) Wait(1) MarkAndRecallScript.Set1() MarkAndRecallScript.Set2() MarkAndRecallScript.Set3() MarkAndRecallScript.Set4() MarkAndRecallScript.Set5() MarkAndRecallScript.Set6() MarkAndRecallScript.Set7() MarkAndRecallScript.Set8() MarkAndRecallScript.Set9() MarkAndRecallScript.Set10() MarkAndRecallScript.Set11() MarkAndRecallScript.Set12() MarkAndRecallScript.Set13() MarkAndRecallScript.Set14() MarkAndRecallScript.Set15() MarkAndRecallScript.Set16() Wait(3) RecallsDisplayed() EndIf If(bGetCurrentLanguage() == true) Show_Notification("Все готово.", "#00ff00") Else Show_Notification("Everything is ready.", "#00ff00") EndIf ConfigMCM.OldVersion = ConfigMCM.Version Else EndIf UpdateSettings() EndFunction Function UpdateSettings() ;ConfigMCM.bEnabled = bEnabled If bEnabled MarkAndRecallScript.IsDebugMode = IsDebugMode MarkAndRecallScript.IsAllowed = IsAllowed MarkAndRecallScript.IsClassicMode = IsClassicMode MarkAndRecallScript.bCanCityPortal = bCanCityPortal MarkAndRecallScript.bCheckingNames = bCheckingNames ;ConfigMCM.bEnabled = bEnabled ConfigMCM.bIsAllowed = IsAllowed ConfigMCM.bIsClassicMode = IsClassicMode ConfigMCM.bIsDebugMode = IsDebugMode ConfigMCM.bCanCityPortal = bCanCityPortal ConfigMCM.bCheckingNames = bCheckingNames EndIf if (uninstall) Quest MarkAndRecallVersionCheck = ((GetFormFromFile(0x52FF0, "MarkAndRecall.esp")) as Quest) Quest MarkAndRecallObjectivesDisplayedQuest = ((GetFormFromFile(0x52FEF, "MarkAndRecall.esp")) as Quest) ;Quest MarkAndRecallConfigQuest = ((GetFormFromFile(0x23D97, "MarkAndRecall.esp")) as Quest) ;MarkAndRecallConfigQuest.stop() MarkAndRecallVersionCheck.stop() MarkAndRecallObjectivesDisplayedQuest.stop() Self.stop() If(bGetCurrentLanguage() == true) Show_Notification("Квест: " + self.GetName() + " Остановлен.", "#FF0000") Else Show_Notification("Quest: " + self.GetName() + " Stoped.", "#FF0000") EndIf if (GetPlayer().HasSpell((GetFormFromFile(0x5901, "MarkAndRecall.esp")) as Spell)) ; Forces this actor to unequip the specified spell. The casting source can be: ; 0 - Left hand ; 1 - Right hand ; UnequipSpell(Spell akSpell, int aiSource) Form leftHand = GetPlayer().GetEquippedObject(0) Form rightHand = GetPlayer().GetEquippedObject(1) if (leftHand as Spell != none) GetPlayer().UnequipSpell((leftHand as Spell), 0) endif if (rightHand as Spell != none) GetPlayer().UnequipSpell((rightHand as Spell), 1) endif wait(1) GetPlayer().RemoveSpell((GetFormFromFile(0x5901, "MarkAndRecall.esp")) as Spell) If(bGetCurrentLanguage() == true) Show_Notification("Заклинание: " + (GetFormFromFile(0x5901, "MarkAndRecall.esp")).GetName() + " Удалено.", "#FF0000") Else Show_Notification("Spell: " + (GetFormFromFile(0x5901, "MarkAndRecall.esp")).GetName() + " Removed.", "#FF0000") EndIf endif uninstallMessage.Show(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) Quest SKI_ConfigManagerInstance = ((GetFormFromFile(0x802, "SkyUI_SE.esp")) as Quest) SKI_ConfigManagerInstance.SetStage(1) wait(1) Else SaveSettings() endif EndFunction Event OnGameLoad() Show_Notification("OnGameLoad.", "#00ff00") EndEvent Event OnUpdate() DebugNotification("OnUpdate.", true , "#00FF00") if (IsDebugMode) MarkAndRecallScript.IsDebugMode = IsDebugMode ConfigMCM.bIsDebugMode = IsDebugMode endif if (IsAllowed) MarkAndRecallScript.IsAllowed = IsAllowed ConfigMCM.bIsAllowed = IsAllowed endif if (IsClassicMode) MarkAndRecallScript.IsClassicMode = IsClassicMode ConfigMCM.bIsClassicMode = IsClassicMode endif if (bCanCityPortal) MarkAndRecallScript.bCanCityPortal = bCanCityPortal ConfigMCM.bIsClassicMode = bCanCityPortal endif if (bCheckingNames) MarkAndRecallScript.bCheckingNames = bCheckingNames ConfigMCM.bIsClassicMode = bCheckingNames endif SaveSettings() EndEvent function Error(Int a_errId, String a_msg) MessageBox("Кодовая ошибка " + a_errId as String + "\n\n" + a_msg) ErrorDetected = true endFunction String Function DebugNotification(String S, bool c, String color = "") If(IsDebugMode == true) if (c) ((Self as Form) as UILIB_1).ShowNotification(S, color) Else Notification(S) endif EndIf EndFunction Function Show_Notification_Icon(String S1, String S2, int i, String S3) {String asMessage, String asIconPath, Int aiIconFrame = 0, String asColor = "#FFFFFF"} return ((Self as Form) as UILIB_1).ShowNotificationIcon(S1, S2, i, S3) EndFunction Function Show_Notification(String S1, String S2) {String asMessage, String asColor = "#FFFFFF"} return ((Self as Form) as UILIB_1).ShowNotification(S1, S2) EndFunction ;/ Int Function ShowList(String asTitle = "", String[] asOptions, Int aiStartIndex, Int aiDefaultIndex) If(bMenuOpen) Return -1 EndIf bMenuOpen = True iInput = -1 sTitle = asTitle sOptions = asOptions iStartIndex = aiStartIndex iDefaultIndex = aiDefaultIndex ListMenu_Open(Self) While(bMenuOpen) Utility.WaitMenuMode(0.1) EndWhile ListMenu_Release(Self) Return iInput EndFunction iIndex = 1 while iIndex <= 16;self.GetNumAliases() iIndex += 1 endWhile Function ShowMarkAndRecallMenu() String[] sOptions = new String[5] sOptions = new String[5] sOptions[0] = "First" sOptions[1] = "Second" sOptions[2] = "Third" sOptions[3] = "Fourth" sOptions[4] = "Fifth" UILIB_1.ListMenu_Open(Self) EndFunction Int Property iMenuItemIndex = 5 Auto /; Function ShowMarkAndRecallMenu() String Title String MenuItem1 String MenuItem2 String MenuItem3 String MenuItem4 String sCancel If(bGetCurrentLanguage() == true) Title = "Меню Пометки и Возврата" MenuItem1 = "Пометка" MenuItem2 = "Возврат" MenuItem3 = "Проверка имен" MenuItem4 = "Городской портал" sCancel = "Отмена" Else Title = "Mark & Recall Menu" MenuItem1 = "Mark" MenuItem2 = "Recall" MenuItem3 = "Name verification" MenuItem4 = "City Portal" sCancel = "Cancel" EndIf String[] sOptions = new String[5] sOptions[0] = MenuItem1 sOptions[1] = MenuItem2 sOptions[2] = MenuItem3 sOptions[3] = MenuItem4 sOptions[4] = sCancel Int iInput = ((Self as Form) as UILIB_1).ShowList(Title, sOptions, 4, 4) EndFunction Function ShowMarkMenu() String[] sOptions = new String[17] String Title String sCancel String RecallName String CellName int iIndex sNames = new String[16] aORef = new ReferenceAlias[16] sNames[1] = Recall1Name sNames[2] = Recall2Name sNames[3] = Recall3Name sNames[4] = Recall4Name sNames[5] = Recall5Name sNames[6] = Recall6Name sNames[7] = Recall7Name sNames[8] = Recall8Name sNames[9] = Recall9Name sNames[10] = Recall10Name sNames[11] = Recall11Name sNames[12] = Recall12Name sNames[13] = Recall13Name sNames[14] = Recall14Name sNames[15] = Recall15Name sNames[16] = Recall16Name aORef[1] = Recall1 aORef[2] = Recall2 aORef[3] = Recall3 aORef[4] = Recall4 aORef[5] = Recall5 aORef[6] = Recall6 aORef[7] = Recall7 aORef[8] = Recall8 aORef[9] = Recall9 aORef[10] = Recall10 aORef[11] = Recall11 aORef[12] = Recall12 aORef[13] = Recall13 aORef[14] = Recall14 aORef[15] = Recall15 aORef[16] = Recall16 If(bGetCurrentLanguage() == true) Title = "Меню Пометки" RecallName = "Пусто" sCancel = "Отмена" Else Title = "Mark Menu" RecallName = "Empty" sCancel = "Cancel" EndIf iIndex = 1 while iIndex <= 16;self.GetNumAliases() if (aORef[iIndex].GetRef().GetParentCell().IsInterior() == 0) sCN[iIndex] = aORef[iIndex].GetRef().GetCurrentLocation().GetName() ;DebugNotification("GetCurrentLocation: " + " " + iIndex + " " + aORef[iIndex].GetRef().GetCurrentLocation().GetName()) ElseIf (aORef[iIndex].GetRef().GetParentCell().IsInterior() == 1) sCN[iIndex] = aORef[iIndex].GetRef().GetParentCell().GetName() ;DebugNotification("GetParentCell: " + " " + iIndex + " " + aORef[iIndex].GetRef().GetParentCell().GetName()) EndIf If (GetCellNameIdentical(aORef[iIndex].GetRef(), sCN[iIndex], sNames[iIndex]) == false) sNames[iIndex] = GetCellName(aORef[iIndex].GetRef(), sCN[iIndex], sNames[iIndex]) if sNames[iIndex] == "Mark And Recall Markers Cell" sNames[iIndex] = RecallName sOptions[0] = sCancel sOptions[1] = "Mark " + iIndex + " - " + sNames[1] sOptions[2] = ("Mark " + iIndex + " - " + sNames[2]) sOptions[3] = ("Mark " + iIndex + " - " + sNames[3]) sOptions[4] = ("Mark " + iIndex + " - " + sNames[4]) sOptions[5] = ("Mark " + iIndex + " - " + sNames[5]) sOptions[6] = ("Mark " + iIndex + " - " + sNames[6]) sOptions[7] = ("Mark " + iIndex + " - " + sNames[7]) sOptions[8] = ("Mark " + iIndex + " - " + sNames[8]) sOptions[9] = ("Mark " + iIndex + " - " + sNames[9]) sOptions[10] = ("Mark " + iIndex + " - " + sNames[10]) sOptions[11] = ("Mark " + iIndex + " - " + sNames[11]) sOptions[12] = ("Mark " + iIndex + " - " + sNames[12]) sOptions[13] = ("Mark " + iIndex + " - " + sNames[13]) sOptions[14] = ("Mark " + iIndex + " - " + sNames[14]) sOptions[15] = ("Mark " + iIndex + " - " + sNames[15]) sOptions[16] = ("Mark " + iIndex + " - " + sNames[16]) DebugNotification("sNames: " + " " + iIndex + " " + sNames[iIndex], false) endif endif iIndex += 1 endWhile Int iInput = ((Self as Form) as UILIB_1).ShowList(Title, sOptions, 0, 0) EndFunction Function ShowRecallMenu() String[] sOptions = new String[16] String Title String RecallName String CellName int iIndex sNames = new String[16] aORef = new ReferenceAlias[16] sNames[1] = Recall1Name sNames[2] = Recall2Name sNames[3] = Recall3Name sNames[4] = Recall4Name sNames[5] = Recall5Name sNames[6] = Recall6Name sNames[7] = Recall7Name sNames[8] = Recall8Name sNames[9] = Recall9Name sNames[10] = Recall10Name sNames[11] = Recall11Name sNames[12] = Recall12Name sNames[13] = Recall13Name sNames[14] = Recall14Name sNames[15] = Recall15Name sNames[16] = Recall16Name aORef[1] = Recall1 aORef[2] = Recall2 aORef[3] = Recall3 aORef[4] = Recall4 aORef[5] = Recall5 aORef[6] = Recall6 aORef[7] = Recall7 aORef[8] = Recall8 aORef[9] = Recall9 aORef[10] = Recall10 aORef[11] = Recall11 aORef[12] = Recall12 aORef[13] = Recall13 aORef[14] = Recall14 aORef[15] = Recall15 aORef[16] = Recall16 iIndex = 1 while iIndex <= 16;self.GetNumAliases() If(bGetCurrentLanguage() == true) RecallName = "Пусто" Else RecallName = "Empty" EndIf if (aORef[iIndex].GetRef().GetParentCell().IsInterior() == 0) sCN[iIndex] = aORef[iIndex].GetRef().GetCurrentLocation().GetName() ;DebugNotification("GetCurrentLocation: " + " " + iIndex + " " + aORef[iIndex].GetRef().GetCurrentLocation().GetName()) ElseIf (aORef[iIndex].GetRef().GetParentCell().IsInterior() == 1) sCN[iIndex] = aORef[iIndex].GetRef().GetParentCell().GetName() ;DebugNotification("GetParentCell: " + " " + iIndex + " " + aORef[iIndex].GetRef().GetParentCell().GetName()) EndIf If (GetCellNameIdentical(aORef[iIndex].GetRef(), sCN[iIndex], sNames[iIndex]) == false) sNames[iIndex] = GetCellName(aORef[iIndex].GetRef(), sCN[iIndex], sNames[iIndex]) if sNames[iIndex] == "Mark And Recall Markers Cell" sNames[iIndex] = RecallName DebugNotification("sNames: " + " " + iIndex + " " + sNames[iIndex], false) endif endif DebugNotification("sNames: " + " " + iIndex + " " + sNames[iIndex], false) sOptions[0] = sNames[1] sOptions[1] = sNames[2] sOptions[2] = sNames[3] sOptions[3] = sNames[4] sOptions[4] = sNames[5] sOptions[5] = sNames[6] sOptions[6] = sNames[7] sOptions[7] = sNames[8] sOptions[8] = sNames[9] sOptions[9] = sNames[10] sOptions[10] = sNames[11] sOptions[11] = sNames[12] sOptions[12] = sNames[13] sOptions[13] = sNames[14] sOptions[14] = sNames[15] sOptions[15] = sNames[16] iIndex += 1 endWhile If(bGetCurrentLanguage() == true) Title = "Меню Возврата" Else Title = "Recall Menu" EndIf Int iInput = ((Self as Form) as UILIB_1).ShowList(Title, sOptions, 0, 0) EndFunction bool function bGetCurrentLanguage() If(GetINIString("sLanguage:General") == "") Show_Notification("Your language is not recognized, notifications will be disabled.", "#FF0000") ElseIf(GetINIString("sLanguage:General") == "ENGLISH") return false ElseIf(GetINIString("sLanguage:General") == "RUSSIAN") return true EndIf endFunction String function GetCurrentLanguage() If(GetINIString("sLanguage:General") == "") Notification("Your language is not recognized, notifications will be disabled.") Else return GetINIString("sLanguage:General") EndIf endFunction string function FormatBoolean(bool b, String S1, String S2) if (b) return S1 endIf return S2 endFunction string function FormatBooleanColor(bool b, String S1, String S2, bool c) if (b) if (c) ((Self as Form) as UILIB_1).ShowNotification(S1, "#00FF00") Else return S1 endif Else if (c) ((Self as Form) as UILIB_1).ShowNotification(S2, "#FF0000") Else return S2 endif endif endFunction function ToggleMapMarker(objectreference objMarked) Trace("ToggleMapMarker, objMarked.GetDisplayName():" + objMarked.GetDisplayName(), 0) if objMarked ReferenceAlias refAlias Int iIndex = 1 while iIndex < 16;self.GetNumAliases() If ((refAlias.GetRef().GetParentCell() != MarkAndRecallScript.IgnoreCell) && (refAlias.GetRef() != GetPlayer())) refAlias = self.GetNthAlias(iIndex) as ReferenceAlias if refAlias.GetRef() == objMarked refAlias.Clear() self.SetObjectiveDisplayed(iIndex, false, true) If(bGetCurrentLanguage() == true) Show_Notification("Маркер на карте удален.", "#FF0000") Else Show_Notification("The marker on the map has been removed.", "#FF0000") EndIf return endIf endIf iIndex += 1 endWhile iIndex = 1 while iIndex < 16;self.GetNumAliases() If ((refAlias.GetRef().GetParentCell() != MarkAndRecallScript.IgnoreCell) && (refAlias.GetRef() != GetPlayer())) refAlias = self.GetNthAlias(iIndex) as ReferenceAlias if refAlias.GetRef() == none refAlias.ForceRefTo(objMarked) If (refAlias.GetRef().GetParentCell() != MarkAndRecallScript.IgnoreCell) self.SetObjectiveDisplayed(iIndex, true, true) EndIf If(bGetCurrentLanguage() == true) Show_Notification("Маркер добавлен на карту.", "#00FF00") Else Show_Notification("Marker added to the map.", "#00FF00") EndIf return endIf endIf iIndex += 1 endWhile If(bGetCurrentLanguage() == true) Show_Notification("Достигнуто максимальное количество маркеров. Удалите маркеры.", "#FF0000") Else Show_Notification("The maximum number of markers has been reached. Remove the markers.", "#FF0000") EndIf endIf endFunction bool Function IsMarkerNearPlayer(ObjectReference O) Actor player = GetPlayer() Cell targetCell = O.GetParentCell() Cell playerCell = player.GetParentCell() if (targetCell != playerCell) return false else if (player.GetDistance(O) >= Distance) ; pretty darned far away -- safe return false else ; too close for comfort return true endif endif endFunction Function IsIdentical(String S1, String S2) String Identical = "Совпадает " String NotIdentical = "Не Совпадает " String Empty = " is Empty " If(S1 == S2) If(S1 == "") notification(Identical + " " + Empty) else notification(Identical) Endif else notification(NotIdentical) EndIf EndFunction bool Function bIsIdentical(String S1, String S2) If(S1 == S2) If(S1 == "") return false else return true Endif else return false EndIf EndFunction Bool Function GetCellNameIdenticalInvert(ObjectReference O, String S1, String S2) String CellName String WorldSpaceName If ((S1 == S2) && (S2 != "")) DebugNotification("True", false) return true ElseIf (S1 != S2) If ((S2 == "") && (S1 != "")) DebugNotification("True (S2 == Empty) && (S1 != Empty)", false) return true ElseIf ((S2 != "") && (S1 == "")) If ((O.GetCurrentLocation().GetName() == "") && (O.GetParentCell().GetName() == "")) Int xcell = math.floor(O.getpositionX() / 4096 as Float) Int ycell = math.floor(O.getpositionY() / 4096 as Float) Int zcell = math.floor(O.getpositionZ()) If(bGetCurrentLanguage() == true) WorldSpaceName = "Тамриэль" Else WorldSpaceName = "Tamriel" EndIf If (S2 == (WorldSpaceName + " " + xcell as String + " , " + ycell as String)); Скайрим DebugNotification("True Tamriel", false) return true Else DebugNotification("False Tamriel", false) return false EndIf EndIf If(bGetCurrentLanguage() == true) CellName = "Пусто" Else CellName = "Empty" EndIf ElseIf ((S1 == "Mark And Recall Markers Cell") && (S2 == CellName)) DebugNotification("True - Ignore Cell", false) return true Endif DebugNotification("False - (S1 != S2)", false) ; Notification("GetWorldSpaceName: " + O.GetWorldSpace().GetName()) return false ElseIf (S2 == "") DebugNotification("True (S2 == Empty)", false) return true EndIf EndFunction Bool Function GetCellNameIdentical(ObjectReference O, String S1, String S2) String CellName String LocationName String WorldSpaceName If ((S1 == S2) && (S2 != "")) return true ElseIf (S1 != S2) If(bGetCurrentLanguage() == true) LocationName = "(Снаружи)" Else LocationName = "(Outside)" EndIf If ((S2 == (S1 + " " + LocationName)) && (S1 != "")) DebugNotification("True - (S2 == (S1 + ( Outside)))", false) return true ElseIf ((S2 == "") && (S1 != "")) DebugNotification("False - (S2 == Empty) && (S1 != Empty)", false) return false ElseIf ((S2 != "") && (S1 == "")) If ((O.GetCurrentLocation().GetName() == "") && (O.GetParentCell().GetName() == "")) ; Notification("GetWorldSpaceName: " + O.GetWorldSpace().GetName()) Int xcell = math.floor(O.getpositionX() / 4096 as Float) Int ycell = math.floor(O.getpositionY() / 4096 as Float) Int zcell = math.floor(O.getpositionZ()) If(bGetCurrentLanguage() == true) WorldSpaceName = "Тамриэль" Else WorldSpaceName = "Tamriel" EndIf If (S2 == (WorldSpaceName + " " + xcell as String + " , " + ycell as String)); Скайрим DebugNotification("True Tamriel", false) return true Else DebugNotification("False Tamriel", false) return false EndIf EndIf If(bGetCurrentLanguage() == true) CellName = "Пусто" Else CellName = "Empty" EndIf ElseIf ((S1 == "Mark And Recall Markers Cell") && (S2 == CellName)) DebugNotification("True - Ignore Cell", false) return true Endif DebugNotification("False - (S1 != S2)", false) return false ElseIf (S2 == "") DebugNotification("False - (S2 == Empty)", false) return false ElseIf ((S1 == "") && (S2 == "")) DebugNotification("False - Strings == Empty", false) return false EndIf EndFunction String Function GetCellName(ObjectReference O, String S1, String S2) String CellName String LocationName String WorldSpaceName if (O.GetParentCell().IsInterior() == 0) If (O.GetCurrentLocation().GetName() != "") ;DebugNotification("True") If(bGetCurrentLanguage() == true) LocationName = "(Снаружи)" Else LocationName = "(Outside)" EndIf ;DebugNotification(LocationName) return (O.GetCurrentLocation().GetName() + " " + LocationName) ElseIf ((O.GetCurrentLocation().GetName() == "") && (O.GetParentCell().GetName() == "")) Int xcell = math.floor(O.getpositionX() / 4096 as Float) Int ycell = math.floor(O.getpositionY() / 4096 as Float) Int zcell = math.floor(O.getpositionZ()) If(bGetCurrentLanguage() == true) WorldSpaceName = "Тамриэль" Else WorldSpaceName = "Tamriel" EndIf ;DebugNotification(WorldSpaceName) return (WorldSpaceName + " " + xcell as String + " , " + ycell as String); Скайрим Endif ElseIf (O.GetParentCell().IsInterior() == 1) If (O.GetParentCell().GetName() != "") If(bGetCurrentLanguage() == true) CellName = "Пусто" Else CellName = "Empty" EndIf If ((S1 == "Mark And Recall Markers Cell") && (S2 == CellName)) Else ;DebugNotification("Interior") return (O.GetParentCell().GetName()) Endif EndIf EndIf EndFunction String Function GetCellName1(ObjectReference O, String S1, String S2) If ((S1 == S2) && (S2 != "")) ElseIf ((S1 == "") && (O.GetCurrentLocation().GetName() != "")) if ((O.GetParentCell().IsInterior() == 0) && (S1 == S2)) return (O.GetCurrentLocation().GetName() + " (Снаружи)") Endif ElseIf ((S1 == "") && (O.GetCurrentLocation().GetName() == "") && (O.GetParentCell().GetName() == "")) Int xcell = math.floor(O.getpositionX() / 4096 as Float) Int ycell = math.floor(O.getpositionY() / 4096 as Float) Int zcell = math.floor(O.getpositionZ()) ; Notification("Check 4: " + O.GetWorldSpace().GetName() + " " + xcell as String + " , " + ycell as String) return ("Тамриэль " + xcell as String + " , " + ycell as String); Скайрим ElseIf (S1 != S2) ; Notification("Check: Else") If ((S2 == "") && (S1 != "")) if (O.GetParentCell().IsInterior() == 0) If (O.GetCurrentLocation().GetName() != "") ; Notification("Check 2: " + O.GetCurrentLocation().GetName() + " (Outside)") return (O.GetCurrentLocation().GetName() + " (Снаружи)") Endif ElseIf (O.GetParentCell().IsInterior() == 1) If (O.GetParentCell().GetName() != "") ; Notification("Check: " + O.GetParentCell().GetName()) return (O.GetParentCell().GetName()) Endif Endif ElseIf ((S1 != "Mark And Recall Markers Cell") && (S2 != "Пусто")) If (O.GetParentCell().GetName() != "") ; Notification("Check 3: " + O.GetParentCell().GetName()) return (O.GetParentCell().GetName()) Endif ElseIf ((S1 == "Mark And Recall Markers Cell") && (S2 != "Пусто")) If (O.GetParentCell().GetName() != "") return (O.GetParentCell().GetName()) Endif ElseIf ((S1 == "Mark And Recall Markers Cell") && (S2 == "Пусто")) Endif EndIf EndFunction ; messagebox("Player is in cell " + xcell as String + "," + ycell as String + " at elevation " + zcell as String) function LoadSettingsAtStart() Bool ValidatePapyrusUtil = papyrusutil.GetVersion() > 31 if ValidatePapyrusUtil if jsonutil.JsonExists(settings_path) ;self.LoadUserSettingsPapyrus() If(self.LoadUserSettingsPapyrus() == true) If(bGetCurrentLanguage() == true) Show_Notification("Загрузка настроек завершена.", "#00FF00") Else Show_Notification("The settings loading is complete.", "#00FF00") EndIf EndIf return endIf endIf endFunction function SaveSettings() Bool ValidatePapyrusUtil = papyrusutil.GetVersion() > 31 if ValidatePapyrusUtil if jsonutil.JsonExists(settings_path) self.SaveUserSettingsPapyrus() If(bGetCurrentLanguage() == true) if(self.SaveUserSettingsPapyrus() == true) Show_Notification("Сохранение настроек завершено.", "#00FF00") EndIf Else if(self.SaveUserSettingsPapyrus() == true) Show_Notification("Saving the settings is complete.", "#00FF00") EndIf ;Show_Notification(FormatBoolean(SaveUserSettingsPapyrus(), "Сохранение завершено.", "Сохранение: Что-то пошло не так..."), "#00FF00") ;FormatBooleanColor(SaveUserSettingsPapyrus(), "Saving is completed.", "Saving: Something went wrong...", true) ;Show_Notification(FormatBoolean(SaveUserSettingsPapyrus(), "Saving is completed.", "Saving: Something went wrong..."), "#00FF00") EndIf return endIf endIf endFunction bool function bLoadOnlyLocNames() Bool ValidatePapyrusUtil = papyrusutil.GetVersion() > 31 if ValidatePapyrusUtil if jsonutil.JsonExists(settings_path) If(self.LoadOnlyLocNamesPapyrus() == true) return true Else return false EndIf endIf endIf endFunction function LoadOnlyLocNames() Bool ValidatePapyrusUtil = papyrusutil.GetVersion() > 31 if ValidatePapyrusUtil if jsonutil.JsonExists(settings_path) self.LoadOnlyLocNamesPapyrus() return endIf endIf endFunction function LoadOnlyBoolean() Bool ValidatePapyrusUtil = papyrusutil.GetVersion() > 31 if ValidatePapyrusUtil if jsonutil.JsonExists(settings_path) self.LoadOnlyBooleanPapyrus() return endIf endIf endFunction function LoadOnlyAxisAndCellName() Bool ValidatePapyrusUtil = papyrusutil.GetVersion() > 31 if ValidatePapyrusUtil if jsonutil.JsonExists(settings_path) self.LoadOnlyAxisAndCellNamePapyrus() return endIf endIf endFunction function LoadOnlySettings() Bool ValidatePapyrusUtil = papyrusutil.GetVersion() > 31 if ValidatePapyrusUtil if jsonutil.JsonExists(settings_path) self.LoadOnlySettingsPapyrus() return endIf endIf endFunction Bool function LoadOnlySettingsPapyrus() if !jsonutil.IsGood(settings_path) return false endIf ;==================================== if (jsonutil.GetPathStringValue(settings_path, "OldVersion", ConfigMCM.OldVersion) != "") ConfigMCM.OldVersion = jsonutil.GetPathStringValue(settings_path, "OldVersion", ConfigMCM.OldVersion) endif ;==================================== bEnabled = jsonutil.GetPathIntValue(settings_path, "bEnabled", bEnabled as int) IsDebugMode = jsonutil.GetPathIntValue(settings_path, "IsDebugMode", IsDebugMode as int) IsAllowed = jsonutil.GetPathIntValue(settings_path, "IsAllowed", IsAllowed as int) IsClassicMode = jsonutil.GetPathIntValue(settings_path, "IsClassicMode", IsClassicMode as int) bCanCityPortal = jsonutil.GetPathIntValue(settings_path, "CanCityPortal", bCanCityPortal as int) bCheckingNames = jsonutil.GetPathIntValue(settings_path, "CheckingNames", bCheckingNames as int) return true endFunction Bool function LoadOnlyAxisAndCellNamePapyrus() if !jsonutil.IsGood(settings_path) return false endIf ;==================================== If(IsAllowed == true) if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_1", _Cell_Name_1) != "") _Cell_Name_1 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_1", _Cell_Name_1) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_2", _Cell_Name_2) != "") _Cell_Name_2 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_2", _Cell_Name_2) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_3", _Cell_Name_3) != "") _Cell_Name_3 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_3", _Cell_Name_3) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_4", _Cell_Name_4) != "") _Cell_Name_4 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_4", _Cell_Name_4) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_5", _Cell_Name_5) != "") _Cell_Name_5 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_5", _Cell_Name_5) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_6", _Cell_Name_6) != "") _Cell_Name_6 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_6", _Cell_Name_6) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_7", _Cell_Name_7) != "") _Cell_Name_7 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_7", _Cell_Name_7) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_8", _Cell_Name_8) != "") _Cell_Name_8 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_8", _Cell_Name_8) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_9", _Cell_Name_9) != "") _Cell_Name_9 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_9", _Cell_Name_9) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_10", _Cell_Name_10) != "") _Cell_Name_10 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_10", _Cell_Name_10) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_11", _Cell_Name_11) != "") _Cell_Name_11 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_11", _Cell_Name_11) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_12", _Cell_Name_12) != "") _Cell_Name_12 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_12", _Cell_Name_12) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_13", _Cell_Name_13) != "") _Cell_Name_13 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_13", _Cell_Name_13) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_14", _Cell_Name_14) != "") _Cell_Name_14 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_14", _Cell_Name_14) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_15", _Cell_Name_15) != "") _Cell_Name_15 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_15", _Cell_Name_15) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_16", _Cell_Name_16) != "") _Cell_Name_16 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_16", _Cell_Name_16) endif ;==================================== _fX_1 = jsonutil.GetPathFloatValue(settings_path, "_fX_1", _fX_1) _fY_1 = jsonutil.GetPathFloatValue(settings_path, "_fY_1", _fY_1) _fZ_1 = jsonutil.GetPathFloatValue(settings_path, "_fZ_1", _fZ_1) _fX_2 = jsonutil.GetPathFloatValue(settings_path, "_fX_2", _fX_2) _fY_2 = jsonutil.GetPathFloatValue(settings_path, "_fY_2", _fY_2) _fZ_2 = jsonutil.GetPathFloatValue(settings_path, "_fZ_2", _fZ_2) _fX_3 = jsonutil.GetPathFloatValue(settings_path, "_fX_3", _fX_3) _fY_3 = jsonutil.GetPathFloatValue(settings_path, "_fY_3", _fY_3) _fZ_3 = jsonutil.GetPathFloatValue(settings_path, "_fZ_3", _fZ_3) _fX_4 = jsonutil.GetPathFloatValue(settings_path, "_fX_4", _fX_4) _fY_4 = jsonutil.GetPathFloatValue(settings_path, "_fY_4", _fY_4) _fZ_4 = jsonutil.GetPathFloatValue(settings_path, "_fZ_4", _fZ_4) _fX_5 = jsonutil.GetPathFloatValue(settings_path, "_fX_5", _fX_5) _fY_5 = jsonutil.GetPathFloatValue(settings_path, "_fY_5", _fY_5) _fZ_5 = jsonutil.GetPathFloatValue(settings_path, "_fZ_5", _fZ_5) _fX_6 = jsonutil.GetPathFloatValue(settings_path, "_fX_6", _fX_6) _fY_6 = jsonutil.GetPathFloatValue(settings_path, "_fY_6", _fY_6) _fZ_6 = jsonutil.GetPathFloatValue(settings_path, "_fZ_6", _fZ_6) _fX_7 = jsonutil.GetPathFloatValue(settings_path, "_fX_7", _fX_7) _fY_7 = jsonutil.GetPathFloatValue(settings_path, "_fY_7", _fY_7) _fZ_7 = jsonutil.GetPathFloatValue(settings_path, "_fZ_7", _fZ_7) _fX_8 = jsonutil.GetPathFloatValue(settings_path, "_fX_8", _fX_8) _fY_8 = jsonutil.GetPathFloatValue(settings_path, "_fY_8", _fY_8) _fZ_8 = jsonutil.GetPathFloatValue(settings_path, "_fZ_8", _fZ_8) _fX_9 = jsonutil.GetPathFloatValue(settings_path, "_fX_9", _fX_9) _fY_9 = jsonutil.GetPathFloatValue(settings_path, "_fY_9", _fY_9) _fZ_9 = jsonutil.GetPathFloatValue(settings_path, "_fZ_9", _fZ_9) _fX_10 = jsonutil.GetPathFloatValue(settings_path, "_fX_10", _fX_10) _fY_10 = jsonutil.GetPathFloatValue(settings_path, "_fY_10", _fY_10) _fZ_10 = jsonutil.GetPathFloatValue(settings_path, "_fZ_10", _fZ_10) _fX_11 = jsonutil.GetPathFloatValue(settings_path, "_fX_11", _fX_11) _fY_11 = jsonutil.GetPathFloatValue(settings_path, "_fY_11", _fY_11) _fZ_11 = jsonutil.GetPathFloatValue(settings_path, "_fZ_11", _fZ_11) _fX_12 = jsonutil.GetPathFloatValue(settings_path, "_fX_12", _fX_12) _fY_12 = jsonutil.GetPathFloatValue(settings_path, "_fY_12", _fY_12) _fZ_12 = jsonutil.GetPathFloatValue(settings_path, "_fZ_12", _fZ_12) _fX_13 = jsonutil.GetPathFloatValue(settings_path, "_fX_13", _fX_13) _fY_13 = jsonutil.GetPathFloatValue(settings_path, "_fY_13", _fY_13) _fZ_13 = jsonutil.GetPathFloatValue(settings_path, "_fZ_13", _fZ_13) _fX_14 = jsonutil.GetPathFloatValue(settings_path, "_fX_14", _fX_14) _fY_14 = jsonutil.GetPathFloatValue(settings_path, "_fY_14", _fY_14) _fZ_14 = jsonutil.GetPathFloatValue(settings_path, "_fZ_14", _fZ_14) _fX_15 = jsonutil.GetPathFloatValue(settings_path, "_fX_15", _fX_15) _fY_15 = jsonutil.GetPathFloatValue(settings_path, "_fY_15", _fY_15) _fZ_15 = jsonutil.GetPathFloatValue(settings_path, "_fZ_15", _fZ_15) _fX_16 = jsonutil.GetPathFloatValue(settings_path, "_fX_16", _fX_16) _fY_16 = jsonutil.GetPathFloatValue(settings_path, "_fY_16", _fY_16) _fZ_16 = jsonutil.GetPathFloatValue(settings_path, "_fZ_16", _fZ_16) ;==================================== if _Cell_Name_1 != "" (GetFormFromFile(0x1B118, "MarkAndRecall.esp")).SetName(_Cell_Name_1) endif if _Cell_Name_2 != "" (GetFormFromFile(0x1B12E, "MarkAndRecall.esp")).SetName(_Cell_Name_2) endif if _Cell_Name_3 != "" (GetFormFromFile(0x1B12F, "MarkAndRecall.esp")).SetName(_Cell_Name_3) endif if _Cell_Name_4 != "" (GetFormFromFile(0x1B130, "MarkAndRecall.esp")).SetName(_Cell_Name_4) endif if _Cell_Name_5 != "" (GetFormFromFile(0x1B131, "MarkAndRecall.esp")).SetName(_Cell_Name_5) endif if _Cell_Name_6 != "" (GetFormFromFile(0x1B132, "MarkAndRecall.esp")).SetName(_Cell_Name_6) endif if _Cell_Name_7 != "" (GetFormFromFile(0x1B133, "MarkAndRecall.esp")).SetName(_Cell_Name_7) endif if _Cell_Name_8 != "" (GetFormFromFile(0x1B134, "MarkAndRecall.esp")).SetName(_Cell_Name_8) endif if _Cell_Name_9 != "" (GetFormFromFile(0x1B135, "MarkAndRecall.esp")).SetName(_Cell_Name_9) endif if _Cell_Name_10 != "" (GetFormFromFile(0x1B136, "MarkAndRecall.esp")).SetName(_Cell_Name_10) endif if _Cell_Name_11 != "" (GetFormFromFile(0x1B137, "MarkAndRecall.esp")).SetName(_Cell_Name_11) endif if _Cell_Name_12 != "" (GetFormFromFile(0x1B138, "MarkAndRecall.esp")).SetName(_Cell_Name_12) endif if _Cell_Name_13 != "" (GetFormFromFile(0x1B139, "MarkAndRecall.esp")).SetName(_Cell_Name_13) endif if _Cell_Name_14 != "" (GetFormFromFile(0x1B13A, "MarkAndRecall.esp")).SetName(_Cell_Name_14) endif if _Cell_Name_15 != "" (GetFormFromFile(0x1B13B, "MarkAndRecall.esp")).SetName(_Cell_Name_15) endif if _Cell_Name_16 != "" (GetFormFromFile(0x1B13C, "MarkAndRecall.esp")).SetName(_Cell_Name_16) endif ;==================================== if (_fX_1) != "" (GetFormFromFile(0x1B0FD, "MarkAndRecall.esp")).SetName(_fX_1 as float) endif if (_fY_1) != "" (GetFormFromFile(0x1B0FE, "MarkAndRecall.esp")).SetName(_fY_1 as float) endif if (_fZ_1) != "" (GetFormFromFile(0x1B0FF, "MarkAndRecall.esp")).SetName(_fZ_1 as float) endif if (_fX_2) != "" (GetFormFromFile(0x1B100, "MarkAndRecall.esp")).SetName(_fX_2 as float) endif if (_fY_2) != "" (GetFormFromFile(0x1B101, "MarkAndRecall.esp")).SetName(_fY_2 as float) endif if (_fZ_2) != "" (GetFormFromFile(0x1B102, "MarkAndRecall.esp")).SetName(_fZ_2 as float) endif if (_fX_3) != "" (GetFormFromFile(0x1B103, "MarkAndRecall.esp")).SetName(_fX_3 as float) endif if (_fY_3) != "" (GetFormFromFile(0x1B104, "MarkAndRecall.esp")).SetName(_fY_3 as float) endif if (_fZ_3) != "" (GetFormFromFile(0x1B105, "MarkAndRecall.esp")).SetName(_fZ_3 as float) endif if (_fX_4) != "" (GetFormFromFile(0x1B106, "MarkAndRecall.esp")).SetName(_fX_4 as float) endif if (_fY_4) != "" (GetFormFromFile(0x1B107, "MarkAndRecall.esp")).SetName(_fY_4 as float) endif if (_fZ_4) != "" (GetFormFromFile(0x1B108, "MarkAndRecall.esp")).SetName(_fZ_4 as float) endif if (_fX_5) != "" (GetFormFromFile(0x1B109, "MarkAndRecall.esp")).SetName(_fX_5 as float) endif if (_fY_5) != "" (GetFormFromFile(0x1B10A, "MarkAndRecall.esp")).SetName(_fY_5 as float) endif if (_fZ_5) != "" (GetFormFromFile(0x1B10B, "MarkAndRecall.esp")).SetName(_fZ_5 as float) endif if (_fX_6) != "" (GetFormFromFile(0x1B10C, "MarkAndRecall.esp")).SetName(_fX_6 as float) endif if (_fY_6) != "" (GetFormFromFile(0x1B10D, "MarkAndRecall.esp")).SetName(_fY_6 as float) endif if (_fZ_6) != "" (GetFormFromFile(0x1B10E, "MarkAndRecall.esp")).SetName(_fZ_6 as float) endif if (_fX_7) != "" (GetFormFromFile(0x1B10F, "MarkAndRecall.esp")).SetName(_fX_7 as float) endif if (_fY_7) != "" (GetFormFromFile(0x1B110, "MarkAndRecall.esp")).SetName(_fY_7 as float) endif if (_fZ_7) != "" (GetFormFromFile(0x1B111, "MarkAndRecall.esp")).SetName(_fZ_7 as float) endif if (_fX_8) != "" (GetFormFromFile(0x1B112, "MarkAndRecall.esp")).SetName(_fX_8 as float) endif if (_fY_8) != "" (GetFormFromFile(0x1B113, "MarkAndRecall.esp")).SetName(_fY_8 as float) endif if (_fZ_8) != "" (GetFormFromFile(0x1B114, "MarkAndRecall.esp")).SetName(_fZ_8 as float) endif if (_fX_9) != "" (GetFormFromFile(0x1B115, "MarkAndRecall.esp")).SetName(_fX_9 as float) endif if (_fY_9) != "" (GetFormFromFile(0x1B116, "MarkAndRecall.esp")).SetName(_fY_9 as float) endif if (_fZ_9) != "" (GetFormFromFile(0x1B117, "MarkAndRecall.esp")).SetName(_fZ_9 as float) endif if (_fX_10) != "" (GetFormFromFile(0x1B119, "MarkAndRecall.esp")).SetName(_fX_10 as float) endif if (_fY_10) != "" (GetFormFromFile(0x1B120, "MarkAndRecall.esp")).SetName(_fY_10 as float) endif if (_fZ_10) != "" (GetFormFromFile(0x1B127, "MarkAndRecall.esp")).SetName(_fZ_10 as float) endif if (_fX_11) != "" (GetFormFromFile(0x1B11A, "MarkAndRecall.esp")).SetName(_fX_11 as float) endif if (_fY_11) != "" (GetFormFromFile(0x1B121, "MarkAndRecall.esp")).SetName(_fY_11 as float) endif if (_fZ_11) != "" (GetFormFromFile(0x1B128, "MarkAndRecall.esp")).SetName(_fZ_11 as float) endif if (_fX_12) != "" (GetFormFromFile(0x1B11B, "MarkAndRecall.esp")).SetName(_fX_12 as float) endif if (_fY_12) != "" (GetFormFromFile(0x1B122, "MarkAndRecall.esp")).SetName(_fY_12 as float) endif if (_fZ_12) != "" (GetFormFromFile(0x1B129, "MarkAndRecall.esp")).SetName(_fZ_12 as float) endif if (_fX_13) != "" (GetFormFromFile(0x1B11C, "MarkAndRecall.esp")).SetName(_fX_13 as float) endif if (_fY_13) != "" (GetFormFromFile(0x1B123, "MarkAndRecall.esp")).SetName(_fY_13 as float) endif if (_fZ_13) != "" (GetFormFromFile(0x1B12A, "MarkAndRecall.esp")).SetName(_fZ_13 as float) endif if (_fX_14) != "" (GetFormFromFile(0x1B11D, "MarkAndRecall.esp")).SetName(_fX_14 as float) endif if (_fY_14) != "" (GetFormFromFile(0x1B124, "MarkAndRecall.esp")).SetName(_fY_14 as float) endif if (_fZ_14) != "" (GetFormFromFile(0x1B12B, "MarkAndRecall.esp")).SetName(_fZ_14 as float) endif if (_fX_15) != "" (GetFormFromFile(0x1B11E, "MarkAndRecall.esp")).SetName(_fX_15 as float) endif if (_fY_15) != "" (GetFormFromFile(0x1B125, "MarkAndRecall.esp")).SetName(_fY_15 as float) endif if (_fZ_15) != "" (GetFormFromFile(0x1B12C, "MarkAndRecall.esp")).SetName(_fZ_15 as float) endif if (_fX_16) != "" (GetFormFromFile(0x1B11F, "MarkAndRecall.esp")).SetName(_fX_16 as float) endif if (_fY_16) != "" (GetFormFromFile(0x1B126, "MarkAndRecall.esp")).SetName(_fY_16 as float) endif if (_fZ_16) != "" (GetFormFromFile(0x1B12D, "MarkAndRecall.esp")).SetName(_fZ_16 as float) endif EndIf return true endFunction Bool function LoadOnlyBooleanPapyrus() if !jsonutil.IsGood(settings_path) return false endIf ;==================================== _IsNameSet1 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_1", _IsNameSet1) _IsNameSet2 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_2", _IsNameSet2) _IsNameSet3 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_3", _IsNameSet3) _IsNameSet4 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_4", _IsNameSet4) _IsNameSet5 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_5", _IsNameSet5) _IsNameSet6 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_6", _IsNameSet6) _IsNameSet7 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_7", _IsNameSet7) _IsNameSet8 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_8", _IsNameSet8) _IsNameSet9 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_9", _IsNameSet9) _IsNameSet10 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_10", _IsNameSet10) _IsNameSet11 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_11", _IsNameSet11) _IsNameSet12 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_12", _IsNameSet12) _IsNameSet13 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_13", _IsNameSet13) _IsNameSet14 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_14", _IsNameSet14) _IsNameSet15 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_15", _IsNameSet15) _IsNameSet16 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_16", _IsNameSet16) ;==================================== if (_IsNameSet1) != "" (GetFormFromFile(0x1B0ED, "MarkAndRecall.esp")).SetName(_IsNameSet1 as int) endif if (_IsNameSet2) != "" (GetFormFromFile(0x1B0EE, "MarkAndRecall.esp")).SetName(_IsNameSet2 as int) endif if (_IsNameSet3) != "" (GetFormFromFile(0x1B0EF, "MarkAndRecall.esp")).SetName(_IsNameSet3 as int) endif if (_IsNameSet4) != "" (GetFormFromFile(0x1B0F0, "MarkAndRecall.esp")).SetName(_IsNameSet4 as int) endif if (_IsNameSet5) != "" (GetFormFromFile(0x1B0F1, "MarkAndRecall.esp")).SetName(_IsNameSet5 as int) endif if (_IsNameSet6) != "" (GetFormFromFile(0x1B0F2, "MarkAndRecall.esp")).SetName(_IsNameSet6 as int) endif if (_IsNameSet7) != "" (GetFormFromFile(0x1B0F3, "MarkAndRecall.esp")).SetName(_IsNameSet7 as int) endif if (_IsNameSet8) != "" (GetFormFromFile(0x1B0F4, "MarkAndRecall.esp")).SetName(_IsNameSet8 as int) endif if (_IsNameSet9) != "" (GetFormFromFile(0x1B0F5, "MarkAndRecall.esp")).SetName(_IsNameSet9 as int) endif if (_IsNameSet10) != "" (GetFormFromFile(0x1B0F6, "MarkAndRecall.esp")).SetName(_IsNameSet10 as int) endif if (_IsNameSet11) != "" (GetFormFromFile(0x1B0F7, "MarkAndRecall.esp")).SetName(_IsNameSet11 as int) endif if (_IsNameSet12) != "" (GetFormFromFile(0x1B0F8, "MarkAndRecall.esp")).SetName(_IsNameSet12 as int) endif if (_IsNameSet13) != "" (GetFormFromFile(0x1B0F9, "MarkAndRecall.esp")).SetName(_IsNameSet13 as int) endif if (_IsNameSet14) != "" (GetFormFromFile(0x1B0FA, "MarkAndRecall.esp")).SetName(_IsNameSet14 as int) endif if (_IsNameSet15) != "" (GetFormFromFile(0x1B0FB, "MarkAndRecall.esp")).SetName(_IsNameSet15 as int) endif if (_IsNameSet16) != "" (GetFormFromFile(0x1B0FC, "MarkAndRecall.esp")).SetName(_IsNameSet16 as int) endif ;==================================== return true endFunction Bool function LoadOnlyLocNamesPapyrus() if !jsonutil.IsGood(settings_path) return false endIf ;==================================== if (jsonutil.GetPathStringValue(settings_path, "Recall_1_Name", Recall1Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_1_Name", Recall1Name), Recall1Name) == false) Recall1Name = jsonutil.GetPathStringValue(settings_path, "Recall_1_Name", Recall1Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_2_Name", Recall2Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_2_Name", Recall2Name), Recall2Name) == false) Recall2Name = jsonutil.GetPathStringValue(settings_path, "Recall_2_Name", Recall2Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_3_Name", Recall3Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_3_Name", Recall3Name), Recall3Name) == false) Recall3Name = jsonutil.GetPathStringValue(settings_path, "Recall_3_Name", Recall3Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_4_Name", Recall4Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_4_Name", Recall4Name), Recall4Name) == false) Recall4Name = jsonutil.GetPathStringValue(settings_path, "Recall_4_Name", Recall4Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_5_Name", Recall5Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_5_Name", Recall5Name), Recall5Name) == false) Recall5Name = jsonutil.GetPathStringValue(settings_path, "Recall_5_Name", Recall5Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_6_Name", Recall6Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_6_Name", Recall6Name), Recall6Name) == false) Recall6Name = jsonutil.GetPathStringValue(settings_path, "Recall_6_Name", Recall6Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_7_Name", Recall7Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_7_Name", Recall7Name), Recall7Name) == false) Recall7Name = jsonutil.GetPathStringValue(settings_path, "Recall_7_Name", Recall7Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_8_Name", Recall8Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_8_Name", Recall8Name), Recall8Name) == false) Recall8Name = jsonutil.GetPathStringValue(settings_path, "Recall_8_Name", Recall8Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_9_Name", Recall9Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_9_Name", Recall9Name), Recall9Name) == false) Recall9Name = jsonutil.GetPathStringValue(settings_path, "Recall_9_Name", Recall9Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_10_Name", Recall10Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_10_Name", Recall10Name), Recall10Name) == false) Recall10Name = jsonutil.GetPathStringValue(settings_path, "Recall_10_Name", Recall10Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_11_Name", Recall11Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_11_Name", Recall11Name), Recall11Name) == false) Recall11Name = jsonutil.GetPathStringValue(settings_path, "Recall_11_Name", Recall11Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_12_Name", Recall12Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_12_Name", Recall12Name), Recall12Name) == false) Recall12Name = jsonutil.GetPathStringValue(settings_path, "Recall_12_Name", Recall12Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_13_Name", Recall13Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_13_Name", Recall13Name), Recall13Name) == false) Recall13Name = jsonutil.GetPathStringValue(settings_path, "Recall_13_Name", Recall13Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_14_Name", Recall14Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_14_Name", Recall14Name), Recall14Name) == false) Recall14Name = jsonutil.GetPathStringValue(settings_path, "Recall_14_Name", Recall14Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_15_Name", Recall15Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_15_Name", Recall15Name), Recall15Name) == false) Recall15Name = jsonutil.GetPathStringValue(settings_path, "Recall_15_Name", Recall15Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_16_Name", Recall16Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_16_Name", Recall16Name), Recall16Name) == false) Recall16Name = jsonutil.GetPathStringValue(settings_path, "Recall_16_Name", Recall16Name) endif endif ;==================================== if Recall1Name != "" (GetFormFromFile(0x12484, "MarkAndRecall.esp")).SetName(Recall1Name) (GetFormFromFile(0x48DCA, "MarkAndRecall.esp")).SetName(Recall1Name) endif if Recall2Name != "" (GetFormFromFile(0x12485, "MarkAndRecall.esp")).SetName(Recall2Name) (GetFormFromFile(0x48DCC, "MarkAndRecall.esp")).SetName(Recall2Name) endif if Recall3Name != "" (GetFormFromFile(0x12486, "MarkAndRecall.esp")).SetName(Recall3Name) (GetFormFromFile(0x48DDB, "MarkAndRecall.esp")).SetName(Recall3Name) endif if Recall4Name != "" (GetFormFromFile(0x12487, "MarkAndRecall.esp")).SetName(Recall4Name) (GetFormFromFile(0x48DCE, "MarkAndRecall.esp")).SetName(Recall4Name) endif if Recall5Name != "" (GetFormFromFile(0x12488, "MarkAndRecall.esp")).SetName(Recall5Name) (GetFormFromFile(0x48DCF, "MarkAndRecall.esp")).SetName(Recall5Name) endif if Recall6Name != "" (GetFormFromFile(0x12489, "MarkAndRecall.esp")).SetName(Recall6Name) (GetFormFromFile(0x48DD0, "MarkAndRecall.esp")).SetName(Recall6Name) endif if Recall7Name != "" (GetFormFromFile(0x1248A, "MarkAndRecall.esp")).SetName(Recall7Name) (GetFormFromFile(0x48DD1, "MarkAndRecall.esp")).SetName(Recall7Name) endif if Recall8Name != "" (GetFormFromFile(0x1248B, "MarkAndRecall.esp")).SetName(Recall8Name) (GetFormFromFile(0x48DDC, "MarkAndRecall.esp")).SetName(Recall8Name) endif if Recall9Name != "" (GetFormFromFile(0x1248C, "MarkAndRecall.esp")).SetName(Recall9Name) (GetFormFromFile(0x48DD3, "MarkAndRecall.esp")).SetName(Recall9Name) endif if Recall10Name != "" (GetFormFromFile(0x1248D, "MarkAndRecall.esp")).SetName(Recall10Name) (GetFormFromFile(0x48DD4, "MarkAndRecall.esp")).SetName(Recall10Name) endif if Recall11Name != "" (GetFormFromFile(0x1248E, "MarkAndRecall.esp")).SetName(Recall11Name) (GetFormFromFile(0x48DD5, "MarkAndRecall.esp")).SetName(Recall11Name) endif if Recall12Name != "" (GetFormFromFile(0x1248F, "MarkAndRecall.esp")).SetName(Recall12Name) (GetFormFromFile(0x48DD6, "MarkAndRecall.esp")).SetName(Recall12Name) endif if Recall13Name != "" (GetFormFromFile(0x12490, "MarkAndRecall.esp")).SetName(Recall13Name) (GetFormFromFile(0x48DD7, "MarkAndRecall.esp")).SetName(Recall13Name) endif if Recall14Name != "" (GetFormFromFile(0x12491, "MarkAndRecall.esp")).SetName(Recall14Name) (GetFormFromFile(0x48DD8, "MarkAndRecall.esp")).SetName(Recall14Name) endif if Recall15Name != "" (GetFormFromFile(0x12492, "MarkAndRecall.esp")).SetName(Recall15Name) (GetFormFromFile(0x48DD9, "MarkAndRecall.esp")).SetName(Recall15Name) endif if Recall16Name != "" (GetFormFromFile(0x12493, "MarkAndRecall.esp")).SetName(Recall16Name) (GetFormFromFile(0x48DDA, "MarkAndRecall.esp")).SetName(Recall16Name) endif return true endFunction ;string function GetPathStringValue(string FileName, string Path, string missing = "") global native ; jsonutil.SetPathStringValue(settings_path, "Recall_1_Name", _Recall_1_Name) ;bool function GetPathBoolValue(string FileName, string Path, bool missing = false) global ;bool function IsPathBool(string FileName, string Path) global native ;function SetPathIntValue(string FileName, string Path, int value) global native ;int function GetPathIntValue(string FileName, string Path, int missing = 0) global native ;Bool function loadBool(String name) ;function saveBool(String name, Bool b) ; Moves this object to the position of the specified object, with an offset, and optionally matching its rotation ;Function MoveTo(ObjectReference akTarget, float afXOffset = 0.0, float afYOffset = 0.0, float afZOffset = 0.0, bool abMatchRotation = true) native ;float function GetPathFloatValue(string FileName, string Path, float missing = 0.0) global native ;function SetPathFloatValue(string FileName, string Path, float value) global native ;Float function loadFloat(String name) ;function saveFloat(String name, Float f) Bool function LoadUserSettingsPapyrus() if !jsonutil.IsGood(settings_path) return false endIf ;==================================== if (jsonutil.GetPathStringValue(settings_path, "OldVersion", ConfigMCM.OldVersion) != "") ConfigMCM.OldVersion = jsonutil.GetPathStringValue(settings_path, "OldVersion", ConfigMCM.OldVersion) endif ;==================================== bEnabled = jsonutil.GetPathIntValue(settings_path, "bEnabled", bEnabled as int) IsDebugMode = jsonutil.GetPathIntValue(settings_path, "IsDebugMode", IsDebugMode as int) IsAllowed = jsonutil.GetPathIntValue(settings_path, "IsAllowed", IsAllowed as int) IsClassicMode = jsonutil.GetPathIntValue(settings_path, "IsClassicMode", IsClassicMode as int) bCanCityPortal = jsonutil.GetPathIntValue(settings_path, "CanCityPortal", bCanCityPortal as int) bCheckingNames = jsonutil.GetPathIntValue(settings_path, "CheckingNames", bCheckingNames as int) ;==================================== If(IsAllowed == true) if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_1", _Cell_Name_1) != "") _Cell_Name_1 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_1", _Cell_Name_1) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_2", _Cell_Name_2) != "") _Cell_Name_2 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_2", _Cell_Name_2) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_3", _Cell_Name_3) != "") _Cell_Name_3 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_3", _Cell_Name_3) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_4", _Cell_Name_4) != "") _Cell_Name_4 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_4", _Cell_Name_4) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_5", _Cell_Name_5) != "") _Cell_Name_5 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_5", _Cell_Name_5) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_6", _Cell_Name_6) != "") _Cell_Name_6 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_6", _Cell_Name_6) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_7", _Cell_Name_7) != "") _Cell_Name_7 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_7", _Cell_Name_7) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_8", _Cell_Name_8) != "") _Cell_Name_8 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_8", _Cell_Name_8) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_9", _Cell_Name_9) != "") _Cell_Name_9 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_9", _Cell_Name_9) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_10", _Cell_Name_10) != "") _Cell_Name_10 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_10", _Cell_Name_10) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_11", _Cell_Name_11) != "") _Cell_Name_11 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_11", _Cell_Name_11) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_12", _Cell_Name_12) != "") _Cell_Name_12 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_12", _Cell_Name_12) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_13", _Cell_Name_13) != "") _Cell_Name_13 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_13", _Cell_Name_13) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_14", _Cell_Name_14) != "") _Cell_Name_14 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_14", _Cell_Name_14) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_15", _Cell_Name_15) != "") _Cell_Name_15 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_15", _Cell_Name_15) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_16", _Cell_Name_16) != "") _Cell_Name_16 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_16", _Cell_Name_16) endif ;==================================== _fX_1 = jsonutil.GetPathFloatValue(settings_path, "_fX_1", _fX_1) _fY_1 = jsonutil.GetPathFloatValue(settings_path, "_fY_1", _fY_1) _fZ_1 = jsonutil.GetPathFloatValue(settings_path, "_fZ_1", _fZ_1) _fX_2 = jsonutil.GetPathFloatValue(settings_path, "_fX_2", _fX_2) _fY_2 = jsonutil.GetPathFloatValue(settings_path, "_fY_2", _fY_2) _fZ_2 = jsonutil.GetPathFloatValue(settings_path, "_fZ_2", _fZ_2) _fX_3 = jsonutil.GetPathFloatValue(settings_path, "_fX_3", _fX_3) _fY_3 = jsonutil.GetPathFloatValue(settings_path, "_fY_3", _fY_3) _fZ_3 = jsonutil.GetPathFloatValue(settings_path, "_fZ_3", _fZ_3) _fX_4 = jsonutil.GetPathFloatValue(settings_path, "_fX_4", _fX_4) _fY_4 = jsonutil.GetPathFloatValue(settings_path, "_fY_4", _fY_4) _fZ_4 = jsonutil.GetPathFloatValue(settings_path, "_fZ_4", _fZ_4) _fX_5 = jsonutil.GetPathFloatValue(settings_path, "_fX_5", _fX_5) _fY_5 = jsonutil.GetPathFloatValue(settings_path, "_fY_5", _fY_5) _fZ_5 = jsonutil.GetPathFloatValue(settings_path, "_fZ_5", _fZ_5) _fX_6 = jsonutil.GetPathFloatValue(settings_path, "_fX_6", _fX_6) _fY_6 = jsonutil.GetPathFloatValue(settings_path, "_fY_6", _fY_6) _fZ_6 = jsonutil.GetPathFloatValue(settings_path, "_fZ_6", _fZ_6) _fX_7 = jsonutil.GetPathFloatValue(settings_path, "_fX_7", _fX_7) _fY_7 = jsonutil.GetPathFloatValue(settings_path, "_fY_7", _fY_7) _fZ_7 = jsonutil.GetPathFloatValue(settings_path, "_fZ_7", _fZ_7) _fX_8 = jsonutil.GetPathFloatValue(settings_path, "_fX_8", _fX_8) _fY_8 = jsonutil.GetPathFloatValue(settings_path, "_fY_8", _fY_8) _fZ_8 = jsonutil.GetPathFloatValue(settings_path, "_fZ_8", _fZ_8) _fX_9 = jsonutil.GetPathFloatValue(settings_path, "_fX_9", _fX_9) _fY_9 = jsonutil.GetPathFloatValue(settings_path, "_fY_9", _fY_9) _fZ_9 = jsonutil.GetPathFloatValue(settings_path, "_fZ_9", _fZ_9) _fX_10 = jsonutil.GetPathFloatValue(settings_path, "_fX_10", _fX_10) _fY_10 = jsonutil.GetPathFloatValue(settings_path, "_fY_10", _fY_10) _fZ_10 = jsonutil.GetPathFloatValue(settings_path, "_fZ_10", _fZ_10) _fX_11 = jsonutil.GetPathFloatValue(settings_path, "_fX_11", _fX_11) _fY_11 = jsonutil.GetPathFloatValue(settings_path, "_fY_11", _fY_11) _fZ_11 = jsonutil.GetPathFloatValue(settings_path, "_fZ_11", _fZ_11) _fX_12 = jsonutil.GetPathFloatValue(settings_path, "_fX_12", _fX_12) _fY_12 = jsonutil.GetPathFloatValue(settings_path, "_fY_12", _fY_12) _fZ_12 = jsonutil.GetPathFloatValue(settings_path, "_fZ_12", _fZ_12) _fX_13 = jsonutil.GetPathFloatValue(settings_path, "_fX_13", _fX_13) _fY_13 = jsonutil.GetPathFloatValue(settings_path, "_fY_13", _fY_13) _fZ_13 = jsonutil.GetPathFloatValue(settings_path, "_fZ_13", _fZ_13) _fX_14 = jsonutil.GetPathFloatValue(settings_path, "_fX_14", _fX_14) _fY_14 = jsonutil.GetPathFloatValue(settings_path, "_fY_14", _fY_14) _fZ_14 = jsonutil.GetPathFloatValue(settings_path, "_fZ_14", _fZ_14) _fX_15 = jsonutil.GetPathFloatValue(settings_path, "_fX_15", _fX_15) _fY_15 = jsonutil.GetPathFloatValue(settings_path, "_fY_15", _fY_15) _fZ_15 = jsonutil.GetPathFloatValue(settings_path, "_fZ_15", _fZ_15) _fX_16 = jsonutil.GetPathFloatValue(settings_path, "_fX_16", _fX_16) _fY_16 = jsonutil.GetPathFloatValue(settings_path, "_fY_16", _fY_16) _fZ_16 = jsonutil.GetPathFloatValue(settings_path, "_fZ_16", _fZ_16) EndIf ;==================================== _IsNameSet1 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_1", _IsNameSet1) _IsNameSet2 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_2", _IsNameSet2) _IsNameSet3 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_3", _IsNameSet3) _IsNameSet4 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_4", _IsNameSet4) _IsNameSet5 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_5", _IsNameSet5) _IsNameSet6 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_6", _IsNameSet6) _IsNameSet7 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_7", _IsNameSet7) _IsNameSet8 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_8", _IsNameSet8) _IsNameSet9 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_9", _IsNameSet9) _IsNameSet10 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_10", _IsNameSet10) _IsNameSet11 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_11", _IsNameSet11) _IsNameSet12 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_12", _IsNameSet12) _IsNameSet13 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_13", _IsNameSet13) _IsNameSet14 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_14", _IsNameSet14) _IsNameSet15 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_15", _IsNameSet15) _IsNameSet16 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_16", _IsNameSet16) ;==================================== if (jsonutil.GetPathStringValue(settings_path, "Recall_1_Name", _Recall_1_Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_1_Name", _Recall_1_Name), _Recall_1_Name) == false) _Recall_1_Name = jsonutil.GetPathStringValue(settings_path, "Recall_1_Name", _Recall_1_Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_2_Name", Recall2Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_2_Name", Recall2Name), Recall2Name) == false) Recall2Name = jsonutil.GetPathStringValue(settings_path, "Recall_2_Name", Recall2Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_3_Name", Recall3Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_3_Name", Recall3Name), Recall3Name) == false) Recall3Name = jsonutil.GetPathStringValue(settings_path, "Recall_3_Name", Recall3Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_4_Name", Recall4Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_4_Name", Recall4Name), Recall4Name) == false) Recall4Name = jsonutil.GetPathStringValue(settings_path, "Recall_4_Name", Recall4Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_5_Name", Recall5Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_5_Name", Recall5Name), Recall5Name) == false) Recall5Name = jsonutil.GetPathStringValue(settings_path, "Recall_5_Name", Recall5Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_6_Name", Recall6Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_6_Name", Recall6Name), Recall6Name) == false) Recall6Name = jsonutil.GetPathStringValue(settings_path, "Recall_6_Name", Recall6Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_7_Name", Recall7Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_7_Name", Recall7Name), Recall7Name) == false) Recall7Name = jsonutil.GetPathStringValue(settings_path, "Recall_7_Name", Recall7Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_8_Name", Recall8Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_8_Name", Recall8Name), Recall8Name) == false) Recall8Name = jsonutil.GetPathStringValue(settings_path, "Recall_8_Name", Recall8Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_9_Name", Recall9Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_9_Name", Recall9Name), Recall9Name) == false) Recall9Name = jsonutil.GetPathStringValue(settings_path, "Recall_9_Name", Recall9Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_10_Name", Recall10Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_10_Name", Recall10Name), Recall10Name) == false) Recall10Name = jsonutil.GetPathStringValue(settings_path, "Recall_10_Name", Recall10Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_11_Name", Recall11Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_11_Name", Recall11Name), Recall11Name) == false) Recall11Name = jsonutil.GetPathStringValue(settings_path, "Recall_11_Name", Recall11Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_12_Name", Recall12Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_12_Name", Recall12Name), Recall12Name) == false) Recall12Name = jsonutil.GetPathStringValue(settings_path, "Recall_12_Name", Recall12Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_13_Name", Recall13Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_13_Name", Recall13Name), Recall13Name) == false) Recall13Name = jsonutil.GetPathStringValue(settings_path, "Recall_13_Name", Recall13Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_14_Name", Recall14Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_14_Name", Recall14Name), Recall14Name) == false) Recall14Name = jsonutil.GetPathStringValue(settings_path, "Recall_14_Name", Recall14Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_15_Name", Recall15Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_15_Name", Recall15Name), Recall15Name) == false) Recall15Name = jsonutil.GetPathStringValue(settings_path, "Recall_15_Name", Recall15Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_16_Name", Recall16Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_16_Name", Recall16Name), Recall16Name) == false) Recall16Name = jsonutil.GetPathStringValue(settings_path, "Recall_16_Name", Recall16Name) endif endif ;==================================== If(IsAllowed == true) if _Cell_Name_1 != "" (GetFormFromFile(0x1B118, "MarkAndRecall.esp")).SetName(_Cell_Name_1) endif if _Cell_Name_2 != "" (GetFormFromFile(0x1B12E, "MarkAndRecall.esp")).SetName(_Cell_Name_2) endif if _Cell_Name_3 != "" (GetFormFromFile(0x1B12F, "MarkAndRecall.esp")).SetName(_Cell_Name_3) endif if _Cell_Name_4 != "" (GetFormFromFile(0x1B130, "MarkAndRecall.esp")).SetName(_Cell_Name_4) endif if _Cell_Name_5 != "" (GetFormFromFile(0x1B131, "MarkAndRecall.esp")).SetName(_Cell_Name_5) endif if _Cell_Name_6 != "" (GetFormFromFile(0x1B132, "MarkAndRecall.esp")).SetName(_Cell_Name_6) endif if _Cell_Name_7 != "" (GetFormFromFile(0x1B133, "MarkAndRecall.esp")).SetName(_Cell_Name_7) endif if _Cell_Name_8 != "" (GetFormFromFile(0x1B134, "MarkAndRecall.esp")).SetName(_Cell_Name_8) endif if _Cell_Name_9 != "" (GetFormFromFile(0x1B135, "MarkAndRecall.esp")).SetName(_Cell_Name_9) endif if _Cell_Name_10 != "" (GetFormFromFile(0x1B136, "MarkAndRecall.esp")).SetName(_Cell_Name_10) endif if _Cell_Name_11 != "" (GetFormFromFile(0x1B137, "MarkAndRecall.esp")).SetName(_Cell_Name_11) endif if _Cell_Name_12 != "" (GetFormFromFile(0x1B138, "MarkAndRecall.esp")).SetName(_Cell_Name_12) endif if _Cell_Name_13 != "" (GetFormFromFile(0x1B139, "MarkAndRecall.esp")).SetName(_Cell_Name_13) endif if _Cell_Name_14 != "" (GetFormFromFile(0x1B13A, "MarkAndRecall.esp")).SetName(_Cell_Name_14) endif if _Cell_Name_15 != "" (GetFormFromFile(0x1B13B, "MarkAndRecall.esp")).SetName(_Cell_Name_15) endif if _Cell_Name_16 != "" (GetFormFromFile(0x1B13C, "MarkAndRecall.esp")).SetName(_Cell_Name_16) endif ;==================================== if (_fX_1) != "" (GetFormFromFile(0x1B0FD, "MarkAndRecall.esp")).SetName(_fX_1 as float) endif if (_fY_1) != "" (GetFormFromFile(0x1B0FE, "MarkAndRecall.esp")).SetName(_fY_1 as float) endif if (_fZ_1) != "" (GetFormFromFile(0x1B0FF, "MarkAndRecall.esp")).SetName(_fZ_1 as float) endif if (_fX_2) != "" (GetFormFromFile(0x1B100, "MarkAndRecall.esp")).SetName(_fX_2 as float) endif if (_fY_2) != "" (GetFormFromFile(0x1B101, "MarkAndRecall.esp")).SetName(_fY_2 as float) endif if (_fZ_2) != "" (GetFormFromFile(0x1B102, "MarkAndRecall.esp")).SetName(_fZ_2 as float) endif if (_fX_3) != "" (GetFormFromFile(0x1B103, "MarkAndRecall.esp")).SetName(_fX_3 as float) endif if (_fY_3) != "" (GetFormFromFile(0x1B104, "MarkAndRecall.esp")).SetName(_fY_3 as float) endif if (_fZ_3) != "" (GetFormFromFile(0x1B105, "MarkAndRecall.esp")).SetName(_fZ_3 as float) endif if (_fX_4) != "" (GetFormFromFile(0x1B106, "MarkAndRecall.esp")).SetName(_fX_4 as float) endif if (_fY_4) != "" (GetFormFromFile(0x1B107, "MarkAndRecall.esp")).SetName(_fY_4 as float) endif if (_fZ_4) != "" (GetFormFromFile(0x1B108, "MarkAndRecall.esp")).SetName(_fZ_4 as float) endif if (_fX_5) != "" (GetFormFromFile(0x1B109, "MarkAndRecall.esp")).SetName(_fX_5 as float) endif if (_fY_5) != "" (GetFormFromFile(0x1B10A, "MarkAndRecall.esp")).SetName(_fY_5 as float) endif if (_fZ_5) != "" (GetFormFromFile(0x1B10B, "MarkAndRecall.esp")).SetName(_fZ_5 as float) endif if (_fX_6) != "" (GetFormFromFile(0x1B10C, "MarkAndRecall.esp")).SetName(_fX_6 as float) endif if (_fY_6) != "" (GetFormFromFile(0x1B10D, "MarkAndRecall.esp")).SetName(_fY_6 as float) endif if (_fZ_6) != "" (GetFormFromFile(0x1B10E, "MarkAndRecall.esp")).SetName(_fZ_6 as float) endif if (_fX_7) != "" (GetFormFromFile(0x1B10F, "MarkAndRecall.esp")).SetName(_fX_7 as float) endif if (_fY_7) != "" (GetFormFromFile(0x1B110, "MarkAndRecall.esp")).SetName(_fY_7 as float) endif if (_fZ_7) != "" (GetFormFromFile(0x1B111, "MarkAndRecall.esp")).SetName(_fZ_7 as float) endif if (_fX_8) != "" (GetFormFromFile(0x1B112, "MarkAndRecall.esp")).SetName(_fX_8 as float) endif if (_fY_8) != "" (GetFormFromFile(0x1B113, "MarkAndRecall.esp")).SetName(_fY_8 as float) endif if (_fZ_8) != "" (GetFormFromFile(0x1B114, "MarkAndRecall.esp")).SetName(_fZ_8 as float) endif if (_fX_9) != "" (GetFormFromFile(0x1B115, "MarkAndRecall.esp")).SetName(_fX_9 as float) endif if (_fY_9) != "" (GetFormFromFile(0x1B116, "MarkAndRecall.esp")).SetName(_fY_9 as float) endif if (_fZ_9) != "" (GetFormFromFile(0x1B117, "MarkAndRecall.esp")).SetName(_fZ_9 as float) endif if (_fX_10) != "" (GetFormFromFile(0x1B119, "MarkAndRecall.esp")).SetName(_fX_10 as float) endif if (_fY_10) != "" (GetFormFromFile(0x1B120, "MarkAndRecall.esp")).SetName(_fY_10 as float) endif if (_fZ_10) != "" (GetFormFromFile(0x1B127, "MarkAndRecall.esp")).SetName(_fZ_10 as float) endif if (_fX_11) != "" (GetFormFromFile(0x1B11A, "MarkAndRecall.esp")).SetName(_fX_11 as float) endif if (_fY_11) != "" (GetFormFromFile(0x1B121, "MarkAndRecall.esp")).SetName(_fY_11 as float) endif if (_fZ_11) != "" (GetFormFromFile(0x1B128, "MarkAndRecall.esp")).SetName(_fZ_11 as float) endif if (_fX_12) != "" (GetFormFromFile(0x1B11B, "MarkAndRecall.esp")).SetName(_fX_12 as float) endif if (_fY_12) != "" (GetFormFromFile(0x1B122, "MarkAndRecall.esp")).SetName(_fY_12 as float) endif if (_fZ_12) != "" (GetFormFromFile(0x1B129, "MarkAndRecall.esp")).SetName(_fZ_12 as float) endif if (_fX_13) != "" (GetFormFromFile(0x1B11C, "MarkAndRecall.esp")).SetName(_fX_13 as float) endif if (_fY_13) != "" (GetFormFromFile(0x1B123, "MarkAndRecall.esp")).SetName(_fY_13 as float) endif if (_fZ_13) != "" (GetFormFromFile(0x1B12A, "MarkAndRecall.esp")).SetName(_fZ_13 as float) endif if (_fX_14) != "" (GetFormFromFile(0x1B11D, "MarkAndRecall.esp")).SetName(_fX_14 as float) endif if (_fY_14) != "" (GetFormFromFile(0x1B124, "MarkAndRecall.esp")).SetName(_fY_14 as float) endif if (_fZ_14) != "" (GetFormFromFile(0x1B12B, "MarkAndRecall.esp")).SetName(_fZ_14 as float) endif if (_fX_15) != "" (GetFormFromFile(0x1B11E, "MarkAndRecall.esp")).SetName(_fX_15 as float) endif if (_fY_15) != "" (GetFormFromFile(0x1B125, "MarkAndRecall.esp")).SetName(_fY_15 as float) endif if (_fZ_15) != "" (GetFormFromFile(0x1B12C, "MarkAndRecall.esp")).SetName(_fZ_15 as float) endif if (_fX_16) != "" (GetFormFromFile(0x1B11F, "MarkAndRecall.esp")).SetName(_fX_16 as float) endif if (_fY_16) != "" (GetFormFromFile(0x1B126, "MarkAndRecall.esp")).SetName(_fY_16 as float) endif if (_fZ_16) != "" (GetFormFromFile(0x1B12D, "MarkAndRecall.esp")).SetName(_fZ_16 as float) endif EndIf ;==================================== if (_IsNameSet1) != "" (GetFormFromFile(0x1B0ED, "MarkAndRecall.esp")).SetName(_IsNameSet1 as int) endif if (_IsNameSet2) != "" (GetFormFromFile(0x1B0EE, "MarkAndRecall.esp")).SetName(_IsNameSet2 as int) endif if (_IsNameSet3) != "" (GetFormFromFile(0x1B0EF, "MarkAndRecall.esp")).SetName(_IsNameSet3 as int) endif if (_IsNameSet4) != "" (GetFormFromFile(0x1B0F0, "MarkAndRecall.esp")).SetName(_IsNameSet4 as int) endif if (_IsNameSet5) != "" (GetFormFromFile(0x1B0F1, "MarkAndRecall.esp")).SetName(_IsNameSet5 as int) endif if (_IsNameSet6) != "" (GetFormFromFile(0x1B0F2, "MarkAndRecall.esp")).SetName(_IsNameSet6 as int) endif if (_IsNameSet7) != "" (GetFormFromFile(0x1B0F3, "MarkAndRecall.esp")).SetName(_IsNameSet7 as int) endif if (_IsNameSet8) != "" (GetFormFromFile(0x1B0F4, "MarkAndRecall.esp")).SetName(_IsNameSet8 as int) endif if (_IsNameSet9) != "" (GetFormFromFile(0x1B0F5, "MarkAndRecall.esp")).SetName(_IsNameSet9 as int) endif if (_IsNameSet10) != "" (GetFormFromFile(0x1B0F6, "MarkAndRecall.esp")).SetName(_IsNameSet10 as int) endif if (_IsNameSet11) != "" (GetFormFromFile(0x1B0F7, "MarkAndRecall.esp")).SetName(_IsNameSet11 as int) endif if (_IsNameSet12) != "" (GetFormFromFile(0x1B0F8, "MarkAndRecall.esp")).SetName(_IsNameSet12 as int) endif if (_IsNameSet13) != "" (GetFormFromFile(0x1B0F9, "MarkAndRecall.esp")).SetName(_IsNameSet13 as int) endif if (_IsNameSet14) != "" (GetFormFromFile(0x1B0FA, "MarkAndRecall.esp")).SetName(_IsNameSet14 as int) endif if (_IsNameSet15) != "" (GetFormFromFile(0x1B0FB, "MarkAndRecall.esp")).SetName(_IsNameSet15 as int) endif if (_IsNameSet16) != "" (GetFormFromFile(0x1B0FC, "MarkAndRecall.esp")).SetName(_IsNameSet16 as int) endif ;==================================== if _Recall_1_Name != "" (GetFormFromFile(0x12484, "MarkAndRecall.esp")).SetName(_Recall_1_Name) (GetFormFromFile(0x48DCA, "MarkAndRecall.esp")).SetName(_Recall_1_Name) endif if Recall2Name != "" (GetFormFromFile(0x12485, "MarkAndRecall.esp")).SetName(Recall2Name) (GetFormFromFile(0x48DCC, "MarkAndRecall.esp")).SetName(Recall2Name) endif if Recall3Name != "" (GetFormFromFile(0x12486, "MarkAndRecall.esp")).SetName(Recall3Name) (GetFormFromFile(0x48DDB, "MarkAndRecall.esp")).SetName(Recall3Name) endif if Recall4Name != "" (GetFormFromFile(0x12487, "MarkAndRecall.esp")).SetName(Recall4Name) (GetFormFromFile(0x48DCE, "MarkAndRecall.esp")).SetName(Recall4Name) endif if Recall5Name != "" (GetFormFromFile(0x12488, "MarkAndRecall.esp")).SetName(Recall5Name) (GetFormFromFile(0x48DCF, "MarkAndRecall.esp")).SetName(Recall5Name) endif if Recall6Name != "" (GetFormFromFile(0x12489, "MarkAndRecall.esp")).SetName(Recall6Name) (GetFormFromFile(0x48DD0, "MarkAndRecall.esp")).SetName(Recall6Name) endif if Recall7Name != "" (GetFormFromFile(0x1248A, "MarkAndRecall.esp")).SetName(Recall7Name) (GetFormFromFile(0x48DD1, "MarkAndRecall.esp")).SetName(Recall7Name) endif if Recall8Name != "" (GetFormFromFile(0x1248B, "MarkAndRecall.esp")).SetName(Recall8Name) (GetFormFromFile(0x48DDC, "MarkAndRecall.esp")).SetName(Recall8Name) endif if Recall9Name != "" (GetFormFromFile(0x1248C, "MarkAndRecall.esp")).SetName(Recall9Name) (GetFormFromFile(0x48DD3, "MarkAndRecall.esp")).SetName(Recall9Name) endif if Recall10Name != "" (GetFormFromFile(0x1248D, "MarkAndRecall.esp")).SetName(Recall10Name) (GetFormFromFile(0x48DD4, "MarkAndRecall.esp")).SetName(Recall10Name) endif if Recall11Name != "" (GetFormFromFile(0x1248E, "MarkAndRecall.esp")).SetName(Recall11Name) (GetFormFromFile(0x48DD5, "MarkAndRecall.esp")).SetName(Recall11Name) endif if Recall12Name != "" (GetFormFromFile(0x1248F, "MarkAndRecall.esp")).SetName(Recall12Name) (GetFormFromFile(0x48DD6, "MarkAndRecall.esp")).SetName(Recall12Name) endif if Recall13Name != "" (GetFormFromFile(0x12490, "MarkAndRecall.esp")).SetName(Recall13Name) (GetFormFromFile(0x48DD7, "MarkAndRecall.esp")).SetName(Recall13Name) endif if Recall14Name != "" (GetFormFromFile(0x12491, "MarkAndRecall.esp")).SetName(Recall14Name) (GetFormFromFile(0x48DD8, "MarkAndRecall.esp")).SetName(Recall14Name) endif if Recall15Name != "" (GetFormFromFile(0x12492, "MarkAndRecall.esp")).SetName(Recall15Name) (GetFormFromFile(0x48DD9, "MarkAndRecall.esp")).SetName(Recall15Name) endif if Recall16Name != "" (GetFormFromFile(0x12493, "MarkAndRecall.esp")).SetName(Recall16Name) (GetFormFromFile(0x48DDA, "MarkAndRecall.esp")).SetName(Recall16Name) endif return true endFunction Bool function SaveUserSettingsPapyrus() ;==================================== if (ConfigMCM.OldVersion != "") ConfigMCM.OldVersion = ConfigMCM.Version jsonutil.SetPathStringValue(settings_path, "OldVersion", ConfigMCM.OldVersion) endif ;==================================== jsonutil.SetPathIntValue(settings_path, "bEnabled", bEnabled as int) jsonutil.SetPathIntValue(settings_path, "IsDebugMode", IsDebugMode as int) jsonutil.SetPathIntValue(settings_path, "IsAllowed", IsAllowed as int) jsonutil.SetPathIntValue(settings_path, "IsClassicMode", IsClassicMode as int) jsonutil.SetPathIntValue(settings_path, "CanCityPortal", bCanCityPortal as int) jsonutil.SetPathIntValue(settings_path, "CheckingNames", bCheckingNames as int) ;==================================== If(IsAllowed == true) If ((GetFormFromFile(0x1B118, "MarkAndRecall.esp")).GetName() != "") _Cell_Name_1 = (GetFormFromFile(0x1B118, "MarkAndRecall.esp")).GetName() EndIf If ((GetFormFromFile(0x1B12E, "MarkAndRecall.esp")).GetName() != "") _Cell_Name_2 = (GetFormFromFile(0x1B12E, "MarkAndRecall.esp")).GetName() EndIf If ((GetFormFromFile(0x1B12F, "MarkAndRecall.esp")).GetName() != "") _Cell_Name_3 = (GetFormFromFile(0x1B12F, "MarkAndRecall.esp")).GetName() EndIf If ((GetFormFromFile(0x1B130, "MarkAndRecall.esp")).GetName() != "") _Cell_Name_4 = (GetFormFromFile(0x1B130, "MarkAndRecall.esp")).GetName() EndIf If ((GetFormFromFile(0x1B131, "MarkAndRecall.esp")).GetName() != "") _Cell_Name_5 = (GetFormFromFile(0x1B131, "MarkAndRecall.esp")).GetName() EndIf If ((GetFormFromFile(0x1B132, "MarkAndRecall.esp")).GetName() != "") _Cell_Name_6 = (GetFormFromFile(0x1B132, "MarkAndRecall.esp")).GetName() EndIf If ((GetFormFromFile(0x1B133, "MarkAndRecall.esp")).GetName() != "") _Cell_Name_7 = (GetFormFromFile(0x1B133, "MarkAndRecall.esp")).GetName() EndIf If ((GetFormFromFile(0x1B134, "MarkAndRecall.esp")).GetName() != "") _Cell_Name_8 = (GetFormFromFile(0x1B134, "MarkAndRecall.esp")).GetName() EndIf If ((GetFormFromFile(0x1B135, "MarkAndRecall.esp")).GetName() != "") _Cell_Name_9 = (GetFormFromFile(0x1B135, "MarkAndRecall.esp")).GetName() EndIf If ((GetFormFromFile(0x1B136, "MarkAndRecall.esp")).GetName() != "") _Cell_Name_10 = (GetFormFromFile(0x1B136, "MarkAndRecall.esp")).GetName() EndIf If ((GetFormFromFile(0x1B137, "MarkAndRecall.esp")).GetName() != "") _Cell_Name_11 = (GetFormFromFile(0x1B137, "MarkAndRecall.esp")).GetName() EndIf If ((GetFormFromFile(0x1B138, "MarkAndRecall.esp")).GetName() != "") _Cell_Name_12 = (GetFormFromFile(0x1B138, "MarkAndRecall.esp")).GetName() EndIf If ((GetFormFromFile(0x1B139, "MarkAndRecall.esp")).GetName() != "") _Cell_Name_13 = (GetFormFromFile(0x1B139, "MarkAndRecall.esp")).GetName() EndIf If ((GetFormFromFile(0x1B13A, "MarkAndRecall.esp")).GetName() != "") _Cell_Name_14 = (GetFormFromFile(0x1B13A, "MarkAndRecall.esp")).GetName() EndIf If ((GetFormFromFile(0x1B13B, "MarkAndRecall.esp")).GetName() != "") _Cell_Name_15 = (GetFormFromFile(0x1B13B, "MarkAndRecall.esp")).GetName() EndIf If ((GetFormFromFile(0x1B13C, "MarkAndRecall.esp")).GetName() != "") _Cell_Name_16 = (GetFormFromFile(0x1B13C, "MarkAndRecall.esp")).GetName() EndIf ;==================================== If ((GetFormFromFile(0x1B0FD, "MarkAndRecall.esp")).GetName() != "") _fX_1 = ((GetFormFromFile(0x1B0FD, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B0FE, "MarkAndRecall.esp")).GetName() != "") _fY_1 = ((GetFormFromFile(0x1B0FE, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B0FF, "MarkAndRecall.esp")).GetName() != "") _fZ_1 = ((GetFormFromFile(0x1B0FF, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B100, "MarkAndRecall.esp")).GetName() != "") _fX_2 = ((GetFormFromFile(0x1B100, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B101, "MarkAndRecall.esp")).GetName() != "") _fY_2 = ((GetFormFromFile(0x1B101, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B102, "MarkAndRecall.esp")).GetName() != "") _fZ_2 = ((GetFormFromFile(0x1B102, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B103, "MarkAndRecall.esp")).GetName() != "") _fX_3 = ((GetFormFromFile(0x1B103, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B104, "MarkAndRecall.esp")).GetName() != "") _fY_3 = ((GetFormFromFile(0x1B104, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B105, "MarkAndRecall.esp")).GetName() != "") _fZ_3 = ((GetFormFromFile(0x1B105, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B106, "MarkAndRecall.esp")).GetName() != "") _fX_4 = ((GetFormFromFile(0x1B106, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B107, "MarkAndRecall.esp")).GetName() != "") _fY_4 = ((GetFormFromFile(0x1B107, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B108, "MarkAndRecall.esp")).GetName() != "") _fZ_4 = ((GetFormFromFile(0x1B108, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B109, "MarkAndRecall.esp")).GetName() != "") _fX_5 = ((GetFormFromFile(0x1B109, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B10A, "MarkAndRecall.esp")).GetName() != "") _fY_5 = ((GetFormFromFile(0x1B10A, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B10B, "MarkAndRecall.esp")).GetName() != "") _fZ_5 = ((GetFormFromFile(0x1B10B, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B10C, "MarkAndRecall.esp")).GetName() != "") _fX_6 = ((GetFormFromFile(0x1B10C, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B10D, "MarkAndRecall.esp")).GetName() != "") _fY_6 = ((GetFormFromFile(0x1B10D, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B10E, "MarkAndRecall.esp")).GetName() != "") _fZ_6 = ((GetFormFromFile(0x1B10E, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B10F, "MarkAndRecall.esp")).GetName() != "") _fX_7 = ((GetFormFromFile(0x1B10F, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B110, "MarkAndRecall.esp")).GetName() != "") _fY_7 = ((GetFormFromFile(0x1B110, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B111, "MarkAndRecall.esp")).GetName() != "") _fZ_7 = ((GetFormFromFile(0x1B111, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B112, "MarkAndRecall.esp")).GetName() != "") _fX_8 = ((GetFormFromFile(0x1B112, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B113, "MarkAndRecall.esp")).GetName() != "") _fY_8 = ((GetFormFromFile(0x1B113, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B114, "MarkAndRecall.esp")).GetName() != "") _fZ_8 = ((GetFormFromFile(0x1B114, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B115, "MarkAndRecall.esp")).GetName() != "") _fX_9 = ((GetFormFromFile(0x1B115, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B116, "MarkAndRecall.esp")).GetName() != "") _fY_9 = ((GetFormFromFile(0x1B116, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B117, "MarkAndRecall.esp")).GetName() != "") _fZ_9 = ((GetFormFromFile(0x1B117, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B119, "MarkAndRecall.esp")).GetName() != "") _fX_10 = ((GetFormFromFile(0x1B119, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B120, "MarkAndRecall.esp")).GetName() != "") _fY_10 = ((GetFormFromFile(0x1B120, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B127, "MarkAndRecall.esp")).GetName() != "") _fZ_10 = ((GetFormFromFile(0x1B127, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B11A, "MarkAndRecall.esp")).GetName() != "") _fX_11 = ((GetFormFromFile(0x1B11A, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B121, "MarkAndRecall.esp")).GetName() != "") _fY_11 = ((GetFormFromFile(0x1B121, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B128, "MarkAndRecall.esp")).GetName() != "") _fZ_11 = ((GetFormFromFile(0x1B128, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B11B, "MarkAndRecall.esp")).GetName() != "") _fX_12 = ((GetFormFromFile(0x1B11B, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B122, "MarkAndRecall.esp")).GetName() != "") _fY_12 = ((GetFormFromFile(0x1B122, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B129, "MarkAndRecall.esp")).GetName() != "") _fZ_12 = ((GetFormFromFile(0x1B129, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B11C, "MarkAndRecall.esp")).GetName() != "") _fX_13 = ((GetFormFromFile(0x1B11C, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B123, "MarkAndRecall.esp")).GetName() != "") _fY_13 = ((GetFormFromFile(0x1B123, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B12A, "MarkAndRecall.esp")).GetName() != "") _fZ_13 = ((GetFormFromFile(0x1B12A, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B11D, "MarkAndRecall.esp")).GetName() != "") _fX_14 = ((GetFormFromFile(0x1B11D, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B124, "MarkAndRecall.esp")).GetName() != "") _fY_14 = ((GetFormFromFile(0x1B124, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B12B, "MarkAndRecall.esp")).GetName() != "") _fZ_14 = ((GetFormFromFile(0x1B12B, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B11E, "MarkAndRecall.esp")).GetName() != "") _fX_15 = ((GetFormFromFile(0x1B11E, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B125, "MarkAndRecall.esp")).GetName() != "") _fY_15 = ((GetFormFromFile(0x1B125, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B12C, "MarkAndRecall.esp")).GetName() != "") _fZ_15 = ((GetFormFromFile(0x1B12C, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B11F, "MarkAndRecall.esp")).GetName() != "") _fX_16 = ((GetFormFromFile(0x1B11F, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B126, "MarkAndRecall.esp")).GetName() != "") _fY_16 = ((GetFormFromFile(0x1B126, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B12D, "MarkAndRecall.esp")).GetName() != "") _fZ_16 = ((GetFormFromFile(0x1B12D, "MarkAndRecall.esp")).GetName() as float) EndIf EndIf ;==================================== If ((GetFormFromFile(0x1B0ED, "MarkAndRecall.esp")).GetName() != "") _IsNameSet1 = ((GetFormFromFile(0x1B0ED, "MarkAndRecall.esp")).GetName() as int) EndIf If ((GetFormFromFile(0x1B0EE, "MarkAndRecall.esp")).GetName() != "") _IsNameSet2 = ((GetFormFromFile(0x1B0EE, "MarkAndRecall.esp")).GetName() as int) EndIf If ((GetFormFromFile(0x1B0EF, "MarkAndRecall.esp")).GetName() != "") _IsNameSet3 = ((GetFormFromFile(0x1B0EF, "MarkAndRecall.esp")).GetName() as int) EndIf If ((GetFormFromFile(0x1B0F0, "MarkAndRecall.esp")).GetName() != "") _IsNameSet4 = ((GetFormFromFile(0x1B0F0, "MarkAndRecall.esp")).GetName() as int) EndIf If ((GetFormFromFile(0x1B0F1, "MarkAndRecall.esp")).GetName() != "") _IsNameSet5 = ((GetFormFromFile(0x1B0F1, "MarkAndRecall.esp")).GetName() as int) EndIf If ((GetFormFromFile(0x1B0F2, "MarkAndRecall.esp")).GetName() != "") _IsNameSet6 = ((GetFormFromFile(0x1B0F2, "MarkAndRecall.esp")).GetName() as int) EndIf If ((GetFormFromFile(0x1B0F3, "MarkAndRecall.esp")).GetName() != "") _IsNameSet7 = ((GetFormFromFile(0x1B0F3, "MarkAndRecall.esp")).GetName() as int) EndIf If ((GetFormFromFile(0x1B0F4, "MarkAndRecall.esp")).GetName() != "") _IsNameSet8 = ((GetFormFromFile(0x1B0F4, "MarkAndRecall.esp")).GetName() as int) EndIf If ((GetFormFromFile(0x1B0F5, "MarkAndRecall.esp")).GetName() != "") _IsNameSet9 = ((GetFormFromFile(0x1B0F5, "MarkAndRecall.esp")).GetName() as int) EndIf If ((GetFormFromFile(0x1B0F6, "MarkAndRecall.esp")).GetName() != "") _IsNameSet10 = ((GetFormFromFile(0x1B0F6, "MarkAndRecall.esp")).GetName() as int) EndIf If ((GetFormFromFile(0x1B0F7, "MarkAndRecall.esp")).GetName() != "") _IsNameSet11 = ((GetFormFromFile(0x1B0F7, "MarkAndRecall.esp")).GetName() as int) EndIf If ((GetFormFromFile(0x1B0F8, "MarkAndRecall.esp")).GetName() != "") _IsNameSet12 = ((GetFormFromFile(0x1B0F8, "MarkAndRecall.esp")).GetName() as int) EndIf If ((GetFormFromFile(0x1B0F9, "MarkAndRecall.esp")).GetName() != "") _IsNameSet13 = ((GetFormFromFile(0x1B0F9, "MarkAndRecall.esp")).GetName() as int) EndIf If ((GetFormFromFile(0x1B0FA, "MarkAndRecall.esp")).GetName() != "") _IsNameSet14 = ((GetFormFromFile(0x1B0FA, "MarkAndRecall.esp")).GetName() as int) EndIf If ((GetFormFromFile(0x1B0FB, "MarkAndRecall.esp")).GetName() != "") _IsNameSet15 = ((GetFormFromFile(0x1B0FB, "MarkAndRecall.esp")).GetName() as int) EndIf if ((GetFormFromFile(0x1B0FC, "MarkAndRecall.esp")).GetName() != "") _IsNameSet16 = ((GetFormFromFile(0x1B0FC, "MarkAndRecall.esp")).GetName() as int) endif ;====================================\ if ((GetFormFromFile(0x12484, "MarkAndRecall.esp")).GetName() != "") if(bIsIdentical((GetFormFromFile(0x12484, "MarkAndRecall.esp")).GetName(), _Recall_1_Name) == false) _Recall_1_Name = (GetFormFromFile(0x12484, "MarkAndRecall.esp")).GetName() endif endif if ((GetFormFromFile(0x12485, "MarkAndRecall.esp")).GetName() != "") if(bIsIdentical((GetFormFromFile(0x12485, "MarkAndRecall.esp")).GetName(), Recall2Name) == false) Recall2Name = (GetFormFromFile(0x12485, "MarkAndRecall.esp")).GetName() endif endif if ((GetFormFromFile(0x12486, "MarkAndRecall.esp")).GetName() != "") if(bIsIdentical((GetFormFromFile(0x12486, "MarkAndRecall.esp")).GetName(), Recall3Name) == false) Recall3Name = (GetFormFromFile(0x12486, "MarkAndRecall.esp")).GetName() endif endif if ((GetFormFromFile(0x12487, "MarkAndRecall.esp")).GetName() != "") if(bIsIdentical((GetFormFromFile(0x12487, "MarkAndRecall.esp")).GetName(), Recall4Name) == false) Recall4Name = (GetFormFromFile(0x12487, "MarkAndRecall.esp")).GetName() endif endif if ((GetFormFromFile(0x12488, "MarkAndRecall.esp")).GetName() != "") if(bIsIdentical((GetFormFromFile(0x12488, "MarkAndRecall.esp")).GetName(), Recall5Name) == false) Recall5Name = (GetFormFromFile(0x12488, "MarkAndRecall.esp")).GetName() endif endif if ((GetFormFromFile(0x12489, "MarkAndRecall.esp")).GetName() != "") if(bIsIdentical((GetFormFromFile(0x12489, "MarkAndRecall.esp")).GetName(), Recall6Name) == false) Recall6Name = (GetFormFromFile(0x12489, "MarkAndRecall.esp")).GetName() endif endif if ((GetFormFromFile(0x1248A, "MarkAndRecall.esp")).GetName() != "") if(bIsIdentical((GetFormFromFile(0x1248A, "MarkAndRecall.esp")).GetName(), Recall7Name) == false) Recall7Name = (GetFormFromFile(0x1248A, "MarkAndRecall.esp")).GetName() endif endif if ((GetFormFromFile(0x1248B, "MarkAndRecall.esp")).GetName() != "") if(bIsIdentical((GetFormFromFile(0x1248B, "MarkAndRecall.esp")).GetName(), Recall8Name) == false) Recall8Name = (GetFormFromFile(0x1248B, "MarkAndRecall.esp")).GetName() endif endif if ((GetFormFromFile(0x1248C, "MarkAndRecall.esp")).GetName() != "") if(bIsIdentical((GetFormFromFile(0x1248C, "MarkAndRecall.esp")).GetName(), Recall9Name) == false) Recall9Name = (GetFormFromFile(0x1248C, "MarkAndRecall.esp")).GetName() endif endif if ((GetFormFromFile(0x1248D, "MarkAndRecall.esp")).GetName() != "") if(bIsIdentical((GetFormFromFile(0x1248D, "MarkAndRecall.esp")).GetName(), Recall10Name) == false) Recall10Name = (GetFormFromFile(0x1248D, "MarkAndRecall.esp")).GetName() endif endif if ((GetFormFromFile(0x1248E, "MarkAndRecall.esp")).GetName() != "") if(bIsIdentical((GetFormFromFile(0x1248E, "MarkAndRecall.esp")).GetName(), Recall11Name) == false) Recall11Name = (GetFormFromFile(0x1248E, "MarkAndRecall.esp")).GetName() endif endif if ((GetFormFromFile(0x1248F, "MarkAndRecall.esp")).GetName() != "") if(bIsIdentical((GetFormFromFile(0x1248F, "MarkAndRecall.esp")).GetName(), Recall12Name) == false) Recall12Name = (GetFormFromFile(0x1248F, "MarkAndRecall.esp")).GetName() endif endif if ((GetFormFromFile(0x12490, "MarkAndRecall.esp")).GetName() != "") if(bIsIdentical((GetFormFromFile(0x12490, "MarkAndRecall.esp")).GetName(), Recall13Name) == false) Recall13Name = (GetFormFromFile(0x12490, "MarkAndRecall.esp")).GetName() endif endif if ((GetFormFromFile(0x12491, "MarkAndRecall.esp")).GetName() != "") if(bIsIdentical((GetFormFromFile(0x12491, "MarkAndRecall.esp")).GetName(), Recall14Name) == false) Recall14Name = (GetFormFromFile(0x12491, "MarkAndRecall.esp")).GetName() endif endif if ((GetFormFromFile(0x12492, "MarkAndRecall.esp")).GetName() != "") if(bIsIdentical((GetFormFromFile(0x12492, "MarkAndRecall.esp")).GetName(), Recall15Name) == false) Recall15Name = (GetFormFromFile(0x12492, "MarkAndRecall.esp")).GetName() endif endif if ((GetFormFromFile(0x12493, "MarkAndRecall.esp")).GetName() != "") if(bIsIdentical((GetFormFromFile(0x12493, "MarkAndRecall.esp")).GetName(), Recall16Name) == false) Recall16Name = (GetFormFromFile(0x12493, "MarkAndRecall.esp")).GetName() endif endif ;==================================== jsonutil.SetPathIntValue(settings_path, "IsNameSet_1", _IsNameSet1) jsonutil.SetPathIntValue(settings_path, "IsNameSet_2", _IsNameSet2) jsonutil.SetPathIntValue(settings_path, "IsNameSet_3", _IsNameSet3) jsonutil.SetPathIntValue(settings_path, "IsNameSet_4", _IsNameSet4) jsonutil.SetPathIntValue(settings_path, "IsNameSet_5", _IsNameSet5) jsonutil.SetPathIntValue(settings_path, "IsNameSet_6", _IsNameSet6) jsonutil.SetPathIntValue(settings_path, "IsNameSet_7", _IsNameSet7) jsonutil.SetPathIntValue(settings_path, "IsNameSet_8", _IsNameSet8) jsonutil.SetPathIntValue(settings_path, "IsNameSet_9", _IsNameSet9) jsonutil.SetPathIntValue(settings_path, "IsNameSet_10", _IsNameSet10) jsonutil.SetPathIntValue(settings_path, "IsNameSet_11", _IsNameSet11) jsonutil.SetPathIntValue(settings_path, "IsNameSet_12", _IsNameSet12) jsonutil.SetPathIntValue(settings_path, "IsNameSet_13", _IsNameSet13) jsonutil.SetPathIntValue(settings_path, "IsNameSet_14", _IsNameSet14) jsonutil.SetPathIntValue(settings_path, "IsNameSet_15", _IsNameSet15) jsonutil.SetPathIntValue(settings_path, "IsNameSet_16", _IsNameSet16) ;==================================== If(IsAllowed == true) jsonutil.SetPathFloatValue(settings_path, "_fX_1", _fX_1) jsonutil.SetPathFloatValue(settings_path, "_fY_1", _fY_1) jsonutil.SetPathFloatValue(settings_path, "_fZ_1", _fZ_1) jsonutil.SetPathFloatValue(settings_path, "_fX_2", _fX_2) jsonutil.SetPathFloatValue(settings_path, "_fY_2", _fY_2) jsonutil.SetPathFloatValue(settings_path, "_fZ_2", _fZ_2) jsonutil.SetPathFloatValue(settings_path, "_fX_3", _fX_3) jsonutil.SetPathFloatValue(settings_path, "_fY_3", _fY_3) jsonutil.SetPathFloatValue(settings_path, "_fZ_3", _fZ_3) jsonutil.SetPathFloatValue(settings_path, "_fX_4", _fX_4) jsonutil.SetPathFloatValue(settings_path, "_fY_4", _fY_4) jsonutil.SetPathFloatValue(settings_path, "_fZ_4", _fZ_4) jsonutil.SetPathFloatValue(settings_path, "_fX_5", _fX_5) jsonutil.SetPathFloatValue(settings_path, "_fY_5", _fY_5) jsonutil.SetPathFloatValue(settings_path, "_fZ_5", _fZ_5) jsonutil.SetPathFloatValue(settings_path, "_fX_6", _fX_6) jsonutil.SetPathFloatValue(settings_path, "_fY_6", _fY_6) jsonutil.SetPathFloatValue(settings_path, "_fZ_6", _fZ_6) jsonutil.SetPathFloatValue(settings_path, "_fX_7", _fX_7) jsonutil.SetPathFloatValue(settings_path, "_fY_7", _fY_7) jsonutil.SetPathFloatValue(settings_path, "_fZ_7", _fZ_7) jsonutil.SetPathFloatValue(settings_path, "_fX_8", _fX_8) jsonutil.SetPathFloatValue(settings_path, "_fY_8", _fY_8) jsonutil.SetPathFloatValue(settings_path, "_fZ_8", _fZ_8) jsonutil.SetPathFloatValue(settings_path, "_fX_9", _fX_9) jsonutil.SetPathFloatValue(settings_path, "_fY_9", _fY_9) jsonutil.SetPathFloatValue(settings_path, "_fZ_9", _fZ_9) jsonutil.SetPathFloatValue(settings_path, "_fX_10", _fX_10) jsonutil.SetPathFloatValue(settings_path, "_fY_10", _fY_10) jsonutil.SetPathFloatValue(settings_path, "_fZ_10", _fZ_10) jsonutil.SetPathFloatValue(settings_path, "_fX_11", _fX_11) jsonutil.SetPathFloatValue(settings_path, "_fY_11", _fY_11) jsonutil.SetPathFloatValue(settings_path, "_fZ_11", _fZ_11) jsonutil.SetPathFloatValue(settings_path, "_fX_12", _fX_12) jsonutil.SetPathFloatValue(settings_path, "_fY_12", _fY_12) jsonutil.SetPathFloatValue(settings_path, "_fZ_12", _fZ_12) jsonutil.SetPathFloatValue(settings_path, "_fX_13", _fX_13) jsonutil.SetPathFloatValue(settings_path, "_fY_13", _fY_13) jsonutil.SetPathFloatValue(settings_path, "_fZ_13", _fZ_13) jsonutil.SetPathFloatValue(settings_path, "_fX_14", _fX_14) jsonutil.SetPathFloatValue(settings_path, "_fY_14", _fY_14) jsonutil.SetPathFloatValue(settings_path, "_fZ_14", _fZ_14) jsonutil.SetPathFloatValue(settings_path, "_fX_15", _fX_15) jsonutil.SetPathFloatValue(settings_path, "_fY_15", _fY_15) jsonutil.SetPathFloatValue(settings_path, "_fZ_15", _fZ_15) jsonutil.SetPathFloatValue(settings_path, "_fX_16", _fX_16) jsonutil.SetPathFloatValue(settings_path, "_fY_16", _fY_16) jsonutil.SetPathFloatValue(settings_path, "_fZ_16", _fZ_16) if (_Cell_Name_1 != "") jsonutil.SetPathStringValue(settings_path, "_Cell_Name_1", _Cell_Name_1) endif if (_Cell_Name_2 != "") jsonutil.SetPathStringValue(settings_path, "_Cell_Name_2", _Cell_Name_2) endif if (_Cell_Name_3 != "") jsonutil.SetPathStringValue(settings_path, "_Cell_Name_3", _Cell_Name_3) endif if (_Cell_Name_4 != "") jsonutil.SetPathStringValue(settings_path, "_Cell_Name_4", _Cell_Name_4) endif if (_Cell_Name_5 != "") jsonutil.SetPathStringValue(settings_path, "_Cell_Name_5", _Cell_Name_5) endif if (_Cell_Name_6 != "") jsonutil.SetPathStringValue(settings_path, "_Cell_Name_6", _Cell_Name_6) endif if (_Cell_Name_7 != "") jsonutil.SetPathStringValue(settings_path, "_Cell_Name_7", _Cell_Name_7) endif if (_Cell_Name_8 != "") jsonutil.SetPathStringValue(settings_path, "_Cell_Name_8", _Cell_Name_8) endif if (_Cell_Name_9 != "") jsonutil.SetPathStringValue(settings_path, "_Cell_Name_9", _Cell_Name_9) endif if (_Cell_Name_10 != "") jsonutil.SetPathStringValue(settings_path, "_Cell_Name_10", _Cell_Name_10) endif if (_Cell_Name_11 != "") jsonutil.SetPathStringValue(settings_path, "_Cell_Name_11", _Cell_Name_11) endif if (_Cell_Name_12 != "") jsonutil.SetPathStringValue(settings_path, "_Cell_Name_12", _Cell_Name_12) endif if (_Cell_Name_13 != "") jsonutil.SetPathStringValue(settings_path, "_Cell_Name_13", _Cell_Name_13) endif if (_Cell_Name_14 != "") jsonutil.SetPathStringValue(settings_path, "_Cell_Name_14", _Cell_Name_14) endif if (_Cell_Name_15 != "") jsonutil.SetPathStringValue(settings_path, "_Cell_Name_15", _Cell_Name_15) endif if (_Cell_Name_16 != "") jsonutil.SetPathStringValue(settings_path, "_Cell_Name_16", _Cell_Name_16) endif EndIf ;==================================== if (_Recall_1_Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_1_Name", _Recall_1_Name) endif if (Recall2Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_2_Name", Recall2Name) endif if (Recall3Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_3_Name", Recall3Name) endif if (Recall4Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_4_Name", Recall4Name) endif if (Recall5Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_5_Name", Recall5Name) endif if (Recall6Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_6_Name", Recall6Name) endif if (Recall7Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_7_Name", Recall7Name) endif if (Recall8Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_8_Name", Recall8Name) endif if (Recall9Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_9_Name", Recall9Name) endif if (Recall10Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_10_Name", Recall10Name) endif if (Recall11Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_11_Name", Recall11Name) endif if (Recall12Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_12_Name", Recall12Name) endif if (Recall13Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_13_Name", Recall13Name) endif if (Recall14Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_14_Name", Recall14Name) endif if (Recall15Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_15_Name", Recall15Name) endif if (Recall16Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_16_Name", Recall16Name) endif if !jsonutil.Save(settings_path, false) Trace("MAR: Error saving user settings.", 0) return false endIf bSaveUserSettings = false return true endFunction Bool function ClearAlternateRecallNames() If(IsAllowed == false) (GetFormFromFile(0x1B118, "MarkAndRecall.esp")).SetName("") (GetFormFromFile(0x1B12E, "MarkAndRecall.esp")).SetName("") (GetFormFromFile(0x1B12F, "MarkAndRecall.esp")).SetName("") (GetFormFromFile(0x1B130, "MarkAndRecall.esp")).SetName("") (GetFormFromFile(0x1B131, "MarkAndRecall.esp")).SetName("") (GetFormFromFile(0x1B132, "MarkAndRecall.esp")).SetName("") (GetFormFromFile(0x1B133, "MarkAndRecall.esp")).SetName("") (GetFormFromFile(0x1B134, "MarkAndRecall.esp")).SetName("") (GetFormFromFile(0x1B135, "MarkAndRecall.esp")).SetName("") (GetFormFromFile(0x1B136, "MarkAndRecall.esp")).SetName("") (GetFormFromFile(0x1B137, "MarkAndRecall.esp")).SetName("") (GetFormFromFile(0x1B138, "MarkAndRecall.esp")).SetName("") (GetFormFromFile(0x1B139, "MarkAndRecall.esp")).SetName("") (GetFormFromFile(0x1B13A, "MarkAndRecall.esp")).SetName("") (GetFormFromFile(0x1B13B, "MarkAndRecall.esp")).SetName("") (GetFormFromFile(0x1B13C, "MarkAndRecall.esp")).SetName("") ;============================================================================= _Cell_Name_1 = (GetFormFromFile(0x1B118, "MarkAndRecall.esp")).GetName() _Cell_Name_2 = (GetFormFromFile(0x1B12E, "MarkAndRecall.esp")).GetName() _Cell_Name_3 = (GetFormFromFile(0x1B12F, "MarkAndRecall.esp")).GetName() _Cell_Name_4 = (GetFormFromFile(0x1B130, "MarkAndRecall.esp")).GetName() _Cell_Name_5 = (GetFormFromFile(0x1B131, "MarkAndRecall.esp")).GetName() _Cell_Name_6 = (GetFormFromFile(0x1B132, "MarkAndRecall.esp")).GetName() _Cell_Name_7 = (GetFormFromFile(0x1B133, "MarkAndRecall.esp")).GetName() _Cell_Name_8 = (GetFormFromFile(0x1B134, "MarkAndRecall.esp")).GetName() _Cell_Name_9 = (GetFormFromFile(0x1B135, "MarkAndRecall.esp")).GetName() _Cell_Name_10 = (GetFormFromFile(0x1B136, "MarkAndRecall.esp")).GetName() _Cell_Name_11 = (GetFormFromFile(0x1B137, "MarkAndRecall.esp")).GetName() _Cell_Name_12 = (GetFormFromFile(0x1B138, "MarkAndRecall.esp")).GetName() _Cell_Name_13 = (GetFormFromFile(0x1B139, "MarkAndRecall.esp")).GetName() _Cell_Name_14 = (GetFormFromFile(0x1B13A, "MarkAndRecall.esp")).GetName() _Cell_Name_15 = (GetFormFromFile(0x1B13B, "MarkAndRecall.esp")).GetName() _Cell_Name_16 = (GetFormFromFile(0x1B13C, "MarkAndRecall.esp")).GetName() ;============================================================================= jsonutil.SetPathStringValue(settings_path, "_Cell_Name_1", _Cell_Name_1) jsonutil.SetPathStringValue(settings_path, "_Cell_Name_2", _Cell_Name_2) jsonutil.SetPathStringValue(settings_path, "_Cell_Name_3", _Cell_Name_3) jsonutil.SetPathStringValue(settings_path, "_Cell_Name_4", _Cell_Name_4) jsonutil.SetPathStringValue(settings_path, "_Cell_Name_5", _Cell_Name_5) jsonutil.SetPathStringValue(settings_path, "_Cell_Name_6", _Cell_Name_6) jsonutil.SetPathStringValue(settings_path, "_Cell_Name_7", _Cell_Name_7) jsonutil.SetPathStringValue(settings_path, "_Cell_Name_8", _Cell_Name_8) jsonutil.SetPathStringValue(settings_path, "_Cell_Name_9", _Cell_Name_9) jsonutil.SetPathStringValue(settings_path, "_Cell_Name_10", _Cell_Name_10) jsonutil.SetPathStringValue(settings_path, "_Cell_Name_11", _Cell_Name_11) jsonutil.SetPathStringValue(settings_path, "_Cell_Name_12", _Cell_Name_12) jsonutil.SetPathStringValue(settings_path, "_Cell_Name_13", _Cell_Name_13) jsonutil.SetPathStringValue(settings_path, "_Cell_Name_14", _Cell_Name_14) jsonutil.SetPathStringValue(settings_path, "_Cell_Name_15", _Cell_Name_15) jsonutil.SetPathStringValue(settings_path, "_Cell_Name_16", _Cell_Name_16) EndIf ;==================================== if !jsonutil.Save(settings_path, false) Trace("MAR: Error saving user settings.", 0) return false endIf return true endFunction ;/ ; Checks to see if the specified objective is displayed bool Function IsObjectiveDisplayed(int aiObjective) native Sets the specified objective to completed or not SetObjectiveCompleted(int aiObjective, bool abCompleted = true) native Sets the specified objective to displayed or hidden - if abForce is true, will display the objective even if it has already been displayed SetObjectiveDisplayed(int aiObjective, bool abDisplayed = true, bool abForce = false) native Sets the specified objective to failed or not SetObjectiveFailed(int aiObjective, bool abFailed = true) native /; Function RecallDisplayed(ObjectReference ORef, int i) aORef = new ReferenceAlias[16] aORef[1] = Recall1 aORef[2] = Recall2 aORef[3] = Recall3 aORef[4] = Recall4 aORef[5] = Recall5 aORef[6] = Recall6 aORef[7] = Recall7 aORef[8] = Recall8 aORef[9] = Recall9 aORef[10] = Recall10 aORef[11] = Recall11 aORef[12] = Recall12 aORef[13] = Recall13 aORef[14] = Recall14 aORef[15] = Recall15 aORef[16] = Recall16 If (ORef) If (ORef.GetParentCell() != MarkAndRecallScript.IgnoreCell) (self.GetNthAlias(i) as ReferenceAlias).GetRef().SetDisplayName(ORef.GetDisplayName(), true) If (self.IsObjectiveDisplayed(i) == false) self.SetObjectiveDisplayed(i, true, true) EndIf EndIf EndIf If(bGetCurrentLanguage() == true) Show_Notification("Маркер добавлен на карту.", "#00FF00") Else Show_Notification("The marker has been added to the map.", "#00FF00") EndIf EndFunction Function UpdateRecallsNames() String RecallName String CellName ReferenceAlias refAlias int iIndex sNames = new String[16] aORef = new ReferenceAlias[16] sNames[1] = Recall1Name sNames[2] = Recall2Name sNames[3] = Recall3Name sNames[4] = Recall4Name sNames[5] = Recall5Name sNames[6] = Recall6Name sNames[7] = Recall7Name sNames[8] = Recall8Name sNames[9] = Recall9Name sNames[10] = Recall10Name sNames[11] = Recall11Name sNames[12] = Recall12Name sNames[13] = Recall13Name sNames[14] = Recall14Name sNames[15] = Recall15Name sNames[16] = Recall16Name aORef[1] = Recall1 aORef[2] = Recall2 aORef[3] = Recall3 aORef[4] = Recall4 aORef[5] = Recall5 aORef[6] = Recall6 aORef[7] = Recall7 aORef[8] = Recall8 aORef[9] = Recall9 aORef[10] = Recall10 aORef[11] = Recall11 aORef[12] = Recall12 aORef[13] = Recall13 aORef[14] = Recall14 aORef[15] = Recall15 aORef[16] = Recall16 iIndex = 1 while iIndex <= 16;self.GetNumAliases() refAlias = self.GetNthAlias(iIndex) as ReferenceAlias if refAlias.GetRef() == none refAlias.ForceRefTo(aORef[iIndex].GetRef()) If(bGetCurrentLanguage() == true) RecallName = "Пусто" Else RecallName = "Empty" EndIf if aORef[iIndex].GetRef() == none endif if (aORef[iIndex].GetRef().GetParentCell().IsInterior() == 0) sCN[iIndex] = aORef[iIndex].GetRef().GetCurrentLocation().GetName() ElseIf (aORef[iIndex].GetRef().GetParentCell().IsInterior() == 1) sCN[iIndex] = aORef[iIndex].GetRef().GetParentCell().GetName() EndIf If (GetCellNameIdentical(aORef[iIndex].GetRef(), sCN[iIndex], sNames[iIndex]) == false) sNames[iIndex] = GetCellName(aORef[iIndex].GetRef(), sCN[iIndex], sNames[iIndex]) if sNames[iIndex] == "Mark And Recall Markers Cell" sNames[iIndex] = RecallName endif endif (self.GetNthAlias(iIndex) as ReferenceAlias).GetRef().SetDisplayName(sNames[iIndex], true) return ElseIf (refAlias.GetRef()) If(bGetCurrentLanguage() == true) RecallName = "Пусто" Else RecallName = "Empty" EndIf if (aORef[iIndex].GetRef().GetParentCell().IsInterior() == 0) sCN[iIndex] = aORef[iIndex].GetRef().GetCurrentLocation().GetName() ElseIf (aORef[iIndex].GetRef().GetParentCell().IsInterior() == 1) sCN[iIndex] = aORef[iIndex].GetRef().GetParentCell().GetName() EndIf If (GetCellNameIdentical(aORef[iIndex].GetRef(), sCN[iIndex], sNames[iIndex]) == false) sNames[iIndex] = GetCellName(aORef[iIndex].GetRef(), sCN[iIndex], sNames[iIndex]) if sNames[iIndex] == "Mark And Recall Markers Cell" sNames[iIndex] = RecallName endif endif (self.GetNthAlias(iIndex) as ReferenceAlias).GetRef().SetDisplayName(sNames[iIndex], true) endIf Recall1Name = sNames[1] Recall2Name = sNames[2] Recall3Name = sNames[3] Recall4Name = sNames[4] Recall5Name = sNames[5] Recall6Name = sNames[6] Recall7Name = sNames[7] Recall8Name = sNames[8] Recall9Name = sNames[9] Recall10Name = sNames[10] Recall11Name = sNames[11] Recall12Name = sNames[12] Recall13Name = sNames[13] Recall14Name = sNames[14] Recall15Name = sNames[15] Recall16Name = sNames[16] iIndex += 1 endWhile EndFunction Function RecallsDisplayed() String RecallName String CellName ReferenceAlias refAlias int iIndex sNames = new String[16] aORef = new ReferenceAlias[16] sNames[1] = Recall1Name sNames[2] = Recall2Name sNames[3] = Recall3Name sNames[4] = Recall4Name sNames[5] = Recall5Name sNames[6] = Recall6Name sNames[7] = Recall7Name sNames[8] = Recall8Name sNames[9] = Recall9Name sNames[10] = Recall10Name sNames[11] = Recall11Name sNames[12] = Recall12Name sNames[13] = Recall13Name sNames[14] = Recall14Name sNames[15] = Recall15Name sNames[16] = Recall16Name aORef[1] = Recall1 aORef[2] = Recall2 aORef[3] = Recall3 aORef[4] = Recall4 aORef[5] = Recall5 aORef[6] = Recall6 aORef[7] = Recall7 aORef[8] = Recall8 aORef[9] = Recall9 aORef[10] = Recall10 aORef[11] = Recall11 aORef[12] = Recall12 aORef[13] = Recall13 aORef[14] = Recall14 aORef[15] = Recall15 aORef[16] = Recall16 iIndex = 1 while iIndex <= 16;self.GetNumAliases() refAlias = self.GetNthAlias(iIndex) as ReferenceAlias if refAlias.GetRef() == none refAlias.ForceRefTo(aORef[iIndex].GetRef()) If(bGetCurrentLanguage() == true) RecallName = "Пусто" Else RecallName = "Empty" EndIf if aORef[iIndex].GetRef() == none ;aORef[iIndex].ForceRefTo(aORef[iIndex].GetRef()) endif if (aORef[iIndex].GetRef().GetParentCell().IsInterior() == 0) sCN[iIndex] = aORef[iIndex].GetRef().GetCurrentLocation().GetName() ElseIf (aORef[iIndex].GetRef().GetParentCell().IsInterior() == 1) sCN[iIndex] = aORef[iIndex].GetRef().GetParentCell().GetName() EndIf If (GetCellNameIdentical(aORef[iIndex].GetRef(), sCN[iIndex], sNames[iIndex]) == false) sNames[iIndex] = GetCellName(aORef[iIndex].GetRef(), sCN[iIndex], sNames[iIndex]) if sNames[iIndex] == "Mark And Recall Markers Cell" sNames[iIndex] = RecallName endif endif (self.GetNthAlias(iIndex) as ReferenceAlias).GetRef().SetDisplayName(sNames[iIndex], true) if((self.GetNthAlias(iIndex) as ReferenceAlias).GetRef().GetDisplayName() != RecallName) If (self.IsObjectiveDisplayed(iIndex) == false) self.SetObjectiveDisplayed(iIndex, true, true) ;DebugNotification("aORef Name if null: " + " " + iIndex + " " + (self.GetNthAlias(iIndex) as ReferenceAlias).GetRef().GetDisplayName()) EndIf endif return ElseIf (refAlias.GetRef()) If(bGetCurrentLanguage() == true) RecallName = "Пусто" Else RecallName = "Empty" EndIf if (aORef[iIndex].GetRef().GetParentCell().IsInterior() == 0) sCN[iIndex] = aORef[iIndex].GetRef().GetCurrentLocation().GetName() ;DebugNotification("GetCurrentLocation: " + " " + iIndex + " " + aORef[iIndex].GetRef().GetCurrentLocation().GetName()) ElseIf (aORef[iIndex].GetRef().GetParentCell().IsInterior() == 1) sCN[iIndex] = aORef[iIndex].GetRef().GetParentCell().GetName() ;DebugNotification("GetParentCell: " + " " + iIndex + " " + aORef[iIndex].GetRef().GetParentCell().GetName()) EndIf If (GetCellNameIdentical(aORef[iIndex].GetRef(), sCN[iIndex], sNames[iIndex]) == false) sNames[iIndex] = GetCellName(aORef[iIndex].GetRef(), sCN[iIndex], sNames[iIndex]) if sNames[iIndex] == "Mark And Recall Markers Cell" sNames[iIndex] = RecallName ;DebugNotification("sNames: " + " " + iIndex + " " + sNames[iIndex]) endif endif (self.GetNthAlias(iIndex) as ReferenceAlias).GetRef().SetDisplayName(sNames[iIndex], true) if((self.GetNthAlias(iIndex) as ReferenceAlias).GetRef().GetDisplayName() != RecallName) If (self.IsObjectiveDisplayed(iIndex) == false) self.SetObjectiveDisplayed(iIndex, true, true) ;If(bGetCurrentLanguage() == true) ; Show_Notification("Маркер добавлен на карту.", "#00FF00") ;Else ; Show_Notification("The marker has been added to the map.", "#00FF00") ;EndIf ;DebugNotification("aORef Name: " + " " + iIndex + " " + (self.GetNthAlias(iIndex) as ReferenceAlias).GetRef().GetDisplayName()) EndIf endif endIf Recall1Name = sNames[1] Recall2Name = sNames[2] Recall3Name = sNames[3] Recall4Name = sNames[4] Recall5Name = sNames[5] Recall6Name = sNames[6] Recall7Name = sNames[7] Recall8Name = sNames[8] Recall9Name = sNames[9] Recall10Name = sNames[10] Recall11Name = sNames[11] Recall12Name = sNames[12] Recall13Name = sNames[13] Recall14Name = sNames[14] Recall15Name = sNames[15] Recall16Name = sNames[16] iIndex += 1 endWhile EndFunction Function RecallCompleted(ObjectReference ORef, int i) If (ORef) If (ORef.GetParentCell() != MarkAndRecallScript.IgnoreCell) self.SetObjectiveCompleted(i, true) EndIf EndIf EndFunction ;(self.GetNthAlias(iIndex) as ReferenceAlias).GetRef().SetDisplayName(ORef.GetDisplayName(), true) ;/ Function RecallDisplayed(ObjectReference ORef, int i) ReferenceAlias refAlias int iIndex If (ORef) If (ORef.GetParentCell() != MarkAndRecallScript.IgnoreCell) iIndex = 1 while iIndex < self.GetNumAliases() refAlias = self.GetNthAlias(iIndex) as ReferenceAlias if refAlias.GetRef() == none refAlias.ForceRefTo(ORef) refAlias.GetRef().SetDisplayName(ORef.GetDisplayName(), true) self.SetObjectiveDisplayed(iIndex, true, true) Notification("Маркер добавлен на карту") return ElseIf refAlias.GetRef() refAlias.GetRef().SetDisplayName(ORef.GetDisplayName(), true) DebugNotification("GetDisplayName refAlias " + refAlias.GetRef().GetDisplayName self.SetObjectiveDisplayed(iIndex, true, true) Notification("Маркер добавлен на карту") endIf iIndex += 1 endWhile EndIf EndIf EndFunction Изменено 26 октября, 2021 пользователем aaa112aaa
Azazellz Опубликовано 26 октября, 2021 Опубликовано 26 октября, 2021 25.10.2021 23:56:52, aaa112aaa сказал(-а): И снова здравствуйте. Снова я, снова проблема. Так вот, в скрипте в части "Oninit" есть код и почему-то он выполняется дважды, а то бывает и трижды, если бы не сообщения, я бы об этом и не узнал никогда. Вот почему так? И не важно какое сохранение, я загружался и на чистое сохранение, без мода. Вот собственно код Event OnInit() : OnInit() Event OnInit(); quests that are not run-once (задания, которые не выполняются один раз) bIsInitStarted = true RegisterForSingleUpdate(5.0); register for an onupdate event in 5 seconds Show_Notification("OnInit.", "#00ff00") if !(GetPlayer().HasSpell((GetFormFromFile(0x5901, "MarkAndRecall.esp")) as Spell)) GetPlayer().addspell((GetFormFromFile(0x5901, "MarkAndRecall.esp")) as Spell, false) If(bGetCurrentLanguage() == true) Show_Notification("Заклинание: " + (GetFormFromFile(0x5901, "MarkAndRecall.esp")).GetName() + " Добавлено.", "#00FF00") Else Show_Notification("Spell: " + (GetFormFromFile(0x5901, "MarkAndRecall.esp")).GetName() + " Added.", "#00FF00") EndIf endif Quest SKI_ConfigManagerInstance = ((GetFormFromFile(0x802, "SkyUI_SE.esp")) as Quest) if self.IsRunning() LoadOnlySettings() LoadSettingsAtStart() if(ConfigMCM.OldVersion != ConfigMCM.Version) SKI_ConfigManagerInstance.SetStage(1) If(bGetCurrentLanguage() == true) MessageBox("Мод: " + self.GetName() + " был обновлён, загрузка настроек.") ;Show_Notification("Мод: " + self.GetName() + " был обновлён загрузка настроек.", "#00ff00") Else MessageBox("The mod: " + self.GetName() + " has been updated, loading settings, please wait.") ;Show_Notification("The mod: " + self.GetName() + " has been updated, loading settings, please wait.", "#00ff00") EndIf If(bGetCurrentLanguage() == true) Show_Notification("Версия " + self.GetName() + " " + ConfigMCM.Version, "#DAA520") DebugNotification("Старая версия " + self.GetName() + " " + ConfigMCM.OldVersion, false, "#00FF00") Else Show_Notification("Version of " + self.GetName() + " " + ConfigMCM.Version, "#DAA520") DebugNotification("Old version of " + self.GetName() + " " + ConfigMCM.OldVersion, false, "#00FF00") EndIf ;LoadOnlyLocNames() If(bLoadOnlyLocNames() == true) Wait(1) MarkAndRecallScript.Set1() MarkAndRecallScript.Set2() MarkAndRecallScript.Set3() MarkAndRecallScript.Set4() MarkAndRecallScript.Set5() MarkAndRecallScript.Set6() MarkAndRecallScript.Set7() MarkAndRecallScript.Set8() MarkAndRecallScript.Set9() MarkAndRecallScript.Set10() MarkAndRecallScript.Set11() MarkAndRecallScript.Set12() MarkAndRecallScript.Set13() MarkAndRecallScript.Set14() MarkAndRecallScript.Set15() MarkAndRecallScript.Set16() Wait(3) RecallsDisplayed() EndIf If(bGetCurrentLanguage() == true) Show_Notification("Все готово.", "#00ff00") Else Show_Notification("Everything is ready.", "#00ff00") EndIf ConfigMCM.OldVersion = ConfigMCM.Version EndIf UpdateSettings() ;self.OnGameReload() endIf bIsInitStarted = false bIsInitCompleted = true EndEvent А вот, если нужно, весь скрипт: MarkAndRecallQuestScript Scriptname MarkAndRecallQuestScript extends Quest Conditional ;Import SKSE import Debug import Utility import Game import Input Import UI Import StringUtil Import SKI_ConfigBase ;-- Properties -------------------------------------- MarkAndRecallConfigMCMScript property ConfigMCM auto MarkAndRecallScriptEffect property MarkAndRecallScript auto bool Property bEnabled = true Auto Bool Property IsDebugMode = false Auto Bool Property IsAllowed = false Auto Bool Property IsClassicMode = true Auto Bool Property bSaveUserSettings = false Auto Bool Property bCanCityPortal = true Auto Conditional Bool Property bCheckingNames = false Auto Conditional Bool Property bIsInitStarted = false Auto Bool Property bIsInitCompleted = false Auto bool property uninstall = false auto Message property uninstallMessage auto Bool property ErrorDetected = false Auto Hidden Bool property MENUExtended Auto Hidden Bool property DLC1Extended Auto Hidden String property MinSKSEVersion String function get() return "2.0.19" endFunction endproperty Int property MinSKSERelease Int function get() return 53 endFunction endproperty Int property ERR_SKSE_VERSION_SCPT Int function get() return 3 endFunction endproperty Int property ERR_SKSE_MISSING Int function get() return 1 endFunction endproperty Int property ERR_SKSE_BROKEN Int function get() return 7 endFunction endproperty Int property ERR_SKSE_VERSION_RT Int function get() return 2 endFunction endproperty Int property ERR_INI_PAPYRUS Int function get() return 4 endFunction endproperty ReferenceAlias Property Recall1 Auto ReferenceAlias Property Recall2 Auto ReferenceAlias Property Recall3 Auto ReferenceAlias Property Recall4 Auto ReferenceAlias Property Recall5 Auto ReferenceAlias Property Recall6 Auto ReferenceAlias Property Recall7 Auto ReferenceAlias Property Recall8 Auto ReferenceAlias Property Recall9 Auto ReferenceAlias Property Recall10 Auto ReferenceAlias Property Recall11 Auto ReferenceAlias Property Recall12 Auto ReferenceAlias Property Recall13 Auto ReferenceAlias Property Recall14 Auto ReferenceAlias Property Recall15 Auto ReferenceAlias Property Recall16 Auto String Property Recall1Name Auto Hidden String Property Recall2Name Auto Hidden String Property Recall3Name Auto Hidden String Property Recall4Name Auto Hidden String Property Recall5Name Auto Hidden String Property Recall6Name Auto Hidden String Property Recall7Name Auto Hidden String Property Recall8Name Auto Hidden String Property Recall9Name Auto Hidden String Property Recall10Name Auto Hidden String Property Recall11Name Auto Hidden String Property Recall12Name Auto Hidden String Property Recall13Name Auto Hidden String Property Recall14Name Auto Hidden String Property Recall15Name Auto Hidden String Property Recall16Name Auto Hidden String Property Cell_Name Auto Hidden Float Property f_X Auto Hidden Float Property f_Y Auto Hidden Float Property f_Z Auto Hidden Int Property Distance = 4000 Auto ;ReferenceAlias Property Player Auto ;-- Variables --------------------------------------- String settings_path = "..\\MarkAndRecall\\UserSettings" String S_1 String[] sNames String[] sCN ReferenceAlias[] aORef String _Recall_1_Name String Recall2Name String Recall3Name String Recall4Name String Recall5Name String Recall6Name String Recall7Name String Recall8Name String Recall9Name String Recall10Name String Recall11Name String Recall12Name String Recall13Name String Recall14Name String Recall15Name String Recall16Name String _Cell_Name_1 String _Cell_Name_2 String _Cell_Name_3 String _Cell_Name_4 String _Cell_Name_5 String _Cell_Name_6 String _Cell_Name_7 String _Cell_Name_8 String _Cell_Name_9 String _Cell_Name_10 String _Cell_Name_11 String _Cell_Name_12 String _Cell_Name_13 String _Cell_Name_14 String _Cell_Name_15 String _Cell_Name_16 int _IsNameSet1 int _IsNameSet2 int _IsNameSet3 int _IsNameSet4 int _IsNameSet5 int _IsNameSet6 int _IsNameSet7 int _IsNameSet8 int _IsNameSet9 int _IsNameSet10 int _IsNameSet11 int _IsNameSet12 int _IsNameSet13 int _IsNameSet14 int _IsNameSet15 int _IsNameSet16 float _fX_1 float _fX_2 float _fX_3 float _fX_4 float _fX_5 float _fX_6 float _fX_7 float _fX_8 float _fX_9 float _fX_10 float _fX_11 float _fX_12 float _fX_13 float _fX_14 float _fX_15 float _fX_16 float _fY_1 float _fY_2 float _fY_3 float _fY_4 float _fY_5 float _fY_6 float _fY_7 float _fY_8 float _fY_9 float _fY_10 float _fY_11 float _fY_12 float _fY_13 float _fY_14 float _fY_15 float _fY_16 float _fZ_1 float _fZ_2 float _fZ_3 float _fZ_4 float _fZ_5 float _fZ_6 float _fZ_7 float _fZ_8 float _fZ_9 float _fZ_10 float _fZ_11 float _fZ_12 float _fZ_13 float _fZ_14 float _fZ_15 float _fZ_16 ;float _afZ ;/ /; ;-- Functions --------------------------------------- Event OnInit(); quests that are not run-once (задания, которые не выполняются один раз) bIsInitStarted = true RegisterForSingleUpdate(5.0); register for an onupdate event in 5 seconds Show_Notification("OnInit.", "#00ff00") if !(GetPlayer().HasSpell((GetFormFromFile(0x5901, "MarkAndRecall.esp")) as Spell)) GetPlayer().addspell((GetFormFromFile(0x5901, "MarkAndRecall.esp")) as Spell, false) If(bGetCurrentLanguage() == true) Show_Notification("Заклинание: " + (GetFormFromFile(0x5901, "MarkAndRecall.esp")).GetName() + " Добавлено.", "#00FF00") Else Show_Notification("Spell: " + (GetFormFromFile(0x5901, "MarkAndRecall.esp")).GetName() + " Added.", "#00FF00") EndIf endif Quest SKI_ConfigManagerInstance = ((GetFormFromFile(0x802, "SkyUI_SE.esp")) as Quest) if self.IsRunning() LoadOnlySettings() LoadSettingsAtStart() if(ConfigMCM.OldVersion != ConfigMCM.Version) SKI_ConfigManagerInstance.SetStage(1) If(bGetCurrentLanguage() == true) MessageBox("Мод: " + self.GetName() + " был обновлён, загрузка настроек.") ;Show_Notification("Мод: " + self.GetName() + " был обновлён загрузка настроек.", "#00ff00") Else MessageBox("The mod: " + self.GetName() + " has been updated, loading settings, please wait.") ;Show_Notification("The mod: " + self.GetName() + " has been updated, loading settings, please wait.", "#00ff00") EndIf If(bGetCurrentLanguage() == true) Show_Notification("Версия " + self.GetName() + " " + ConfigMCM.Version, "#DAA520") DebugNotification("Старая версия " + self.GetName() + " " + ConfigMCM.OldVersion, false, "#00FF00") Else Show_Notification("Version of " + self.GetName() + " " + ConfigMCM.Version, "#DAA520") DebugNotification("Old version of " + self.GetName() + " " + ConfigMCM.OldVersion, false, "#00FF00") EndIf ;LoadOnlyLocNames() If(bLoadOnlyLocNames() == true) Wait(1) MarkAndRecallScript.Set1() MarkAndRecallScript.Set2() MarkAndRecallScript.Set3() MarkAndRecallScript.Set4() MarkAndRecallScript.Set5() MarkAndRecallScript.Set6() MarkAndRecallScript.Set7() MarkAndRecallScript.Set8() MarkAndRecallScript.Set9() MarkAndRecallScript.Set10() MarkAndRecallScript.Set11() MarkAndRecallScript.Set12() MarkAndRecallScript.Set13() MarkAndRecallScript.Set14() MarkAndRecallScript.Set15() MarkAndRecallScript.Set16() Wait(3) RecallsDisplayed() EndIf If(bGetCurrentLanguage() == true) Show_Notification("Все готово.", "#00ff00") Else Show_Notification("Everything is ready.", "#00ff00") EndIf ConfigMCM.OldVersion = ConfigMCM.Version EndIf UpdateSettings() ;self.OnGameReload() endIf bIsInitStarted = false bIsInitCompleted = true EndEvent Event OnPlayerLoadGame() Show_Notification("MarkAndRecallQuest: OnPlayerLoadGame", "#00ff00") LoadSettingsAtStart() EndEvent Function OnGameReload(); quests that were running at time of save (задания, которые выполнялись во время сохранения) requires SkyUI's SKI_PlayerLoadGameAlias script; or use Player's OnPlayerLoadGame event LoadOnlySettings() LoadSettingsAtStart() DebugNotification("OnGameReload.", true , "#00FF00") if (IsDebugMode) MarkAndRecallScript.IsDebugMode = IsDebugMode ConfigMCM.bIsDebugMode = IsDebugMode endif if (IsAllowed) MarkAndRecallScript.IsAllowed = IsAllowed ConfigMCM.bIsAllowed = IsAllowed endif if (IsClassicMode) MarkAndRecallScript.IsClassicMode = IsClassicMode ConfigMCM.bIsClassicMode = IsClassicMode endif if (bCanCityPortal) MarkAndRecallScript.bCanCityPortal = bCanCityPortal ConfigMCM.bIsClassicMode = bCanCityPortal endif if (bCheckingNames) MarkAndRecallScript.bCheckingNames = bCheckingNames ConfigMCM.bIsClassicMode = bCheckingNames endif ;/ bool MENUCheck = (Game.GetFormFromFile(0xE00, "UIExtensions.esp") != None) If MENUCheck Debug.Trace("Notification: Menu system loaded.", 1) MENUExtended = true Else Debug.Trace("WARNING: Menu system disabled, plugin UIExtensions.esp failed to load.", 1) MENUExtended = false Endif /; ; Check for DLC1 bool DLC1Check = (Game.GetFormFromFile(0x588C, "Dawnguard.esm") != None) ; Checks for DLC1VampireTurnScript Quest If DLC1Check Debug.Trace("Notification: Dawnguard loaded.", 1) DLC1Extended = true Else DLC1Extended = false Debug.Trace("WARNING: Dawnguard not loaded.", 1) Endif bool APNLCheck = (Game.GetFormFromFile(0x824, "SkyUI_SE.esp") != None) If APNLCheck Debug.Trace("Notification: SkyUI_SE.esp loaded.", 1) Else Debug.Trace("WARNING: Plugin failed to load SkyUI not found.", 1) Endif ErrorDetected = false if skse.GetVersionRelease() == 0 self.Error(self.ERR_SKSE_MISSING, "The Skyrim Script Extender (SKSE64) не запущен.") return elseIf self.GetType() == 0 self.Error(self.ERR_SKSE_BROKEN, "SKSE64 скрипты были перезаписаны или неправильно установлены.\nПереустановка SKSE64 может исправить эту проблему.") return elseIf skse.GetVersionRelease() < self.MinSKSERelease self.Error(self.ERR_SKSE_VERSION_RT, "SKSE64 является устаревшей версией.\n" + "Требуемая версия: " + self.MinSKSEVersion + " или новее\n" + "Обнаруженная версия: " + skse.GetVersion() as String + "." + skse.GetVersionMinor() as String + "." + skse.GetVersionBeta() as String) return elseIf skse.GetScriptVersionRelease() < self.MinSKSERelease self.Error(self.ERR_SKSE_VERSION_SCPT, "SKSE64 скрипты устарели.\nВы скорее всего забыли установить/обновить эти скрипты, которые поставляются вместе с SKSE64.") return endIf if utility.GetINIInt("iMinMemoryPageSize:Papyrus") <= 0 || utility.GetINIInt("iMaxMemoryPageSize:Papyrus") <= 0 || utility.GetINIInt("iMaxAllocatedMemoryBytes:Papyrus") <= 0 self.Error(self.ERR_INI_PAPYRUS, "Ваши настройки Papyrus INI являются недействительными. Пожалуйста исправьте их.") return endIf Quest MarkAndRecallVersionCheck = ((GetFormFromFile(0x52FF0, "MarkAndRecall.esp")) as Quest) Quest MarkAndRecallObjectivesDisplayedQuest = ((GetFormFromFile(0x52FEF, "MarkAndRecall.esp")) as Quest) Quest SKI_ConfigManagerInstance = ((GetFormFromFile(0x802, "SkyUI_SE.esp")) as Quest) if(ConfigMCM.OldVersion as String != ConfigMCM.Version as String) SKI_ConfigManagerInstance.SetStage(1) If(bGetCurrentLanguage() == true) MessageBox("Мод: " + self.GetName() + " был обновлён, загрузка настроек.") ;Show_Notification("Мод: " + self.GetName() + " был обновлён загрузка настроек.", "#00ff00") Else MessageBox("The mod: " + self.GetName() + " has been updated, loading settings, please wait.") ;Show_Notification("The mod: " + self.GetName() + " has been updated, loading settings, please wait.", "#00ff00") EndIf If(bGetCurrentLanguage() == true) Show_Notification("Мод: " + self.GetName() + " был обновлён загрузка настроек.", "#00ff00") Else Show_Notification("The mod: " + self.GetName() + " has been updated, loading settings, please wait.", "#00ff00") EndIf If(bGetCurrentLanguage() == true) Show_Notification("Версия " + self.GetName() + " " + ConfigMCM.Version, "#DAA520") DebugNotification("Старая версия " + self.GetName() + " " + ConfigMCM.OldVersion, true , "#00FF00") Else Show_Notification("Version of " + self.GetName() + " " + ConfigMCM.Version, "#DAA520") DebugNotification("Old version of " + self.GetName() + " " + ConfigMCM.OldVersion, true , "#00FF00") EndIf ;LoadOnlyLocNames() If(bLoadOnlyLocNames() == true) Wait(1) MarkAndRecallScript.Set1() MarkAndRecallScript.Set2() MarkAndRecallScript.Set3() MarkAndRecallScript.Set4() MarkAndRecallScript.Set5() MarkAndRecallScript.Set6() MarkAndRecallScript.Set7() MarkAndRecallScript.Set8() MarkAndRecallScript.Set9() MarkAndRecallScript.Set10() MarkAndRecallScript.Set11() MarkAndRecallScript.Set12() MarkAndRecallScript.Set13() MarkAndRecallScript.Set14() MarkAndRecallScript.Set15() MarkAndRecallScript.Set16() Wait(3) RecallsDisplayed() EndIf If(bGetCurrentLanguage() == true) Show_Notification("Все готово.", "#00ff00") Else Show_Notification("Everything is ready.", "#00ff00") EndIf ConfigMCM.OldVersion = ConfigMCM.Version Else EndIf UpdateSettings() EndFunction Function UpdateSettings() ;ConfigMCM.bEnabled = bEnabled If bEnabled MarkAndRecallScript.IsDebugMode = IsDebugMode MarkAndRecallScript.IsAllowed = IsAllowed MarkAndRecallScript.IsClassicMode = IsClassicMode MarkAndRecallScript.bCanCityPortal = bCanCityPortal MarkAndRecallScript.bCheckingNames = bCheckingNames ;ConfigMCM.bEnabled = bEnabled ConfigMCM.bIsAllowed = IsAllowed ConfigMCM.bIsClassicMode = IsClassicMode ConfigMCM.bIsDebugMode = IsDebugMode ConfigMCM.bCanCityPortal = bCanCityPortal ConfigMCM.bCheckingNames = bCheckingNames EndIf if (uninstall) Quest MarkAndRecallVersionCheck = ((GetFormFromFile(0x52FF0, "MarkAndRecall.esp")) as Quest) Quest MarkAndRecallObjectivesDisplayedQuest = ((GetFormFromFile(0x52FEF, "MarkAndRecall.esp")) as Quest) ;Quest MarkAndRecallConfigQuest = ((GetFormFromFile(0x23D97, "MarkAndRecall.esp")) as Quest) ;MarkAndRecallConfigQuest.stop() MarkAndRecallVersionCheck.stop() MarkAndRecallObjectivesDisplayedQuest.stop() Self.stop() If(bGetCurrentLanguage() == true) Show_Notification("Квест: " + self.GetName() + " Остановлен.", "#FF0000") Else Show_Notification("Quest: " + self.GetName() + " Stoped.", "#FF0000") EndIf if (GetPlayer().HasSpell((GetFormFromFile(0x5901, "MarkAndRecall.esp")) as Spell)) ; Forces this actor to unequip the specified spell. The casting source can be: ; 0 - Left hand ; 1 - Right hand ; UnequipSpell(Spell akSpell, int aiSource) Form leftHand = GetPlayer().GetEquippedObject(0) Form rightHand = GetPlayer().GetEquippedObject(1) if (leftHand as Spell != none) GetPlayer().UnequipSpell((leftHand as Spell), 0) endif if (rightHand as Spell != none) GetPlayer().UnequipSpell((rightHand as Spell), 1) endif wait(1) GetPlayer().RemoveSpell((GetFormFromFile(0x5901, "MarkAndRecall.esp")) as Spell) If(bGetCurrentLanguage() == true) Show_Notification("Заклинание: " + (GetFormFromFile(0x5901, "MarkAndRecall.esp")).GetName() + " Удалено.", "#FF0000") Else Show_Notification("Spell: " + (GetFormFromFile(0x5901, "MarkAndRecall.esp")).GetName() + " Removed.", "#FF0000") EndIf endif uninstallMessage.Show(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) Quest SKI_ConfigManagerInstance = ((GetFormFromFile(0x802, "SkyUI_SE.esp")) as Quest) SKI_ConfigManagerInstance.SetStage(1) wait(1) Else SaveSettings() endif EndFunction Event OnGameLoad() Show_Notification("OnGameLoad.", "#00ff00") EndEvent Event OnUpdate() DebugNotification("OnUpdate.", true , "#00FF00") if (IsDebugMode) MarkAndRecallScript.IsDebugMode = IsDebugMode ConfigMCM.bIsDebugMode = IsDebugMode endif if (IsAllowed) MarkAndRecallScript.IsAllowed = IsAllowed ConfigMCM.bIsAllowed = IsAllowed endif if (IsClassicMode) MarkAndRecallScript.IsClassicMode = IsClassicMode ConfigMCM.bIsClassicMode = IsClassicMode endif if (bCanCityPortal) MarkAndRecallScript.bCanCityPortal = bCanCityPortal ConfigMCM.bIsClassicMode = bCanCityPortal endif if (bCheckingNames) MarkAndRecallScript.bCheckingNames = bCheckingNames ConfigMCM.bIsClassicMode = bCheckingNames endif SaveSettings() EndEvent function Error(Int a_errId, String a_msg) MessageBox("Кодовая ошибка " + a_errId as String + "\n\n" + a_msg) ErrorDetected = true endFunction String Function DebugNotification(String S, bool c, String color = "") If(IsDebugMode == true) if (c) ((Self as Form) as UILIB_1).ShowNotification(S, color) Else Notification(S) endif EndIf EndFunction Function Show_Notification_Icon(String S1, String S2, int i, String S3) {String asMessage, String asIconPath, Int aiIconFrame = 0, String asColor = "#FFFFFF"} return ((Self as Form) as UILIB_1).ShowNotificationIcon(S1, S2, i, S3) EndFunction Function Show_Notification(String S1, String S2) {String asMessage, String asColor = "#FFFFFF"} return ((Self as Form) as UILIB_1).ShowNotification(S1, S2) EndFunction ;/ Int Function ShowList(String asTitle = "", String[] asOptions, Int aiStartIndex, Int aiDefaultIndex) If(bMenuOpen) Return -1 EndIf bMenuOpen = True iInput = -1 sTitle = asTitle sOptions = asOptions iStartIndex = aiStartIndex iDefaultIndex = aiDefaultIndex ListMenu_Open(Self) While(bMenuOpen) Utility.WaitMenuMode(0.1) EndWhile ListMenu_Release(Self) Return iInput EndFunction iIndex = 1 while iIndex <= 16;self.GetNumAliases() iIndex += 1 endWhile Function ShowMarkAndRecallMenu() String[] sOptions = new String[5] sOptions = new String[5] sOptions[0] = "First" sOptions[1] = "Second" sOptions[2] = "Third" sOptions[3] = "Fourth" sOptions[4] = "Fifth" UILIB_1.ListMenu_Open(Self) EndFunction Int Property iMenuItemIndex = 5 Auto /; Function ShowMarkAndRecallMenu() String Title String MenuItem1 String MenuItem2 String MenuItem3 String MenuItem4 String sCancel If(bGetCurrentLanguage() == true) Title = "Меню Пометки и Возврата" MenuItem1 = "Пометка" MenuItem2 = "Возврат" MenuItem3 = "Проверка имен" MenuItem4 = "Городской портал" sCancel = "Отмена" Else Title = "Mark & Recall Menu" MenuItem1 = "Mark" MenuItem2 = "Recall" MenuItem3 = "Name verification" MenuItem4 = "City Portal" sCancel = "Cancel" EndIf String[] sOptions = new String[5] sOptions[0] = MenuItem1 sOptions[1] = MenuItem2 sOptions[2] = MenuItem3 sOptions[3] = MenuItem4 sOptions[4] = sCancel Int iInput = ((Self as Form) as UILIB_1).ShowList(Title, sOptions, 4, 4) EndFunction Function ShowMarkMenu() String[] sOptions = new String[17] String Title String sCancel String RecallName String CellName int iIndex sNames = new String[16] aORef = new ReferenceAlias[16] sNames[1] = Recall1Name sNames[2] = Recall2Name sNames[3] = Recall3Name sNames[4] = Recall4Name sNames[5] = Recall5Name sNames[6] = Recall6Name sNames[7] = Recall7Name sNames[8] = Recall8Name sNames[9] = Recall9Name sNames[10] = Recall10Name sNames[11] = Recall11Name sNames[12] = Recall12Name sNames[13] = Recall13Name sNames[14] = Recall14Name sNames[15] = Recall15Name sNames[16] = Recall16Name aORef[1] = Recall1 aORef[2] = Recall2 aORef[3] = Recall3 aORef[4] = Recall4 aORef[5] = Recall5 aORef[6] = Recall6 aORef[7] = Recall7 aORef[8] = Recall8 aORef[9] = Recall9 aORef[10] = Recall10 aORef[11] = Recall11 aORef[12] = Recall12 aORef[13] = Recall13 aORef[14] = Recall14 aORef[15] = Recall15 aORef[16] = Recall16 If(bGetCurrentLanguage() == true) Title = "Меню Пометки" RecallName = "Пусто" sCancel = "Отмена" Else Title = "Mark Menu" RecallName = "Empty" sCancel = "Cancel" EndIf iIndex = 1 while iIndex <= 16;self.GetNumAliases() if (aORef[iIndex].GetRef().GetParentCell().IsInterior() == 0) sCN[iIndex] = aORef[iIndex].GetRef().GetCurrentLocation().GetName() ;DebugNotification("GetCurrentLocation: " + " " + iIndex + " " + aORef[iIndex].GetRef().GetCurrentLocation().GetName()) ElseIf (aORef[iIndex].GetRef().GetParentCell().IsInterior() == 1) sCN[iIndex] = aORef[iIndex].GetRef().GetParentCell().GetName() ;DebugNotification("GetParentCell: " + " " + iIndex + " " + aORef[iIndex].GetRef().GetParentCell().GetName()) EndIf If (GetCellNameIdentical(aORef[iIndex].GetRef(), sCN[iIndex], sNames[iIndex]) == false) sNames[iIndex] = GetCellName(aORef[iIndex].GetRef(), sCN[iIndex], sNames[iIndex]) if sNames[iIndex] == "Mark And Recall Markers Cell" sNames[iIndex] = RecallName sOptions[0] = sCancel sOptions[1] = "Mark " + iIndex + " - " + sNames[1] sOptions[2] = ("Mark " + iIndex + " - " + sNames[2]) sOptions[3] = ("Mark " + iIndex + " - " + sNames[3]) sOptions[4] = ("Mark " + iIndex + " - " + sNames[4]) sOptions[5] = ("Mark " + iIndex + " - " + sNames[5]) sOptions[6] = ("Mark " + iIndex + " - " + sNames[6]) sOptions[7] = ("Mark " + iIndex + " - " + sNames[7]) sOptions[8] = ("Mark " + iIndex + " - " + sNames[8]) sOptions[9] = ("Mark " + iIndex + " - " + sNames[9]) sOptions[10] = ("Mark " + iIndex + " - " + sNames[10]) sOptions[11] = ("Mark " + iIndex + " - " + sNames[11]) sOptions[12] = ("Mark " + iIndex + " - " + sNames[12]) sOptions[13] = ("Mark " + iIndex + " - " + sNames[13]) sOptions[14] = ("Mark " + iIndex + " - " + sNames[14]) sOptions[15] = ("Mark " + iIndex + " - " + sNames[15]) sOptions[16] = ("Mark " + iIndex + " - " + sNames[16]) DebugNotification("sNames: " + " " + iIndex + " " + sNames[iIndex], false) endif endif iIndex += 1 endWhile Int iInput = ((Self as Form) as UILIB_1).ShowList(Title, sOptions, 0, 0) EndFunction Function ShowRecallMenu() String[] sOptions = new String[16] String Title String RecallName String CellName int iIndex sNames = new String[16] aORef = new ReferenceAlias[16] sNames[1] = Recall1Name sNames[2] = Recall2Name sNames[3] = Recall3Name sNames[4] = Recall4Name sNames[5] = Recall5Name sNames[6] = Recall6Name sNames[7] = Recall7Name sNames[8] = Recall8Name sNames[9] = Recall9Name sNames[10] = Recall10Name sNames[11] = Recall11Name sNames[12] = Recall12Name sNames[13] = Recall13Name sNames[14] = Recall14Name sNames[15] = Recall15Name sNames[16] = Recall16Name aORef[1] = Recall1 aORef[2] = Recall2 aORef[3] = Recall3 aORef[4] = Recall4 aORef[5] = Recall5 aORef[6] = Recall6 aORef[7] = Recall7 aORef[8] = Recall8 aORef[9] = Recall9 aORef[10] = Recall10 aORef[11] = Recall11 aORef[12] = Recall12 aORef[13] = Recall13 aORef[14] = Recall14 aORef[15] = Recall15 aORef[16] = Recall16 iIndex = 1 while iIndex <= 16;self.GetNumAliases() If(bGetCurrentLanguage() == true) RecallName = "Пусто" Else RecallName = "Empty" EndIf if (aORef[iIndex].GetRef().GetParentCell().IsInterior() == 0) sCN[iIndex] = aORef[iIndex].GetRef().GetCurrentLocation().GetName() ;DebugNotification("GetCurrentLocation: " + " " + iIndex + " " + aORef[iIndex].GetRef().GetCurrentLocation().GetName()) ElseIf (aORef[iIndex].GetRef().GetParentCell().IsInterior() == 1) sCN[iIndex] = aORef[iIndex].GetRef().GetParentCell().GetName() ;DebugNotification("GetParentCell: " + " " + iIndex + " " + aORef[iIndex].GetRef().GetParentCell().GetName()) EndIf If (GetCellNameIdentical(aORef[iIndex].GetRef(), sCN[iIndex], sNames[iIndex]) == false) sNames[iIndex] = GetCellName(aORef[iIndex].GetRef(), sCN[iIndex], sNames[iIndex]) if sNames[iIndex] == "Mark And Recall Markers Cell" sNames[iIndex] = RecallName DebugNotification("sNames: " + " " + iIndex + " " + sNames[iIndex], false) endif endif DebugNotification("sNames: " + " " + iIndex + " " + sNames[iIndex], false) sOptions[0] = sNames[1] sOptions[1] = sNames[2] sOptions[2] = sNames[3] sOptions[3] = sNames[4] sOptions[4] = sNames[5] sOptions[5] = sNames[6] sOptions[6] = sNames[7] sOptions[7] = sNames[8] sOptions[8] = sNames[9] sOptions[9] = sNames[10] sOptions[10] = sNames[11] sOptions[11] = sNames[12] sOptions[12] = sNames[13] sOptions[13] = sNames[14] sOptions[14] = sNames[15] sOptions[15] = sNames[16] iIndex += 1 endWhile If(bGetCurrentLanguage() == true) Title = "Меню Возврата" Else Title = "Recall Menu" EndIf Int iInput = ((Self as Form) as UILIB_1).ShowList(Title, sOptions, 0, 0) EndFunction bool function bGetCurrentLanguage() If(GetINIString("sLanguage:General") == "") Show_Notification("Your language is not recognized, notifications will be disabled.", "#FF0000") ElseIf(GetINIString("sLanguage:General") == "ENGLISH") return false ElseIf(GetINIString("sLanguage:General") == "RUSSIAN") return true EndIf endFunction String function GetCurrentLanguage() If(GetINIString("sLanguage:General") == "") Notification("Your language is not recognized, notifications will be disabled.") Else return GetINIString("sLanguage:General") EndIf endFunction string function FormatBoolean(bool b, String S1, String S2) if (b) return S1 endIf return S2 endFunction string function FormatBooleanColor(bool b, String S1, String S2, bool c) if (b) if (c) ((Self as Form) as UILIB_1).ShowNotification(S1, "#00FF00") Else return S1 endif Else if (c) ((Self as Form) as UILIB_1).ShowNotification(S2, "#FF0000") Else return S2 endif endif endFunction function ToggleMapMarker(objectreference objMarked) Trace("ToggleMapMarker, objMarked.GetDisplayName():" + objMarked.GetDisplayName(), 0) if objMarked ReferenceAlias refAlias Int iIndex = 1 while iIndex < 16;self.GetNumAliases() If ((refAlias.GetRef().GetParentCell() != MarkAndRecallScript.IgnoreCell) && (refAlias.GetRef() != GetPlayer())) refAlias = self.GetNthAlias(iIndex) as ReferenceAlias if refAlias.GetRef() == objMarked refAlias.Clear() self.SetObjectiveDisplayed(iIndex, false, true) If(bGetCurrentLanguage() == true) Show_Notification("Маркер на карте удален.", "#FF0000") Else Show_Notification("The marker on the map has been removed.", "#FF0000") EndIf return endIf endIf iIndex += 1 endWhile iIndex = 1 while iIndex < 16;self.GetNumAliases() If ((refAlias.GetRef().GetParentCell() != MarkAndRecallScript.IgnoreCell) && (refAlias.GetRef() != GetPlayer())) refAlias = self.GetNthAlias(iIndex) as ReferenceAlias if refAlias.GetRef() == none refAlias.ForceRefTo(objMarked) If (refAlias.GetRef().GetParentCell() != MarkAndRecallScript.IgnoreCell) self.SetObjectiveDisplayed(iIndex, true, true) EndIf If(bGetCurrentLanguage() == true) Show_Notification("Маркер добавлен на карту.", "#00FF00") Else Show_Notification("Marker added to the map.", "#00FF00") EndIf return endIf endIf iIndex += 1 endWhile If(bGetCurrentLanguage() == true) Show_Notification("Достигнуто максимальное количество маркеров. Удалите маркеры.", "#FF0000") Else Show_Notification("The maximum number of markers has been reached. Remove the markers.", "#FF0000") EndIf endIf endFunction bool Function IsMarkerNearPlayer(ObjectReference O) Actor player = GetPlayer() Cell targetCell = O.GetParentCell() Cell playerCell = player.GetParentCell() if (targetCell != playerCell) return false else if (player.GetDistance(O) >= Distance) ; pretty darned far away -- safe return false else ; too close for comfort return true endif endif endFunction Function IsIdentical(String S1, String S2) String Identical = "Совпадает " String NotIdentical = "Не Совпадает " String Empty = " is Empty " If(S1 == S2) If(S1 == "") notification(Identical + " " + Empty) else notification(Identical) Endif else notification(NotIdentical) EndIf EndFunction bool Function bIsIdentical(String S1, String S2) If(S1 == S2) If(S1 == "") return false else return true Endif else return false EndIf EndFunction Bool Function GetCellNameIdenticalInvert(ObjectReference O, String S1, String S2) String CellName String WorldSpaceName If ((S1 == S2) && (S2 != "")) DebugNotification("True", false) return true ElseIf (S1 != S2) If ((S2 == "") && (S1 != "")) DebugNotification("True (S2 == Empty) && (S1 != Empty)", false) return true ElseIf ((S2 != "") && (S1 == "")) If ((O.GetCurrentLocation().GetName() == "") && (O.GetParentCell().GetName() == "")) Int xcell = math.floor(O.getpositionX() / 4096 as Float) Int ycell = math.floor(O.getpositionY() / 4096 as Float) Int zcell = math.floor(O.getpositionZ()) If(bGetCurrentLanguage() == true) WorldSpaceName = "Тамриэль" Else WorldSpaceName = "Tamriel" EndIf If (S2 == (WorldSpaceName + " " + xcell as String + " , " + ycell as String)); Скайрим DebugNotification("True Tamriel", false) return true Else DebugNotification("False Tamriel", false) return false EndIf EndIf If(bGetCurrentLanguage() == true) CellName = "Пусто" Else CellName = "Empty" EndIf ElseIf ((S1 == "Mark And Recall Markers Cell") && (S2 == CellName)) DebugNotification("True - Ignore Cell", false) return true Endif DebugNotification("False - (S1 != S2)", false) ; Notification("GetWorldSpaceName: " + O.GetWorldSpace().GetName()) return false ElseIf (S2 == "") DebugNotification("True (S2 == Empty)", false) return true EndIf EndFunction Bool Function GetCellNameIdentical(ObjectReference O, String S1, String S2) String CellName String LocationName String WorldSpaceName If ((S1 == S2) && (S2 != "")) return true ElseIf (S1 != S2) If(bGetCurrentLanguage() == true) LocationName = "(Снаружи)" Else LocationName = "(Outside)" EndIf If ((S2 == (S1 + " " + LocationName)) && (S1 != "")) DebugNotification("True - (S2 == (S1 + ( Outside)))", false) return true ElseIf ((S2 == "") && (S1 != "")) DebugNotification("False - (S2 == Empty) && (S1 != Empty)", false) return false ElseIf ((S2 != "") && (S1 == "")) If ((O.GetCurrentLocation().GetName() == "") && (O.GetParentCell().GetName() == "")) ; Notification("GetWorldSpaceName: " + O.GetWorldSpace().GetName()) Int xcell = math.floor(O.getpositionX() / 4096 as Float) Int ycell = math.floor(O.getpositionY() / 4096 as Float) Int zcell = math.floor(O.getpositionZ()) If(bGetCurrentLanguage() == true) WorldSpaceName = "Тамриэль" Else WorldSpaceName = "Tamriel" EndIf If (S2 == (WorldSpaceName + " " + xcell as String + " , " + ycell as String)); Скайрим DebugNotification("True Tamriel", false) return true Else DebugNotification("False Tamriel", false) return false EndIf EndIf If(bGetCurrentLanguage() == true) CellName = "Пусто" Else CellName = "Empty" EndIf ElseIf ((S1 == "Mark And Recall Markers Cell") && (S2 == CellName)) DebugNotification("True - Ignore Cell", false) return true Endif DebugNotification("False - (S1 != S2)", false) return false ElseIf (S2 == "") DebugNotification("False - (S2 == Empty)", false) return false ElseIf ((S1 == "") && (S2 == "")) DebugNotification("False - Strings == Empty", false) return false EndIf EndFunction String Function GetCellName(ObjectReference O, String S1, String S2) String CellName String LocationName String WorldSpaceName if (O.GetParentCell().IsInterior() == 0) If (O.GetCurrentLocation().GetName() != "") ;DebugNotification("True") If(bGetCurrentLanguage() == true) LocationName = "(Снаружи)" Else LocationName = "(Outside)" EndIf ;DebugNotification(LocationName) return (O.GetCurrentLocation().GetName() + " " + LocationName) ElseIf ((O.GetCurrentLocation().GetName() == "") && (O.GetParentCell().GetName() == "")) Int xcell = math.floor(O.getpositionX() / 4096 as Float) Int ycell = math.floor(O.getpositionY() / 4096 as Float) Int zcell = math.floor(O.getpositionZ()) If(bGetCurrentLanguage() == true) WorldSpaceName = "Тамриэль" Else WorldSpaceName = "Tamriel" EndIf ;DebugNotification(WorldSpaceName) return (WorldSpaceName + " " + xcell as String + " , " + ycell as String); Скайрим Endif ElseIf (O.GetParentCell().IsInterior() == 1) If (O.GetParentCell().GetName() != "") If(bGetCurrentLanguage() == true) CellName = "Пусто" Else CellName = "Empty" EndIf If ((S1 == "Mark And Recall Markers Cell") && (S2 == CellName)) Else ;DebugNotification("Interior") return (O.GetParentCell().GetName()) Endif EndIf EndIf EndFunction String Function GetCellName1(ObjectReference O, String S1, String S2) If ((S1 == S2) && (S2 != "")) ElseIf ((S1 == "") && (O.GetCurrentLocation().GetName() != "")) if ((O.GetParentCell().IsInterior() == 0) && (S1 == S2)) return (O.GetCurrentLocation().GetName() + " (Снаружи)") Endif ElseIf ((S1 == "") && (O.GetCurrentLocation().GetName() == "") && (O.GetParentCell().GetName() == "")) Int xcell = math.floor(O.getpositionX() / 4096 as Float) Int ycell = math.floor(O.getpositionY() / 4096 as Float) Int zcell = math.floor(O.getpositionZ()) ; Notification("Check 4: " + O.GetWorldSpace().GetName() + " " + xcell as String + " , " + ycell as String) return ("Тамриэль " + xcell as String + " , " + ycell as String); Скайрим ElseIf (S1 != S2) ; Notification("Check: Else") If ((S2 == "") && (S1 != "")) if (O.GetParentCell().IsInterior() == 0) If (O.GetCurrentLocation().GetName() != "") ; Notification("Check 2: " + O.GetCurrentLocation().GetName() + " (Outside)") return (O.GetCurrentLocation().GetName() + " (Снаружи)") Endif ElseIf (O.GetParentCell().IsInterior() == 1) If (O.GetParentCell().GetName() != "") ; Notification("Check: " + O.GetParentCell().GetName()) return (O.GetParentCell().GetName()) Endif Endif ElseIf ((S1 != "Mark And Recall Markers Cell") && (S2 != "Пусто")) If (O.GetParentCell().GetName() != "") ; Notification("Check 3: " + O.GetParentCell().GetName()) return (O.GetParentCell().GetName()) Endif ElseIf ((S1 == "Mark And Recall Markers Cell") && (S2 != "Пусто")) If (O.GetParentCell().GetName() != "") return (O.GetParentCell().GetName()) Endif ElseIf ((S1 == "Mark And Recall Markers Cell") && (S2 == "Пусто")) Endif EndIf EndFunction ; messagebox("Player is in cell " + xcell as String + "," + ycell as String + " at elevation " + zcell as String) function LoadSettingsAtStart() Bool ValidatePapyrusUtil = papyrusutil.GetVersion() > 31 if ValidatePapyrusUtil if jsonutil.JsonExists(settings_path) ;self.LoadUserSettingsPapyrus() If(self.LoadUserSettingsPapyrus() == true) If(bGetCurrentLanguage() == true) Show_Notification("Загрузка настроек завершена.", "#00FF00") Else Show_Notification("The settings loading is complete.", "#00FF00") EndIf EndIf return endIf endIf endFunction function SaveSettings() Bool ValidatePapyrusUtil = papyrusutil.GetVersion() > 31 if ValidatePapyrusUtil if jsonutil.JsonExists(settings_path) self.SaveUserSettingsPapyrus() If(bGetCurrentLanguage() == true) if(self.SaveUserSettingsPapyrus() == true) Show_Notification("Сохранение настроек завершено.", "#00FF00") EndIf Else if(self.SaveUserSettingsPapyrus() == true) Show_Notification("Saving the settings is complete.", "#00FF00") EndIf ;Show_Notification(FormatBoolean(SaveUserSettingsPapyrus(), "Сохранение завершено.", "Сохранение: Что-то пошло не так..."), "#00FF00") ;FormatBooleanColor(SaveUserSettingsPapyrus(), "Saving is completed.", "Saving: Something went wrong...", true) ;Show_Notification(FormatBoolean(SaveUserSettingsPapyrus(), "Saving is completed.", "Saving: Something went wrong..."), "#00FF00") EndIf return endIf endIf endFunction bool function bLoadOnlyLocNames() Bool ValidatePapyrusUtil = papyrusutil.GetVersion() > 31 if ValidatePapyrusUtil if jsonutil.JsonExists(settings_path) If(self.LoadOnlyLocNamesPapyrus() == true) return true Else return false EndIf endIf endIf endFunction function LoadOnlyLocNames() Bool ValidatePapyrusUtil = papyrusutil.GetVersion() > 31 if ValidatePapyrusUtil if jsonutil.JsonExists(settings_path) self.LoadOnlyLocNamesPapyrus() return endIf endIf endFunction function LoadOnlyBoolean() Bool ValidatePapyrusUtil = papyrusutil.GetVersion() > 31 if ValidatePapyrusUtil if jsonutil.JsonExists(settings_path) self.LoadOnlyBooleanPapyrus() return endIf endIf endFunction function LoadOnlyAxisAndCellName() Bool ValidatePapyrusUtil = papyrusutil.GetVersion() > 31 if ValidatePapyrusUtil if jsonutil.JsonExists(settings_path) self.LoadOnlyAxisAndCellNamePapyrus() return endIf endIf endFunction function LoadOnlySettings() Bool ValidatePapyrusUtil = papyrusutil.GetVersion() > 31 if ValidatePapyrusUtil if jsonutil.JsonExists(settings_path) self.LoadOnlySettingsPapyrus() return endIf endIf endFunction Bool function LoadOnlySettingsPapyrus() if !jsonutil.IsGood(settings_path) return false endIf ;==================================== if (jsonutil.GetPathStringValue(settings_path, "OldVersion", ConfigMCM.OldVersion) != "") ConfigMCM.OldVersion = jsonutil.GetPathStringValue(settings_path, "OldVersion", ConfigMCM.OldVersion) endif ;==================================== bEnabled = jsonutil.GetPathIntValue(settings_path, "bEnabled", bEnabled as int) IsDebugMode = jsonutil.GetPathIntValue(settings_path, "IsDebugMode", IsDebugMode as int) IsAllowed = jsonutil.GetPathIntValue(settings_path, "IsAllowed", IsAllowed as int) IsClassicMode = jsonutil.GetPathIntValue(settings_path, "IsClassicMode", IsClassicMode as int) bCanCityPortal = jsonutil.GetPathIntValue(settings_path, "CanCityPortal", bCanCityPortal as int) bCheckingNames = jsonutil.GetPathIntValue(settings_path, "CheckingNames", bCheckingNames as int) return true endFunction Bool function LoadOnlyAxisAndCellNamePapyrus() if !jsonutil.IsGood(settings_path) return false endIf ;==================================== If(IsAllowed == true) if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_1", _Cell_Name_1) != "") _Cell_Name_1 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_1", _Cell_Name_1) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_2", _Cell_Name_2) != "") _Cell_Name_2 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_2", _Cell_Name_2) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_3", _Cell_Name_3) != "") _Cell_Name_3 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_3", _Cell_Name_3) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_4", _Cell_Name_4) != "") _Cell_Name_4 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_4", _Cell_Name_4) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_5", _Cell_Name_5) != "") _Cell_Name_5 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_5", _Cell_Name_5) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_6", _Cell_Name_6) != "") _Cell_Name_6 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_6", _Cell_Name_6) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_7", _Cell_Name_7) != "") _Cell_Name_7 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_7", _Cell_Name_7) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_8", _Cell_Name_8) != "") _Cell_Name_8 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_8", _Cell_Name_8) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_9", _Cell_Name_9) != "") _Cell_Name_9 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_9", _Cell_Name_9) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_10", _Cell_Name_10) != "") _Cell_Name_10 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_10", _Cell_Name_10) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_11", _Cell_Name_11) != "") _Cell_Name_11 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_11", _Cell_Name_11) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_12", _Cell_Name_12) != "") _Cell_Name_12 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_12", _Cell_Name_12) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_13", _Cell_Name_13) != "") _Cell_Name_13 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_13", _Cell_Name_13) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_14", _Cell_Name_14) != "") _Cell_Name_14 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_14", _Cell_Name_14) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_15", _Cell_Name_15) != "") _Cell_Name_15 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_15", _Cell_Name_15) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_16", _Cell_Name_16) != "") _Cell_Name_16 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_16", _Cell_Name_16) endif ;==================================== _fX_1 = jsonutil.GetPathFloatValue(settings_path, "_fX_1", _fX_1) _fY_1 = jsonutil.GetPathFloatValue(settings_path, "_fY_1", _fY_1) _fZ_1 = jsonutil.GetPathFloatValue(settings_path, "_fZ_1", _fZ_1) _fX_2 = jsonutil.GetPathFloatValue(settings_path, "_fX_2", _fX_2) _fY_2 = jsonutil.GetPathFloatValue(settings_path, "_fY_2", _fY_2) _fZ_2 = jsonutil.GetPathFloatValue(settings_path, "_fZ_2", _fZ_2) _fX_3 = jsonutil.GetPathFloatValue(settings_path, "_fX_3", _fX_3) _fY_3 = jsonutil.GetPathFloatValue(settings_path, "_fY_3", _fY_3) _fZ_3 = jsonutil.GetPathFloatValue(settings_path, "_fZ_3", _fZ_3) _fX_4 = jsonutil.GetPathFloatValue(settings_path, "_fX_4", _fX_4) _fY_4 = jsonutil.GetPathFloatValue(settings_path, "_fY_4", _fY_4) _fZ_4 = jsonutil.GetPathFloatValue(settings_path, "_fZ_4", _fZ_4) _fX_5 = jsonutil.GetPathFloatValue(settings_path, "_fX_5", _fX_5) _fY_5 = jsonutil.GetPathFloatValue(settings_path, "_fY_5", _fY_5) _fZ_5 = jsonutil.GetPathFloatValue(settings_path, "_fZ_5", _fZ_5) _fX_6 = jsonutil.GetPathFloatValue(settings_path, "_fX_6", _fX_6) _fY_6 = jsonutil.GetPathFloatValue(settings_path, "_fY_6", _fY_6) _fZ_6 = jsonutil.GetPathFloatValue(settings_path, "_fZ_6", _fZ_6) _fX_7 = jsonutil.GetPathFloatValue(settings_path, "_fX_7", _fX_7) _fY_7 = jsonutil.GetPathFloatValue(settings_path, "_fY_7", _fY_7) _fZ_7 = jsonutil.GetPathFloatValue(settings_path, "_fZ_7", _fZ_7) _fX_8 = jsonutil.GetPathFloatValue(settings_path, "_fX_8", _fX_8) _fY_8 = jsonutil.GetPathFloatValue(settings_path, "_fY_8", _fY_8) _fZ_8 = jsonutil.GetPathFloatValue(settings_path, "_fZ_8", _fZ_8) _fX_9 = jsonutil.GetPathFloatValue(settings_path, "_fX_9", _fX_9) _fY_9 = jsonutil.GetPathFloatValue(settings_path, "_fY_9", _fY_9) _fZ_9 = jsonutil.GetPathFloatValue(settings_path, "_fZ_9", _fZ_9) _fX_10 = jsonutil.GetPathFloatValue(settings_path, "_fX_10", _fX_10) _fY_10 = jsonutil.GetPathFloatValue(settings_path, "_fY_10", _fY_10) _fZ_10 = jsonutil.GetPathFloatValue(settings_path, "_fZ_10", _fZ_10) _fX_11 = jsonutil.GetPathFloatValue(settings_path, "_fX_11", _fX_11) _fY_11 = jsonutil.GetPathFloatValue(settings_path, "_fY_11", _fY_11) _fZ_11 = jsonutil.GetPathFloatValue(settings_path, "_fZ_11", _fZ_11) _fX_12 = jsonutil.GetPathFloatValue(settings_path, "_fX_12", _fX_12) _fY_12 = jsonutil.GetPathFloatValue(settings_path, "_fY_12", _fY_12) _fZ_12 = jsonutil.GetPathFloatValue(settings_path, "_fZ_12", _fZ_12) _fX_13 = jsonutil.GetPathFloatValue(settings_path, "_fX_13", _fX_13) _fY_13 = jsonutil.GetPathFloatValue(settings_path, "_fY_13", _fY_13) _fZ_13 = jsonutil.GetPathFloatValue(settings_path, "_fZ_13", _fZ_13) _fX_14 = jsonutil.GetPathFloatValue(settings_path, "_fX_14", _fX_14) _fY_14 = jsonutil.GetPathFloatValue(settings_path, "_fY_14", _fY_14) _fZ_14 = jsonutil.GetPathFloatValue(settings_path, "_fZ_14", _fZ_14) _fX_15 = jsonutil.GetPathFloatValue(settings_path, "_fX_15", _fX_15) _fY_15 = jsonutil.GetPathFloatValue(settings_path, "_fY_15", _fY_15) _fZ_15 = jsonutil.GetPathFloatValue(settings_path, "_fZ_15", _fZ_15) _fX_16 = jsonutil.GetPathFloatValue(settings_path, "_fX_16", _fX_16) _fY_16 = jsonutil.GetPathFloatValue(settings_path, "_fY_16", _fY_16) _fZ_16 = jsonutil.GetPathFloatValue(settings_path, "_fZ_16", _fZ_16) ;==================================== if _Cell_Name_1 != "" (GetFormFromFile(0x1B118, "MarkAndRecall.esp")).SetName(_Cell_Name_1) endif if _Cell_Name_2 != "" (GetFormFromFile(0x1B12E, "MarkAndRecall.esp")).SetName(_Cell_Name_2) endif if _Cell_Name_3 != "" (GetFormFromFile(0x1B12F, "MarkAndRecall.esp")).SetName(_Cell_Name_3) endif if _Cell_Name_4 != "" (GetFormFromFile(0x1B130, "MarkAndRecall.esp")).SetName(_Cell_Name_4) endif if _Cell_Name_5 != "" (GetFormFromFile(0x1B131, "MarkAndRecall.esp")).SetName(_Cell_Name_5) endif if _Cell_Name_6 != "" (GetFormFromFile(0x1B132, "MarkAndRecall.esp")).SetName(_Cell_Name_6) endif if _Cell_Name_7 != "" (GetFormFromFile(0x1B133, "MarkAndRecall.esp")).SetName(_Cell_Name_7) endif if _Cell_Name_8 != "" (GetFormFromFile(0x1B134, "MarkAndRecall.esp")).SetName(_Cell_Name_8) endif if _Cell_Name_9 != "" (GetFormFromFile(0x1B135, "MarkAndRecall.esp")).SetName(_Cell_Name_9) endif if _Cell_Name_10 != "" (GetFormFromFile(0x1B136, "MarkAndRecall.esp")).SetName(_Cell_Name_10) endif if _Cell_Name_11 != "" (GetFormFromFile(0x1B137, "MarkAndRecall.esp")).SetName(_Cell_Name_11) endif if _Cell_Name_12 != "" (GetFormFromFile(0x1B138, "MarkAndRecall.esp")).SetName(_Cell_Name_12) endif if _Cell_Name_13 != "" (GetFormFromFile(0x1B139, "MarkAndRecall.esp")).SetName(_Cell_Name_13) endif if _Cell_Name_14 != "" (GetFormFromFile(0x1B13A, "MarkAndRecall.esp")).SetName(_Cell_Name_14) endif if _Cell_Name_15 != "" (GetFormFromFile(0x1B13B, "MarkAndRecall.esp")).SetName(_Cell_Name_15) endif if _Cell_Name_16 != "" (GetFormFromFile(0x1B13C, "MarkAndRecall.esp")).SetName(_Cell_Name_16) endif ;==================================== if (_fX_1) != "" (GetFormFromFile(0x1B0FD, "MarkAndRecall.esp")).SetName(_fX_1 as float) endif if (_fY_1) != "" (GetFormFromFile(0x1B0FE, "MarkAndRecall.esp")).SetName(_fY_1 as float) endif if (_fZ_1) != "" (GetFormFromFile(0x1B0FF, "MarkAndRecall.esp")).SetName(_fZ_1 as float) endif if (_fX_2) != "" (GetFormFromFile(0x1B100, "MarkAndRecall.esp")).SetName(_fX_2 as float) endif if (_fY_2) != "" (GetFormFromFile(0x1B101, "MarkAndRecall.esp")).SetName(_fY_2 as float) endif if (_fZ_2) != "" (GetFormFromFile(0x1B102, "MarkAndRecall.esp")).SetName(_fZ_2 as float) endif if (_fX_3) != "" (GetFormFromFile(0x1B103, "MarkAndRecall.esp")).SetName(_fX_3 as float) endif if (_fY_3) != "" (GetFormFromFile(0x1B104, "MarkAndRecall.esp")).SetName(_fY_3 as float) endif if (_fZ_3) != "" (GetFormFromFile(0x1B105, "MarkAndRecall.esp")).SetName(_fZ_3 as float) endif if (_fX_4) != "" (GetFormFromFile(0x1B106, "MarkAndRecall.esp")).SetName(_fX_4 as float) endif if (_fY_4) != "" (GetFormFromFile(0x1B107, "MarkAndRecall.esp")).SetName(_fY_4 as float) endif if (_fZ_4) != "" (GetFormFromFile(0x1B108, "MarkAndRecall.esp")).SetName(_fZ_4 as float) endif if (_fX_5) != "" (GetFormFromFile(0x1B109, "MarkAndRecall.esp")).SetName(_fX_5 as float) endif if (_fY_5) != "" (GetFormFromFile(0x1B10A, "MarkAndRecall.esp")).SetName(_fY_5 as float) endif if (_fZ_5) != "" (GetFormFromFile(0x1B10B, "MarkAndRecall.esp")).SetName(_fZ_5 as float) endif if (_fX_6) != "" (GetFormFromFile(0x1B10C, "MarkAndRecall.esp")).SetName(_fX_6 as float) endif if (_fY_6) != "" (GetFormFromFile(0x1B10D, "MarkAndRecall.esp")).SetName(_fY_6 as float) endif if (_fZ_6) != "" (GetFormFromFile(0x1B10E, "MarkAndRecall.esp")).SetName(_fZ_6 as float) endif if (_fX_7) != "" (GetFormFromFile(0x1B10F, "MarkAndRecall.esp")).SetName(_fX_7 as float) endif if (_fY_7) != "" (GetFormFromFile(0x1B110, "MarkAndRecall.esp")).SetName(_fY_7 as float) endif if (_fZ_7) != "" (GetFormFromFile(0x1B111, "MarkAndRecall.esp")).SetName(_fZ_7 as float) endif if (_fX_8) != "" (GetFormFromFile(0x1B112, "MarkAndRecall.esp")).SetName(_fX_8 as float) endif if (_fY_8) != "" (GetFormFromFile(0x1B113, "MarkAndRecall.esp")).SetName(_fY_8 as float) endif if (_fZ_8) != "" (GetFormFromFile(0x1B114, "MarkAndRecall.esp")).SetName(_fZ_8 as float) endif if (_fX_9) != "" (GetFormFromFile(0x1B115, "MarkAndRecall.esp")).SetName(_fX_9 as float) endif if (_fY_9) != "" (GetFormFromFile(0x1B116, "MarkAndRecall.esp")).SetName(_fY_9 as float) endif if (_fZ_9) != "" (GetFormFromFile(0x1B117, "MarkAndRecall.esp")).SetName(_fZ_9 as float) endif if (_fX_10) != "" (GetFormFromFile(0x1B119, "MarkAndRecall.esp")).SetName(_fX_10 as float) endif if (_fY_10) != "" (GetFormFromFile(0x1B120, "MarkAndRecall.esp")).SetName(_fY_10 as float) endif if (_fZ_10) != "" (GetFormFromFile(0x1B127, "MarkAndRecall.esp")).SetName(_fZ_10 as float) endif if (_fX_11) != "" (GetFormFromFile(0x1B11A, "MarkAndRecall.esp")).SetName(_fX_11 as float) endif if (_fY_11) != "" (GetFormFromFile(0x1B121, "MarkAndRecall.esp")).SetName(_fY_11 as float) endif if (_fZ_11) != "" (GetFormFromFile(0x1B128, "MarkAndRecall.esp")).SetName(_fZ_11 as float) endif if (_fX_12) != "" (GetFormFromFile(0x1B11B, "MarkAndRecall.esp")).SetName(_fX_12 as float) endif if (_fY_12) != "" (GetFormFromFile(0x1B122, "MarkAndRecall.esp")).SetName(_fY_12 as float) endif if (_fZ_12) != "" (GetFormFromFile(0x1B129, "MarkAndRecall.esp")).SetName(_fZ_12 as float) endif if (_fX_13) != "" (GetFormFromFile(0x1B11C, "MarkAndRecall.esp")).SetName(_fX_13 as float) endif if (_fY_13) != "" (GetFormFromFile(0x1B123, "MarkAndRecall.esp")).SetName(_fY_13 as float) endif if (_fZ_13) != "" (GetFormFromFile(0x1B12A, "MarkAndRecall.esp")).SetName(_fZ_13 as float) endif if (_fX_14) != "" (GetFormFromFile(0x1B11D, "MarkAndRecall.esp")).SetName(_fX_14 as float) endif if (_fY_14) != "" (GetFormFromFile(0x1B124, "MarkAndRecall.esp")).SetName(_fY_14 as float) endif if (_fZ_14) != "" (GetFormFromFile(0x1B12B, "MarkAndRecall.esp")).SetName(_fZ_14 as float) endif if (_fX_15) != "" (GetFormFromFile(0x1B11E, "MarkAndRecall.esp")).SetName(_fX_15 as float) endif if (_fY_15) != "" (GetFormFromFile(0x1B125, "MarkAndRecall.esp")).SetName(_fY_15 as float) endif if (_fZ_15) != "" (GetFormFromFile(0x1B12C, "MarkAndRecall.esp")).SetName(_fZ_15 as float) endif if (_fX_16) != "" (GetFormFromFile(0x1B11F, "MarkAndRecall.esp")).SetName(_fX_16 as float) endif if (_fY_16) != "" (GetFormFromFile(0x1B126, "MarkAndRecall.esp")).SetName(_fY_16 as float) endif if (_fZ_16) != "" (GetFormFromFile(0x1B12D, "MarkAndRecall.esp")).SetName(_fZ_16 as float) endif EndIf return true endFunction Bool function LoadOnlyBooleanPapyrus() if !jsonutil.IsGood(settings_path) return false endIf ;==================================== _IsNameSet1 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_1", _IsNameSet1) _IsNameSet2 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_2", _IsNameSet2) _IsNameSet3 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_3", _IsNameSet3) _IsNameSet4 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_4", _IsNameSet4) _IsNameSet5 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_5", _IsNameSet5) _IsNameSet6 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_6", _IsNameSet6) _IsNameSet7 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_7", _IsNameSet7) _IsNameSet8 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_8", _IsNameSet8) _IsNameSet9 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_9", _IsNameSet9) _IsNameSet10 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_10", _IsNameSet10) _IsNameSet11 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_11", _IsNameSet11) _IsNameSet12 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_12", _IsNameSet12) _IsNameSet13 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_13", _IsNameSet13) _IsNameSet14 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_14", _IsNameSet14) _IsNameSet15 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_15", _IsNameSet15) _IsNameSet16 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_16", _IsNameSet16) ;==================================== if (_IsNameSet1) != "" (GetFormFromFile(0x1B0ED, "MarkAndRecall.esp")).SetName(_IsNameSet1 as int) endif if (_IsNameSet2) != "" (GetFormFromFile(0x1B0EE, "MarkAndRecall.esp")).SetName(_IsNameSet2 as int) endif if (_IsNameSet3) != "" (GetFormFromFile(0x1B0EF, "MarkAndRecall.esp")).SetName(_IsNameSet3 as int) endif if (_IsNameSet4) != "" (GetFormFromFile(0x1B0F0, "MarkAndRecall.esp")).SetName(_IsNameSet4 as int) endif if (_IsNameSet5) != "" (GetFormFromFile(0x1B0F1, "MarkAndRecall.esp")).SetName(_IsNameSet5 as int) endif if (_IsNameSet6) != "" (GetFormFromFile(0x1B0F2, "MarkAndRecall.esp")).SetName(_IsNameSet6 as int) endif if (_IsNameSet7) != "" (GetFormFromFile(0x1B0F3, "MarkAndRecall.esp")).SetName(_IsNameSet7 as int) endif if (_IsNameSet8) != "" (GetFormFromFile(0x1B0F4, "MarkAndRecall.esp")).SetName(_IsNameSet8 as int) endif if (_IsNameSet9) != "" (GetFormFromFile(0x1B0F5, "MarkAndRecall.esp")).SetName(_IsNameSet9 as int) endif if (_IsNameSet10) != "" (GetFormFromFile(0x1B0F6, "MarkAndRecall.esp")).SetName(_IsNameSet10 as int) endif if (_IsNameSet11) != "" (GetFormFromFile(0x1B0F7, "MarkAndRecall.esp")).SetName(_IsNameSet11 as int) endif if (_IsNameSet12) != "" (GetFormFromFile(0x1B0F8, "MarkAndRecall.esp")).SetName(_IsNameSet12 as int) endif if (_IsNameSet13) != "" (GetFormFromFile(0x1B0F9, "MarkAndRecall.esp")).SetName(_IsNameSet13 as int) endif if (_IsNameSet14) != "" (GetFormFromFile(0x1B0FA, "MarkAndRecall.esp")).SetName(_IsNameSet14 as int) endif if (_IsNameSet15) != "" (GetFormFromFile(0x1B0FB, "MarkAndRecall.esp")).SetName(_IsNameSet15 as int) endif if (_IsNameSet16) != "" (GetFormFromFile(0x1B0FC, "MarkAndRecall.esp")).SetName(_IsNameSet16 as int) endif ;==================================== return true endFunction Bool function LoadOnlyLocNamesPapyrus() if !jsonutil.IsGood(settings_path) return false endIf ;==================================== if (jsonutil.GetPathStringValue(settings_path, "Recall_1_Name", Recall1Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_1_Name", Recall1Name), Recall1Name) == false) Recall1Name = jsonutil.GetPathStringValue(settings_path, "Recall_1_Name", Recall1Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_2_Name", Recall2Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_2_Name", Recall2Name), Recall2Name) == false) Recall2Name = jsonutil.GetPathStringValue(settings_path, "Recall_2_Name", Recall2Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_3_Name", Recall3Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_3_Name", Recall3Name), Recall3Name) == false) Recall3Name = jsonutil.GetPathStringValue(settings_path, "Recall_3_Name", Recall3Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_4_Name", Recall4Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_4_Name", Recall4Name), Recall4Name) == false) Recall4Name = jsonutil.GetPathStringValue(settings_path, "Recall_4_Name", Recall4Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_5_Name", Recall5Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_5_Name", Recall5Name), Recall5Name) == false) Recall5Name = jsonutil.GetPathStringValue(settings_path, "Recall_5_Name", Recall5Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_6_Name", Recall6Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_6_Name", Recall6Name), Recall6Name) == false) Recall6Name = jsonutil.GetPathStringValue(settings_path, "Recall_6_Name", Recall6Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_7_Name", Recall7Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_7_Name", Recall7Name), Recall7Name) == false) Recall7Name = jsonutil.GetPathStringValue(settings_path, "Recall_7_Name", Recall7Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_8_Name", Recall8Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_8_Name", Recall8Name), Recall8Name) == false) Recall8Name = jsonutil.GetPathStringValue(settings_path, "Recall_8_Name", Recall8Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_9_Name", Recall9Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_9_Name", Recall9Name), Recall9Name) == false) Recall9Name = jsonutil.GetPathStringValue(settings_path, "Recall_9_Name", Recall9Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_10_Name", Recall10Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_10_Name", Recall10Name), Recall10Name) == false) Recall10Name = jsonutil.GetPathStringValue(settings_path, "Recall_10_Name", Recall10Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_11_Name", Recall11Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_11_Name", Recall11Name), Recall11Name) == false) Recall11Name = jsonutil.GetPathStringValue(settings_path, "Recall_11_Name", Recall11Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_12_Name", Recall12Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_12_Name", Recall12Name), Recall12Name) == false) Recall12Name = jsonutil.GetPathStringValue(settings_path, "Recall_12_Name", Recall12Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_13_Name", Recall13Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_13_Name", Recall13Name), Recall13Name) == false) Recall13Name = jsonutil.GetPathStringValue(settings_path, "Recall_13_Name", Recall13Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_14_Name", Recall14Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_14_Name", Recall14Name), Recall14Name) == false) Recall14Name = jsonutil.GetPathStringValue(settings_path, "Recall_14_Name", Recall14Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_15_Name", Recall15Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_15_Name", Recall15Name), Recall15Name) == false) Recall15Name = jsonutil.GetPathStringValue(settings_path, "Recall_15_Name", Recall15Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_16_Name", Recall16Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_16_Name", Recall16Name), Recall16Name) == false) Recall16Name = jsonutil.GetPathStringValue(settings_path, "Recall_16_Name", Recall16Name) endif endif ;==================================== if Recall1Name != "" (GetFormFromFile(0x12484, "MarkAndRecall.esp")).SetName(Recall1Name) (GetFormFromFile(0x48DCA, "MarkAndRecall.esp")).SetName(Recall1Name) endif if Recall2Name != "" (GetFormFromFile(0x12485, "MarkAndRecall.esp")).SetName(Recall2Name) (GetFormFromFile(0x48DCC, "MarkAndRecall.esp")).SetName(Recall2Name) endif if Recall3Name != "" (GetFormFromFile(0x12486, "MarkAndRecall.esp")).SetName(Recall3Name) (GetFormFromFile(0x48DDB, "MarkAndRecall.esp")).SetName(Recall3Name) endif if Recall4Name != "" (GetFormFromFile(0x12487, "MarkAndRecall.esp")).SetName(Recall4Name) (GetFormFromFile(0x48DCE, "MarkAndRecall.esp")).SetName(Recall4Name) endif if Recall5Name != "" (GetFormFromFile(0x12488, "MarkAndRecall.esp")).SetName(Recall5Name) (GetFormFromFile(0x48DCF, "MarkAndRecall.esp")).SetName(Recall5Name) endif if Recall6Name != "" (GetFormFromFile(0x12489, "MarkAndRecall.esp")).SetName(Recall6Name) (GetFormFromFile(0x48DD0, "MarkAndRecall.esp")).SetName(Recall6Name) endif if Recall7Name != "" (GetFormFromFile(0x1248A, "MarkAndRecall.esp")).SetName(Recall7Name) (GetFormFromFile(0x48DD1, "MarkAndRecall.esp")).SetName(Recall7Name) endif if Recall8Name != "" (GetFormFromFile(0x1248B, "MarkAndRecall.esp")).SetName(Recall8Name) (GetFormFromFile(0x48DDC, "MarkAndRecall.esp")).SetName(Recall8Name) endif if Recall9Name != "" (GetFormFromFile(0x1248C, "MarkAndRecall.esp")).SetName(Recall9Name) (GetFormFromFile(0x48DD3, "MarkAndRecall.esp")).SetName(Recall9Name) endif if Recall10Name != "" (GetFormFromFile(0x1248D, "MarkAndRecall.esp")).SetName(Recall10Name) (GetFormFromFile(0x48DD4, "MarkAndRecall.esp")).SetName(Recall10Name) endif if Recall11Name != "" (GetFormFromFile(0x1248E, "MarkAndRecall.esp")).SetName(Recall11Name) (GetFormFromFile(0x48DD5, "MarkAndRecall.esp")).SetName(Recall11Name) endif if Recall12Name != "" (GetFormFromFile(0x1248F, "MarkAndRecall.esp")).SetName(Recall12Name) (GetFormFromFile(0x48DD6, "MarkAndRecall.esp")).SetName(Recall12Name) endif if Recall13Name != "" (GetFormFromFile(0x12490, "MarkAndRecall.esp")).SetName(Recall13Name) (GetFormFromFile(0x48DD7, "MarkAndRecall.esp")).SetName(Recall13Name) endif if Recall14Name != "" (GetFormFromFile(0x12491, "MarkAndRecall.esp")).SetName(Recall14Name) (GetFormFromFile(0x48DD8, "MarkAndRecall.esp")).SetName(Recall14Name) endif if Recall15Name != "" (GetFormFromFile(0x12492, "MarkAndRecall.esp")).SetName(Recall15Name) (GetFormFromFile(0x48DD9, "MarkAndRecall.esp")).SetName(Recall15Name) endif if Recall16Name != "" (GetFormFromFile(0x12493, "MarkAndRecall.esp")).SetName(Recall16Name) (GetFormFromFile(0x48DDA, "MarkAndRecall.esp")).SetName(Recall16Name) endif return true endFunction ;string function GetPathStringValue(string FileName, string Path, string missing = "") global native ; jsonutil.SetPathStringValue(settings_path, "Recall_1_Name", _Recall_1_Name) ;bool function GetPathBoolValue(string FileName, string Path, bool missing = false) global ;bool function IsPathBool(string FileName, string Path) global native ;function SetPathIntValue(string FileName, string Path, int value) global native ;int function GetPathIntValue(string FileName, string Path, int missing = 0) global native ;Bool function loadBool(String name) ;function saveBool(String name, Bool b) ; Moves this object to the position of the specified object, with an offset, and optionally matching its rotation ;Function MoveTo(ObjectReference akTarget, float afXOffset = 0.0, float afYOffset = 0.0, float afZOffset = 0.0, bool abMatchRotation = true) native ;float function GetPathFloatValue(string FileName, string Path, float missing = 0.0) global native ;function SetPathFloatValue(string FileName, string Path, float value) global native ;Float function loadFloat(String name) ;function saveFloat(String name, Float f) Bool function LoadUserSettingsPapyrus() if !jsonutil.IsGood(settings_path) return false endIf ;==================================== if (jsonutil.GetPathStringValue(settings_path, "OldVersion", ConfigMCM.OldVersion) != "") ConfigMCM.OldVersion = jsonutil.GetPathStringValue(settings_path, "OldVersion", ConfigMCM.OldVersion) endif ;==================================== bEnabled = jsonutil.GetPathIntValue(settings_path, "bEnabled", bEnabled as int) IsDebugMode = jsonutil.GetPathIntValue(settings_path, "IsDebugMode", IsDebugMode as int) IsAllowed = jsonutil.GetPathIntValue(settings_path, "IsAllowed", IsAllowed as int) IsClassicMode = jsonutil.GetPathIntValue(settings_path, "IsClassicMode", IsClassicMode as int) bCanCityPortal = jsonutil.GetPathIntValue(settings_path, "CanCityPortal", bCanCityPortal as int) bCheckingNames = jsonutil.GetPathIntValue(settings_path, "CheckingNames", bCheckingNames as int) ;==================================== If(IsAllowed == true) if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_1", _Cell_Name_1) != "") _Cell_Name_1 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_1", _Cell_Name_1) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_2", _Cell_Name_2) != "") _Cell_Name_2 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_2", _Cell_Name_2) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_3", _Cell_Name_3) != "") _Cell_Name_3 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_3", _Cell_Name_3) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_4", _Cell_Name_4) != "") _Cell_Name_4 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_4", _Cell_Name_4) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_5", _Cell_Name_5) != "") _Cell_Name_5 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_5", _Cell_Name_5) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_6", _Cell_Name_6) != "") _Cell_Name_6 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_6", _Cell_Name_6) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_7", _Cell_Name_7) != "") _Cell_Name_7 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_7", _Cell_Name_7) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_8", _Cell_Name_8) != "") _Cell_Name_8 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_8", _Cell_Name_8) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_9", _Cell_Name_9) != "") _Cell_Name_9 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_9", _Cell_Name_9) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_10", _Cell_Name_10) != "") _Cell_Name_10 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_10", _Cell_Name_10) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_11", _Cell_Name_11) != "") _Cell_Name_11 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_11", _Cell_Name_11) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_12", _Cell_Name_12) != "") _Cell_Name_12 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_12", _Cell_Name_12) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_13", _Cell_Name_13) != "") _Cell_Name_13 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_13", _Cell_Name_13) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_14", _Cell_Name_14) != "") _Cell_Name_14 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_14", _Cell_Name_14) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_15", _Cell_Name_15) != "") _Cell_Name_15 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_15", _Cell_Name_15) endif if (jsonutil.GetPathStringValue(settings_path, "_Cell_Name_16", _Cell_Name_16) != "") _Cell_Name_16 = jsonutil.GetPathStringValue(settings_path, "_Cell_Name_16", _Cell_Name_16) endif ;==================================== _fX_1 = jsonutil.GetPathFloatValue(settings_path, "_fX_1", _fX_1) _fY_1 = jsonutil.GetPathFloatValue(settings_path, "_fY_1", _fY_1) _fZ_1 = jsonutil.GetPathFloatValue(settings_path, "_fZ_1", _fZ_1) _fX_2 = jsonutil.GetPathFloatValue(settings_path, "_fX_2", _fX_2) _fY_2 = jsonutil.GetPathFloatValue(settings_path, "_fY_2", _fY_2) _fZ_2 = jsonutil.GetPathFloatValue(settings_path, "_fZ_2", _fZ_2) _fX_3 = jsonutil.GetPathFloatValue(settings_path, "_fX_3", _fX_3) _fY_3 = jsonutil.GetPathFloatValue(settings_path, "_fY_3", _fY_3) _fZ_3 = jsonutil.GetPathFloatValue(settings_path, "_fZ_3", _fZ_3) _fX_4 = jsonutil.GetPathFloatValue(settings_path, "_fX_4", _fX_4) _fY_4 = jsonutil.GetPathFloatValue(settings_path, "_fY_4", _fY_4) _fZ_4 = jsonutil.GetPathFloatValue(settings_path, "_fZ_4", _fZ_4) _fX_5 = jsonutil.GetPathFloatValue(settings_path, "_fX_5", _fX_5) _fY_5 = jsonutil.GetPathFloatValue(settings_path, "_fY_5", _fY_5) _fZ_5 = jsonutil.GetPathFloatValue(settings_path, "_fZ_5", _fZ_5) _fX_6 = jsonutil.GetPathFloatValue(settings_path, "_fX_6", _fX_6) _fY_6 = jsonutil.GetPathFloatValue(settings_path, "_fY_6", _fY_6) _fZ_6 = jsonutil.GetPathFloatValue(settings_path, "_fZ_6", _fZ_6) _fX_7 = jsonutil.GetPathFloatValue(settings_path, "_fX_7", _fX_7) _fY_7 = jsonutil.GetPathFloatValue(settings_path, "_fY_7", _fY_7) _fZ_7 = jsonutil.GetPathFloatValue(settings_path, "_fZ_7", _fZ_7) _fX_8 = jsonutil.GetPathFloatValue(settings_path, "_fX_8", _fX_8) _fY_8 = jsonutil.GetPathFloatValue(settings_path, "_fY_8", _fY_8) _fZ_8 = jsonutil.GetPathFloatValue(settings_path, "_fZ_8", _fZ_8) _fX_9 = jsonutil.GetPathFloatValue(settings_path, "_fX_9", _fX_9) _fY_9 = jsonutil.GetPathFloatValue(settings_path, "_fY_9", _fY_9) _fZ_9 = jsonutil.GetPathFloatValue(settings_path, "_fZ_9", _fZ_9) _fX_10 = jsonutil.GetPathFloatValue(settings_path, "_fX_10", _fX_10) _fY_10 = jsonutil.GetPathFloatValue(settings_path, "_fY_10", _fY_10) _fZ_10 = jsonutil.GetPathFloatValue(settings_path, "_fZ_10", _fZ_10) _fX_11 = jsonutil.GetPathFloatValue(settings_path, "_fX_11", _fX_11) _fY_11 = jsonutil.GetPathFloatValue(settings_path, "_fY_11", _fY_11) _fZ_11 = jsonutil.GetPathFloatValue(settings_path, "_fZ_11", _fZ_11) _fX_12 = jsonutil.GetPathFloatValue(settings_path, "_fX_12", _fX_12) _fY_12 = jsonutil.GetPathFloatValue(settings_path, "_fY_12", _fY_12) _fZ_12 = jsonutil.GetPathFloatValue(settings_path, "_fZ_12", _fZ_12) _fX_13 = jsonutil.GetPathFloatValue(settings_path, "_fX_13", _fX_13) _fY_13 = jsonutil.GetPathFloatValue(settings_path, "_fY_13", _fY_13) _fZ_13 = jsonutil.GetPathFloatValue(settings_path, "_fZ_13", _fZ_13) _fX_14 = jsonutil.GetPathFloatValue(settings_path, "_fX_14", _fX_14) _fY_14 = jsonutil.GetPathFloatValue(settings_path, "_fY_14", _fY_14) _fZ_14 = jsonutil.GetPathFloatValue(settings_path, "_fZ_14", _fZ_14) _fX_15 = jsonutil.GetPathFloatValue(settings_path, "_fX_15", _fX_15) _fY_15 = jsonutil.GetPathFloatValue(settings_path, "_fY_15", _fY_15) _fZ_15 = jsonutil.GetPathFloatValue(settings_path, "_fZ_15", _fZ_15) _fX_16 = jsonutil.GetPathFloatValue(settings_path, "_fX_16", _fX_16) _fY_16 = jsonutil.GetPathFloatValue(settings_path, "_fY_16", _fY_16) _fZ_16 = jsonutil.GetPathFloatValue(settings_path, "_fZ_16", _fZ_16) EndIf ;==================================== _IsNameSet1 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_1", _IsNameSet1) _IsNameSet2 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_2", _IsNameSet2) _IsNameSet3 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_3", _IsNameSet3) _IsNameSet4 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_4", _IsNameSet4) _IsNameSet5 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_5", _IsNameSet5) _IsNameSet6 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_6", _IsNameSet6) _IsNameSet7 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_7", _IsNameSet7) _IsNameSet8 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_8", _IsNameSet8) _IsNameSet9 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_9", _IsNameSet9) _IsNameSet10 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_10", _IsNameSet10) _IsNameSet11 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_11", _IsNameSet11) _IsNameSet12 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_12", _IsNameSet12) _IsNameSet13 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_13", _IsNameSet13) _IsNameSet14 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_14", _IsNameSet14) _IsNameSet15 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_15", _IsNameSet15) _IsNameSet16 = jsonutil.GetPathIntValue(settings_path, "IsNameSet_16", _IsNameSet16) ;==================================== if (jsonutil.GetPathStringValue(settings_path, "Recall_1_Name", _Recall_1_Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_1_Name", _Recall_1_Name), _Recall_1_Name) == false) _Recall_1_Name = jsonutil.GetPathStringValue(settings_path, "Recall_1_Name", _Recall_1_Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_2_Name", Recall2Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_2_Name", Recall2Name), Recall2Name) == false) Recall2Name = jsonutil.GetPathStringValue(settings_path, "Recall_2_Name", Recall2Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_3_Name", Recall3Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_3_Name", Recall3Name), Recall3Name) == false) Recall3Name = jsonutil.GetPathStringValue(settings_path, "Recall_3_Name", Recall3Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_4_Name", Recall4Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_4_Name", Recall4Name), Recall4Name) == false) Recall4Name = jsonutil.GetPathStringValue(settings_path, "Recall_4_Name", Recall4Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_5_Name", Recall5Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_5_Name", Recall5Name), Recall5Name) == false) Recall5Name = jsonutil.GetPathStringValue(settings_path, "Recall_5_Name", Recall5Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_6_Name", Recall6Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_6_Name", Recall6Name), Recall6Name) == false) Recall6Name = jsonutil.GetPathStringValue(settings_path, "Recall_6_Name", Recall6Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_7_Name", Recall7Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_7_Name", Recall7Name), Recall7Name) == false) Recall7Name = jsonutil.GetPathStringValue(settings_path, "Recall_7_Name", Recall7Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_8_Name", Recall8Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_8_Name", Recall8Name), Recall8Name) == false) Recall8Name = jsonutil.GetPathStringValue(settings_path, "Recall_8_Name", Recall8Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_9_Name", Recall9Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_9_Name", Recall9Name), Recall9Name) == false) Recall9Name = jsonutil.GetPathStringValue(settings_path, "Recall_9_Name", Recall9Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_10_Name", Recall10Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_10_Name", Recall10Name), Recall10Name) == false) Recall10Name = jsonutil.GetPathStringValue(settings_path, "Recall_10_Name", Recall10Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_11_Name", Recall11Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_11_Name", Recall11Name), Recall11Name) == false) Recall11Name = jsonutil.GetPathStringValue(settings_path, "Recall_11_Name", Recall11Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_12_Name", Recall12Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_12_Name", Recall12Name), Recall12Name) == false) Recall12Name = jsonutil.GetPathStringValue(settings_path, "Recall_12_Name", Recall12Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_13_Name", Recall13Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_13_Name", Recall13Name), Recall13Name) == false) Recall13Name = jsonutil.GetPathStringValue(settings_path, "Recall_13_Name", Recall13Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_14_Name", Recall14Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_14_Name", Recall14Name), Recall14Name) == false) Recall14Name = jsonutil.GetPathStringValue(settings_path, "Recall_14_Name", Recall14Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_15_Name", Recall15Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_15_Name", Recall15Name), Recall15Name) == false) Recall15Name = jsonutil.GetPathStringValue(settings_path, "Recall_15_Name", Recall15Name) endif endif if (jsonutil.GetPathStringValue(settings_path, "Recall_16_Name", Recall16Name) != "") if(bIsIdentical(jsonutil.GetPathStringValue(settings_path, "Recall_16_Name", Recall16Name), Recall16Name) == false) Recall16Name = jsonutil.GetPathStringValue(settings_path, "Recall_16_Name", Recall16Name) endif endif ;==================================== If(IsAllowed == true) if _Cell_Name_1 != "" (GetFormFromFile(0x1B118, "MarkAndRecall.esp")).SetName(_Cell_Name_1) endif if _Cell_Name_2 != "" (GetFormFromFile(0x1B12E, "MarkAndRecall.esp")).SetName(_Cell_Name_2) endif if _Cell_Name_3 != "" (GetFormFromFile(0x1B12F, "MarkAndRecall.esp")).SetName(_Cell_Name_3) endif if _Cell_Name_4 != "" (GetFormFromFile(0x1B130, "MarkAndRecall.esp")).SetName(_Cell_Name_4) endif if _Cell_Name_5 != "" (GetFormFromFile(0x1B131, "MarkAndRecall.esp")).SetName(_Cell_Name_5) endif if _Cell_Name_6 != "" (GetFormFromFile(0x1B132, "MarkAndRecall.esp")).SetName(_Cell_Name_6) endif if _Cell_Name_7 != "" (GetFormFromFile(0x1B133, "MarkAndRecall.esp")).SetName(_Cell_Name_7) endif if _Cell_Name_8 != "" (GetFormFromFile(0x1B134, "MarkAndRecall.esp")).SetName(_Cell_Name_8) endif if _Cell_Name_9 != "" (GetFormFromFile(0x1B135, "MarkAndRecall.esp")).SetName(_Cell_Name_9) endif if _Cell_Name_10 != "" (GetFormFromFile(0x1B136, "MarkAndRecall.esp")).SetName(_Cell_Name_10) endif if _Cell_Name_11 != "" (GetFormFromFile(0x1B137, "MarkAndRecall.esp")).SetName(_Cell_Name_11) endif if _Cell_Name_12 != "" (GetFormFromFile(0x1B138, "MarkAndRecall.esp")).SetName(_Cell_Name_12) endif if _Cell_Name_13 != "" (GetFormFromFile(0x1B139, "MarkAndRecall.esp")).SetName(_Cell_Name_13) endif if _Cell_Name_14 != "" (GetFormFromFile(0x1B13A, "MarkAndRecall.esp")).SetName(_Cell_Name_14) endif if _Cell_Name_15 != "" (GetFormFromFile(0x1B13B, "MarkAndRecall.esp")).SetName(_Cell_Name_15) endif if _Cell_Name_16 != "" (GetFormFromFile(0x1B13C, "MarkAndRecall.esp")).SetName(_Cell_Name_16) endif ;==================================== if (_fX_1) != "" (GetFormFromFile(0x1B0FD, "MarkAndRecall.esp")).SetName(_fX_1 as float) endif if (_fY_1) != "" (GetFormFromFile(0x1B0FE, "MarkAndRecall.esp")).SetName(_fY_1 as float) endif if (_fZ_1) != "" (GetFormFromFile(0x1B0FF, "MarkAndRecall.esp")).SetName(_fZ_1 as float) endif if (_fX_2) != "" (GetFormFromFile(0x1B100, "MarkAndRecall.esp")).SetName(_fX_2 as float) endif if (_fY_2) != "" (GetFormFromFile(0x1B101, "MarkAndRecall.esp")).SetName(_fY_2 as float) endif if (_fZ_2) != "" (GetFormFromFile(0x1B102, "MarkAndRecall.esp")).SetName(_fZ_2 as float) endif if (_fX_3) != "" (GetFormFromFile(0x1B103, "MarkAndRecall.esp")).SetName(_fX_3 as float) endif if (_fY_3) != "" (GetFormFromFile(0x1B104, "MarkAndRecall.esp")).SetName(_fY_3 as float) endif if (_fZ_3) != "" (GetFormFromFile(0x1B105, "MarkAndRecall.esp")).SetName(_fZ_3 as float) endif if (_fX_4) != "" (GetFormFromFile(0x1B106, "MarkAndRecall.esp")).SetName(_fX_4 as float) endif if (_fY_4) != "" (GetFormFromFile(0x1B107, "MarkAndRecall.esp")).SetName(_fY_4 as float) endif if (_fZ_4) != "" (GetFormFromFile(0x1B108, "MarkAndRecall.esp")).SetName(_fZ_4 as float) endif if (_fX_5) != "" (GetFormFromFile(0x1B109, "MarkAndRecall.esp")).SetName(_fX_5 as float) endif if (_fY_5) != "" (GetFormFromFile(0x1B10A, "MarkAndRecall.esp")).SetName(_fY_5 as float) endif if (_fZ_5) != "" (GetFormFromFile(0x1B10B, "MarkAndRecall.esp")).SetName(_fZ_5 as float) endif if (_fX_6) != "" (GetFormFromFile(0x1B10C, "MarkAndRecall.esp")).SetName(_fX_6 as float) endif if (_fY_6) != "" (GetFormFromFile(0x1B10D, "MarkAndRecall.esp")).SetName(_fY_6 as float) endif if (_fZ_6) != "" (GetFormFromFile(0x1B10E, "MarkAndRecall.esp")).SetName(_fZ_6 as float) endif if (_fX_7) != "" (GetFormFromFile(0x1B10F, "MarkAndRecall.esp")).SetName(_fX_7 as float) endif if (_fY_7) != "" (GetFormFromFile(0x1B110, "MarkAndRecall.esp")).SetName(_fY_7 as float) endif if (_fZ_7) != "" (GetFormFromFile(0x1B111, "MarkAndRecall.esp")).SetName(_fZ_7 as float) endif if (_fX_8) != "" (GetFormFromFile(0x1B112, "MarkAndRecall.esp")).SetName(_fX_8 as float) endif if (_fY_8) != "" (GetFormFromFile(0x1B113, "MarkAndRecall.esp")).SetName(_fY_8 as float) endif if (_fZ_8) != "" (GetFormFromFile(0x1B114, "MarkAndRecall.esp")).SetName(_fZ_8 as float) endif if (_fX_9) != "" (GetFormFromFile(0x1B115, "MarkAndRecall.esp")).SetName(_fX_9 as float) endif if (_fY_9) != "" (GetFormFromFile(0x1B116, "MarkAndRecall.esp")).SetName(_fY_9 as float) endif if (_fZ_9) != "" (GetFormFromFile(0x1B117, "MarkAndRecall.esp")).SetName(_fZ_9 as float) endif if (_fX_10) != "" (GetFormFromFile(0x1B119, "MarkAndRecall.esp")).SetName(_fX_10 as float) endif if (_fY_10) != "" (GetFormFromFile(0x1B120, "MarkAndRecall.esp")).SetName(_fY_10 as float) endif if (_fZ_10) != "" (GetFormFromFile(0x1B127, "MarkAndRecall.esp")).SetName(_fZ_10 as float) endif if (_fX_11) != "" (GetFormFromFile(0x1B11A, "MarkAndRecall.esp")).SetName(_fX_11 as float) endif if (_fY_11) != "" (GetFormFromFile(0x1B121, "MarkAndRecall.esp")).SetName(_fY_11 as float) endif if (_fZ_11) != "" (GetFormFromFile(0x1B128, "MarkAndRecall.esp")).SetName(_fZ_11 as float) endif if (_fX_12) != "" (GetFormFromFile(0x1B11B, "MarkAndRecall.esp")).SetName(_fX_12 as float) endif if (_fY_12) != "" (GetFormFromFile(0x1B122, "MarkAndRecall.esp")).SetName(_fY_12 as float) endif if (_fZ_12) != "" (GetFormFromFile(0x1B129, "MarkAndRecall.esp")).SetName(_fZ_12 as float) endif if (_fX_13) != "" (GetFormFromFile(0x1B11C, "MarkAndRecall.esp")).SetName(_fX_13 as float) endif if (_fY_13) != "" (GetFormFromFile(0x1B123, "MarkAndRecall.esp")).SetName(_fY_13 as float) endif if (_fZ_13) != "" (GetFormFromFile(0x1B12A, "MarkAndRecall.esp")).SetName(_fZ_13 as float) endif if (_fX_14) != "" (GetFormFromFile(0x1B11D, "MarkAndRecall.esp")).SetName(_fX_14 as float) endif if (_fY_14) != "" (GetFormFromFile(0x1B124, "MarkAndRecall.esp")).SetName(_fY_14 as float) endif if (_fZ_14) != "" (GetFormFromFile(0x1B12B, "MarkAndRecall.esp")).SetName(_fZ_14 as float) endif if (_fX_15) != "" (GetFormFromFile(0x1B11E, "MarkAndRecall.esp")).SetName(_fX_15 as float) endif if (_fY_15) != "" (GetFormFromFile(0x1B125, "MarkAndRecall.esp")).SetName(_fY_15 as float) endif if (_fZ_15) != "" (GetFormFromFile(0x1B12C, "MarkAndRecall.esp")).SetName(_fZ_15 as float) endif if (_fX_16) != "" (GetFormFromFile(0x1B11F, "MarkAndRecall.esp")).SetName(_fX_16 as float) endif if (_fY_16) != "" (GetFormFromFile(0x1B126, "MarkAndRecall.esp")).SetName(_fY_16 as float) endif if (_fZ_16) != "" (GetFormFromFile(0x1B12D, "MarkAndRecall.esp")).SetName(_fZ_16 as float) endif EndIf ;==================================== if (_IsNameSet1) != "" (GetFormFromFile(0x1B0ED, "MarkAndRecall.esp")).SetName(_IsNameSet1 as int) endif if (_IsNameSet2) != "" (GetFormFromFile(0x1B0EE, "MarkAndRecall.esp")).SetName(_IsNameSet2 as int) endif if (_IsNameSet3) != "" (GetFormFromFile(0x1B0EF, "MarkAndRecall.esp")).SetName(_IsNameSet3 as int) endif if (_IsNameSet4) != "" (GetFormFromFile(0x1B0F0, "MarkAndRecall.esp")).SetName(_IsNameSet4 as int) endif if (_IsNameSet5) != "" (GetFormFromFile(0x1B0F1, "MarkAndRecall.esp")).SetName(_IsNameSet5 as int) endif if (_IsNameSet6) != "" (GetFormFromFile(0x1B0F2, "MarkAndRecall.esp")).SetName(_IsNameSet6 as int) endif if (_IsNameSet7) != "" (GetFormFromFile(0x1B0F3, "MarkAndRecall.esp")).SetName(_IsNameSet7 as int) endif if (_IsNameSet8) != "" (GetFormFromFile(0x1B0F4, "MarkAndRecall.esp")).SetName(_IsNameSet8 as int) endif if (_IsNameSet9) != "" (GetFormFromFile(0x1B0F5, "MarkAndRecall.esp")).SetName(_IsNameSet9 as int) endif if (_IsNameSet10) != "" (GetFormFromFile(0x1B0F6, "MarkAndRecall.esp")).SetName(_IsNameSet10 as int) endif if (_IsNameSet11) != "" (GetFormFromFile(0x1B0F7, "MarkAndRecall.esp")).SetName(_IsNameSet11 as int) endif if (_IsNameSet12) != "" (GetFormFromFile(0x1B0F8, "MarkAndRecall.esp")).SetName(_IsNameSet12 as int) endif if (_IsNameSet13) != "" (GetFormFromFile(0x1B0F9, "MarkAndRecall.esp")).SetName(_IsNameSet13 as int) endif if (_IsNameSet14) != "" (GetFormFromFile(0x1B0FA, "MarkAndRecall.esp")).SetName(_IsNameSet14 as int) endif if (_IsNameSet15) != "" (GetFormFromFile(0x1B0FB, "MarkAndRecall.esp")).SetName(_IsNameSet15 as int) endif if (_IsNameSet16) != "" (GetFormFromFile(0x1B0FC, "MarkAndRecall.esp")).SetName(_IsNameSet16 as int) endif ;==================================== if _Recall_1_Name != "" (GetFormFromFile(0x12484, "MarkAndRecall.esp")).SetName(_Recall_1_Name) (GetFormFromFile(0x48DCA, "MarkAndRecall.esp")).SetName(_Recall_1_Name) endif if Recall2Name != "" (GetFormFromFile(0x12485, "MarkAndRecall.esp")).SetName(Recall2Name) (GetFormFromFile(0x48DCC, "MarkAndRecall.esp")).SetName(Recall2Name) endif if Recall3Name != "" (GetFormFromFile(0x12486, "MarkAndRecall.esp")).SetName(Recall3Name) (GetFormFromFile(0x48DDB, "MarkAndRecall.esp")).SetName(Recall3Name) endif if Recall4Name != "" (GetFormFromFile(0x12487, "MarkAndRecall.esp")).SetName(Recall4Name) (GetFormFromFile(0x48DCE, "MarkAndRecall.esp")).SetName(Recall4Name) endif if Recall5Name != "" (GetFormFromFile(0x12488, "MarkAndRecall.esp")).SetName(Recall5Name) (GetFormFromFile(0x48DCF, "MarkAndRecall.esp")).SetName(Recall5Name) endif if Recall6Name != "" (GetFormFromFile(0x12489, "MarkAndRecall.esp")).SetName(Recall6Name) (GetFormFromFile(0x48DD0, "MarkAndRecall.esp")).SetName(Recall6Name) endif if Recall7Name != "" (GetFormFromFile(0x1248A, "MarkAndRecall.esp")).SetName(Recall7Name) (GetFormFromFile(0x48DD1, "MarkAndRecall.esp")).SetName(Recall7Name) endif if Recall8Name != "" (GetFormFromFile(0x1248B, "MarkAndRecall.esp")).SetName(Recall8Name) (GetFormFromFile(0x48DDC, "MarkAndRecall.esp")).SetName(Recall8Name) endif if Recall9Name != "" (GetFormFromFile(0x1248C, "MarkAndRecall.esp")).SetName(Recall9Name) (GetFormFromFile(0x48DD3, "MarkAndRecall.esp")).SetName(Recall9Name) endif if Recall10Name != "" (GetFormFromFile(0x1248D, "MarkAndRecall.esp")).SetName(Recall10Name) (GetFormFromFile(0x48DD4, "MarkAndRecall.esp")).SetName(Recall10Name) endif if Recall11Name != "" (GetFormFromFile(0x1248E, "MarkAndRecall.esp")).SetName(Recall11Name) (GetFormFromFile(0x48DD5, "MarkAndRecall.esp")).SetName(Recall11Name) endif if Recall12Name != "" (GetFormFromFile(0x1248F, "MarkAndRecall.esp")).SetName(Recall12Name) (GetFormFromFile(0x48DD6, "MarkAndRecall.esp")).SetName(Recall12Name) endif if Recall13Name != "" (GetFormFromFile(0x12490, "MarkAndRecall.esp")).SetName(Recall13Name) (GetFormFromFile(0x48DD7, "MarkAndRecall.esp")).SetName(Recall13Name) endif if Recall14Name != "" (GetFormFromFile(0x12491, "MarkAndRecall.esp")).SetName(Recall14Name) (GetFormFromFile(0x48DD8, "MarkAndRecall.esp")).SetName(Recall14Name) endif if Recall15Name != "" (GetFormFromFile(0x12492, "MarkAndRecall.esp")).SetName(Recall15Name) (GetFormFromFile(0x48DD9, "MarkAndRecall.esp")).SetName(Recall15Name) endif if Recall16Name != "" (GetFormFromFile(0x12493, "MarkAndRecall.esp")).SetName(Recall16Name) (GetFormFromFile(0x48DDA, "MarkAndRecall.esp")).SetName(Recall16Name) endif return true endFunction Bool function SaveUserSettingsPapyrus() ;==================================== if (ConfigMCM.OldVersion != "") ConfigMCM.OldVersion = ConfigMCM.Version jsonutil.SetPathStringValue(settings_path, "OldVersion", ConfigMCM.OldVersion) endif ;==================================== jsonutil.SetPathIntValue(settings_path, "bEnabled", bEnabled as int) jsonutil.SetPathIntValue(settings_path, "IsDebugMode", IsDebugMode as int) jsonutil.SetPathIntValue(settings_path, "IsAllowed", IsAllowed as int) jsonutil.SetPathIntValue(settings_path, "IsClassicMode", IsClassicMode as int) jsonutil.SetPathIntValue(settings_path, "CanCityPortal", bCanCityPortal as int) jsonutil.SetPathIntValue(settings_path, "CheckingNames", bCheckingNames as int) ;==================================== If(IsAllowed == true) If ((GetFormFromFile(0x1B118, "MarkAndRecall.esp")).GetName() != "") _Cell_Name_1 = (GetFormFromFile(0x1B118, "MarkAndRecall.esp")).GetName() EndIf If ((GetFormFromFile(0x1B12E, "MarkAndRecall.esp")).GetName() != "") _Cell_Name_2 = (GetFormFromFile(0x1B12E, "MarkAndRecall.esp")).GetName() EndIf If ((GetFormFromFile(0x1B12F, "MarkAndRecall.esp")).GetName() != "") _Cell_Name_3 = (GetFormFromFile(0x1B12F, "MarkAndRecall.esp")).GetName() EndIf If ((GetFormFromFile(0x1B130, "MarkAndRecall.esp")).GetName() != "") _Cell_Name_4 = (GetFormFromFile(0x1B130, "MarkAndRecall.esp")).GetName() EndIf If ((GetFormFromFile(0x1B131, "MarkAndRecall.esp")).GetName() != "") _Cell_Name_5 = (GetFormFromFile(0x1B131, "MarkAndRecall.esp")).GetName() EndIf If ((GetFormFromFile(0x1B132, "MarkAndRecall.esp")).GetName() != "") _Cell_Name_6 = (GetFormFromFile(0x1B132, "MarkAndRecall.esp")).GetName() EndIf If ((GetFormFromFile(0x1B133, "MarkAndRecall.esp")).GetName() != "") _Cell_Name_7 = (GetFormFromFile(0x1B133, "MarkAndRecall.esp")).GetName() EndIf If ((GetFormFromFile(0x1B134, "MarkAndRecall.esp")).GetName() != "") _Cell_Name_8 = (GetFormFromFile(0x1B134, "MarkAndRecall.esp")).GetName() EndIf If ((GetFormFromFile(0x1B135, "MarkAndRecall.esp")).GetName() != "") _Cell_Name_9 = (GetFormFromFile(0x1B135, "MarkAndRecall.esp")).GetName() EndIf If ((GetFormFromFile(0x1B136, "MarkAndRecall.esp")).GetName() != "") _Cell_Name_10 = (GetFormFromFile(0x1B136, "MarkAndRecall.esp")).GetName() EndIf If ((GetFormFromFile(0x1B137, "MarkAndRecall.esp")).GetName() != "") _Cell_Name_11 = (GetFormFromFile(0x1B137, "MarkAndRecall.esp")).GetName() EndIf If ((GetFormFromFile(0x1B138, "MarkAndRecall.esp")).GetName() != "") _Cell_Name_12 = (GetFormFromFile(0x1B138, "MarkAndRecall.esp")).GetName() EndIf If ((GetFormFromFile(0x1B139, "MarkAndRecall.esp")).GetName() != "") _Cell_Name_13 = (GetFormFromFile(0x1B139, "MarkAndRecall.esp")).GetName() EndIf If ((GetFormFromFile(0x1B13A, "MarkAndRecall.esp")).GetName() != "") _Cell_Name_14 = (GetFormFromFile(0x1B13A, "MarkAndRecall.esp")).GetName() EndIf If ((GetFormFromFile(0x1B13B, "MarkAndRecall.esp")).GetName() != "") _Cell_Name_15 = (GetFormFromFile(0x1B13B, "MarkAndRecall.esp")).GetName() EndIf If ((GetFormFromFile(0x1B13C, "MarkAndRecall.esp")).GetName() != "") _Cell_Name_16 = (GetFormFromFile(0x1B13C, "MarkAndRecall.esp")).GetName() EndIf ;==================================== If ((GetFormFromFile(0x1B0FD, "MarkAndRecall.esp")).GetName() != "") _fX_1 = ((GetFormFromFile(0x1B0FD, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B0FE, "MarkAndRecall.esp")).GetName() != "") _fY_1 = ((GetFormFromFile(0x1B0FE, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B0FF, "MarkAndRecall.esp")).GetName() != "") _fZ_1 = ((GetFormFromFile(0x1B0FF, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B100, "MarkAndRecall.esp")).GetName() != "") _fX_2 = ((GetFormFromFile(0x1B100, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B101, "MarkAndRecall.esp")).GetName() != "") _fY_2 = ((GetFormFromFile(0x1B101, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B102, "MarkAndRecall.esp")).GetName() != "") _fZ_2 = ((GetFormFromFile(0x1B102, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B103, "MarkAndRecall.esp")).GetName() != "") _fX_3 = ((GetFormFromFile(0x1B103, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B104, "MarkAndRecall.esp")).GetName() != "") _fY_3 = ((GetFormFromFile(0x1B104, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B105, "MarkAndRecall.esp")).GetName() != "") _fZ_3 = ((GetFormFromFile(0x1B105, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B106, "MarkAndRecall.esp")).GetName() != "") _fX_4 = ((GetFormFromFile(0x1B106, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B107, "MarkAndRecall.esp")).GetName() != "") _fY_4 = ((GetFormFromFile(0x1B107, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B108, "MarkAndRecall.esp")).GetName() != "") _fZ_4 = ((GetFormFromFile(0x1B108, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B109, "MarkAndRecall.esp")).GetName() != "") _fX_5 = ((GetFormFromFile(0x1B109, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B10A, "MarkAndRecall.esp")).GetName() != "") _fY_5 = ((GetFormFromFile(0x1B10A, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B10B, "MarkAndRecall.esp")).GetName() != "") _fZ_5 = ((GetFormFromFile(0x1B10B, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B10C, "MarkAndRecall.esp")).GetName() != "") _fX_6 = ((GetFormFromFile(0x1B10C, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B10D, "MarkAndRecall.esp")).GetName() != "") _fY_6 = ((GetFormFromFile(0x1B10D, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B10E, "MarkAndRecall.esp")).GetName() != "") _fZ_6 = ((GetFormFromFile(0x1B10E, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B10F, "MarkAndRecall.esp")).GetName() != "") _fX_7 = ((GetFormFromFile(0x1B10F, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B110, "MarkAndRecall.esp")).GetName() != "") _fY_7 = ((GetFormFromFile(0x1B110, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B111, "MarkAndRecall.esp")).GetName() != "") _fZ_7 = ((GetFormFromFile(0x1B111, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B112, "MarkAndRecall.esp")).GetName() != "") _fX_8 = ((GetFormFromFile(0x1B112, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B113, "MarkAndRecall.esp")).GetName() != "") _fY_8 = ((GetFormFromFile(0x1B113, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B114, "MarkAndRecall.esp")).GetName() != "") _fZ_8 = ((GetFormFromFile(0x1B114, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B115, "MarkAndRecall.esp")).GetName() != "") _fX_9 = ((GetFormFromFile(0x1B115, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B116, "MarkAndRecall.esp")).GetName() != "") _fY_9 = ((GetFormFromFile(0x1B116, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B117, "MarkAndRecall.esp")).GetName() != "") _fZ_9 = ((GetFormFromFile(0x1B117, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B119, "MarkAndRecall.esp")).GetName() != "") _fX_10 = ((GetFormFromFile(0x1B119, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B120, "MarkAndRecall.esp")).GetName() != "") _fY_10 = ((GetFormFromFile(0x1B120, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B127, "MarkAndRecall.esp")).GetName() != "") _fZ_10 = ((GetFormFromFile(0x1B127, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B11A, "MarkAndRecall.esp")).GetName() != "") _fX_11 = ((GetFormFromFile(0x1B11A, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B121, "MarkAndRecall.esp")).GetName() != "") _fY_11 = ((GetFormFromFile(0x1B121, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B128, "MarkAndRecall.esp")).GetName() != "") _fZ_11 = ((GetFormFromFile(0x1B128, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B11B, "MarkAndRecall.esp")).GetName() != "") _fX_12 = ((GetFormFromFile(0x1B11B, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B122, "MarkAndRecall.esp")).GetName() != "") _fY_12 = ((GetFormFromFile(0x1B122, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B129, "MarkAndRecall.esp")).GetName() != "") _fZ_12 = ((GetFormFromFile(0x1B129, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B11C, "MarkAndRecall.esp")).GetName() != "") _fX_13 = ((GetFormFromFile(0x1B11C, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B123, "MarkAndRecall.esp")).GetName() != "") _fY_13 = ((GetFormFromFile(0x1B123, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B12A, "MarkAndRecall.esp")).GetName() != "") _fZ_13 = ((GetFormFromFile(0x1B12A, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B11D, "MarkAndRecall.esp")).GetName() != "") _fX_14 = ((GetFormFromFile(0x1B11D, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B124, "MarkAndRecall.esp")).GetName() != "") _fY_14 = ((GetFormFromFile(0x1B124, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B12B, "MarkAndRecall.esp")).GetName() != "") _fZ_14 = ((GetFormFromFile(0x1B12B, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B11E, "MarkAndRecall.esp")).GetName() != "") _fX_15 = ((GetFormFromFile(0x1B11E, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B125, "MarkAndRecall.esp")).GetName() != "") _fY_15 = ((GetFormFromFile(0x1B125, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B12C, "MarkAndRecall.esp")).GetName() != "") _fZ_15 = ((GetFormFromFile(0x1B12C, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B11F, "MarkAndRecall.esp")).GetName() != "") _fX_16 = ((GetFormFromFile(0x1B11F, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B126, "MarkAndRecall.esp")).GetName() != "") _fY_16 = ((GetFormFromFile(0x1B126, "MarkAndRecall.esp")).GetName() as float) EndIf If ((GetFormFromFile(0x1B12D, "MarkAndRecall.esp")).GetName() != "") _fZ_16 = ((GetFormFromFile(0x1B12D, "MarkAndRecall.esp")).GetName() as float) EndIf EndIf ;==================================== If ((GetFormFromFile(0x1B0ED, "MarkAndRecall.esp")).GetName() != "") _IsNameSet1 = ((GetFormFromFile(0x1B0ED, "MarkAndRecall.esp")).GetName() as int) EndIf If ((GetFormFromFile(0x1B0EE, "MarkAndRecall.esp")).GetName() != "") _IsNameSet2 = ((GetFormFromFile(0x1B0EE, "MarkAndRecall.esp")).GetName() as int) EndIf If ((GetFormFromFile(0x1B0EF, "MarkAndRecall.esp")).GetName() != "") _IsNameSet3 = ((GetFormFromFile(0x1B0EF, "MarkAndRecall.esp")).GetName() as int) EndIf If ((GetFormFromFile(0x1B0F0, "MarkAndRecall.esp")).GetName() != "") _IsNameSet4 = ((GetFormFromFile(0x1B0F0, "MarkAndRecall.esp")).GetName() as int) EndIf If ((GetFormFromFile(0x1B0F1, "MarkAndRecall.esp")).GetName() != "") _IsNameSet5 = ((GetFormFromFile(0x1B0F1, "MarkAndRecall.esp")).GetName() as int) EndIf If ((GetFormFromFile(0x1B0F2, "MarkAndRecall.esp")).GetName() != "") _IsNameSet6 = ((GetFormFromFile(0x1B0F2, "MarkAndRecall.esp")).GetName() as int) EndIf If ((GetFormFromFile(0x1B0F3, "MarkAndRecall.esp")).GetName() != "") _IsNameSet7 = ((GetFormFromFile(0x1B0F3, "MarkAndRecall.esp")).GetName() as int) EndIf If ((GetFormFromFile(0x1B0F4, "MarkAndRecall.esp")).GetName() != "") _IsNameSet8 = ((GetFormFromFile(0x1B0F4, "MarkAndRecall.esp")).GetName() as int) EndIf If ((GetFormFromFile(0x1B0F5, "MarkAndRecall.esp")).GetName() != "") _IsNameSet9 = ((GetFormFromFile(0x1B0F5, "MarkAndRecall.esp")).GetName() as int) EndIf If ((GetFormFromFile(0x1B0F6, "MarkAndRecall.esp")).GetName() != "") _IsNameSet10 = ((GetFormFromFile(0x1B0F6, "MarkAndRecall.esp")).GetName() as int) EndIf If ((GetFormFromFile(0x1B0F7, "MarkAndRecall.esp")).GetName() != "") _IsNameSet11 = ((GetFormFromFile(0x1B0F7, "MarkAndRecall.esp")).GetName() as int) EndIf If ((GetFormFromFile(0x1B0F8, "MarkAndRecall.esp")).GetName() != "") _IsNameSet12 = ((GetFormFromFile(0x1B0F8, "MarkAndRecall.esp")).GetName() as int) EndIf If ((GetFormFromFile(0x1B0F9, "MarkAndRecall.esp")).GetName() != "") _IsNameSet13 = ((GetFormFromFile(0x1B0F9, "MarkAndRecall.esp")).GetName() as int) EndIf If ((GetFormFromFile(0x1B0FA, "MarkAndRecall.esp")).GetName() != "") _IsNameSet14 = ((GetFormFromFile(0x1B0FA, "MarkAndRecall.esp")).GetName() as int) EndIf If ((GetFormFromFile(0x1B0FB, "MarkAndRecall.esp")).GetName() != "") _IsNameSet15 = ((GetFormFromFile(0x1B0FB, "MarkAndRecall.esp")).GetName() as int) EndIf if ((GetFormFromFile(0x1B0FC, "MarkAndRecall.esp")).GetName() != "") _IsNameSet16 = ((GetFormFromFile(0x1B0FC, "MarkAndRecall.esp")).GetName() as int) endif ;====================================\ if ((GetFormFromFile(0x12484, "MarkAndRecall.esp")).GetName() != "") if(bIsIdentical((GetFormFromFile(0x12484, "MarkAndRecall.esp")).GetName(), _Recall_1_Name) == false) _Recall_1_Name = (GetFormFromFile(0x12484, "MarkAndRecall.esp")).GetName() endif endif if ((GetFormFromFile(0x12485, "MarkAndRecall.esp")).GetName() != "") if(bIsIdentical((GetFormFromFile(0x12485, "MarkAndRecall.esp")).GetName(), Recall2Name) == false) Recall2Name = (GetFormFromFile(0x12485, "MarkAndRecall.esp")).GetName() endif endif if ((GetFormFromFile(0x12486, "MarkAndRecall.esp")).GetName() != "") if(bIsIdentical((GetFormFromFile(0x12486, "MarkAndRecall.esp")).GetName(), Recall3Name) == false) Recall3Name = (GetFormFromFile(0x12486, "MarkAndRecall.esp")).GetName() endif endif if ((GetFormFromFile(0x12487, "MarkAndRecall.esp")).GetName() != "") if(bIsIdentical((GetFormFromFile(0x12487, "MarkAndRecall.esp")).GetName(), Recall4Name) == false) Recall4Name = (GetFormFromFile(0x12487, "MarkAndRecall.esp")).GetName() endif endif if ((GetFormFromFile(0x12488, "MarkAndRecall.esp")).GetName() != "") if(bIsIdentical((GetFormFromFile(0x12488, "MarkAndRecall.esp")).GetName(), Recall5Name) == false) Recall5Name = (GetFormFromFile(0x12488, "MarkAndRecall.esp")).GetName() endif endif if ((GetFormFromFile(0x12489, "MarkAndRecall.esp")).GetName() != "") if(bIsIdentical((GetFormFromFile(0x12489, "MarkAndRecall.esp")).GetName(), Recall6Name) == false) Recall6Name = (GetFormFromFile(0x12489, "MarkAndRecall.esp")).GetName() endif endif if ((GetFormFromFile(0x1248A, "MarkAndRecall.esp")).GetName() != "") if(bIsIdentical((GetFormFromFile(0x1248A, "MarkAndRecall.esp")).GetName(), Recall7Name) == false) Recall7Name = (GetFormFromFile(0x1248A, "MarkAndRecall.esp")).GetName() endif endif if ((GetFormFromFile(0x1248B, "MarkAndRecall.esp")).GetName() != "") if(bIsIdentical((GetFormFromFile(0x1248B, "MarkAndRecall.esp")).GetName(), Recall8Name) == false) Recall8Name = (GetFormFromFile(0x1248B, "MarkAndRecall.esp")).GetName() endif endif if ((GetFormFromFile(0x1248C, "MarkAndRecall.esp")).GetName() != "") if(bIsIdentical((GetFormFromFile(0x1248C, "MarkAndRecall.esp")).GetName(), Recall9Name) == false) Recall9Name = (GetFormFromFile(0x1248C, "MarkAndRecall.esp")).GetName() endif endif if ((GetFormFromFile(0x1248D, "MarkAndRecall.esp")).GetName() != "") if(bIsIdentical((GetFormFromFile(0x1248D, "MarkAndRecall.esp")).GetName(), Recall10Name) == false) Recall10Name = (GetFormFromFile(0x1248D, "MarkAndRecall.esp")).GetName() endif endif if ((GetFormFromFile(0x1248E, "MarkAndRecall.esp")).GetName() != "") if(bIsIdentical((GetFormFromFile(0x1248E, "MarkAndRecall.esp")).GetName(), Recall11Name) == false) Recall11Name = (GetFormFromFile(0x1248E, "MarkAndRecall.esp")).GetName() endif endif if ((GetFormFromFile(0x1248F, "MarkAndRecall.esp")).GetName() != "") if(bIsIdentical((GetFormFromFile(0x1248F, "MarkAndRecall.esp")).GetName(), Recall12Name) == false) Recall12Name = (GetFormFromFile(0x1248F, "MarkAndRecall.esp")).GetName() endif endif if ((GetFormFromFile(0x12490, "MarkAndRecall.esp")).GetName() != "") if(bIsIdentical((GetFormFromFile(0x12490, "MarkAndRecall.esp")).GetName(), Recall13Name) == false) Recall13Name = (GetFormFromFile(0x12490, "MarkAndRecall.esp")).GetName() endif endif if ((GetFormFromFile(0x12491, "MarkAndRecall.esp")).GetName() != "") if(bIsIdentical((GetFormFromFile(0x12491, "MarkAndRecall.esp")).GetName(), Recall14Name) == false) Recall14Name = (GetFormFromFile(0x12491, "MarkAndRecall.esp")).GetName() endif endif if ((GetFormFromFile(0x12492, "MarkAndRecall.esp")).GetName() != "") if(bIsIdentical((GetFormFromFile(0x12492, "MarkAndRecall.esp")).GetName(), Recall15Name) == false) Recall15Name = (GetFormFromFile(0x12492, "MarkAndRecall.esp")).GetName() endif endif if ((GetFormFromFile(0x12493, "MarkAndRecall.esp")).GetName() != "") if(bIsIdentical((GetFormFromFile(0x12493, "MarkAndRecall.esp")).GetName(), Recall16Name) == false) Recall16Name = (GetFormFromFile(0x12493, "MarkAndRecall.esp")).GetName() endif endif ;==================================== jsonutil.SetPathIntValue(settings_path, "IsNameSet_1", _IsNameSet1) jsonutil.SetPathIntValue(settings_path, "IsNameSet_2", _IsNameSet2) jsonutil.SetPathIntValue(settings_path, "IsNameSet_3", _IsNameSet3) jsonutil.SetPathIntValue(settings_path, "IsNameSet_4", _IsNameSet4) jsonutil.SetPathIntValue(settings_path, "IsNameSet_5", _IsNameSet5) jsonutil.SetPathIntValue(settings_path, "IsNameSet_6", _IsNameSet6) jsonutil.SetPathIntValue(settings_path, "IsNameSet_7", _IsNameSet7) jsonutil.SetPathIntValue(settings_path, "IsNameSet_8", _IsNameSet8) jsonutil.SetPathIntValue(settings_path, "IsNameSet_9", _IsNameSet9) jsonutil.SetPathIntValue(settings_path, "IsNameSet_10", _IsNameSet10) jsonutil.SetPathIntValue(settings_path, "IsNameSet_11", _IsNameSet11) jsonutil.SetPathIntValue(settings_path, "IsNameSet_12", _IsNameSet12) jsonutil.SetPathIntValue(settings_path, "IsNameSet_13", _IsNameSet13) jsonutil.SetPathIntValue(settings_path, "IsNameSet_14", _IsNameSet14) jsonutil.SetPathIntValue(settings_path, "IsNameSet_15", _IsNameSet15) jsonutil.SetPathIntValue(settings_path, "IsNameSet_16", _IsNameSet16) ;==================================== If(IsAllowed == true) jsonutil.SetPathFloatValue(settings_path, "_fX_1", _fX_1) jsonutil.SetPathFloatValue(settings_path, "_fY_1", _fY_1) jsonutil.SetPathFloatValue(settings_path, "_fZ_1", _fZ_1) jsonutil.SetPathFloatValue(settings_path, "_fX_2", _fX_2) jsonutil.SetPathFloatValue(settings_path, "_fY_2", _fY_2) jsonutil.SetPathFloatValue(settings_path, "_fZ_2", _fZ_2) jsonutil.SetPathFloatValue(settings_path, "_fX_3", _fX_3) jsonutil.SetPathFloatValue(settings_path, "_fY_3", _fY_3) jsonutil.SetPathFloatValue(settings_path, "_fZ_3", _fZ_3) jsonutil.SetPathFloatValue(settings_path, "_fX_4", _fX_4) jsonutil.SetPathFloatValue(settings_path, "_fY_4", _fY_4) jsonutil.SetPathFloatValue(settings_path, "_fZ_4", _fZ_4) jsonutil.SetPathFloatValue(settings_path, "_fX_5", _fX_5) jsonutil.SetPathFloatValue(settings_path, "_fY_5", _fY_5) jsonutil.SetPathFloatValue(settings_path, "_fZ_5", _fZ_5) jsonutil.SetPathFloatValue(settings_path, "_fX_6", _fX_6) jsonutil.SetPathFloatValue(settings_path, "_fY_6", _fY_6) jsonutil.SetPathFloatValue(settings_path, "_fZ_6", _fZ_6) jsonutil.SetPathFloatValue(settings_path, "_fX_7", _fX_7) jsonutil.SetPathFloatValue(settings_path, "_fY_7", _fY_7) jsonutil.SetPathFloatValue(settings_path, "_fZ_7", _fZ_7) jsonutil.SetPathFloatValue(settings_path, "_fX_8", _fX_8) jsonutil.SetPathFloatValue(settings_path, "_fY_8", _fY_8) jsonutil.SetPathFloatValue(settings_path, "_fZ_8", _fZ_8) jsonutil.SetPathFloatValue(settings_path, "_fX_9", _fX_9) jsonutil.SetPathFloatValue(settings_path, "_fY_9", _fY_9) jsonutil.SetPathFloatValue(settings_path, "_fZ_9", _fZ_9) jsonutil.SetPathFloatValue(settings_path, "_fX_10", _fX_10) jsonutil.SetPathFloatValue(settings_path, "_fY_10", _fY_10) jsonutil.SetPathFloatValue(settings_path, "_fZ_10", _fZ_10) jsonutil.SetPathFloatValue(settings_path, "_fX_11", _fX_11) jsonutil.SetPathFloatValue(settings_path, "_fY_11", _fY_11) jsonutil.SetPathFloatValue(settings_path, "_fZ_11", _fZ_11) jsonutil.SetPathFloatValue(settings_path, "_fX_12", _fX_12) jsonutil.SetPathFloatValue(settings_path, "_fY_12", _fY_12) jsonutil.SetPathFloatValue(settings_path, "_fZ_12", _fZ_12) jsonutil.SetPathFloatValue(settings_path, "_fX_13", _fX_13) jsonutil.SetPathFloatValue(settings_path, "_fY_13", _fY_13) jsonutil.SetPathFloatValue(settings_path, "_fZ_13", _fZ_13) jsonutil.SetPathFloatValue(settings_path, "_fX_14", _fX_14) jsonutil.SetPathFloatValue(settings_path, "_fY_14", _fY_14) jsonutil.SetPathFloatValue(settings_path, "_fZ_14", _fZ_14) jsonutil.SetPathFloatValue(settings_path, "_fX_15", _fX_15) jsonutil.SetPathFloatValue(settings_path, "_fY_15", _fY_15) jsonutil.SetPathFloatValue(settings_path, "_fZ_15", _fZ_15) jsonutil.SetPathFloatValue(settings_path, "_fX_16", _fX_16) jsonutil.SetPathFloatValue(settings_path, "_fY_16", _fY_16) jsonutil.SetPathFloatValue(settings_path, "_fZ_16", _fZ_16) if (_Cell_Name_1 != "") jsonutil.SetPathStringValue(settings_path, "_Cell_Name_1", _Cell_Name_1) endif if (_Cell_Name_2 != "") jsonutil.SetPathStringValue(settings_path, "_Cell_Name_2", _Cell_Name_2) endif if (_Cell_Name_3 != "") jsonutil.SetPathStringValue(settings_path, "_Cell_Name_3", _Cell_Name_3) endif if (_Cell_Name_4 != "") jsonutil.SetPathStringValue(settings_path, "_Cell_Name_4", _Cell_Name_4) endif if (_Cell_Name_5 != "") jsonutil.SetPathStringValue(settings_path, "_Cell_Name_5", _Cell_Name_5) endif if (_Cell_Name_6 != "") jsonutil.SetPathStringValue(settings_path, "_Cell_Name_6", _Cell_Name_6) endif if (_Cell_Name_7 != "") jsonutil.SetPathStringValue(settings_path, "_Cell_Name_7", _Cell_Name_7) endif if (_Cell_Name_8 != "") jsonutil.SetPathStringValue(settings_path, "_Cell_Name_8", _Cell_Name_8) endif if (_Cell_Name_9 != "") jsonutil.SetPathStringValue(settings_path, "_Cell_Name_9", _Cell_Name_9) endif if (_Cell_Name_10 != "") jsonutil.SetPathStringValue(settings_path, "_Cell_Name_10", _Cell_Name_10) endif if (_Cell_Name_11 != "") jsonutil.SetPathStringValue(settings_path, "_Cell_Name_11", _Cell_Name_11) endif if (_Cell_Name_12 != "") jsonutil.SetPathStringValue(settings_path, "_Cell_Name_12", _Cell_Name_12) endif if (_Cell_Name_13 != "") jsonutil.SetPathStringValue(settings_path, "_Cell_Name_13", _Cell_Name_13) endif if (_Cell_Name_14 != "") jsonutil.SetPathStringValue(settings_path, "_Cell_Name_14", _Cell_Name_14) endif if (_Cell_Name_15 != "") jsonutil.SetPathStringValue(settings_path, "_Cell_Name_15", _Cell_Name_15) endif if (_Cell_Name_16 != "") jsonutil.SetPathStringValue(settings_path, "_Cell_Name_16", _Cell_Name_16) endif EndIf ;==================================== if (_Recall_1_Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_1_Name", _Recall_1_Name) endif if (Recall2Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_2_Name", Recall2Name) endif if (Recall3Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_3_Name", Recall3Name) endif if (Recall4Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_4_Name", Recall4Name) endif if (Recall5Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_5_Name", Recall5Name) endif if (Recall6Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_6_Name", Recall6Name) endif if (Recall7Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_7_Name", Recall7Name) endif if (Recall8Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_8_Name", Recall8Name) endif if (Recall9Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_9_Name", Recall9Name) endif if (Recall10Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_10_Name", Recall10Name) endif if (Recall11Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_11_Name", Recall11Name) endif if (Recall12Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_12_Name", Recall12Name) endif if (Recall13Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_13_Name", Recall13Name) endif if (Recall14Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_14_Name", Recall14Name) endif if (Recall15Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_15_Name", Recall15Name) endif if (Recall16Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_16_Name", Recall16Name) endif if !jsonutil.Save(settings_path, false) Trace("MAR: Error saving user settings.", 0) return false endIf bSaveUserSettings = false return true endFunction Bool function ClearAlternateRecallNames() If(IsAllowed == false) (GetFormFromFile(0x1B118, "MarkAndRecall.esp")).SetName("") (GetFormFromFile(0x1B12E, "MarkAndRecall.esp")).SetName("") (GetFormFromFile(0x1B12F, "MarkAndRecall.esp")).SetName("") (GetFormFromFile(0x1B130, "MarkAndRecall.esp")).SetName("") (GetFormFromFile(0x1B131, "MarkAndRecall.esp")).SetName("") (GetFormFromFile(0x1B132, "MarkAndRecall.esp")).SetName("") (GetFormFromFile(0x1B133, "MarkAndRecall.esp")).SetName("") (GetFormFromFile(0x1B134, "MarkAndRecall.esp")).SetName("") (GetFormFromFile(0x1B135, "MarkAndRecall.esp")).SetName("") (GetFormFromFile(0x1B136, "MarkAndRecall.esp")).SetName("") (GetFormFromFile(0x1B137, "MarkAndRecall.esp")).SetName("") (GetFormFromFile(0x1B138, "MarkAndRecall.esp")).SetName("") (GetFormFromFile(0x1B139, "MarkAndRecall.esp")).SetName("") (GetFormFromFile(0x1B13A, "MarkAndRecall.esp")).SetName("") (GetFormFromFile(0x1B13B, "MarkAndRecall.esp")).SetName("") (GetFormFromFile(0x1B13C, "MarkAndRecall.esp")).SetName("") ;============================================================================= _Cell_Name_1 = (GetFormFromFile(0x1B118, "MarkAndRecall.esp")).GetName() _Cell_Name_2 = (GetFormFromFile(0x1B12E, "MarkAndRecall.esp")).GetName() _Cell_Name_3 = (GetFormFromFile(0x1B12F, "MarkAndRecall.esp")).GetName() _Cell_Name_4 = (GetFormFromFile(0x1B130, "MarkAndRecall.esp")).GetName() _Cell_Name_5 = (GetFormFromFile(0x1B131, "MarkAndRecall.esp")).GetName() _Cell_Name_6 = (GetFormFromFile(0x1B132, "MarkAndRecall.esp")).GetName() _Cell_Name_7 = (GetFormFromFile(0x1B133, "MarkAndRecall.esp")).GetName() _Cell_Name_8 = (GetFormFromFile(0x1B134, "MarkAndRecall.esp")).GetName() _Cell_Name_9 = (GetFormFromFile(0x1B135, "MarkAndRecall.esp")).GetName() _Cell_Name_10 = (GetFormFromFile(0x1B136, "MarkAndRecall.esp")).GetName() _Cell_Name_11 = (GetFormFromFile(0x1B137, "MarkAndRecall.esp")).GetName() _Cell_Name_12 = (GetFormFromFile(0x1B138, "MarkAndRecall.esp")).GetName() _Cell_Name_13 = (GetFormFromFile(0x1B139, "MarkAndRecall.esp")).GetName() _Cell_Name_14 = (GetFormFromFile(0x1B13A, "MarkAndRecall.esp")).GetName() _Cell_Name_15 = (GetFormFromFile(0x1B13B, "MarkAndRecall.esp")).GetName() _Cell_Name_16 = (GetFormFromFile(0x1B13C, "MarkAndRecall.esp")).GetName() ;============================================================================= jsonutil.SetPathStringValue(settings_path, "_Cell_Name_1", _Cell_Name_1) jsonutil.SetPathStringValue(settings_path, "_Cell_Name_2", _Cell_Name_2) jsonutil.SetPathStringValue(settings_path, "_Cell_Name_3", _Cell_Name_3) jsonutil.SetPathStringValue(settings_path, "_Cell_Name_4", _Cell_Name_4) jsonutil.SetPathStringValue(settings_path, "_Cell_Name_5", _Cell_Name_5) jsonutil.SetPathStringValue(settings_path, "_Cell_Name_6", _Cell_Name_6) jsonutil.SetPathStringValue(settings_path, "_Cell_Name_7", _Cell_Name_7) jsonutil.SetPathStringValue(settings_path, "_Cell_Name_8", _Cell_Name_8) jsonutil.SetPathStringValue(settings_path, "_Cell_Name_9", _Cell_Name_9) jsonutil.SetPathStringValue(settings_path, "_Cell_Name_10", _Cell_Name_10) jsonutil.SetPathStringValue(settings_path, "_Cell_Name_11", _Cell_Name_11) jsonutil.SetPathStringValue(settings_path, "_Cell_Name_12", _Cell_Name_12) jsonutil.SetPathStringValue(settings_path, "_Cell_Name_13", _Cell_Name_13) jsonutil.SetPathStringValue(settings_path, "_Cell_Name_14", _Cell_Name_14) jsonutil.SetPathStringValue(settings_path, "_Cell_Name_15", _Cell_Name_15) jsonutil.SetPathStringValue(settings_path, "_Cell_Name_16", _Cell_Name_16) EndIf ;==================================== if !jsonutil.Save(settings_path, false) Trace("MAR: Error saving user settings.", 0) return false endIf return true endFunction ;/ ; Checks to see if the specified objective is displayed bool Function IsObjectiveDisplayed(int aiObjective) native Sets the specified objective to completed or not SetObjectiveCompleted(int aiObjective, bool abCompleted = true) native Sets the specified objective to displayed or hidden - if abForce is true, will display the objective even if it has already been displayed SetObjectiveDisplayed(int aiObjective, bool abDisplayed = true, bool abForce = false) native Sets the specified objective to failed or not SetObjectiveFailed(int aiObjective, bool abFailed = true) native /; Function RecallDisplayed(ObjectReference ORef, int i) aORef = new ReferenceAlias[16] aORef[1] = Recall1 aORef[2] = Recall2 aORef[3] = Recall3 aORef[4] = Recall4 aORef[5] = Recall5 aORef[6] = Recall6 aORef[7] = Recall7 aORef[8] = Recall8 aORef[9] = Recall9 aORef[10] = Recall10 aORef[11] = Recall11 aORef[12] = Recall12 aORef[13] = Recall13 aORef[14] = Recall14 aORef[15] = Recall15 aORef[16] = Recall16 If (ORef) If (ORef.GetParentCell() != MarkAndRecallScript.IgnoreCell) (self.GetNthAlias(i) as ReferenceAlias).GetRef().SetDisplayName(ORef.GetDisplayName(), true) If (self.IsObjectiveDisplayed(i) == false) self.SetObjectiveDisplayed(i, true, true) EndIf EndIf EndIf If(bGetCurrentLanguage() == true) Show_Notification("Маркер добавлен на карту.", "#00FF00") Else Show_Notification("The marker has been added to the map.", "#00FF00") EndIf EndFunction Function UpdateRecallsNames() String RecallName String CellName ReferenceAlias refAlias int iIndex sNames = new String[16] aORef = new ReferenceAlias[16] sNames[1] = Recall1Name sNames[2] = Recall2Name sNames[3] = Recall3Name sNames[4] = Recall4Name sNames[5] = Recall5Name sNames[6] = Recall6Name sNames[7] = Recall7Name sNames[8] = Recall8Name sNames[9] = Recall9Name sNames[10] = Recall10Name sNames[11] = Recall11Name sNames[12] = Recall12Name sNames[13] = Recall13Name sNames[14] = Recall14Name sNames[15] = Recall15Name sNames[16] = Recall16Name aORef[1] = Recall1 aORef[2] = Recall2 aORef[3] = Recall3 aORef[4] = Recall4 aORef[5] = Recall5 aORef[6] = Recall6 aORef[7] = Recall7 aORef[8] = Recall8 aORef[9] = Recall9 aORef[10] = Recall10 aORef[11] = Recall11 aORef[12] = Recall12 aORef[13] = Recall13 aORef[14] = Recall14 aORef[15] = Recall15 aORef[16] = Recall16 iIndex = 1 while iIndex <= 16;self.GetNumAliases() refAlias = self.GetNthAlias(iIndex) as ReferenceAlias if refAlias.GetRef() == none refAlias.ForceRefTo(aORef[iIndex].GetRef()) If(bGetCurrentLanguage() == true) RecallName = "Пусто" Else RecallName = "Empty" EndIf if aORef[iIndex].GetRef() == none endif if (aORef[iIndex].GetRef().GetParentCell().IsInterior() == 0) sCN[iIndex] = aORef[iIndex].GetRef().GetCurrentLocation().GetName() ElseIf (aORef[iIndex].GetRef().GetParentCell().IsInterior() == 1) sCN[iIndex] = aORef[iIndex].GetRef().GetParentCell().GetName() EndIf If (GetCellNameIdentical(aORef[iIndex].GetRef(), sCN[iIndex], sNames[iIndex]) == false) sNames[iIndex] = GetCellName(aORef[iIndex].GetRef(), sCN[iIndex], sNames[iIndex]) if sNames[iIndex] == "Mark And Recall Markers Cell" sNames[iIndex] = RecallName endif endif (self.GetNthAlias(iIndex) as ReferenceAlias).GetRef().SetDisplayName(sNames[iIndex], true) return ElseIf (refAlias.GetRef()) If(bGetCurrentLanguage() == true) RecallName = "Пусто" Else RecallName = "Empty" EndIf if (aORef[iIndex].GetRef().GetParentCell().IsInterior() == 0) sCN[iIndex] = aORef[iIndex].GetRef().GetCurrentLocation().GetName() ElseIf (aORef[iIndex].GetRef().GetParentCell().IsInterior() == 1) sCN[iIndex] = aORef[iIndex].GetRef().GetParentCell().GetName() EndIf If (GetCellNameIdentical(aORef[iIndex].GetRef(), sCN[iIndex], sNames[iIndex]) == false) sNames[iIndex] = GetCellName(aORef[iIndex].GetRef(), sCN[iIndex], sNames[iIndex]) if sNames[iIndex] == "Mark And Recall Markers Cell" sNames[iIndex] = RecallName endif endif (self.GetNthAlias(iIndex) as ReferenceAlias).GetRef().SetDisplayName(sNames[iIndex], true) endIf Recall1Name = sNames[1] Recall2Name = sNames[2] Recall3Name = sNames[3] Recall4Name = sNames[4] Recall5Name = sNames[5] Recall6Name = sNames[6] Recall7Name = sNames[7] Recall8Name = sNames[8] Recall9Name = sNames[9] Recall10Name = sNames[10] Recall11Name = sNames[11] Recall12Name = sNames[12] Recall13Name = sNames[13] Recall14Name = sNames[14] Recall15Name = sNames[15] Recall16Name = sNames[16] iIndex += 1 endWhile EndFunction Function RecallsDisplayed() String RecallName String CellName ReferenceAlias refAlias int iIndex sNames = new String[16] aORef = new ReferenceAlias[16] sNames[1] = Recall1Name sNames[2] = Recall2Name sNames[3] = Recall3Name sNames[4] = Recall4Name sNames[5] = Recall5Name sNames[6] = Recall6Name sNames[7] = Recall7Name sNames[8] = Recall8Name sNames[9] = Recall9Name sNames[10] = Recall10Name sNames[11] = Recall11Name sNames[12] = Recall12Name sNames[13] = Recall13Name sNames[14] = Recall14Name sNames[15] = Recall15Name sNames[16] = Recall16Name aORef[1] = Recall1 aORef[2] = Recall2 aORef[3] = Recall3 aORef[4] = Recall4 aORef[5] = Recall5 aORef[6] = Recall6 aORef[7] = Recall7 aORef[8] = Recall8 aORef[9] = Recall9 aORef[10] = Recall10 aORef[11] = Recall11 aORef[12] = Recall12 aORef[13] = Recall13 aORef[14] = Recall14 aORef[15] = Recall15 aORef[16] = Recall16 iIndex = 1 while iIndex <= 16;self.GetNumAliases() refAlias = self.GetNthAlias(iIndex) as ReferenceAlias if refAlias.GetRef() == none refAlias.ForceRefTo(aORef[iIndex].GetRef()) If(bGetCurrentLanguage() == true) RecallName = "Пусто" Else RecallName = "Empty" EndIf if aORef[iIndex].GetRef() == none ;aORef[iIndex].ForceRefTo(aORef[iIndex].GetRef()) endif if (aORef[iIndex].GetRef().GetParentCell().IsInterior() == 0) sCN[iIndex] = aORef[iIndex].GetRef().GetCurrentLocation().GetName() ElseIf (aORef[iIndex].GetRef().GetParentCell().IsInterior() == 1) sCN[iIndex] = aORef[iIndex].GetRef().GetParentCell().GetName() EndIf If (GetCellNameIdentical(aORef[iIndex].GetRef(), sCN[iIndex], sNames[iIndex]) == false) sNames[iIndex] = GetCellName(aORef[iIndex].GetRef(), sCN[iIndex], sNames[iIndex]) if sNames[iIndex] == "Mark And Recall Markers Cell" sNames[iIndex] = RecallName endif endif (self.GetNthAlias(iIndex) as ReferenceAlias).GetRef().SetDisplayName(sNames[iIndex], true) if((self.GetNthAlias(iIndex) as ReferenceAlias).GetRef().GetDisplayName() != RecallName) If (self.IsObjectiveDisplayed(iIndex) == false) self.SetObjectiveDisplayed(iIndex, true, true) ;DebugNotification("aORef Name if null: " + " " + iIndex + " " + (self.GetNthAlias(iIndex) as ReferenceAlias).GetRef().GetDisplayName()) EndIf endif return ElseIf (refAlias.GetRef()) If(bGetCurrentLanguage() == true) RecallName = "Пусто" Else RecallName = "Empty" EndIf if (aORef[iIndex].GetRef().GetParentCell().IsInterior() == 0) sCN[iIndex] = aORef[iIndex].GetRef().GetCurrentLocation().GetName() ;DebugNotification("GetCurrentLocation: " + " " + iIndex + " " + aORef[iIndex].GetRef().GetCurrentLocation().GetName()) ElseIf (aORef[iIndex].GetRef().GetParentCell().IsInterior() == 1) sCN[iIndex] = aORef[iIndex].GetRef().GetParentCell().GetName() ;DebugNotification("GetParentCell: " + " " + iIndex + " " + aORef[iIndex].GetRef().GetParentCell().GetName()) EndIf If (GetCellNameIdentical(aORef[iIndex].GetRef(), sCN[iIndex], sNames[iIndex]) == false) sNames[iIndex] = GetCellName(aORef[iIndex].GetRef(), sCN[iIndex], sNames[iIndex]) if sNames[iIndex] == "Mark And Recall Markers Cell" sNames[iIndex] = RecallName ;DebugNotification("sNames: " + " " + iIndex + " " + sNames[iIndex]) endif endif (self.GetNthAlias(iIndex) as ReferenceAlias).GetRef().SetDisplayName(sNames[iIndex], true) if((self.GetNthAlias(iIndex) as ReferenceAlias).GetRef().GetDisplayName() != RecallName) If (self.IsObjectiveDisplayed(iIndex) == false) self.SetObjectiveDisplayed(iIndex, true, true) ;If(bGetCurrentLanguage() == true) ; Show_Notification("Маркер добавлен на карту.", "#00FF00") ;Else ; Show_Notification("The marker has been added to the map.", "#00FF00") ;EndIf ;DebugNotification("aORef Name: " + " " + iIndex + " " + (self.GetNthAlias(iIndex) as ReferenceAlias).GetRef().GetDisplayName()) EndIf endif endIf Recall1Name = sNames[1] Recall2Name = sNames[2] Recall3Name = sNames[3] Recall4Name = sNames[4] Recall5Name = sNames[5] Recall6Name = sNames[6] Recall7Name = sNames[7] Recall8Name = sNames[8] Recall9Name = sNames[9] Recall10Name = sNames[10] Recall11Name = sNames[11] Recall12Name = sNames[12] Recall13Name = sNames[13] Recall14Name = sNames[14] Recall15Name = sNames[15] Recall16Name = sNames[16] iIndex += 1 endWhile EndFunction Function RecallCompleted(ObjectReference ORef, int i) If (ORef) If (ORef.GetParentCell() != MarkAndRecallScript.IgnoreCell) self.SetObjectiveCompleted(i, true) EndIf EndIf EndFunction ;(self.GetNthAlias(iIndex) as ReferenceAlias).GetRef().SetDisplayName(ORef.GetDisplayName(), true) ;/ Function RecallDisplayed(ObjectReference ORef, int i) ReferenceAlias refAlias int iIndex If (ORef) If (ORef.GetParentCell() != MarkAndRecallScript.IgnoreCell) iIndex = 1 while iIndex < self.GetNumAliases() refAlias = self.GetNthAlias(iIndex) as ReferenceAlias if refAlias.GetRef() == none refAlias.ForceRefTo(ORef) refAlias.GetRef().SetDisplayName(ORef.GetDisplayName(), true) self.SetObjectiveDisplayed(iIndex, true, true) Notification("Маркер добавлен на карту") return ElseIf refAlias.GetRef() refAlias.GetRef().SetDisplayName(ORef.GetDisplayName(), true) DebugNotification("GetDisplayName refAlias " + refAlias.GetRef().GetDisplayName self.SetObjectiveDisplayed(iIndex, true, true) Notification("Маркер добавлен на карту") endIf iIndex += 1 endWhile EndIf EndIf EndFunction https://www.creationkit.com/index.php?title=OnInit Тут внизу написано.
aaa112aaa Опубликовано 28 октября, 2021 Опубликовано 28 октября, 2021 (изменено) И снова здравствуйте. Отредактировано. Уже понял как. Изменено 28 октября, 2021 пользователем aaa112aaa
aaa112aaa Опубликовано 3 ноября, 2021 Опубликовано 3 ноября, 2021 (изменено) И снова здравствуйте. Почему когда добавляю новые формы в FormList, старые пропадают, не помню уже все или только часть, вчера в игре тестировал, сегодня ещё нет. Вчера ранее добавленный в список COCMarkerHeading после перемещения в другую область скайрима и нового сканирования, пропадает из списка, хотя я так понимаю список должен хранить ранее добавленные формы... Вот функция сканирования COCMarkerHeading в радиусе и добавления в форм лист. ScanCOCMH Function ScanCOCMH() ; MarkAndRecalCOCAliaslQuest ; MARCOCAliaslScript ; CC816 ; MarkAndRecalCOCList ; CC817 MarkAndRecalCOCList = ((GetFormFromFile(0xCC817, "MarkAndRecall.esp")) as FormList) Quest MarkAndRecalCOCAliaslQuest = ((GetFormFromFile(0xCC816, "MarkAndRecall.esp")) as Quest) ReferenceAlias[] refAlias int[] _iRefID int iCOC = 0 int iIndex = 0 ;Scan ;GetPlayer().MoveTo( GetFormEx(iRefID) as ObjectReference ) ;while iIndex <= iCOCMaxArrayIndex while iIndex <= iCOCMaxArrayIndex iCOC = (iIndex - 1) TempCOCMH[iIndex] = PO3_SKSEFunctions.FindAllReferencesOfType(GetPlayer(), GetFormFromFile(0x000032, "Skyrim.esm"), 10000000000000000000000000000000000000000000000000)[iIndex] If ((TempCOCMH[iIndex].GetFormID() as int) != (TempCOCMH[iCOC].GetFormID() as int)) ;_iRefID[iIndex] = PO3_SKSEFunctions.IntToString(GetFormEx(TempCOCMH[iIndex].GetFormID()).GetFormID(), false) as int ;Notification("_iRefID: " + _iRefID[iIndex]) ;Notification("GetFormID: " + GetForm(_iRefID[iIndex]).GetFormID()) If(TempCOCMH[iIndex].GetFormID() != 0) If (!MarkAndRecalCOCList.HasForm(GetFormEx(TempCOCMH[iIndex].GetFormID()) as ObjectReference)) MarkAndRecalCOCList.AddForm(GetFormEx(TempCOCMH[iIndex].GetFormID()) as ObjectReference) EndIf If (MarkAndRecalCOCList.GetAt(iIndex).GetFormID() == 0) MarkAndRecalCOCList.RemoveAddedForm(MarkAndRecalCOCList.GetAt(iIndex)) EndIf EndIf EndIf If ((TempCOCMH[iIndex].GetFormID() as int) > (TempCOCMH[iCOC].GetFormID() as int)) ;Notification("TempCOCMH 1 : " + TempCOCMH[iIndex].GetFormID()) ElseIf ((TempCOCMH[iIndex].GetFormID() as int) < (TempCOCMH[iCOC].GetFormID() as int)) ;Notification("TempCOCMH 2 : " + TempCOCMH[iIndex].GetFormID()) EndIf iIndex += 1 endWhile ; GetSize() ; GetAt(int aiIndex) iIndex = 0 while iIndex <= MarkAndRecalCOCList.GetSize() ;refAlias[iIndex] = MarkAndRecalCOCAliaslQuest.GetNthAlias(iIndex) as ReferenceAlias If((MarkAndRecalCOCList.GetAt(iIndex) as ObjectReference).GetFormID() != 0) ScanedCOCMH[iIndex] = ((GetFormEx(MarkAndRecalCOCList.GetAt(iIndex).GetFormID()) as ObjectReference)) ;ScanedCOCMH[iIndex] = (MarkAndRecalCOCList.GetAt(iIndex) as ObjectReference) EndIf ;Notification("GetAt: " + (MarkAndRecalCOCList.GetAt(iIndex) as ObjectReference).GetFormID()) ;Notification("ScanedCOCMH: " + ScanedCOCMH[iIndex].GetFormID()) iIndex += 1 endWhile Show_Notification("Сканирование завершено. Найдено: "+MarkAndRecalCOCList.GetSize(), "#00ff00") EndFunction И Вот кусок кода отвечающий за вывод списка: MaimMenuMarkAndRecall while iIndex <= MarkAndRecalCOCList.GetSize() iCOC = (iIndex - 1) ;Notification("ScanedCOCMH "+iIndex+": " + ScanedCOCMH[iIndex].GetFormID()) ;Notification("GetFormEx: "+iIndex+": " + GetFormEx(ScanedCOCMH[iIndex].GetFormID())) ;Notification("GetAt "+iIndex+": " + (MarkAndRecalCOCList.GetAt(iIndex) as ObjectReference).GetFormID()) If(ScanedCOCMH[iIndex].GetFormID() != 0) if (ScanedCOCMH[iIndex].GetParentCell().IsInterior() == 0) if ((ScanedCOCMH[iIndex].GetParentCell().GetName() == "") && (ScanedCOCMH[iIndex].GetCurrentLocation().GetName() != "")) sCN[iIndex] = ScanedCOCMH[iIndex].GetCurrentLocation().GetName() ((Self as Form) as uilistmenu).AddEntryItem(" "+(iIndex + 1)+ " "+sCN[iIndex]+" (Снаружи)", 81, -1, false); 81 ;If ((ScanedCOCMH[iIndex].GetFormID() as int) != (ScanedCOCMH[iCOC].GetFormID() as int)) ; ((Self as Form) as uilistmenu).AddEntryItem(" "+(iIndex + 1)+ " "+sCN[iIndex]+" (Снаружи)", 81, -1, false); 81 ;EndIf ElseIf ((ScanedCOCMH[iIndex].GetCurrentLocation().GetName() == "") && (ScanedCOCMH[iIndex].GetParentCell().GetName() == "")) Int xcell = math.floor(getplayer().getpositionX() / 4096 as Float) Int ycell = math.floor(getplayer().getpositionY() / 4096 as Float) Int zcell = math.floor(getplayer().getpositionZ()) String WorldSpaceName If(bGetCurrentLanguage() == true) WorldSpaceName = "Тамриэль" Else WorldSpaceName = "Tamriel" EndIf sCN[iIndex] = (WorldSpaceName + " " + xcell as String + " , " + ycell as String) ((Self as Form) as uilistmenu).AddEntryItem(" "+(iIndex + 1)+ " "+sCN[iIndex], 81, -1, false); ;If ((ScanedCOCMH[iIndex].GetFormID() as int) != (ScanedCOCMH[iCOC].GetFormID() as int)) ; ((Self as Form) as uilistmenu).AddEntryItem(" "+(iIndex + 1)+ " "+sCN[iIndex], 81, -1, false); ;EndIf Endif ElseIf (ScanedCOCMH[iIndex].GetParentCell().IsInterior() == 1) If (ScanedCOCMH[iIndex].GetParentCell().GetName() != "") sCN[iIndex] = ScanedCOCMH[iIndex].GetParentCell().GetName() ((Self as Form) as uilistmenu).AddEntryItem(" "+(iIndex + 1)+ " "+sCN[iIndex], 81, -1, false); ;If ((ScanedCOCMH[iIndex].GetFormID() as int) != (ScanedCOCMH[iCOC].GetFormID() as int)) ;EndIf Endif EndIf EndIf iIndex += 1 endWhile Изменено 3 ноября, 2021 пользователем aaa112aaa
aaa112aaa Опубликовано 3 ноября, 2021 Опубликовано 3 ноября, 2021 03.11.2021 03:36:01, aaa112aaa сказал(-а): И снова здравствуйте. Почему когда добавляю новые формы в FormList, старые пропадают, не помню уже все или только часть, вчера в игре тестировал, сегодня ещё нет. Вчера ранее добавленный в список COCMarkerHeading после перемещения в другую область скайрима и нового сканирования, пропадает из списка, хотя я так понимаю список должен хранить ранее добавленные формы... Я понял почему. Он не пропадал, просто почему-то по скайриму натыканы дополнительно маркеры с FormID = 20 и поэтому, он в списке, но название другое.
aaa112aaa Опубликовано 7 ноября, 2021 Опубликовано 7 ноября, 2021 И снова здравствуйте. есть несколько переменных, но сейчас проблема с этой - ObjectReference[] Property Recall Auto Объявлена, потом идёт вызов функции, в которой переменным присваиваются значения, краткий кусок кода: Function PropertiesInit() Localisation() If(bOnly16 == true) iMaxArrayIndex = 15 sCN = new String[16] Recall = new ObjectReference[16] RecallNameList = new String[16] Else iMaxArrayIndex = 31 sCN = new String[32] Recall = new ObjectReference[32] RecallNameList = new String[32] EndIf self.SetRecall() И далее начинает работу SetRecall() и тут проблема, до индекса 16 ObjectReference не равно None, с индекса 16 по 31 все None, вот сама функция: function SetRecall() Int t = 0 while t <= iMaxArrayIndex Recall[t] = (self.GetNthAlias(t) as ReferenceAlias).GetRef() ;Notification("Recall "+Recall[t]) t += 1 endWhile endFunction хотя в квесте всё нормально...
Azazellz Опубликовано 7 ноября, 2021 Опубликовано 7 ноября, 2021 07.11.2021 01:46:12, aaa112aaa сказал(-а):хотя в квесте всё нормально... А переменная там у тебя правильно установлена, чтоб скрипт по 32 позициям проходил?
aaa112aaa Опубликовано 8 ноября, 2021 Опубликовано 8 ноября, 2021 07.11.2021 18:02:15, Azazellz сказал(-а): А переменная там у тебя правильно установлена, чтоб скрипт по 32 позициям проходил? Ну я же написал что, да - iMaxArrayIndex = 31
aaa112aaa Опубликовано 8 ноября, 2021 Опубликовано 8 ноября, 2021 И ещё кстати, а есть кто разбирается в диалогах, в какую мне это тему на форуме? создал нпс, три фракции 2 креста и диалоги, ток вот диалоги у нпс не отображаются, даже если нет условий для показа топика.
Azazellz Опубликовано 8 ноября, 2021 Опубликовано 8 ноября, 2021 08.11.2021 16:01:40, aaa112aaa сказал(-а): Ну я же написал что, да - iMaxArrayIndex = 31 Два разных массива сделай, для 32 и 16 переменных. 08.11.2021 18:32:10, aaa112aaa сказал(-а):И ещё кстати, а есть кто разбирается в диалогах, в какую мне это тему на форуме? создал нпс, три фракции 2 креста и диалоги, ток вот диалоги у нпс не отображаются, даже если нет условий для показа топика. Сюда.
Bosmer Опубликовано 14 февраля, 2022 Опубликовано 14 февраля, 2022 (изменено) Привет, друзья. У меня возникла очень странная проблема со скриптом Manual Light Switch, и я не нашла подобных обсуждений на форумах. Вот этот скриптManual Light Switch ScriptName ManualLightSwitch extends ObjectReference {Controls a set of lights with a master enable parent marker (EnableMarker) and a switch with this script attached to turn on and off when the switch is activated} ObjectReference Property EnableMarker auto {The marker set as the enable parent of all the lights} Event OnInit() If (EnableMarker.IsDisabled()) GoToState("LightsOff") Else GoToState("LightsOn") EndIf EndEvent State LightsOff Event OnBeginState() EnableMarker.Disable() EndEvent Event OnActivate(ObjectReference akActionRef) GoToState("LightsOn") EndEvent EndState State LightsOn Event OnBeginState() EnableMarker.Enable() EndEvent Event OnActivate(ObjectReference akActionRef) GoToState("LightsOff") EndEvent EndState Мне нужно создать источник света, которым можно управлять вручную, т.е. изначально это были сухие дрова в камине, которые при активации меняли модель на горящие + включался заранее задисабленный источник света, ну, как обычно это делают. С самим скриптом все нормально при компиляции. Сложность возникает при работе со ссылкой на источник, когда нужно вручную ее указать в поле EnableMarker/Object Reference. (это поле появляется автоматически после успешной компиляции скрипта и его нужно только правильно настроить). Т.о. я выбираю в окне редактора свой источник света, сохраняю объект, но ничего не происходит. Смотрите скриншот. Т.е мы видим, что во вкладке Linked Ref ничего не отображается, хотя объект прикреплен. В игре ничего не происходит. При воздействии на активатор, свет не загорается, и модель горящего огня не появляется. Визуально не отображается желтая ниточка связки с объектом, которую мы обычно видим, когда используем вкладку Linked Ref и привязываем объекты к друг другу. (Не обращайте внимания на другие модели огня и лампы, я просто пробую разные варианты моделей для этого скрипта). Суть же одна - это объект-активатор+объект горения+источник света. Это простой скрипт, но я застряла. :( В чем может быть проблема? Я делаю все по инструкции от уважаемого GKalian вот отсюда https://youtu.be/Esd1tguUVE0 В других мануалах тоже ничего особенного на эту тему нет, никто не знает, что это может быть за проблема. Я все внимательно проверила уже раз 150, но ничего особенного не нахожу... У вас есть какие-нибудь идеи?... Изменено 14 февраля, 2022 пользователем Bosmer
Meridiano Опубликовано 14 февраля, 2022 Опубликовано 14 февраля, 2022 14.02.2022 09:45:39, Bosmer сказал(-а): Привет, друзья. У меня возникла очень странная проблема со скриптом Manual Light Switch, и я не нашла подобных обсуждений на форумах. При заполнении Property объектом А в скрипте на объекте Б, объект А и не должен быть показан в Linked Ref, этот раздел сделан для другого. В видео Кальяна используется раздел Enable Parent, который работает по принципу "дерева" - при включении одного объекта включаются все зависимые, при выключении - выключаются. То есть вы прикрепляете скрипт к объекту, в Property указываете какой-нибудь невидимый маркер, далее указываете этот маркер во всех зависимых объектах. В горящем костре и источнике света он будет указан как обычно, а для потухшего костра вам нужно будет поставить галочку "Set Enable State to Opposite of Parent", чтобы при отключении маркера этот потухший костёр включался. Если вы не уверены, срабатывает ли активация и правильно ли заполнен Property, вы можете использовать функцию Debug.MessageBox, чтобы вывести нужную информацию. Примерно вот так: Event OnActivate(ObjectReference akActionRef) Debug.MessageBox("Activation in LightsOff state fired, EnableMarker is " + EnableMarker as String + ", going to state LightsOn") GoToState("LightsOn") EndEvent Подобные сообщения можно разместить тут и там, а когда вас всё устроит - убрать или закомментировать. 3 ————————————don't forget your falls————————————
Bosmer Опубликовано 14 февраля, 2022 Опубликовано 14 февраля, 2022 14.02.2022 11:29:20, Meridiano сказал(-а):При заполнении Property объектом А в скрипте на объекте Б, объект А и не должен быть показан в Linked Ref, этот раздел сделан для другого. Здравствуйте, и большое спасибо Вам за быстрый ответ! На самом деле меня сбил с толку мод Fort Highwood от Ithlia, где были реализованы подобные лампы с огнем. Я разобрала эти лампы в конструкторе, чтобы посмотреть как объекты взаимодействуют друг с другом, и там как раз было задействовано поле Linked Ref в отношении источника света, что и привело меня к выводу, что оно должно быть заполнено при работе со скриптом. К сожалению посмотреть ресурс скрипта не удалось, т.к. автор не предоставил это. Но визуально это напоминало скрипт Manual Light Switch. Моя проблема решилась! Но она решилась совершенно неожиданным образом. Я не знаю, будет ли эта информация полезной для всех или это только мой частный случай с моим загадочным модом, но не все модели игры, которые вы захотите использовать в качестве активаторов подходят для работы с этим скриптом. Например, модель сухих дров (Static\FireplaceWood01Off0000) вообще не работает в кач-ве активатора, а пещерная лампа (Static\CaveLamp01, которая была использована у Ithlia) хоть и может гипотетически работать как активатор, но скрипт на ней не срабатывает. Мое решение было в том, чтобы заменить модель активатора на модель маркера с невидимой коллизией (Markers\Misc\InvisibleCollision01). И все заработало! И еще, может быть кому-то будет полезно, если Вы захотите делать такой же скрипт, то не нужно добавлять в сам активатор звук горения. Он не исчезает автоматически после того, как Вы "потушите" камин. Лучше это тоже реализовать через скрипт.
Meridiano Опубликовано 14 февраля, 2022 Опубликовано 14 февраля, 2022 14.02.2022 13:19:45, Bosmer сказал(-а): не все модели игры, которые вы захотите использовать в качестве активаторов подходят для работы с этим скриптом Это из-за того, что не все модели имеют коллизии - физические границы, за которые ГГ может "уцепиться" в игре. Действительно, модель FireplaceWood01Off.nif не имеет коллизий, а InvisibleCollision01.nif имеет. Заметьте, что создание коллизии произвольной формы через готовую модель сделать нельзя, как и "прозрачную" для перемещения коллизию только для активации. Это решается созданием Primitive, объекта простой формы, который в игре может быть "твёрдым" или "прозрачным" и по желанию - активируемым. Вы сможете придать ему форму сферы и накрыть им костёр так, чтобы он визуально совпадал с границами костра. 2 ————————————don't forget your falls————————————
Bosmer Опубликовано 14 февраля, 2022 Опубликовано 14 февраля, 2022 14.02.2022 14:41:28, Meridiano сказал(-а):Это из-за того, что не все модели имеют коллизии - физические границы, за которые ГГ может "уцепиться" в игре. Большое Вам спасибо за ценную информацию, Вы мне очень помогли!
Bosmer Опубликовано 20 февраля, 2022 Опубликовано 20 февраля, 2022 Привет, друзья! Мне снова нужен совет и помощь в поиске или составлении скрипта. Подскажите, пожалуйста, какой скрипт из существующих подойдёт для такого алгоритма. 1. Активация объекта 2. Проверка скриптом у игрока наличия/отсутствия в инвентаре определенных предметов. 3. Изъятие этих предметов, если они есть(1) или сообщение о том, что их нет. (0) 4. 1.Таймер и сообщение (Типа подождите несколько дней) 5. Получение игроком указанных предметов после окончания срока, установленного в скрипте. 6. При воздействии на активатор раньше срока сообщение, "подождите ещё столько-то времени". Смысл скрипта - растянутый во времени крафт. Т.е. чтобы получить предметы не сразу, а только спустя какое-то время. Подобный скрипт есть в модах у Кораны для Обливион. Может что-то такое уже есть и для Скайрима, но я могу знать все моды, мне ещё такие не попадались. :(
Dakost Опубликовано 8 марта, 2022 Опубликовано 8 марта, 2022 (изменено) Народ такой вопрос. Я сделал свой мод на изменения перков кузнечного дела и вот хочу сделать чтоб по мимо уровня владения для открытия перка было условие затраты денег на открытие, я не как не могу подобрать нужное условие для этого. Подскажите пожалуйста.https://prnt.sc/DAgefHxcWsDa Изменено 8 марта, 2022 пользователем Dakost
SirLuciusFreyr Опубликовано 21 марта, 2022 Опубликовано 21 марта, 2022 Доброго времени суток, господа-программисты. Просветите, чем ModActorValue и ForceActorValue отличаются между собой?
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти