Тема для вопросов по скриптингу.
Функции папируса:
На английском
На русском (не все, но базис)
#741 Potatoider
Отправлено
- werr, Chesh¡re и Olechkafum нравится это
#742 Azazellz
Отправлено
Добрый день.
Хочу сделать скрипт в котором при активации кнопки исчезала/появлялась определенная стена, однако не просто disable/enable, а чтобы была анимация исчезновения/появления. например через "effectshader property"
Знающие скриптеры подскажите как можно такое реализовать? Нечто похожее с исчезновением есть в Апокрифе у расширяющихся коридоров.
Ну так если есть коридоры - посмотри, как они устроены. Я в детали не лазил, но скорее всего там в самой стене это закодировано, через анимацию. Скриптом она только вызывается.
Самый простой способ добавить эффект - скастовать какой-нибудь визуальный explosion на нужный объект. Через PlaceAtMe, или как там этот аналог в папирусе прописан.
#743 ломгом
Отправлено
Добрый день. Я снова по своему скрипту, теперь по детальней.
У меня есть активатор на основе сокета под парагон (на него я и вешаю скрипт) и кристалл который в него вставляется и активирует его. Так же есть стена, которая должна исчезнуть при активации сокета.
Вот мой код, который я сумел реализовать.
scriptName aaWallDisable01 extends ObjectReference
Bool property HasKey auto
ObjectReference property Wall auto (Это собственно будет стена которая должна исчезнуть)
message property DontHave auto (Сообщение что у меня нет нужного предмета)
miscobject property Stone auto (Это тот самый кристалл который вставляется в сокет)
EffectShader Property DisableEffect Auto (Это эффект при исчезновении стены)
EffectShader Property EnableEffect Auto (Это эффект при появлении стены)
Float Property ShaderTime Auto (Это время в течение которого должна исчезнуть появится стена)
function OnActivate(ObjectReference akActionRef)
if akActionRef == game.GetPlayer() as ObjectReference
if HasKey == false
if game.GetPlayer().GetItemCount(Stone as form) >= 1
self.PlayAnimationAndWait("PlaceWhite", "Done")
game.GetPlayer().RemoveItem(Stone as form, 1, false, none)
Wall.Disable(false)
HasKey = true
else
DontHave.Show(0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000)
endIf
else
self.PlayAnimationAndWait("TakeWhite", "Done")
game.GetPlayer().AddItem(Stone as form, 1, false)
Wall.Enable(false)
HasKey = false
endIf
endIf
endFunction
Собственно мой вопрос, что и где мне добавить чтобы на стену применялись эффекты исчезновения или появления подскажите плиз.
Я плохо разбираюсь в папирусе, поэтому не знаю переменных которые надо вписать
Сообщение отредактировал ломгом: 26 сентября 2021 - 13:53
#744 Azazellz
Отправлено
Собственно мой вопрос, что и где мне добавить чтобы на стену применялись эффекты исчезновения или появления подскажите плиз.
Я плохо разбираюсь в папирусе, поэтому не знаю переменных которые надо вписать
Ну, собственно, команда вот:
https://www.creation..._-_EffectShader
Подставляешь свою стену и эффект туда. Вписываешь в скрипт перед Disable (и после enable).
Возможно, потребуется использовать utility.wait после каста эффекта, чтоб дверь не сразу исчезла, а немного постояла.
#745 ломгом
Отправлено
Ну, собственно, команда вот:
https://www.creation..._-_EffectShader
Подставляешь свою стену и эффект туда. Вписываешь в скрипт перед Disable (и после enable).
Возможно, потребуется использовать utility.wait после каста эффекта, чтоб дверь не сразу исчезла, а немного постояла.
Прописал по вашему совету. Ничего не изменилось
Bool property HasKey auto
ObjectReference property Wall auto
message property DontHave auto
miscobject property Stone auto
EffectShader Property DisableEffect Auto
EffectShader Property EnableEffect Auto
Float Property ShaderTime Auto
function OnActivate(ObjectReference akActionRef)
if akActionRef == game.GetPlayer() as ObjectReference
if HasKey == false
if game.GetPlayer().GetItemCount(Stone as form) >= 1
self.PlayAnimationAndWait("PlaceWhite", "Done")
game.GetPlayer().RemoveItem(Stone as form, 1, false, none)
DisableEffect.Play(Wall, ShaderTime)
utility.Wait(ShaderTime)
Wall.Disable(false)
HasKey = true
else
DontHave.Show(0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000)
endIf
else
self.PlayAnimationAndWait("TakeWhite", "Done")
game.GetPlayer().AddItem(Stone as form, 1, false)
Wall.Enable(false)
EnableEffect.Play(Wall, ShaderTime)
utility.Wait(ShaderTime)
HasKey = false
endIf
endIf
endFunction
Эффекты не проигрываются
Может что то неправильно вписал, но компиляцию скрипт прошел
Сообщение отредактировал ломгом: 26 сентября 2021 - 15:39
#746 Azazellz
Отправлено
Эффекты не проигрываются
Может что то неправильно вписал, но компиляцию скрипт прошел
Скорее в эффектах дело. Возможно, не все из них можно применять к статичным объектам.
Поэкспериментируй с разными эффектами.
Потому что если ты указываешь в проперти совершенно конкретную стену из окна рендера, то я не вижу, где тут еще может быть что-то не так.
#747 ломгом
Отправлено
Скорее в эффектах дело. Возможно, не все из них можно применять к статичным объектам.
Поэкспериментируй с разными эффектами.
Потому что если ты указываешь в проперти совершенно конкретную стену из окна рендера, то я не вижу, где тут еще может быть что-то не так.
Накостылил в общем через активацию кнопок а с них уже эффекты. Немного непонятно почему но заработало. Если кто-нибудь знает как все реализовать через мою заготовку буду признателен подсказке.
#748 Dragon055
Отправлено
Сообщение отредактировал Dragon055: 17 октября 2021 - 08:03
#749 aaa112aaa
Отправлено
Обновлено!
Кто шарит в скриптописании?
С этим уже разобрался:
(
а именно как с помощью jsonutil (PapyrusUtil) и fiss (FileAccess Interface) сохранять и загружать значения строк, сохранять то сохраняет, а вот загружать... Похоже если и загружает, то не присваивает значения переменным или присваивает, но не всегда.
Старая версия работает как надо, но есть задержка перед показом первого меню, собственно поэтому и решил заморочиться с условиями обработки в функции - "GetCellName()", чтобы каждый раз не перебирала все строки, а только те которые пустые и те которые отличаются (2 вводные переменные строк для этого).)
Теперь другая проблема.
Функция - GetCellName()
Если разместить её выполнение перед показом меню, то будет задержка перед показом первого меню в несколько секунд, поэтому разместил после, но названия в меню конечно обновятся спустя эти несколько секунд, вот и вопрос имеется.
Возможно ли оптимизировать время выполнения этой функции?
Если нужно будет, старые версии скриптов можете взять с моего мода, распакуйте BSA, там есть исходники - https://www.nexusmod...tion/mods/57064
Решил пока сделать по простому, поэтому текста в скрипте много, вот собственно и эти скрипты:
Большая часть скрипта, остальная часть не важна, там функции "SetObjectiveDisplayed"
Scriptname MarkAndRecallQuestScript extends Quest ;-- Properties -------------------------------------- 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 Int Property Distance = 4000 Auto ;ReferenceAlias Property Player Auto LocationAlias Property Recall1Location Auto ;-- Variables --------------------------------------- ;String settings_path = "..\\MarkAndRecall\\UserSettings" String settings_path = "..\\MarkAndRecall\\UserSettings" String _Recall_1_Name String _Recall_2_Name String _Recall_3_Name String _Recall_4_Name String _Recall_5_Name String _Recall_6_Name String _Recall_7_Name String _Recall_8_Name String _Recall_9_Name String _Recall_10_Name String _Recall_11_Name String _Recall_12_Name String _Recall_13_Name String _Recall_14_Name String _Recall_15_Name String _Recall_16_Name Bool _messageResult = false Bool _waitForMessage = false ;-- Functions --------------------------------------- Event OnInit() if !(game.GetPlayer().HasSpell((Game.GetFormFromFile(0x5901, "MarkAndRecall.esp")) as Spell)) game.GetPlayer().addspell((Game.GetFormFromFile(0x5901, "MarkAndRecall.esp")) as Spell, false) debug.notification("Заклинание: " + (Game.GetFormFromFile(0x5901, "MarkAndRecall.esp")).GetName() + " Добавлено.") ; debug.notification("Spell: " + (Game.GetFormFromFile(0x5901, "MarkAndRecall.esp")).GetName() + " Added.") endif debug.notification("Quest: " + self.GetName() + " Запущен.") LoadSettingsAtStart() EndEvent bool Function IsMarkerNearPlayer(ObjectReference O) Actor player = Game.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 Bool Function GetCellNameIdentical(ObjectReference O, String S1, String S2) If ((S1 == S2) && (S2 != "")) return true ElseIf (S1 != S2) If ((S2 == (S1 + " (Снаружи)")) && (S1 != "")) ; debug.notification("True - (S2 == (S1 + ( Outside)))") return true ElseIf ((S2 == "") && (S1 != "")) ; debug.notification("False - (S2 == Empty) && (S1 != Empty)") return false ElseIf ((S2 != "") && (S1 == "")) If ((O.GetCurrentLocation().GetName() == "") && (O.GetParentCell().GetName() == "")) ; debug.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 (S2 == ("Тамриэль " + xcell as String + " , " + ycell as String)); Скайрим ; debug.notification("True") return true Else ; debug.notification("False") return false EndIf EndIf ElseIf ((S1 == "Mark And Recall Markers Cell") && (S2 == "Пусто")) ; debug.notification("True - Ignore Cell") return true Endif ; debug.notification("False - (S1 != S2)") return false ElseIf (S2 == "") ; debug.notification("False - (S2 == Empty)") return false ElseIf ((S1 == "") && (S2 == "")) ; debug.notification("False - Strings == Empty") return false EndIf EndFunction String Function GetCellName(ObjectReference O, String S1, String S2) if (O.GetParentCell().IsInterior() == 0) If (O.GetCurrentLocation().GetName() != "") return (O.GetCurrentLocation().GetName() + " (Снаружи)") 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()) return ("Тамриэль " + xcell as String + " , " + ycell as String); Скайрим Endif ElseIf (O.GetParentCell().IsInterior() == 1) If (O.GetParentCell().GetName() != "") If ((S1 == "Mark And Recall Markers Cell") && (S2 == "Пусто")) Else 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()) ; debug.notification("Check 4: " + O.GetWorldSpace().GetName() + " " + xcell as String + " , " + ycell as String) return ("Тамриэль " + xcell as String + " , " + ycell as String); Скайрим ElseIf (S1 != S2) ; debug.notification("Check: Else") If ((S2 == "") && (S1 != "")) if (O.GetParentCell().IsInterior() == 0) If (O.GetCurrentLocation().GetName() != "") ; debug.notification("Check 2: " + O.GetCurrentLocation().GetName() + " (Outside)") return (O.GetCurrentLocation().GetName() + " (Снаружи)") Endif ElseIf (O.GetParentCell().IsInterior() == 1) If (O.GetParentCell().GetName() != "") ; debug.notification("Check: " + O.GetParentCell().GetName()) return (O.GetParentCell().GetName()) Endif Endif ElseIf ((S1 != "Mark And Recall Markers Cell") && (S2 != "Пусто")) If (O.GetParentCell().GetName() != "") ; debug.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 ; debug.messagebox("Player is in cell " + xcell as String + "," + ycell as String + " at elevation " + zcell as String) function ShowNotification(String S1, String S2) If (S1 == "LoadUserSettingsPapyrus") debug.notification("Check LoadUserSettingsPapyrus: " + S2) ElseIf (S1 == "SaveUserSettingsPapyrus") debug.notification("Check SaveUserSettingsPapyrus: " + S2) ElseIf (S1 == "LoadUserSettings") debug.notification("Check LoadUserSettings: " + S2) ElseIf (S1 == "SaveUserSettings") debug.notification("Check SaveUserSettings: " + S2) EndIf endFunction function LoadSettingsAtStart() debug.notification("Загрузка меток.") Bool ValidatePapyrusUtil = papyrusutil.GetVersion() > 31 if ValidatePapyrusUtil if jsonutil.JsonExists(settings_path) self.LoadUserSettingsPapyrus() return endIf endIf fissinterface fiss = fissfactory.getFISS() if fiss fiss.beginLoad("MARUserSettings.xml") if fiss.endLoad() != "" return else self.LoadUserSettings() return endIf endIf debug.notification("Загрузка меток завершена.") endFunction Bool function LoadUserSettingsPapyrus() ; debug.notification("Загрузка меток.") if !jsonutil.IsGood(settings_path) return false endIf if ((_Recall_1_Name != "") && (jsonutil.GetPathStringValue(settings_path, "Recall_1_Name", _Recall_1_Name) != "")) _Recall_1_Name = jsonutil.GetPathStringValue(settings_path, "Recall_1_Name", _Recall_1_Name) endif if ((_Recall_2_Name != "") && (jsonutil.GetPathStringValue(settings_path, "Recall_2_Name", _Recall_2_Name) != "")) _Recall_2_Name = jsonutil.GetPathStringValue(settings_path, "Recall_2_Name", _Recall_2_Name) endif if ((_Recall_3_Name != "") && (jsonutil.GetPathStringValue(settings_path, "Recall_3_Name", _Recall_3_Name) != "")) _Recall_3_Name = jsonutil.GetPathStringValue(settings_path, "Recall_3_Name", _Recall_3_Name) endif if ((_Recall_4_Name != "") && (jsonutil.GetPathStringValue(settings_path, "Recall_4_Name", _Recall_4_Name) != "")) _Recall_4_Name = jsonutil.GetPathStringValue(settings_path, "Recall_4_Name", _Recall_4_Name) endif if ((_Recall_5_Name != "") && (jsonutil.GetPathStringValue(settings_path, "Recall_5_Name", _Recall_5_Name) != "")) _Recall_5_Name = jsonutil.GetPathStringValue(settings_path, "Recall_5_Name", _Recall_5_Name) endif if ((_Recall_6_Name != "") && (jsonutil.GetPathStringValue(settings_path, "Recall_6_Name", _Recall_6_Name) != "")) _Recall_6_Name = jsonutil.GetPathStringValue(settings_path, "Recall_6_Name", _Recall_6_Name) endif if ((_Recall_7_Name != "") && (jsonutil.GetPathStringValue(settings_path, "Recall_7_Name", _Recall_7_Name) != "")) _Recall_7_Name = jsonutil.GetPathStringValue(settings_path, "Recall_7_Name", _Recall_7_Name) endif if ((_Recall_8_Name != "") && (jsonutil.GetPathStringValue(settings_path, "Recall_8_Name", _Recall_8_Name) != "")) _Recall_8_Name = jsonutil.GetPathStringValue(settings_path, "Recall_8_Name", _Recall_8_Name) endif if ((_Recall_9_Name != "") && (jsonutil.GetPathStringValue(settings_path, "Recall_9_Name", _Recall_9_Name) != "")) _Recall_9_Name = jsonutil.GetPathStringValue(settings_path, "Recall_9_Name", _Recall_9_Name) endif if ((_Recall_10_Name != "") && (jsonutil.GetPathStringValue(settings_path, "Recall_10_Name", _Recall_10_Name) != "")) _Recall_10_Name = jsonutil.GetPathStringValue(settings_path, "Recall_10_Name", _Recall_10_Name) endif if ((_Recall_11_Name != "") && (jsonutil.GetPathStringValue(settings_path, "Recall_11_Name", _Recall_11_Name) != "")) _Recall_11_Name = jsonutil.GetPathStringValue(settings_path, "Recall_11_Name", _Recall_11_Name) endif if ((_Recall_12_Name != "") && (jsonutil.GetPathStringValue(settings_path, "Recall_12_Name", _Recall_12_Name) != "")) _Recall_12_Name = jsonutil.GetPathStringValue(settings_path, "Recall_12_Name", _Recall_12_Name) endif if ((_Recall_13_Name != "") && (jsonutil.GetPathStringValue(settings_path, "Recall_13_Name", _Recall_13_Name) != "")) _Recall_13_Name = jsonutil.GetPathStringValue(settings_path, "Recall_13_Name", _Recall_13_Name) endif if ((_Recall_14_Name != "") && (jsonutil.GetPathStringValue(settings_path, "Recall_14_Name", _Recall_14_Name) != "")) _Recall_14_Name = jsonutil.GetPathStringValue(settings_path, "Recall_14_Name", _Recall_14_Name) endif if ((_Recall_15_Name != "") && (jsonutil.GetPathStringValue(settings_path, "Recall_15_Name", _Recall_15_Name) != "")) _Recall_15_Name = jsonutil.GetPathStringValue(settings_path, "Recall_15_Name", _Recall_15_Name) endif if ((_Recall_16_Name != "") && (jsonutil.GetPathStringValue(settings_path, "Recall_16_Name", _Recall_16_Name) != "")) _Recall_16_Name = jsonutil.GetPathStringValue(settings_path, "Recall_16_Name", _Recall_16_Name) endif ;==================================== if _Recall_1_Name != "" (Game.GetFormFromFile(0x12484, "MarkAndRecall.esp")).SetName(_Recall_1_Name) endif if _Recall_2_Name != "" (Game.GetFormFromFile(0x12485, "MarkAndRecall.esp")).SetName(_Recall_2_Name) endif if _Recall_3_Name != "" (Game.GetFormFromFile(0x12486, "MarkAndRecall.esp")).SetName(_Recall_3_Name) endif if _Recall_4_Name != "" (Game.GetFormFromFile(0x12487, "MarkAndRecall.esp")).SetName(_Recall_4_Name) endif if _Recall_5_Name != "" (Game.GetFormFromFile(0x12488, "MarkAndRecall.esp")).SetName(_Recall_5_Name) endif if _Recall_6_Name != "" (Game.GetFormFromFile(0x12489, "MarkAndRecall.esp")).SetName(_Recall_6_Name) endif if _Recall_7_Name != "" (Game.GetFormFromFile(0x1248A, "MarkAndRecall.esp")).SetName(_Recall_7_Name) endif if _Recall_8_Name != "" (Game.GetFormFromFile(0x1248B, "MarkAndRecall.esp")).SetName(_Recall_8_Name) endif if _Recall_9_Name != "" (Game.GetFormFromFile(0x1248C, "MarkAndRecall.esp")).SetName(_Recall_9_Name) endif if _Recall_10_Name != "" (Game.GetFormFromFile(0x1248D, "MarkAndRecall.esp")).SetName(_Recall_10_Name) endif if _Recall_11_Name != "" (Game.GetFormFromFile(0x1248E, "MarkAndRecall.esp")).SetName(_Recall_11_Name) endif if _Recall_12_Name != "" (Game.GetFormFromFile(0x1248F, "MarkAndRecall.esp")).SetName(_Recall_12_Name) endif if _Recall_13_Name != "" (Game.GetFormFromFile(0x12490, "MarkAndRecall.esp")).SetName(_Recall_13_Name) endif if _Recall_14_Name != "" (Game.GetFormFromFile(0x12491, "MarkAndRecall.esp")).SetName(_Recall_14_Name) endif if _Recall_15_Name != "" (Game.GetFormFromFile(0x12492, "MarkAndRecall.esp")).SetName(_Recall_15_Name) endif if _Recall_16_Name != "" (Game.GetFormFromFile(0x12493, "MarkAndRecall.esp")).SetName(_Recall_16_Name) endif ;==================================== return true endFunction Bool function SaveUserSettingsPapyrus() If ((Game.GetFormFromFile(0x12484, "MarkAndRecall.esp")).GetName() != "") Recall1Name = (Game.GetFormFromFile(0x12484, "MarkAndRecall.esp")).GetName() EndIf If ((Game.GetFormFromFile(0x12485, "MarkAndRecall.esp")).GetName() != "") Recall2Name = (Game.GetFormFromFile(0x12485, "MarkAndRecall.esp")).GetName() EndIf If ((Game.GetFormFromFile(0x12486, "MarkAndRecall.esp")).GetName() != "") Recall3Name = (Game.GetFormFromFile(0x12486, "MarkAndRecall.esp")).GetName() EndIf If ((Game.GetFormFromFile(0x12487, "MarkAndRecall.esp")).GetName() != "") Recall4Name = (Game.GetFormFromFile(0x12487, "MarkAndRecall.esp")).GetName() EndIf If ((Game.GetFormFromFile(0x12488, "MarkAndRecall.esp")).GetName() != "") Recall5Name = (Game.GetFormFromFile(0x12488, "MarkAndRecall.esp")).GetName() EndIf If ((Game.GetFormFromFile(0x12489, "MarkAndRecall.esp")).GetName() != "") Recall6Name = (Game.GetFormFromFile(0x12489, "MarkAndRecall.esp")).GetName() EndIf If ((Game.GetFormFromFile(0x1248A, "MarkAndRecall.esp")).GetName() != "") Recall7Name = (Game.GetFormFromFile(0x1248A, "MarkAndRecall.esp")).GetName() EndIf If ((Game.GetFormFromFile(0x1248B, "MarkAndRecall.esp")).GetName() != "") Recall8Name = (Game.GetFormFromFile(0x1248B, "MarkAndRecall.esp")).GetName() EndIf If ((Game.GetFormFromFile(0x1248C, "MarkAndRecall.esp")).GetName() != "") Recall9Name = (Game.GetFormFromFile(0x1248C, "MarkAndRecall.esp")).GetName() EndIf If ((Game.GetFormFromFile(0x1248D, "MarkAndRecall.esp")).GetName() != "") Recall10Name = (Game.GetFormFromFile(0x1248D, "MarkAndRecall.esp")).GetName() EndIf If ((Game.GetFormFromFile(0x1248E, "MarkAndRecall.esp")).GetName() != "") Recall11Name = (Game.GetFormFromFile(0x1248E, "MarkAndRecall.esp")).GetName() EndIf If ((Game.GetFormFromFile(0x1248F, "MarkAndRecall.esp")).GetName() != "") Recall12Name = (Game.GetFormFromFile(0x1248F, "MarkAndRecall.esp")).GetName() EndIf If ((Game.GetFormFromFile(0x12490, "MarkAndRecall.esp")).GetName() != "") Recall13Name = (Game.GetFormFromFile(0x12490, "MarkAndRecall.esp")).GetName() EndIf If ((Game.GetFormFromFile(0x12491, "MarkAndRecall.esp")).GetName() != "") Recall14Name = (Game.GetFormFromFile(0x12491, "MarkAndRecall.esp")).GetName() EndIf If ((Game.GetFormFromFile(0x12492, "MarkAndRecall.esp")).GetName() != "") Recall15Name = (Game.GetFormFromFile(0x12492, "MarkAndRecall.esp")).GetName() EndIf If ((Game.GetFormFromFile(0x12493, "MarkAndRecall.esp")).GetName() != "") Recall16Name = (Game.GetFormFromFile(0x12493, "MarkAndRecall.esp")).GetName() EndIf if ((Game.GetFormFromFile(0x12484, "MarkAndRecall.esp")).GetName() != "") _Recall_1_Name = (Game.GetFormFromFile(0x12484, "MarkAndRecall.esp")).GetName() endif if ((Game.GetFormFromFile(0x12485, "MarkAndRecall.esp")).GetName() != "") _Recall_2_Name = (Game.GetFormFromFile(0x12485, "MarkAndRecall.esp")).GetName() endif if ((Game.GetFormFromFile(0x12486, "MarkAndRecall.esp")).GetName() != "") _Recall_3_Name = (Game.GetFormFromFile(0x12486, "MarkAndRecall.esp")).GetName() endif if ((Game.GetFormFromFile(0x12487, "MarkAndRecall.esp")).GetName() != "") _Recall_4_Name = (Game.GetFormFromFile(0x12487, "MarkAndRecall.esp")).GetName() endif if ((Game.GetFormFromFile(0x12488, "MarkAndRecall.esp")).GetName() != "") _Recall_5_Name = (Game.GetFormFromFile(0x12488, "MarkAndRecall.esp")).GetName() endif if ((Game.GetFormFromFile(0x12489, "MarkAndRecall.esp")).GetName() != "") _Recall_6_Name = (Game.GetFormFromFile(0x12489, "MarkAndRecall.esp")).GetName() endif if ((Game.GetFormFromFile(0x1248A, "MarkAndRecall.esp")).GetName() != "") _Recall_7_Name = (Game.GetFormFromFile(0x1248A, "MarkAndRecall.esp")).GetName() endif if ((Game.GetFormFromFile(0x1248B, "MarkAndRecall.esp")).GetName() != "") _Recall_8_Name = (Game.GetFormFromFile(0x1248B, "MarkAndRecall.esp")).GetName() endif if ((Game.GetFormFromFile(0x1248C, "MarkAndRecall.esp")).GetName() != "") _Recall_9_Name = (Game.GetFormFromFile(0x1248C, "MarkAndRecall.esp")).GetName() endif if ((Game.GetFormFromFile(0x1248D, "MarkAndRecall.esp")).GetName() != "") _Recall_10_Name = (Game.GetFormFromFile(0x1248D, "MarkAndRecall.esp")).GetName() endif if ((Game.GetFormFromFile(0x1248E, "MarkAndRecall.esp")).GetName() != "") _Recall_11_Name = (Game.GetFormFromFile(0x1248E, "MarkAndRecall.esp")).GetName() endif if ((Game.GetFormFromFile(0x1248F, "MarkAndRecall.esp")).GetName() != "") _Recall_12_Name = (Game.GetFormFromFile(0x1248F, "MarkAndRecall.esp")).GetName() endif if ((Game.GetFormFromFile(0x12490, "MarkAndRecall.esp")).GetName() != "") _Recall_13_Name = (Game.GetFormFromFile(0x12490, "MarkAndRecall.esp")).GetName() endif if ((Game.GetFormFromFile(0x12491, "MarkAndRecall.esp")).GetName() != "") _Recall_14_Name = (Game.GetFormFromFile(0x12491, "MarkAndRecall.esp")).GetName() endif if ((Game.GetFormFromFile(0x12492, "MarkAndRecall.esp")).GetName() != "") _Recall_15_Name = (Game.GetFormFromFile(0x12492, "MarkAndRecall.esp")).GetName() endif if ((Game.GetFormFromFile(0x12493, "MarkAndRecall.esp")).GetName() != "") _Recall_16_Name = (Game.GetFormFromFile(0x12493, "MarkAndRecall.esp")).GetName() endif ;==================================== if (_Recall_1_Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_1_Name", _Recall_1_Name) endif if (_Recall_2_Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_2_Name", _Recall_2_Name) endif if (_Recall_3_Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_3_Name", _Recall_3_Name) endif if (_Recall_4_Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_4_Name", _Recall_4_Name) endif if (_Recall_5_Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_5_Name", _Recall_5_Name) endif if (_Recall_6_Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_6_Name", _Recall_6_Name) endif if (_Recall_7_Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_7_Name", _Recall_7_Name) endif if (_Recall_8_Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_8_Name", _Recall_8_Name) endif if (_Recall_9_Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_9_Name", _Recall_9_Name) endif if (_Recall_10_Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_10_Name", _Recall_10_Name) endif if (_Recall_11_Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_11_Name", _Recall_11_Name) endif if (_Recall_12_Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_12_Name", _Recall_12_Name) endif if (_Recall_13_Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_13_Name", _Recall_13_Name) endif if (_Recall_14_Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_14_Name", _Recall_14_Name) endif if (_Recall_15_Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_15_Name", _Recall_15_Name) endif if (_Recall_16_Name != "") jsonutil.SetPathStringValue(settings_path, "Recall_16_Name", _Recall_16_Name) endif ;==================================== if !jsonutil.Save(settings_path, false) debug.Trace("MAR: Error saving user settings.", 0) return false endIf debug.notification("Сохранени меток завершено.") return true endFunction ;String function loadString(String name) Bool function LoadUserSettings() fissinterface fiss = fissfactory.getFISS() fiss.beginLoad("MARUserSettings.xml") if (fiss.loadString("Recall_1_Name") != "") _Recall_1_Name = fiss.loadString("Recall_1_Name") endif if (fiss.loadString("Recall_2_Name") != "") _Recall_2_Name = fiss.loadString("Recall_2_Name") endif if (fiss.loadString("Recall_3_Name") != "") _Recall_3_Name = fiss.loadString("Recall_3_Name") endif if (fiss.loadString("Recall_4_Name") != "") _Recall_4_Name = fiss.loadString("Recall_4_Name") endif if (fiss.loadString("Recall_5_Name") != "") _Recall_5_Name = fiss.loadString("Recall_5_Name") endif if (fiss.loadString("Recall_6_Name") != "") _Recall_6_Name = fiss.loadString("Recall_6_Name") endif if (fiss.loadString("Recall_7_Name") != "") _Recall_7_Name = fiss.loadString("Recall_7_Name") endif if (fiss.loadString("Recall_8_Name") != "") _Recall_8_Name = fiss.loadString("Recall_8_Name") endif if (fiss.loadString("Recall_9_Name") != "") _Recall_9_Name = fiss.loadString("Recall_9_Name") endif if (fiss.loadString("Recall_10_Name") != "") _Recall_10_Name = fiss.loadString("Recall_10_Name") endif if (fiss.loadString("Recall_11_Name") != "") _Recall_11_Name = fiss.loadString("Recall_11_Name") endif if (fiss.loadString("Recall_12_Name") != "") _Recall_12_Name = fiss.loadString("Recall_12_Name") endif if (fiss.loadString("Recall_13_Name") != "") _Recall_13_Name = fiss.loadString("Recall_13_Name") endif if (fiss.loadString("Recall_14_Name") != "") _Recall_14_Name = fiss.loadString("Recall_14_Name") endif if (fiss.loadString("Recall_15_Name") != "") _Recall_15_Name = fiss.loadString("Recall_15_Name") endif if (fiss.loadString("Recall_16_Name") != "") _Recall_16_Name = fiss.loadString("Recall_16_Name") endif ;==================================== if _Recall_1_Name != "" (Game.GetFormFromFile(0x12484, "MarkAndRecall.esp")).SetName(_Recall_1_Name) endif if _Recall_2_Name != "" (Game.GetFormFromFile(0x12485, "MarkAndRecall.esp")).SetName(_Recall_2_Name) endif if _Recall_3_Name != "" (Game.GetFormFromFile(0x12486, "MarkAndRecall.esp")).SetName(_Recall_3_Name) endif if _Recall_4_Name != "" (Game.GetFormFromFile(0x12487, "MarkAndRecall.esp")).SetName(_Recall_4_Name) endif if _Recall_5_Name != "" (Game.GetFormFromFile(0x12488, "MarkAndRecall.esp")).SetName(_Recall_5_Name) endif if _Recall_6_Name != "" (Game.GetFormFromFile(0x12489, "MarkAndRecall.esp")).SetName(_Recall_6_Name) endif if _Recall_7_Name != "" (Game.GetFormFromFile(0x1248A, "MarkAndRecall.esp")).SetName(_Recall_7_Name) endif if _Recall_8_Name != "" (Game.GetFormFromFile(0x1248B, "MarkAndRecall.esp")).SetName(_Recall_8_Name) endif if _Recall_9_Name != "" (Game.GetFormFromFile(0x1248C, "MarkAndRecall.esp")).SetName(_Recall_9_Name) endif if _Recall_10_Name != "" (Game.GetFormFromFile(0x1248D, "MarkAndRecall.esp")).SetName(_Recall_10_Name) endif if _Recall_11_Name != "" (Game.GetFormFromFile(0x1248E, "MarkAndRecall.esp")).SetName(_Recall_11_Name) endif if _Recall_12_Name != "" (Game.GetFormFromFile(0x1248F, "MarkAndRecall.esp")).SetName(_Recall_12_Name) endif if _Recall_13_Name != "" (Game.GetFormFromFile(0x12490, "MarkAndRecall.esp")).SetName(_Recall_13_Name) endif if _Recall_14_Name != "" (Game.GetFormFromFile(0x12491, "MarkAndRecall.esp")).SetName(_Recall_14_Name) endif if _Recall_15_Name != "" (Game.GetFormFromFile(0x12492, "MarkAndRecall.esp")).SetName(_Recall_15_Name) endif if _Recall_16_Name != "" (Game.GetFormFromFile(0x12493, "MarkAndRecall.esp")).SetName(_Recall_16_Name) endif ;==================================== String result = fiss.endLoad() if result != "" debug.Trace("MAR: Error loading user settings: " + result, 0) return false endIf return true endFunction Bool function SaveUserSettings() fissinterface fiss = fissfactory.getFISS() fiss.beginSave("MARUserSettings.xml", " Mark And Recall") if ((Game.GetFormFromFile(0x12484, "MarkAndRecall.esp")).GetName() != "") _Recall_1_Name = (Game.GetFormFromFile(0x12484, "MarkAndRecall.esp")).GetName() endif if ((Game.GetFormFromFile(0x12485, "MarkAndRecall.esp")).GetName() != "") _Recall_2_Name = (Game.GetFormFromFile(0x12485, "MarkAndRecall.esp")).GetName() endif if ((Game.GetFormFromFile(0x12486, "MarkAndRecall.esp")).GetName() != "") _Recall_3_Name = (Game.GetFormFromFile(0x12486, "MarkAndRecall.esp")).GetName() endif if ((Game.GetFormFromFile(0x12487, "MarkAndRecall.esp")).GetName() != "") _Recall_4_Name = (Game.GetFormFromFile(0x12487, "MarkAndRecall.esp")).GetName() endif if ((Game.GetFormFromFile(0x12488, "MarkAndRecall.esp")).GetName() != "") _Recall_5_Name = (Game.GetFormFromFile(0x12488, "MarkAndRecall.esp")).GetName() endif if ((Game.GetFormFromFile(0x12489, "MarkAndRecall.esp")).GetName() != "") _Recall_6_Name = (Game.GetFormFromFile(0x12489, "MarkAndRecall.esp")).GetName() endif if ((Game.GetFormFromFile(0x1248A, "MarkAndRecall.esp")).GetName() != "") _Recall_7_Name = (Game.GetFormFromFile(0x1248A, "MarkAndRecall.esp")).GetName() endif if ((Game.GetFormFromFile(0x1248B, "MarkAndRecall.esp")).GetName() != "") _Recall_8_Name = (Game.GetFormFromFile(0x1248B, "MarkAndRecall.esp")).GetName() endif if ((Game.GetFormFromFile(0x1248C, "MarkAndRecall.esp")).GetName() != "") _Recall_9_Name = (Game.GetFormFromFile(0x1248C, "MarkAndRecall.esp")).GetName() endif if ((Game.GetFormFromFile(0x1248D, "MarkAndRecall.esp")).GetName() != "") _Recall_10_Name = (Game.GetFormFromFile(0x1248D, "MarkAndRecall.esp")).GetName() endif if ((Game.GetFormFromFile(0x1248E, "MarkAndRecall.esp")).GetName() != "") _Recall_11_Name = (Game.GetFormFromFile(0x1248E, "MarkAndRecall.esp")).GetName() endif if ((Game.GetFormFromFile(0x1248F, "MarkAndRecall.esp")).GetName() != "") _Recall_12_Name = (Game.GetFormFromFile(0x1248F, "MarkAndRecall.esp")).GetName() endif if ((Game.GetFormFromFile(0x12490, "MarkAndRecall.esp")).GetName() != "") _Recall_13_Name = (Game.GetFormFromFile(0x12490, "MarkAndRecall.esp")).GetName() endif if ((Game.GetFormFromFile(0x12491, "MarkAndRecall.esp")).GetName() != "") _Recall_14_Name = (Game.GetFormFromFile(0x12491, "MarkAndRecall.esp")).GetName() endif if ((Game.GetFormFromFile(0x12492, "MarkAndRecall.esp")).GetName() != "") _Recall_15_Name = (Game.GetFormFromFile(0x12492, "MarkAndRecall.esp")).GetName() endif if ((Game.GetFormFromFile(0x12493, "MarkAndRecall.esp")).GetName() != "") _Recall_16_Name = (Game.GetFormFromFile(0x12493, "MarkAndRecall.esp")).GetName() endif ;==================================== if (_Recall_1_Name != "") fiss.saveString("Recall_1_Name", _Recall_1_Name) endif if _Recall_2_Name != "" fiss.saveString("Recall_2_Name", _Recall_2_Name) endif if (_Recall_3_Name != "") fiss.saveString("Recall_3_Name", _Recall_3_Name) endif if (_Recall_4_Name != "") fiss.saveString("Recall_4_Name", _Recall_4_Name) endif if (_Recall_5_Name != "") fiss.saveString("Recall_5_Name", _Recall_5_Name) endif if (_Recall_6_Name != "") fiss.saveString("Recall_6_Name", _Recall_6_Name) endif if (_Recall_7_Name != "") fiss.saveString("Recall_7_Name", _Recall_7_Name) endif if (_Recall_8_Name != "") fiss.saveString("Recall_8_Name", _Recall_8_Name) endif if (_Recall_9_Name != "") fiss.saveString("Recall_9_Name", _Recall_9_Name) endif if (_Recall_10_Name != "") fiss.saveString("Recall_10_Name", _Recall_10_Name) endif if (_Recall_11_Name != "") fiss.saveString("Recall_11_Name", _Recall_11_Name) endif if (_Recall_12_Name != "") fiss.saveString("Recall_12_Name", _Recall_12_Name) endif if (_Recall_13_Name != "") fiss.saveString("Recall_13_Name", _Recall_13_Name) endif if (_Recall_14_Name != "") fiss.saveString("Recall_14_Name", _Recall_14_Name) endif if (_Recall_15_Name != "") fiss.saveString("Recall_15_Name", _Recall_15_Name) endif if (_Recall_16_Name != "") fiss.saveString("Recall_16_Name", _Recall_16_Name) endif ;==================================== String result = fiss.endSave() if result != "" debug.Trace("MAR: Error saving user settings: " + result, 0) return false endIf return true endFunction ;=======================================================================================
Второй скрипт полностью:
scriptName MarkAndRecallScriptEffect extends activemagiceffect ;-- Properties -------------------------------------- Cell Property IgnoreCell Auto Bool Property IsDebugMode = false Auto ;Int Property Distance = 4000 Auto ObjectReference Property MarkerReturn Auto Hidden ;ObjectReference Property XRecall1 Auto Message Property MessageError Auto ObjectReference Property Recall1 Auto ObjectReference Property Recall2 Auto ObjectReference Property Recall3 Auto ObjectReference Property Recall4 Auto ObjectReference Property Recall5 Auto ObjectReference Property Recall6 Auto ObjectReference Property Recall7 Auto ObjectReference Property Recall8 Auto ObjectReference Property Recall9 Auto ObjectReference Property Recall10 Auto ObjectReference Property Recall11 Auto ObjectReference Property Recall12 Auto ObjectReference Property Recall13 Auto ObjectReference Property Recall14 Auto ObjectReference Property Recall15 Auto ObjectReference Property Recall16 Auto ;ObjectReference Property MarkAndRecall_Recall_Name_1_Ref Auto explosion property _MarkAndRecall_AlterationAlt_Explosion auto visualeffect property _MarkAndRecall_AlterationAlt_VFX_Collapse auto visualeffect property _MarkAndRecall_AlterationAlt_VFX_Teleport 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 MarkAndRecallQuestScript property MarkAndRecallQuest auto Message Property _MarkAndRecallMenu Auto Message Property _MarkMenu Auto Message Property _RecallMenu Auto Message Property _MarkMenu_Next Auto Message Property _RecallMenu_Next Auto ;-- Variables --------------------------------------- String S_1 ;-- Functions --------------------------------------- Function InitNames() if Recall1Name == "" Recall1Name = "Пусто" endif if Recall2Name == "" Recall2Name = "Пусто" endif if Recall3Name == "" Recall3Name = "Пусто" endif if Recall4Name == "" Recall4Name = "Пусто" endif if Recall5Name == "" Recall5Name = "Пусто" endif if Recall6Name == "" Recall6Name = "Пусто" endif if Recall7Name == "" Recall7Name = "Пусто" endif if Recall8Name == "" Recall8Name = "Пусто" endif if Recall9Name == "" Recall9Name = "Пусто" endif if Recall10Name == "" Recall10Name = "Пусто" endif if Recall11Name == "" Recall11Name = "Пусто" endif if Recall12Name == "" Recall12Name = "Пусто" endif if Recall13Name == "" Recall13Name = "Пусто" endif if Recall14Name == "" Recall14Name = "Пусто" endif if Recall15Name == "" Recall15Name = "Пусто" endif if Recall16Name == "" Recall16Name = "Пусто" endif EndFunction Function Mark() If (MarkerReturn) MarkerReturn.MoveTo(game.GetPlayer() as objectreference, 0.000000, 0.000000, 0.000000, true) MarkerReturn.SetAngle(0.0,0.0,(Game.GetPlayer() as objectreference).GetAngleZ()) if ((MarkerReturn.GetParentCell().GetName() == "") && (MarkerReturn.GetCurrentLocation().GetName() != "")) debug.notification("Локация: " + MarkerReturn.GetCurrentLocation().GetName() + " помечена") Elseif (MarkerReturn.GetParentCell().GetName() != "") debug.notification("Локация: " + MarkerReturn.GetParentCell().GetName() + " помечена.") ElseIf ((MarkerReturn.GetCurrentLocation().GetName() == "") && (MarkerReturn.GetParentCell().GetName() == "")) Int xcell = math.floor(game.getplayer().getpositionX() / 4096 as Float) Int ycell = math.floor(game.getplayer().getpositionY() / 4096 as Float) Int zcell = math.floor(game.getplayer().getpositionZ()) debug.notification("Локация: " + "Тамриэль " + xcell as String + " , " + ycell as String + " помечена"); Скайрим Endif Else debug.notification("Function Mark: MarkerReturn does not exist") EndIf EndFunction Function Recall() If (MarkerReturn) If MarkerReturn.GetParentCell() == IgnoreCell debug.Notification("Сначала вы должны отметить местоположение.") Else If (MarkerReturn.GetParentCell() != Game.GetPlayer().GetParentCell()) Game.ForceFirstPerson() Game.DisablePlayerControls(true, true, true, true, true, true, true) Utility.Wait(1) If (MarkerReturn) Game.GetPlayer().MoveTo(MarkerReturn) Game.EnableFastTravel() Game.FastTravel(MarkerReturn) EndIf Game.EnablePlayerControls() Utility.Wait(0.5) _MarkAndRecall_AlterationAlt_VFX_Teleport.Play(Game.GetPlayer() as ObjectReference, 3.50000, none) _MarkAndRecall_AlterationAlt_VFX_Collapse.Play(Game.GetPlayer() as ObjectReference, 3.50000, none) Game.GetPlayer().PlaceAtMe(_MarkAndRecall_AlterationAlt_Explosion as form, 1, false, false) ElseIf ((MarkerReturn.GetParentCell() == Game.GetPlayer().GetParentCell()) && (MarkAndRecallQuest.IsMarkerNearPlayer(MarkerReturn) == true)) ; Calculates the ceiling of the passed in value - the smallest integer greater than or equal to the value ;int Function Ceiling(float afValue) global native debug.MessageBox("Вы уже в этой локации. Дистанция до маркера: " + "\n" + math.Ceiling((Game.GetPlayer() as Actor).GetDistance(MarkerReturn)) + ". \n" + " Для телепортации вы должны быть от маркерана на растоянии свыше " + (MarkAndRecallQuest.Distance as String)) ElseIf ((MarkerReturn.GetParentCell() == Game.GetPlayer().GetParentCell()) && (MarkAndRecallQuest.IsMarkerNearPlayer(MarkerReturn) == false)) debug.notification("Дистанция до Маркера: " + "\t" + math.Ceiling((Game.GetPlayer() as Actor).GetDistance(MarkerReturn))) Game.ForceFirstPerson() Game.DisablePlayerControls(true, true, true, true, true, true, true) Utility.Wait(1) If (MarkerReturn) Game.GetPlayer().MoveTo(MarkerReturn) Game.EnableFastTravel() Game.FastTravel(MarkerReturn) EndIf Game.EnablePlayerControls() Utility.Wait(0.5) _MarkAndRecall_AlterationAlt_VFX_Teleport.Play(Game.GetPlayer() as ObjectReference, 3.50000, none) _MarkAndRecall_AlterationAlt_VFX_Collapse.Play(Game.GetPlayer() as ObjectReference, 3.50000, none) Game.GetPlayer().PlaceAtMe(_MarkAndRecall_AlterationAlt_Explosion as form, 1, false, false) ; MessageError.Show(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) EndIf EndIf Else debug.notification("Function Recall: MarkerReturn does not exist") EndIf EndFunction Event OnEffectStart(Actor akTarget, Actor akCaster) ; debug.notification("GetFormID = " + MarkAndRecall_Recall_Name_1_Ref.GetFormID() as String) ; debug.notification("GetFormID: " + "MarkAndRecall_Recall_Name_1_Ref " + (Game.GetFormEx(MarkAndRecall_Recall_Name_1_Ref.GetFormID()).GetName()) as String) Quest MARQuest = ((Game.GetFormFromFile(0x5E79, "MarkAndRecall.esp")) as Quest) if !MARQuest.IsRunning() MARQuest.Start() debug.notification("Quest: " + MARQuest.GetName() + " Запускается.") endIf if MARQuest.IsRunning() MarkAndRecallQuest.LoadSettingsAtStart() ; debug.notification("Quest: " + MARQuest.GetName() + " Запущен.") endIf InitNames() ;======================================================================================= If ((Game.GetFormFromFile(0x12484, "MarkAndRecall.esp")).GetName() != "") Recall1Name = (Game.GetFormFromFile(0x12484, "MarkAndRecall.esp")).GetName() debug.notification("Recall1Name = " + Recall1Name) EndIf If ((Game.GetFormFromFile(0x12485, "MarkAndRecall.esp")).GetName() != "") Recall2Name = (Game.GetFormFromFile(0x12485, "MarkAndRecall.esp")).GetName() EndIf If ((Game.GetFormFromFile(0x12486, "MarkAndRecall.esp")).GetName() != "") Recall3Name = (Game.GetFormFromFile(0x12486, "MarkAndRecall.esp")).GetName() EndIf If ((Game.GetFormFromFile(0x12487, "MarkAndRecall.esp")).GetName() != "") Recall4Name = (Game.GetFormFromFile(0x12487, "MarkAndRecall.esp")).GetName() EndIf If ((Game.GetFormFromFile(0x12488, "MarkAndRecall.esp")).GetName() != "") Recall5Name = (Game.GetFormFromFile(0x12488, "MarkAndRecall.esp")).GetName() EndIf If ((Game.GetFormFromFile(0x12489, "MarkAndRecall.esp")).GetName() != "") Recall6Name = (Game.GetFormFromFile(0x12489, "MarkAndRecall.esp")).GetName() EndIf If ((Game.GetFormFromFile(0x1248A, "MarkAndRecall.esp")).GetName() != "") Recall7Name = (Game.GetFormFromFile(0x1248A, "MarkAndRecall.esp")).GetName() EndIf If ((Game.GetFormFromFile(0x1248B, "MarkAndRecall.esp")).GetName() != "") Recall8Name = (Game.GetFormFromFile(0x1248B, "MarkAndRecall.esp")).GetName() EndIf If ((Game.GetFormFromFile(0x1248C, "MarkAndRecall.esp")).GetName() != "") Recall9Name = (Game.GetFormFromFile(0x1248C, "MarkAndRecall.esp")).GetName() EndIf If ((Game.GetFormFromFile(0x1248D, "MarkAndRecall.esp")).GetName() != "") Recall10Name = (Game.GetFormFromFile(0x1248D, "MarkAndRecall.esp")).GetName() EndIf If ((Game.GetFormFromFile(0x1248E, "MarkAndRecall.esp")).GetName() != "") Recall11Name = (Game.GetFormFromFile(0x1248E, "MarkAndRecall.esp")).GetName() EndIf If ((Game.GetFormFromFile(0x1248F, "MarkAndRecall.esp")).GetName() != "") Recall12Name = (Game.GetFormFromFile(0x1248F, "MarkAndRecall.esp")).GetName() EndIf If ((Game.GetFormFromFile(0x12490, "MarkAndRecall.esp")).GetName() != "") Recall13Name = (Game.GetFormFromFile(0x12490, "MarkAndRecall.esp")).GetName() EndIf If ((Game.GetFormFromFile(0x12491, "MarkAndRecall.esp")).GetName() != "") Recall14Name = (Game.GetFormFromFile(0x12491, "MarkAndRecall.esp")).GetName() EndIf If ((Game.GetFormFromFile(0x12492, "MarkAndRecall.esp")).GetName() != "") Recall15Name = (Game.GetFormFromFile(0x12492, "MarkAndRecall.esp")).GetName() EndIf If ((Game.GetFormFromFile(0x12493, "MarkAndRecall.esp")).GetName() != "") Recall16Name = (Game.GetFormFromFile(0x12493, "MarkAndRecall.esp")).GetName() EndIf ;======================================================================================= ; Return Int i = _MarkAndRecallMenu.Show(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) if i == 1 debug.MessageBox("Меню Возврата " + "\n\n" + "В 1 - " + Recall1Name as String + "\n" + "В 2 - " + Recall2Name as String + "\n" + "В 3 - " + Recall3Name as String + "\n" + "В 4 - " + Recall4Name as String + "\n" + "В 5 - " + Recall5Name as String + "\n" + "В 6 - " + Recall6Name as String + "\n" + "В 7 - " + Recall7Name as String + "\n" + "В 8 - " + Recall8Name as String) Int r = _RecallMenu.Show(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) if r == 0 MarkerReturn=Recall1 Recall() elseIf r == 1 MarkerReturn=Recall2 Recall() elseIf r == 2 MarkerReturn=Recall3 Recall() elseIf r == 3 MarkerReturn=Recall4 Recall() elseIf r == 4 MarkerReturn=Recall5 Recall() elseIf r == 5 MarkerReturn=Recall6 Recall() elseIf r == 6 MarkerReturn=Recall7 Recall() elseIf r == 7 MarkerReturn=Recall8 Recall() elseIf r == 8 debug.MessageBox("Меню Возврата 2 " + "\n\n" + "В 9 - " + Recall9Name as String + "\n" + "В 10 - " + Recall10Name as String + "\n" + "В 11 - " + Recall11Name as String + "\n" + "В 12 - " + Recall12Name as String + "\n" + "В 13 - " + Recall13Name as String + "\n" + "В 14 - " + Recall14Name as String + "\n" + "В 15 - " + Recall15Name as String + "\n" + "В 16 - " + Recall16Name as String) Int r2 = _RecallMenu_Next.Show(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) if r2 == 0 MarkerReturn=Recall9 Recall() elseIf r2 == 1 MarkerReturn=Recall10 Recall() elseIf r2 == 2 MarkerReturn=Recall11 Recall() elseIf r2 == 3 MarkerReturn=Recall12 Recall() elseIf r2 == 4 MarkerReturn=Recall13 Recall() elseIf r2 == 5 MarkerReturn=Recall14 Recall() elseIf r2 == 6 MarkerReturn=Recall15 Recall() elseIf r2 == 7 MarkerReturn=Recall16 Recall() elseIf r2 == 8 debug.MessageBox("Меню Возврата " + "\n\n" + "В 1 - " + Recall1Name as String + "\n" + "В 2 - " + Recall2Name as String + "\n" + "В 3 - " + Recall3Name as String + "\n" + "В 4 - " + Recall4Name as String + "\n" + "В 5 - " + Recall5Name as String + "\n" + "В 6 - " + Recall6Name as String + "\n" + "В 7 - " + Recall7Name as String + "\n" + "В 8 - " + Recall8Name as String) r = _RecallMenu.Show(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0); Back elseIf r2 == 9 ; Cancel endIf elseIf r == 9 ; Cancel endIf elseIf i == 0 debug.MessageBox("Меню Пометки " + "\n\n" + "П 1 - " + Recall1Name as String + "\n" + "П 2 - " + Recall2Name as String + "\n" + "П 3 - " + Recall3Name as String + "\n" + "П 4 - " + Recall4Name as String + "\n" + "П 5 - " + Recall5Name as String + "\n" + "П 6 - " + Recall6Name as String + "\n" + "П 7 - " + Recall7Name as String + "\n" + "П 8 - " + Recall8Name as String) Int m = _MarkMenu.Show(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) if m == 0 MarkerReturn=Recall1 Mark() ; Recall1Displayed() elseIf m == 1 MarkerReturn=Recall2 Mark() elseIf m == 2 MarkerReturn=Recall3 Mark() elseIf m == 3 MarkerReturn=Recall4 Mark() elseIf m == 4 MarkerReturn=Recall5 Mark() elseIf m == 5 MarkerReturn=Recall6 Mark() elseIf m == 6 MarkerReturn=Recall7 Mark() elseIf m == 7 MarkerReturn=Recall8 Mark() elseIf m == 8 debug.MessageBox("Меню Пометки 2 " + "\n\n" + "П 9 - " + Recall9Name as String + "\n" + "П 10 - " + Recall10Name as String + "\n" + "П 11 - " + Recall11Name as String + "\n" + "П 12 - " + Recall12Name as String + "\n" + "П 13 - " + Recall13Name as String + "\n" + "П 14 - " + Recall14Name as String + "\n" + "П 15 - " + Recall15Name as String + "\n" + "П 16 - " + Recall16Name as String) Int m2 = _MarkMenu_Next.Show(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) if m2 == 0 MarkerReturn=Recall9 Mark() elseIf m2 == 1 MarkerReturn=Recall10 Mark() elseIf m2 == 2 MarkerReturn=Recall11 Mark() elseIf m2 == 3 MarkerReturn=Recall12 Mark() elseIf m2 == 4 MarkerReturn=Recall13 Mark() elseIf m2 == 5 MarkerReturn=Recall14 Mark() elseIf m2 == 6 MarkerReturn=Recall15 Mark() elseIf m2 == 7 MarkerReturn=Recall16 Mark() elseIf m2 == 8 debug.MessageBox("Меню Пометки " + "\n\n" + "П 1 - " + Recall1Name as String + "\n" + "П 2 - " + Recall2Name as String + "\n" + "П 3 - " + Recall3Name as String + "\n" + "П 4 - " + Recall4Name as String + "\n" + "П 5 - " + Recall5Name as String + "\n" + "П 6 - " + Recall6Name as String + "\n" + "П 7 - " + Recall7Name as String + "\n" + "П 8 - " + Recall8Name as String) m = _MarkMenu.Show(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0); Back elseIf m2 == 9 ; Cancel endIf elseIf m == 9 ; Cancel endIf elseIf i == 2 ; Cancel endIf ;======================================================================================= debug.notification("Инициализация имен...") if (Recall1.GetParentCell().IsInterior() == 0) S_1 = Recall1.GetCurrentLocation().GetName() ElseIf (Recall1.GetParentCell().IsInterior() == 1) S_1 = Recall1.GetParentCell().GetName() EndIf If (MarkAndRecallQuest.GetCellNameIdentical(Recall1, S_1, Recall1Name) == false) Recall1Name = MarkAndRecallQuest.GetCellName(Recall1, S_1, Recall1Name) if Recall1Name == "Mark And Recall Markers Cell" Recall1Name = "Пусто" endif (Game.GetFormFromFile(0x12484, "MarkAndRecall.esp")).SetName(Recall1Name) Else EndIf if (Recall2.GetParentCell().IsInterior() == 0) S_1 = Recall2.GetCurrentLocation().GetName() ElseIf (Recall2.GetParentCell().IsInterior() == 1) S_1 = Recall2.GetParentCell().GetName() EndIf If (MarkAndRecallQuest.GetCellNameIdentical(Recall2, S_1, Recall2Name) == false) Recall2Name = MarkAndRecallQuest.GetCellName(Recall2, S_1, Recall2Name) if Recall2Name == "Mark And Recall Markers Cell" Recall2Name = "Пусто" endif (Game.GetFormFromFile(0x12485, "MarkAndRecall.esp")).SetName(Recall2Name) Else EndIf if (Recall3.GetParentCell().IsInterior() == 0) S_1 = Recall3.GetCurrentLocation().GetName() ElseIf (Recall3.GetParentCell().IsInterior() == 1) S_1 = Recall3.GetParentCell().GetName() EndIf If (MarkAndRecallQuest.GetCellNameIdentical(Recall3, S_1, Recall3Name) == false) Recall3Name = MarkAndRecallQuest.GetCellName(Recall3, S_1, Recall3Name) if Recall3Name == "Mark And Recall Markers Cell" Recall3Name = "Пусто" endif (Game.GetFormFromFile(0x12486, "MarkAndRecall.esp")).SetName(Recall3Name) Else EndIf if (Recall4.GetParentCell().IsInterior() == 0) S_1 = Recall4.GetCurrentLocation().GetName() ElseIf (Recall4.GetParentCell().IsInterior() == 1) S_1 = Recall4.GetParentCell().GetName() EndIf If (MarkAndRecallQuest.GetCellNameIdentical(Recall4, S_1, Recall4Name) == false) Recall4Name = MarkAndRecallQuest.GetCellName(Recall4, S_1, Recall4Name) if Recall4Name == "Mark And Recall Markers Cell" Recall4Name = "Пусто" endif (Game.GetFormFromFile(0x12487, "MarkAndRecall.esp")).SetName(Recall4Name) Else EndIf if (Recall5.GetParentCell().IsInterior() == 0) S_1 = Recall5.GetCurrentLocation().GetName() ElseIf (Recall5.GetParentCell().IsInterior() == 1) S_1 = Recall5.GetParentCell().GetName() EndIf If (MarkAndRecallQuest.GetCellNameIdentical(Recall5, S_1, Recall5Name) == false) Recall5Name = MarkAndRecallQuest.GetCellName(Recall5, S_1, Recall5Name) if Recall5Name == "Mark And Recall Markers Cell" Recall5Name = "Пусто" endif (Game.GetFormFromFile(0x12488, "MarkAndRecall.esp")).SetName(Recall5Name) Else EndIf if (Recall6.GetParentCell().IsInterior() == 0) S_1 = Recall6.GetCurrentLocation().GetName() ElseIf (Recall6.GetParentCell().IsInterior() == 1) S_1 = Recall6.GetParentCell().GetName() EndIf If (MarkAndRecallQuest.GetCellNameIdentical(Recall6, S_1, Recall6Name) == false) Recall6Name = MarkAndRecallQuest.GetCellName(Recall6, S_1, Recall6Name) if Recall6Name == "Mark And Recall Markers Cell" Recall6Name = "Пусто" endif (Game.GetFormFromFile(0x12489, "MarkAndRecall.esp")).SetName(Recall6Name) Else EndIf if (Recall7.GetParentCell().IsInterior() == 0) S_1 = Recall7.GetCurrentLocation().GetName() ElseIf (Recall7.GetParentCell().IsInterior() == 1) S_1 = Recall7.GetParentCell().GetName() EndIf If (MarkAndRecallQuest.GetCellNameIdentical(Recall7, S_1, Recall7Name) == false) Recall7Name = MarkAndRecallQuest.GetCellName(Recall7, S_1, Recall7Name) if Recall7Name == "Mark And Recall Markers Cell" Recall7Name = "Пусто" endif (Game.GetFormFromFile(0x1248A, "MarkAndRecall.esp")).SetName(Recall7Name) Else EndIf if (Recall8.GetParentCell().IsInterior() == 0) S_1 = Recall8.GetCurrentLocation().GetName() ElseIf (Recall8.GetParentCell().IsInterior() == 1) S_1 = Recall8.GetParentCell().GetName() EndIf If (MarkAndRecallQuest.GetCellNameIdentical(Recall8, S_1, Recall8Name) == false) Recall8Name = MarkAndRecallQuest.GetCellName(Recall8, S_1, Recall8Name) if Recall8Name == "Mark And Recall Markers Cell" Recall8Name = "Пусто" endif (Game.GetFormFromFile(0x1248B, "MarkAndRecall.esp")).SetName(Recall8Name) Else EndIf if (Recall9.GetParentCell().IsInterior() == 0) S_1 = Recall9.GetCurrentLocation().GetName() ElseIf (Recall9.GetParentCell().IsInterior() == 1) S_1 = Recall9.GetParentCell().GetName() EndIf If (MarkAndRecallQuest.GetCellNameIdentical(Recall9, S_1, Recall9Name) == false) Recall9Name = MarkAndRecallQuest.GetCellName(Recall9, S_1, Recall9Name) if Recall9Name == "Mark And Recall Markers Cell" Recall9Name = "Пусто" endif (Game.GetFormFromFile(0x1248C, "MarkAndRecall.esp")).SetName(Recall9Name) Else EndIf if (Recall10.GetParentCell().IsInterior() == 0) S_1 = Recall10.GetCurrentLocation().GetName() ElseIf (Recall10.GetParentCell().IsInterior() == 1) S_1 = Recall10.GetParentCell().GetName() EndIf If (MarkAndRecallQuest.GetCellNameIdentical(Recall10, S_1, Recall10Name) == false) Recall10Name = MarkAndRecallQuest.GetCellName(Recall10, S_1, Recall10Name) if Recall10Name == "Mark And Recall Markers Cell" Recall10Name = "Пусто" endif (Game.GetFormFromFile(0x1248D, "MarkAndRecall.esp")).SetName(Recall10Name) Else EndIf if (Recall11.GetParentCell().IsInterior() == 0) S_1 = Recall11.GetCurrentLocation().GetName() ElseIf (Recall11.GetParentCell().IsInterior() == 1) S_1 = Recall11.GetParentCell().GetName() EndIf If (MarkAndRecallQuest.GetCellNameIdentical(Recall11, S_1, Recall11Name) == false) Recall11Name = MarkAndRecallQuest.GetCellName(Recall11, S_1, Recall11Name) if Recall11Name == "Mark And Recall Markers Cell" Recall11Name = "Пусто" endif (Game.GetFormFromFile(0x1248E, "MarkAndRecall.esp")).SetName(Recall11Name) Else EndIf if (Recall12.GetParentCell().IsInterior() == 0) S_1 = Recall12.GetCurrentLocation().GetName() ElseIf (Recall12.GetParentCell().IsInterior() == 1) S_1 = Recall12.GetParentCell().GetName() EndIf If (MarkAndRecallQuest.GetCellNameIdentical(Recall12, S_1, Recall12Name) == false) Recall12Name = MarkAndRecallQuest.GetCellName(Recall12, S_1, Recall12Name) if Recall12Name == "Mark And Recall Markers Cell" Recall12Name = "Пусто" endif (Game.GetFormFromFile(0x1248F, "MarkAndRecall.esp")).SetName(Recall12Name) Else EndIf if (Recall13.GetParentCell().IsInterior() == 0) S_1 = Recall13.GetCurrentLocation().GetName() ElseIf (Recall13.GetParentCell().IsInterior() == 1) S_1 = Recall13.GetParentCell().GetName() EndIf If (MarkAndRecallQuest.GetCellNameIdentical(Recall13, S_1, Recall13Name) == false) Recall13Name = MarkAndRecallQuest.GetCellName(Recall13, S_1, Recall13Name) if Recall13Name == "Mark And Recall Markers Cell" Recall13Name = "Пусто" endif (Game.GetFormFromFile(0x12490, "MarkAndRecall.esp")).SetName(Recall13Name) Else EndIf if (Recall14.GetParentCell().IsInterior() == 0) S_1 = Recall14.GetCurrentLocation().GetName() ElseIf (Recall14.GetParentCell().IsInterior() == 1) S_1 = Recall14.GetParentCell().GetName() EndIf If (MarkAndRecallQuest.GetCellNameIdentical(Recall14, S_1, Recall14Name) == false) Recall14Name = MarkAndRecallQuest.GetCellName(Recall14, S_1, Recall14Name) if Recall14Name == "Mark And Recall Markers Cell" Recall14Name = "Пусто" endif (Game.GetFormFromFile(0x12491, "MarkAndRecall.esp")).SetName(Recall14Name) Else EndIf if (Recall15.GetParentCell().IsInterior() == 0) S_1 = Recall15.GetCurrentLocation().GetName() ElseIf (Recall15.GetParentCell().IsInterior() == 1) S_1 = Recall15.GetParentCell().GetName() EndIf If (MarkAndRecallQuest.GetCellNameIdentical(Recall15, S_1, Recall15Name) == false) Recall15Name = MarkAndRecallQuest.GetCellName(Recall15, S_1, Recall15Name) if Recall15Name == "Mark And Recall Markers Cell" Recall15Name = "Пусто" endif (Game.GetFormFromFile(0x12492, "MarkAndRecall.esp")).SetName(Recall15Name) Else EndIf if (Recall16.GetParentCell().IsInterior() == 0) S_1 = Recall16.GetCurrentLocation().GetName() ElseIf (Recall16.GetParentCell().IsInterior() == 1) S_1 = Recall16.GetParentCell().GetName() EndIf If (MarkAndRecallQuest.GetCellNameIdentical(Recall16, S_1, Recall16Name) == false) Recall16Name = MarkAndRecallQuest.GetCellName(Recall16, S_1, Recall16Name) if Recall16Name == "Mark And Recall Markers Cell" Recall16Name = "Пусто" endif (Game.GetFormFromFile(0x12493, "MarkAndRecall.esp")).SetName(Recall16Name) Else EndIf debug.notification("Инициализация имен завершена.") Utility.Wait(0.5) debug.notification("Сохранени меток.") MarkAndRecallQuest.SaveUserSettingsPapyrus() MarkAndRecallQuest.SaveUserSettings() EndEvent Event OnEffectFinish(Actor akTarget, Actor akCaster) EndEvent
Сообщение отредактировал aaa112aaa: 18 октября 2021 - 18:47
#751 Azazellz
Отправлено
Возможно ли оптимизировать время выполнения этой функции?
Я так думаю, что дело не в самой функции, а в том, что ты вызываешь ее по 16 (?) раз.
Не проще ли при установке метки делать это один раз, писать результат в проперти типа стринг, и потом уже оттуда его в меню подтягивать?
Ну или вообще без проперти обойтись, тупо переменной. Квестовые скрипты активны постоянно, поэтому оно все равно никуда не пропадет.
#752 aaa112aaa
Отправлено
Я так думаю, что дело не в самой функции, а в том, что ты вызываешь ее по 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
Сообщение отредактировал aaa112aaa: 18 октября 2021 - 20:34
#753 Azazellz
Отправлено
Даже не представляю как можно эту функцию рассчитанную на подстановку в неё значений использовать только один раз, мне надо 16 разных имён на выходе получить, в зависимости от места где находится маркер.
Ну, вообще, все зависит от реализации.
Я не понимаю, зачем у тебя такие сложности? Зачем вызывать функцию 16 раз?
Пометка-возврат делается же элементарно.
Кастуется пометка, выбирается слот, на точку игрока переносится определенный заранее созданный маркер. При касте возврата и выбора определенной строки, игрока на этот маркер телепортирует.
Вот и вызывай функцию один раз, при установке пометки. Бери cellname и передавай в скрипт квеста, записывай его как проперти или переменную. А при построении меню бери имена ячейки из того списка, что ты уже передал. Не надо заново вызывать функцию, тебе важно только имя и индекс, по которому ты будешь делать возврат на определенный маркер.
Плюс портянки эти с кодом - мне аж поплохело, когда я это все увидел, даже вникать глубоко не стал, что именно ты этими простынями делаешь =)
#754 aaa112aaa
Отправлено
Ну, вообще, все зависит от реализации.
Я не понимаю, зачем у тебя такие сложности? Зачем вызывать функцию 16 раз?
Пометка-возврат делается же элементарно.
Кастуется пометка, выбирается слот, на точку игрока переносится определенный заранее созданный маркер. При касте возврата и выбора определенной строки, игрока на этот маркер телепортирует.
Вот и вызывай функцию один раз, при установке пометки. Бери cellname и передавай в скрипт квеста, записывай его как проперти или переменную. А при построении меню бери имена ячейки из того списка, что ты уже передал. Не надо заново вызывать функцию, тебе важно только имя и индекс, по которому ты будешь делать возврат на определенный маркер.
Плюс портянки эти с кодом - мне аж поплохело, когда я это все увидел, даже вникать глубоко не стал, что именно ты этими простынями делаешь =)
Понял, сделал, проверяю. )
#755 aaa112aaa
Отправлено
Ну вроде всё оптимизировал на сколько возможно, меню показывает быстро, теперь другая проблема, сделал сохранение имени локации в которой стою в конфиг, а после от туда подтягиваю, и вставляю в функцию CenterOnCell() сначала всё было как надо, помечал, загружал сохранение предыдущее, делал возврат и о чудо, оказывался там где ставил метку, только вот пока это было всего 4 переменных (Имя локации, X, Y, Z), всё работала, а когда сделал на все 16 меток по 4 переменные, то функция CenterOnCell() перестало работать, есть какой альтернативный способ телепортации в локацию без использования указания цели (ObjectReference) ?
Или как сохранить ссылку на ObjectReference? что-то навроде ида, а потом выбирать по этому иду.
Сообщение отредактировал aaa112aaa: 20 октября 2021 - 16:04
#756 Azazellz
Отправлено
Ну вроде всё оптимизировал на сколько возможно, меню показывает быстро, теперь другая проблема, сделал сохранение имени локации в которой стою в конфиг, а после от туда подтягиваю, и вставляю в функцию 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-переменные какие-нибудь, которые будут включаться, когда игрок пометки делает.
Т.е. вся система работает по принципу: вариант в меню (индекс) == маркер. И все.
Имя локации тебе нужно только для интерфейса и отображения, чтоб игрок не путался. В самом скрипте оно нигде не используется.
Если совсем круто сделать хочешь - позволь игроку самому название вводить.
Ставишь пометку, появляется окно, в нем доступен ввод текста. Название ячейки, которое ты раньше нашел, получено, и уже в него забито. Можно так оставить и подтвердить выбор, а можно свое ввести.
Я когда-то что-то такое делал, но за давностью лет уже забыл, как именно это окошко с вводом текста вызывается, и с какой системы оно идет вообще =)
#757 aaa112aaa
Отправлено
Зачем тебе вообще 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
Сообщение отредактировал aaa112aaa: 20 октября 2021 - 20:04
#758 Azazellz
Отправлено
но я решил попытаться сделать "костыль" сохранения помеченных точек телепорта в конфиг, если например начал новую игру или сделал пометку в другом сохранении
Передавай между сохранениями ID/имя ячейки и координаты маркеров.
По нажатию какой-нибудь специальной кнопки пусть скрипт эти данные подгружает и заново расставляет маркеры.
Не уверен, правда, как это можно сделать.
но из-за того что функция CenterOnCell перестала работать пришлось "запретить" использование по умолчанию.
Вообще да, на вики вон про нее пишут, что скайрим может вообще зависнуть. Так что лучше ее осторожно использовать.
#759 aaa112aaa
Отправлено
И снова здравствуйте.
Снова я, снова проблема.
Так вот, в скрипте в части "Oninit" есть код и почему-то он выполняется дважды, а то бывает и трижды, если бы не сообщения, я бы об этом и не узнал никогда.
Вот почему так? И не важно какое сохранение, я загружался и на чистое сохранение, без мода.
Вот собственно код Event 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
А вот, если нужно, весь скрипт:
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
Сообщение отредактировал aaa112aaa: 26 октября 2021 - 01:05
#760 Azazellz
Отправлено
И снова здравствуйте.
Снова я, снова проблема.
Так вот, в скрипте в части "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
А вот, если нужно, весь скрипт:
MarkAndRecallQuestScriptScriptname 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.creation...hp?title=OnInit
Тут внизу написано.
Темы с аналогичным тегами papyrus, help, скрипты, вопросы
Моддинг →
Моддинг Skyrim →
Восстановление на основе Зала ДозораАвтор Alex_andra, 11 дек 2023 mod, help |
|
|||
|
Моддинг →
Моддинг Skyrim →
Отстройка ВинтерхолдаАвтор Alex_andra, 10 авг 2023 bugs, moding, help |
|
||
Моддинг →
Моддинг Oblivion →
Скрипт Для СнаряженияАвтор БесездаБойчик, 07 сен 2022 скрипты, скрипт |
|
|||
Моддинг →
Моддинг Skyrim →
Нужны добровольцы для теста модаАвтор arkadiy111, 11 апр 2022 help |
|
|||
help
Моддинг →
Моддинг Skyrim →
Ram and Skyrim seАвтор Samurai1, 03 апр 2022 help |
|
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 скрытых