Тема для вопросов по скриптингу.
Функции папируса:
На английском
На русском (не все, но базис)
#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, 07 янв 2025 |
|
|
||
Моддинг →
Моддинг Skyrim →
Восстановление на основе Зала ДозораАвтор Alex_andra, 11 дек 2023 |
|
|
||
![]() |
Моддинг →
Моддинг Skyrim →
Отстройка ВинтерхолдаАвтор Alex_andra, 10 авг 2023 |
|
|
|
Моддинг →
Моддинг Oblivion →
Скрипт Для СнаряженияАвтор БесездаБойчик, 07 сен 2022 |
|
|
||
Моддинг →
Моддинг Skyrim →
Нужны добровольцы для теста модаАвтор arkadiy111, 11 апр 2022 |
|
|
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 скрытых






