FISSはMCMの設定をプロファイルとして保存できるようにするフレームワークです。今はPapyrusUtilという完全上位互換のフレームワークがありますので、FISSを使う理由はなくなりました。
FISSの問題点
- 遅い。
- 排他制御できていないのでCTDする。
- コード量が少し増える。
2つのModが同時にFISSを呼び出すとCTDします。MCMでポチポチしている分には問題になりませんが、ニューゲーム時に自動でロードさせたり、MCM以外でも使いたいとなると、FISSでは無理です。また、Skyrim Souls環境でも動作が不安定な印象です。
Widget ModをPapyrus Utilに移行する
Widget ModはHUD上にウィジェットを表示してくれる便利なModです。SkyHUDなどでインターフェイスにこだわるには必須のModと言えます。
残念ながらプロファイルの保存にFISSを使用しているため、MCMでMaintenanceのページを開くだけでCTDしてしまいます。
手を加えるのは以下のファイルになります。
scripts\source\wm_mcmscript.psc
FISSの読み込みを停止します。
Widget Mod (papyrus)
Scriptname WM_MCMScript extends SKI_ConfigBase
;Import FISSFactory
String JsonFilename = "WidgetMod.json"
GlobalVariable Property WM_EssentialCounterGlobal Auto
MaintenanceのページをPapyrusUtil仕様に書き換えます。
Widget Mod (papyrus)
ElseIf (Page == "Maintenance")
;/
SetCursorFillMode(TOP_TO_BOTTOM)
SetCursorPosition(0)
AddHeaderOption("General Settings")
UpdateTimerInt = AddSliderOption("Update Timer Interval", UpdateScript.UpdateTimer, "{0} sec.")
FISSInterface fiss = FISSFactory.getFISS()
Int FissFlag = OPTION_FLAG_NONE
Int LoadSettingsFlag = OPTION_FLAG_NONE
If !fiss
FissFlag = OPTION_FLAG_DISABLED
LoadSettingsFlag = OPTION_FLAG_DISABLED
Else
fiss.beginLoad("WMUserSettings.xml")
If fiss.endLoad() != ""
LoadSettingsFlag = OPTION_FLAG_DISABLED
EndIf
EndIf
FissLoad = AddTextOption("Load User Settings?", "Do it!", LoadSettingsFlag)
FissSave = AddTextOption("Save User Settings?", "Do it!", FissFlag)
/;
FissLoad = AddTextOption("Load User Settings?", "Do it!")
FissSave = AddTextOption("Save User Settings?", "Do it!")
EndIf
セーブボタン、ロードボタンが押された時の動作をParyrus仕様に書き換えます。
Widget Mod (papyrus)
ElseIf (Option == FissLoad)
;/
FISSInterface fiss = FISSFactory.getFISS()
If fiss
fiss.beginLoad("WMUserSettings.xml")
SetTextOptionValue(Option, "Done!")
LoadUserPreset()
Else
Debug.Messagebox("FISS not found, load aborted!")
EndIf
/;
LoadUserPreset()
SetTextOptionValue(Option, "Done!")
ElseIf (Option == FissSave)
;/
FISSInterface fiss = FISSFactory.getFISS()
fiss.beginLoad("WMUserSettings.xml")
If fiss
SetTextOptionValue(Option, "Done!")
SaveUserPreset()
Else
Debug.Messagebox("FISS not found, save aborted!")
EndIf
/;
SaveUserPreset()
SetTextOptionValue(Option, "Done!")
EndIf
セーブ処理、ロード処理をParyrus仕様に書き換えます。
Widget Mod (papyrus)
Function LoadUserPreset()
;/
FISSInterface fiss = FISSFactory.getFISS()
fiss.beginLoad("WMUserSettings.xml")
ArrowWidget = fiss.loadInt("FISS_ArrowWidget")
ArrowScript.Visible = fiss.loadBool("FISS_ArrowWidgetScript")
ArrowPosX = fiss.loadInt("FISS_ArrowPosX")
ArrowScript.X = fiss.loadFloat("FISS_ArrowPosXScript")
ArrowPosY = fiss.loadInt("FISS_ArrowPosY")
ArrowScript.Y = fiss.loadFloat("FISS_ArrowPosYScript")
ArrowAlpha = fiss.loadInt("FISS_ArrowAlpha")
ArrowScript.Alpha = fiss.loadFloat("FISS_ArrowAlphaScript")
ArrowScale = fiss.loadInt("FISS_ArrowScale")
ArrowScript.Size = fiss.loadInt("FISS_ArrowScaleScript")
WeightWidget = fiss.loadInt("FISS_WeightWidget")
WeightScript.Visible = fiss.loadBool("FISS_WeightWidgetScript")
WeightPosX = fiss.loadInt("FISS_WeightPosX")
WeightScript.X = fiss.loadFloat("FISS_WeightPosXScript")
WeightPosY = fiss.loadInt("FISS_WeightPosY")
WeightScript.Y = fiss.loadFloat("FISS_WeightPosYScript")
WeightAlpha = fiss.loadInt("FISS_WeightAlpha")
WeightScript.Alpha = fiss.loadFloat("FISS_WeightAlphaScript")
WeightScale = fiss.loadInt("FISS_WeightScale")
WeightScript.Size = fiss.loadInt("FISS_WeightScaleScript")
GoldWidget = fiss.loadInt("FISS_GoldWidget")
GoldScript.Visible = fiss.loadBool("FISS_GoldWidgetScript")
GoldPosX = fiss.loadInt("FISS_GoldPosX")
GoldScript.X = fiss.loadFloat("FISS_GoldPosXScript")
GoldPosY = fiss.loadInt("FISS_GoldPosY")
GoldScript.Y = fiss.loadFloat("FISS_GoldPosYScript")
GoldAlpha = fiss.loadInt("FISS_GoldAlpha")
GoldScript.Alpha = fiss.loadFloat("FISS_GoldAlphaScript")
GoldScale = fiss.loadInt("FISS_GoldScale")
GoldScript.Size = fiss.loadInt("FISS_GoldScaleScript")
BountyWidget = fiss.loadInt("FISS_BountyWidget")
BountyScript.Visible = fiss.loadBool("FISS_BountyWidgetScript")
BountyPosX = fiss.loadInt("FISS_BountyPosX")
BountyScript.X = fiss.loadFloat("FISS_BountyPosXScript")
BountyPosY = fiss.loadInt("FISS_BountyPosY")
BountyScript.Y = fiss.loadFloat("FISS_BountyPosYScript")
BountyAlpha = fiss.loadInt("FISS_BountyAlpha")
BountyScript.Alpha = fiss.loadFloat("FISS_BountyAlphaScript")
BountyScale = fiss.loadInt("FISS_BountyScale")
BountyScript.Size = fiss.loadInt("FISS_BountyScaleScript")
SkillWidget = fiss.loadInt("FISS_SkillWidget")
SkillScript.Visible = fiss.loadBool("FISS_SkillWidgetScript")
SkillPosX = fiss.loadInt("FISS_SkillPosX")
SkillScript.X = fiss.loadFloat("FISS_SkillPosXScript")
SkillPosY = fiss.loadInt("FISS_SkillPosY")
SkillScript.Y = fiss.loadFloat("FISS_SkillPosYScript")
SkillAlpha = fiss.loadInt("FISS_SkillAlpha")
SkillScript.Alpha = fiss.loadFloat("FISS_SkillAlphaScript")
SkillScale = fiss.loadInt("FISS_SkillScale")
SkillScript.Size = fiss.loadInt("FISS_SkillScaleScript")
SpeedWidget = fiss.loadInt("FISS_SpeedWidget")
SpeedScript.Visible = fiss.loadBool("FISS_SpeedWidgetScript")
SpeedPosX = fiss.loadInt("FISS_SpeedPosX")
SpeedScript.X = fiss.loadFloat("FISS_SpeedPosXScript")
SpeedPosY = fiss.loadInt("FISS_SpeedPosY")
SpeedScript.Y = fiss.loadFloat("FISS_SpeedPosYScript")
SpeedAlpha = fiss.loadInt("FISS_SpeedAlpha")
SpeedScript.Alpha = fiss.loadFloat("FISS_SpeedAlphaScript")
SpeedScale = fiss.loadInt("FISS_SpeedScale")
SpeedScript.Size = fiss.loadInt("FISS_SpeedScaleScript")
LockpickWidget = fiss.loadInt("FISS_LockpickWidget")
LockpickScript.Visible = fiss.loadBool("FISS_LockpickWidgetScript")
LockpickPosX = fiss.loadInt("FISS_LockpickPosX")
LockpickScript.X = fiss.loadFloat("FISS_LockpickPosXScript")
LockpickPosY = fiss.loadInt("FISS_LockpickPosY")
LockpickScript.Y = fiss.loadFloat("FISS_LockpickPosYScript")
LockpickAlpha = fiss.loadInt("FISS_LockpickAlpha")
LockpickScript.Alpha = fiss.loadFloat("FISS_LockpickAlphaScript")
LockpickScale = fiss.loadInt("FISS_LockpickScale")
LockpickScript.Size = fiss.loadInt("FISS_LockpickScaleScript")
LightWidget = fiss.loadInt("FISS_LightWidget")
LightScript.Visible = fiss.loadBool("FISS_LightWidgetScript")
LightPosX = fiss.loadInt("FISS_LightPosX")
LightScript.X = fiss.loadFloat("FISS_LightPosXScript")
LightPosY = fiss.loadInt("FISS_LightPosY")
LightScript.Y = fiss.loadFloat("FISS_LightPosYScript")
LightAlpha = fiss.loadInt("FISS_LightAlpha")
LightScript.Alpha = fiss.loadFloat("FISS_LightAlphaScript")
LightScale = fiss.loadInt("FISS_LightScale")
LightScript.Size = fiss.loadInt("FISS_LightScaleScript")
HotkeyWidget = fiss.loadInt("FISS_HotkeyWidget")
HotkeyScript.Visible = fiss.loadBool("FISS_HotkeyWidgetScript")
HotkeyPosX = fiss.loadInt("FISS_HotkeyPosX")
HotkeyScript.X = fiss.loadFloat("FISS_HotkeyPosXScript")
HotkeyPosY = fiss.loadInt("FISS_HotkeyPosY")
HotkeyScript.Y = fiss.loadFloat("FISS_HotkeyPosYScript")
HotkeyAlpha = fiss.loadInt("FISS_HotkeyAlpha")
HotkeyScript.Alpha = fiss.loadFloat("FISS_HotkeyAlphaScript")
HotkeyScale = fiss.loadInt("FISS_HotkeyScale")
HotkeyScript.Size = fiss.loadInt("FISS_HotkeyScaleScript")
HorseWidget = fiss.loadInt("FISS_HorseWidget")
HorseScript.Visible = fiss.loadBool("FISS_HorseWidgetScript")
HorsePosX = fiss.loadInt("FISS_HorsePosX")
HorseScript.X = fiss.loadFloat("FISS_HorsePosXScript")
HorsePosY = fiss.loadInt("FISS_HorsePosY")
HorseScript.Y = fiss.loadFloat("FISS_HorsePosYScript")
HorseAlpha = fiss.loadInt("FISS_HorseAlpha")
HorseScript.Alpha = fiss.loadFloat("FISS_HorseAlphaScript")
HorseScale = fiss.loadInt("FISS_HorseScale")
HorseScript.Size = fiss.loadInt("FISS_HorseScaleScript")
FollowerWidget = fiss.loadInt("FISS_FollowerWidget")
FollowerScript.Visible = fiss.loadBool("FISS_FollowerWidgetScript")
FollowerPosX = fiss.loadInt("FISS_FollowerPosX")
FollowerScript.X = fiss.loadFloat("FISS_FollowerPosXScript")
FollowerPosY = fiss.loadInt("FISS_FollowerPosY")
FollowerScript.Y = fiss.loadFloat("FISS_FollowerPosYScript")
FollowerAlpha = fiss.loadInt("FISS_FollowerAlpha")
FollowerScript.Alpha = fiss.loadFloat("FISS_FollowerAlphaScript")
FollowerScale = fiss.loadInt("FISS_FollowerScale")
FollowerScript.Size = fiss.loadInt("FISS_FollowerScaleScript")
AttributeWidget = fiss.loadInt("FISS_AttributeWidget")
AttributeScript.Visible = fiss.loadBool("FISS_AttributeWidgetScript")
AttributePosX = fiss.loadInt("FISS_AttributePosX")
AttributeScript.X = fiss.loadFloat("FISS_AttributePosXScript")
AttributePosY = fiss.loadInt("FISS_AttributePosY")
AttributeScript.Y = fiss.loadFloat("FISS_AttributePosYScript")
AttributeAlpha = fiss.loadInt("FISS_AttributeAlpha")
AttributeScript.Alpha = fiss.loadFloat("FISS_AttributeAlphaScript")
AttributeScale = fiss.loadInt("FISS_AttributeScale")
AttributeScript.Size = fiss.loadInt("FISS_AttributeScaleScript")
EssentialWidget = fiss.loadInt("FISS_EssentialWidget")
EssentialScript.Visible = fiss.loadBool("FISS_EssentialWidgetScript")
EssentialPosX = fiss.loadInt("FISS_EssentialPosX")
EssentialScript.X = fiss.loadFloat("FISS_EssentialPosXScript")
EssentialPosY = fiss.loadInt("FISS_EssentialPosY")
EssentialScript.Y = fiss.loadFloat("FISS_EssentialPosYScript")
EssentialAlpha = fiss.loadInt("FISS_EssentialAlpha")
EssentialScript.Alpha = fiss.loadFloat("FISS_EssentialAlphaScript")
EssentialScale = fiss.loadInt("FISS_EssentialScale")
EssentialScript.Size = fiss.loadInt("FISS_EssentialScaleScript")
String loadResult = fiss.endLoad()
/;
ArrowWidget = JsonUtil.GetIntValue(JsonFilename, "FISS_ArrowWidget")
ArrowScript.Visible = JsonUtil.GetIntValue(JsonFilename, "FISS_ArrowWidgetScript")
ArrowPosX = JsonUtil.GetIntValue(JsonFilename, "FISS_ArrowPosX")
ArrowScript.X = JsonUtil.GetFloatValue(JsonFilename, "FISS_ArrowPosXScript")
ArrowPosY = JsonUtil.GetIntValue(JsonFilename, "FISS_ArrowPosY")
ArrowScript.Y = JsonUtil.GetFloatValue(JsonFilename, "FISS_ArrowPosYScript")
ArrowAlpha = JsonUtil.GetIntValue(JsonFilename, "FISS_ArrowAlpha")
ArrowScript.Alpha = JsonUtil.GetFloatValue(JsonFilename, "FISS_ArrowAlphaScript")
ArrowScale = JsonUtil.GetIntValue(JsonFilename, "FISS_ArrowScale")
ArrowScript.Size = JsonUtil.GetIntValue(JsonFilename, "FISS_ArrowScaleScript")
WeightWidget = JsonUtil.GetIntValue(JsonFilename, "FISS_WeightWidget")
WeightScript.Visible = JsonUtil.GetIntValue(JsonFilename, "FISS_WeightWidgetScript")
WeightPosX = JsonUtil.GetIntValue(JsonFilename, "FISS_WeightPosX")
WeightScript.X = JsonUtil.GetFloatValue(JsonFilename, "FISS_WeightPosXScript")
WeightPosY = JsonUtil.GetIntValue(JsonFilename, "FISS_WeightPosY")
WeightScript.Y = JsonUtil.GetFloatValue(JsonFilename, "FISS_WeightPosYScript")
WeightAlpha = JsonUtil.GetIntValue(JsonFilename, "FISS_WeightAlpha")
WeightScript.Alpha = JsonUtil.GetFloatValue(JsonFilename, "FISS_WeightAlphaScript")
WeightScale = JsonUtil.GetIntValue(JsonFilename, "FISS_WeightScale")
WeightScript.Size = JsonUtil.GetIntValue(JsonFilename, "FISS_WeightScaleScript")
GoldWidget = JsonUtil.GetIntValue(JsonFilename, "FISS_GoldWidget")
GoldScript.Visible = JsonUtil.GetIntValue(JsonFilename, "FISS_GoldWidgetScript")
GoldPosX = JsonUtil.GetIntValue(JsonFilename, "FISS_GoldPosX")
GoldScript.X = JsonUtil.GetFloatValue(JsonFilename, "FISS_GoldPosXScript")
GoldPosY = JsonUtil.GetIntValue(JsonFilename, "FISS_GoldPosY")
GoldScript.Y = JsonUtil.GetFloatValue(JsonFilename, "FISS_GoldPosYScript")
GoldAlpha = JsonUtil.GetIntValue(JsonFilename, "FISS_GoldAlpha")
GoldScript.Alpha = JsonUtil.GetFloatValue(JsonFilename, "FISS_GoldAlphaScript")
GoldScale = JsonUtil.GetIntValue(JsonFilename, "FISS_GoldScale")
GoldScript.Size = JsonUtil.GetIntValue(JsonFilename, "FISS_GoldScaleScript")
BountyWidget = JsonUtil.GetIntValue(JsonFilename, "FISS_BountyWidget")
BountyScript.Visible = JsonUtil.GetIntValue(JsonFilename, "FISS_BountyWidgetScript")
BountyPosX = JsonUtil.GetIntValue(JsonFilename, "FISS_BountyPosX")
BountyScript.X = JsonUtil.GetFloatValue(JsonFilename, "FISS_BountyPosXScript")
BountyPosY = JsonUtil.GetIntValue(JsonFilename, "FISS_BountyPosY")
BountyScript.Y = JsonUtil.GetFloatValue(JsonFilename, "FISS_BountyPosYScript")
BountyAlpha = JsonUtil.GetIntValue(JsonFilename, "FISS_BountyAlpha")
BountyScript.Alpha = JsonUtil.GetFloatValue(JsonFilename, "FISS_BountyAlphaScript")
BountyScale = JsonUtil.GetIntValue(JsonFilename, "FISS_BountyScale")
BountyScript.Size = JsonUtil.GetIntValue(JsonFilename, "FISS_BountyScaleScript")
SkillWidget = JsonUtil.GetIntValue(JsonFilename, "FISS_SkillWidget")
SkillScript.Visible = JsonUtil.GetIntValue(JsonFilename, "FISS_SkillWidgetScript")
SkillPosX = JsonUtil.GetIntValue(JsonFilename, "FISS_SkillPosX")
SkillScript.X = JsonUtil.GetFloatValue(JsonFilename, "FISS_SkillPosXScript")
SkillPosY = JsonUtil.GetIntValue(JsonFilename, "FISS_SkillPosY")
SkillScript.Y = JsonUtil.GetFloatValue(JsonFilename, "FISS_SkillPosYScript")
SkillAlpha = JsonUtil.GetIntValue(JsonFilename, "FISS_SkillAlpha")
SkillScript.Alpha = JsonUtil.GetFloatValue(JsonFilename, "FISS_SkillAlphaScript")
SkillScale = JsonUtil.GetIntValue(JsonFilename, "FISS_SkillScale")
SkillScript.Size = JsonUtil.GetIntValue(JsonFilename, "FISS_SkillScaleScript")
SpeedWidget = JsonUtil.GetIntValue(JsonFilename, "FISS_SpeedWidget")
SpeedScript.Visible = JsonUtil.GetIntValue(JsonFilename, "FISS_SpeedWidgetScript")
SpeedPosX = JsonUtil.GetIntValue(JsonFilename, "FISS_SpeedPosX")
SpeedScript.X = JsonUtil.GetFloatValue(JsonFilename, "FISS_SpeedPosXScript")
SpeedPosY = JsonUtil.GetIntValue(JsonFilename, "FISS_SpeedPosY")
SpeedScript.Y = JsonUtil.GetFloatValue(JsonFilename, "FISS_SpeedPosYScript")
SpeedAlpha = JsonUtil.GetIntValue(JsonFilename, "FISS_SpeedAlpha")
SpeedScript.Alpha = JsonUtil.GetFloatValue(JsonFilename, "FISS_SpeedAlphaScript")
SpeedScale = JsonUtil.GetIntValue(JsonFilename, "FISS_SpeedScale")
SpeedScript.Size = JsonUtil.GetIntValue(JsonFilename, "FISS_SpeedScaleScript")
LockpickWidget = JsonUtil.GetIntValue(JsonFilename, "FISS_LockpickWidget")
LockpickScript.Visible = JsonUtil.GetIntValue(JsonFilename, "FISS_LockpickWidgetScript")
LockpickPosX = JsonUtil.GetIntValue(JsonFilename, "FISS_LockpickPosX")
LockpickScript.X = JsonUtil.GetFloatValue(JsonFilename, "FISS_LockpickPosXScript")
LockpickPosY = JsonUtil.GetIntValue(JsonFilename, "FISS_LockpickPosY")
LockpickScript.Y = JsonUtil.GetFloatValue(JsonFilename, "FISS_LockpickPosYScript")
LockpickAlpha = JsonUtil.GetIntValue(JsonFilename, "FISS_LockpickAlpha")
LockpickScript.Alpha = JsonUtil.GetFloatValue(JsonFilename, "FISS_LockpickAlphaScript")
LockpickScale = JsonUtil.GetIntValue(JsonFilename, "FISS_LockpickScale")
LockpickScript.Size = JsonUtil.GetIntValue(JsonFilename, "FISS_LockpickScaleScript")
LightWidget = JsonUtil.GetIntValue(JsonFilename, "FISS_LightWidget")
LightScript.Visible = JsonUtil.GetIntValue(JsonFilename, "FISS_LightWidgetScript")
LightPosX = JsonUtil.GetIntValue(JsonFilename, "FISS_LightPosX")
LightScript.X = JsonUtil.GetFloatValue(JsonFilename, "FISS_LightPosXScript")
LightPosY = JsonUtil.GetIntValue(JsonFilename, "FISS_LightPosY")
LightScript.Y = JsonUtil.GetFloatValue(JsonFilename, "FISS_LightPosYScript")
LightAlpha = JsonUtil.GetIntValue(JsonFilename, "FISS_LightAlpha")
LightScript.Alpha = JsonUtil.GetFloatValue(JsonFilename, "FISS_LightAlphaScript")
LightScale = JsonUtil.GetIntValue(JsonFilename, "FISS_LightScale")
LightScript.Size = JsonUtil.GetIntValue(JsonFilename, "FISS_LightScaleScript")
HotkeyWidget = JsonUtil.GetIntValue(JsonFilename, "FISS_HotkeyWidget")
HotkeyScript.Visible = JsonUtil.GetIntValue(JsonFilename, "FISS_HotkeyWidgetScript")
HotkeyPosX = JsonUtil.GetIntValue(JsonFilename, "FISS_HotkeyPosX")
HotkeyScript.X = JsonUtil.GetFloatValue(JsonFilename, "FISS_HotkeyPosXScript")
HotkeyPosY = JsonUtil.GetIntValue(JsonFilename, "FISS_HotkeyPosY")
HotkeyScript.Y = JsonUtil.GetFloatValue(JsonFilename, "FISS_HotkeyPosYScript")
HotkeyAlpha = JsonUtil.GetIntValue(JsonFilename, "FISS_HotkeyAlpha")
HotkeyScript.Alpha = JsonUtil.GetFloatValue(JsonFilename, "FISS_HotkeyAlphaScript")
HotkeyScale = JsonUtil.GetIntValue(JsonFilename, "FISS_HotkeyScale")
HotkeyScript.Size = JsonUtil.GetIntValue(JsonFilename, "FISS_HotkeyScaleScript")
HorseWidget = JsonUtil.GetIntValue(JsonFilename, "FISS_HorseWidget")
HorseScript.Visible = JsonUtil.GetIntValue(JsonFilename, "FISS_HorseWidgetScript")
HorsePosX = JsonUtil.GetIntValue(JsonFilename, "FISS_HorsePosX")
HorseScript.X = JsonUtil.GetFloatValue(JsonFilename, "FISS_HorsePosXScript")
HorsePosY = JsonUtil.GetIntValue(JsonFilename, "FISS_HorsePosY")
HorseScript.Y = JsonUtil.GetFloatValue(JsonFilename, "FISS_HorsePosYScript")
HorseAlpha = JsonUtil.GetIntValue(JsonFilename, "FISS_HorseAlpha")
HorseScript.Alpha = JsonUtil.GetFloatValue(JsonFilename, "FISS_HorseAlphaScript")
HorseScale = JsonUtil.GetIntValue(JsonFilename, "FISS_HorseScale")
HorseScript.Size = JsonUtil.GetIntValue(JsonFilename, "FISS_HorseScaleScript")
FollowerWidget = JsonUtil.GetIntValue(JsonFilename, "FISS_FollowerWidget")
FollowerScript.Visible = JsonUtil.GetIntValue(JsonFilename, "FISS_FollowerWidgetScript")
FollowerPosX = JsonUtil.GetIntValue(JsonFilename, "FISS_FollowerPosX")
FollowerScript.X = JsonUtil.GetFloatValue(JsonFilename, "FISS_FollowerPosXScript")
FollowerPosY = JsonUtil.GetIntValue(JsonFilename, "FISS_FollowerPosY")
FollowerScript.Y = JsonUtil.GetFloatValue(JsonFilename, "FISS_FollowerPosYScript")
FollowerAlpha = JsonUtil.GetIntValue(JsonFilename, "FISS_FollowerAlpha")
FollowerScript.Alpha = JsonUtil.GetFloatValue(JsonFilename, "FISS_FollowerAlphaScript")
FollowerScale = JsonUtil.GetIntValue(JsonFilename, "FISS_FollowerScale")
FollowerScript.Size = JsonUtil.GetIntValue(JsonFilename, "FISS_FollowerScaleScript")
AttributeWidget = JsonUtil.GetIntValue(JsonFilename, "FISS_AttributeWidget")
AttributeScript.Visible = JsonUtil.GetIntValue(JsonFilename, "FISS_AttributeWidgetScript")
AttributePosX = JsonUtil.GetIntValue(JsonFilename, "FISS_AttributePosX")
AttributeScript.X = JsonUtil.GetFloatValue(JsonFilename, "FISS_AttributePosXScript")
AttributePosY = JsonUtil.GetIntValue(JsonFilename, "FISS_AttributePosY")
AttributeScript.Y = JsonUtil.GetFloatValue(JsonFilename, "FISS_AttributePosYScript")
AttributeAlpha = JsonUtil.GetIntValue(JsonFilename, "FISS_AttributeAlpha")
AttributeScript.Alpha = JsonUtil.GetFloatValue(JsonFilename, "FISS_AttributeAlphaScript")
AttributeScale = JsonUtil.GetIntValue(JsonFilename, "FISS_AttributeScale")
AttributeScript.Size = JsonUtil.GetIntValue(JsonFilename, "FISS_AttributeScaleScript")
EssentialWidget = JsonUtil.GetIntValue(JsonFilename, "FISS_EssentialWidget")
EssentialScript.Visible = JsonUtil.GetIntValue(JsonFilename, "FISS_EssentialWidgetScript")
EssentialPosX = JsonUtil.GetIntValue(JsonFilename, "FISS_EssentialPosX")
EssentialScript.X = JsonUtil.GetFloatValue(JsonFilename, "FISS_EssentialPosXScript")
EssentialPosY = JsonUtil.GetIntValue(JsonFilename, "FISS_EssentialPosY")
EssentialScript.Y = JsonUtil.GetFloatValue(JsonFilename, "FISS_EssentialPosYScript")
EssentialAlpha = JsonUtil.GetIntValue(JsonFilename, "FISS_EssentialAlpha")
EssentialScript.Alpha = JsonUtil.GetFloatValue(JsonFilename, "FISS_EssentialAlphaScript")
EssentialScale = JsonUtil.GetIntValue(JsonFilename, "FISS_EssentialScale")
EssentialScript.Size = JsonUtil.GetIntValue(JsonFilename, "FISS_EssentialScaleScript")
EndFunction
Function SaveUserPreset()
;/
FISSInterface fiss = FISSFactory.getFISS()
fiss.beginSave("WMUserSettings.xml", " Widget Mod")
fiss.saveInt("FISS_ArrowWidget", ArrowWidget)
fiss.saveBool("FISS_ArrowWidgetScript", ArrowScript.Visible)
fiss.saveInt("FISS_ArrowPosX", ArrowPosX)
fiss.saveFloat("FISS_ArrowPosXScript", ArrowScript.X)
fiss.saveInt("FISS_ArrowPosY", ArrowPosY)
fiss.saveFloat("FISS_ArrowPosYScript", ArrowScript.Y)
fiss.saveInt("FISS_ArrowAlpha", ArrowAlpha)
fiss.saveFloat("FISS_ArrowAlphaScript", ArrowScript.Alpha)
fiss.saveInt("FISS_ArrowScale", ArrowScale)
fiss.saveInt("FISS_ArrowScaleScript", ArrowScript.Size)
fiss.saveInt("FISS_WeightWidget", WeightWidget)
fiss.saveBool("FISS_WeightWidgetScript", WeightScript.Visible)
fiss.saveInt("FISS_WeightPosX", WeightPosX)
fiss.saveFloat("FISS_WeightPosXScript", WeightScript.X)
fiss.saveInt("FISS_WeightPosY", WeightPosY)
fiss.saveFloat("FISS_WeightPosYScript", WeightScript.Y)
fiss.saveInt("FISS_WeightAlpha", WeightAlpha)
fiss.saveFloat("FISS_WeightAlphaScript", WeightScript.Alpha)
fiss.saveInt("FISS_WeightScale", WeightScale)
fiss.saveInt("FISS_WeightScaleScript", WeightScript.Size)
fiss.saveInt("FISS_GoldWidget", GoldWidget)
fiss.saveBool("FISS_GoldWidgetScript", GoldScript.Visible)
fiss.saveInt("FISS_GoldPosX", GoldPosX)
fiss.saveFloat("FISS_GoldPosXScript", GoldScript.X)
fiss.saveInt("FISS_GoldPosY", GoldPosY)
fiss.saveFloat("FISS_GoldPosYScript", GoldScript.Y)
fiss.saveInt("FISS_GoldAlpha", GoldAlpha)
fiss.saveFloat("FISS_GoldAlphaScript", GoldScript.Alpha)
fiss.saveInt("FISS_GoldScale", GoldScale)
fiss.saveInt("FISS_GoldScaleScript", GoldScript.Size)
fiss.saveInt("FISS_BountyWidget", BountyWidget)
fiss.saveBool("FISS_BountyWidgetScript", BountyScript.Visible)
fiss.saveInt("FISS_BountyPosX", BountyPosX)
fiss.saveFloat("FISS_BountyPosXScript", BountyScript.X)
fiss.saveInt("FISS_BountyPosY", BountyPosY)
fiss.saveFloat("FISS_BountyPosYScript", BountyScript.Y)
fiss.saveInt("FISS_BountyAlpha", BountyAlpha)
fiss.saveFloat("FISS_BountyAlphaScript", BountyScript.Alpha)
fiss.saveInt("FISS_BountyScale", BountyScale)
fiss.saveInt("FISS_BountyScaleScript", BountyScript.Size)
fiss.saveInt("FISS_SkillWidget", SkillWidget)
fiss.saveBool("FISS_SkillWidgetScript", SkillScript.Visible)
fiss.saveInt("FISS_SkillPosX", SkillPosX)
fiss.saveFloat("FISS_SkillPosXScript", SkillScript.X)
fiss.saveInt("FISS_SkillPosY", SkillPosY)
fiss.saveFloat("FISS_SkillPosYScript", SkillScript.Y)
fiss.saveInt("FISS_SkillAlpha", SkillAlpha)
fiss.saveFloat("FISS_SkillAlphaScript", SkillScript.Alpha)
fiss.saveInt("FISS_SkillScale", SkillScale)
fiss.saveInt("FISS_SkillScaleScript", SkillScript.Size)
fiss.saveInt("FISS_SpeedWidget", SpeedWidget)
fiss.saveBool("FISS_SpeedWidgetScript", SpeedScript.Visible)
fiss.saveInt("FISS_SpeedPosX", SpeedPosX)
fiss.saveFloat("FISS_SpeedPosXScript", SpeedScript.X)
fiss.saveInt("FISS_SpeedPosY", SpeedPosY)
fiss.saveFloat("FISS_SpeedPosYScript", SpeedScript.Y)
fiss.saveInt("FISS_SpeedAlpha", SpeedAlpha)
fiss.saveFloat("FISS_SpeedAlphaScript", SpeedScript.Alpha)
fiss.saveInt("FISS_SpeedScale", SpeedScale)
fiss.saveInt("FISS_SpeedScaleScript", SpeedScript.Size)
fiss.saveInt("FISS_LockpickWidget", LockpickWidget)
fiss.saveBool("FISS_LockpickWidgetScript", LockpickScript.Visible)
fiss.saveInt("FISS_LockpickPosX", LockpickPosX)
fiss.saveFloat("FISS_LockpickPosXScript", LockpickScript.X)
fiss.saveInt("FISS_LockpickPosY", LockpickPosY)
fiss.saveFloat("FISS_LockpickPosYScript", LockpickScript.Y)
fiss.saveInt("FISS_LockpickAlpha", LockpickAlpha)
fiss.saveFloat("FISS_LockpickAlphaScript", LockpickScript.Alpha)
fiss.saveInt("FISS_LockpickScale", LockpickScale)
fiss.saveInt("FISS_LockpickScaleScript", LockpickScript.Size)
fiss.saveInt("FISS_LightWidget", LightWidget)
fiss.saveBool("FISS_LightWidgetScript", LightScript.Visible)
fiss.saveInt("FISS_LightPosX", LightPosX)
fiss.saveFloat("FISS_LightPosXScript", LightScript.X)
fiss.saveInt("FISS_LightPosY", LightPosY)
fiss.saveFloat("FISS_LightPosYScript", LightScript.Y)
fiss.saveInt("FISS_LightAlpha", LightAlpha)
fiss.saveFloat("FISS_LightAlphaScript", LightScript.Alpha)
fiss.saveInt("FISS_LightScale", LightScale)
fiss.saveInt("FISS_LightScaleScript", LightScript.Size)
fiss.saveInt("FISS_HotkeyWidget", HotkeyWidget)
fiss.saveBool("FISS_HotkeyWidgetScript", HotkeyScript.Visible)
fiss.saveInt("FISS_HotkeyPosX", HotkeyPosX)
fiss.saveFloat("FISS_HotkeyPosXScript", HotkeyScript.X)
fiss.saveInt("FISS_HotkeyPosY", HotkeyPosY)
fiss.saveFloat("FISS_HotkeyPosYScript", HotkeyScript.Y)
fiss.saveInt("FISS_HotkeyAlpha", HotkeyAlpha)
fiss.saveFloat("FISS_HotkeyAlphaScript", HotkeyScript.Alpha)
fiss.saveInt("FISS_HotkeyScale", HotkeyScale)
fiss.saveInt("FISS_HotkeyScaleScript", HotkeyScript.Size)
fiss.saveInt("FISS_HorseWidget", HorseWidget)
fiss.saveBool("FISS_HorseWidgetScript", HorseScript.Visible)
fiss.saveInt("FISS_HorsePosX", HorsePosX)
fiss.saveFloat("FISS_HorsePosXScript", HorseScript.X)
fiss.saveInt("FISS_HorsePosY", HorsePosY)
fiss.saveFloat("FISS_HorsePosYScript", HorseScript.Y)
fiss.saveInt("FISS_HorseAlpha", HorseAlpha)
fiss.saveFloat("FISS_HorseAlphaScript", HorseScript.Alpha)
fiss.saveInt("FISS_HorseScale", HorseScale)
fiss.saveInt("FISS_HorseScaleScript", HorseScript.Size)
fiss.saveInt("FISS_FollowerWidget", FollowerWidget)
fiss.saveBool("FISS_FollowerWidgetScript", FollowerScript.Visible)
fiss.saveInt("FISS_FollowerPosX", FollowerPosX)
fiss.saveFloat("FISS_FollowerPosXScript", FollowerScript.X)
fiss.saveInt("FISS_FollowerPosY", FollowerPosY)
fiss.saveFloat("FISS_FollowerPosYScript", FollowerScript.Y)
fiss.saveInt("FISS_FollowerAlpha", FollowerAlpha)
fiss.saveFloat("FISS_FollowerAlphaScript", FollowerScript.Alpha)
fiss.saveInt("FISS_FollowerScale", FollowerScale)
fiss.saveInt("FISS_FollowerScaleScript", FollowerScript.Size)
fiss.saveInt("FISS_AttributeWidget", AttributeWidget)
fiss.saveBool("FISS_AttributeWidgetScript", AttributeScript.Visible)
fiss.saveInt("FISS_AttributePosX", AttributePosX)
fiss.saveFloat("FISS_AttributePosXScript", AttributeScript.X)
fiss.saveInt("FISS_AttributePosY", AttributePosY)
fiss.saveFloat("FISS_AttributePosYScript", AttributeScript.Y)
fiss.saveInt("FISS_AttributeAlpha", AttributeAlpha)
fiss.saveFloat("FISS_AttributeAlphaScript", AttributeScript.Alpha)
fiss.saveInt("FISS_AttributeScale", AttributeScale)
fiss.saveInt("FISS_AttributeScaleScript", AttributeScript.Size)
fiss.saveInt("FISS_EssentialWidget", EssentialWidget)
fiss.saveBool("FISS_EssentialWidgetScript", EssentialScript.Visible)
fiss.saveInt("FISS_EssentialPosX", EssentialPosX)
fiss.saveFloat("FISS_EssentialPosXScript", EssentialScript.X)
fiss.saveInt("FISS_EssentialPosY", EssentialPosY)
fiss.saveFloat("FISS_EssentialPosYScript", EssentialScript.Y)
fiss.saveInt("FISS_EssentialAlpha", EssentialAlpha)
fiss.saveFloat("FISS_EssentialAlphaScript", EssentialScript.Alpha)
fiss.saveInt("FISS_EssentialScale", EssentialScale)
fiss.saveInt("FISS_EssentialScaleScript", EssentialScript.Size)
String saveResult = fiss.endSave()
/;
JsonUtil.SetIntValue(JsonFilename, "FISS_ArrowWidget", ArrowWidget)
JsonUtil.SetIntValue(JsonFilename, "FISS_ArrowWidgetScript", ArrowScript.Visible as Int)
JsonUtil.SetIntValue(JsonFilename, "FISS_ArrowPosX", ArrowPosX)
JsonUtil.SetFloatValue(JsonFilename, "FISS_ArrowPosXScript", ArrowScript.X)
JsonUtil.SetIntValue(JsonFilename, "FISS_ArrowPosY", ArrowPosY)
JsonUtil.SetFloatValue(JsonFilename, "FISS_ArrowPosYScript", ArrowScript.Y)
JsonUtil.SetIntValue(JsonFilename, "FISS_ArrowAlpha", ArrowAlpha)
JsonUtil.SetFloatValue(JsonFilename, "FISS_ArrowAlphaScript", ArrowScript.Alpha)
JsonUtil.SetIntValue(JsonFilename, "FISS_ArrowScale", ArrowScale)
JsonUtil.SetIntValue(JsonFilename, "FISS_ArrowScaleScript", ArrowScript.Size)
JsonUtil.SetIntValue(JsonFilename, "FISS_WeightWidget", WeightWidget)
JsonUtil.SetIntValue(JsonFilename, "FISS_WeightWidgetScript", WeightScript.Visible as Int)
JsonUtil.SetIntValue(JsonFilename, "FISS_WeightPosX", WeightPosX)
JsonUtil.SetFloatValue(JsonFilename, "FISS_WeightPosXScript", WeightScript.X)
JsonUtil.SetIntValue(JsonFilename, "FISS_WeightPosY", WeightPosY)
JsonUtil.SetFloatValue(JsonFilename, "FISS_WeightPosYScript", WeightScript.Y)
JsonUtil.SetIntValue(JsonFilename, "FISS_WeightAlpha", WeightAlpha)
JsonUtil.SetFloatValue(JsonFilename, "FISS_WeightAlphaScript", WeightScript.Alpha)
JsonUtil.SetIntValue(JsonFilename, "FISS_WeightScale", WeightScale)
JsonUtil.SetIntValue(JsonFilename, "FISS_WeightScaleScript", WeightScript.Size)
JsonUtil.SetIntValue(JsonFilename, "FISS_GoldWidget", GoldWidget)
JsonUtil.SetIntValue(JsonFilename, "FISS_GoldWidgetScript", GoldScript.Visible as Int)
JsonUtil.SetIntValue(JsonFilename, "FISS_GoldPosX", GoldPosX)
JsonUtil.SetFloatValue(JsonFilename, "FISS_GoldPosXScript", GoldScript.X)
JsonUtil.SetIntValue(JsonFilename, "FISS_GoldPosY", GoldPosY)
JsonUtil.SetFloatValue(JsonFilename, "FISS_GoldPosYScript", GoldScript.Y)
JsonUtil.SetIntValue(JsonFilename, "FISS_GoldAlpha", GoldAlpha)
JsonUtil.SetFloatValue(JsonFilename, "FISS_GoldAlphaScript", GoldScript.Alpha)
JsonUtil.SetIntValue(JsonFilename, "FISS_GoldScale", GoldScale)
JsonUtil.SetIntValue(JsonFilename, "FISS_GoldScaleScript", GoldScript.Size)
JsonUtil.SetIntValue(JsonFilename, "FISS_BountyWidget", BountyWidget)
JsonUtil.SetIntValue(JsonFilename, "FISS_BountyWidgetScript", BountyScript.Visible as Int)
JsonUtil.SetIntValue(JsonFilename, "FISS_BountyPosX", BountyPosX)
JsonUtil.SetFloatValue(JsonFilename, "FISS_BountyPosXScript", BountyScript.X)
JsonUtil.SetIntValue(JsonFilename, "FISS_BountyPosY", BountyPosY)
JsonUtil.SetFloatValue(JsonFilename, "FISS_BountyPosYScript", BountyScript.Y)
JsonUtil.SetIntValue(JsonFilename, "FISS_BountyAlpha", BountyAlpha)
JsonUtil.SetFloatValue(JsonFilename, "FISS_BountyAlphaScript", BountyScript.Alpha)
JsonUtil.SetIntValue(JsonFilename, "FISS_BountyScale", BountyScale)
JsonUtil.SetIntValue(JsonFilename, "FISS_BountyScaleScript", BountyScript.Size)
JsonUtil.SetIntValue(JsonFilename, "FISS_SkillWidget", SkillWidget)
JsonUtil.SetIntValue(JsonFilename, "FISS_SkillWidgetScript", SkillScript.Visible as Int)
JsonUtil.SetIntValue(JsonFilename, "FISS_SkillPosX", SkillPosX)
JsonUtil.SetFloatValue(JsonFilename, "FISS_SkillPosXScript", SkillScript.X)
JsonUtil.SetIntValue(JsonFilename, "FISS_SkillPosY", SkillPosY)
JsonUtil.SetFloatValue(JsonFilename, "FISS_SkillPosYScript", SkillScript.Y)
JsonUtil.SetIntValue(JsonFilename, "FISS_SkillAlpha", SkillAlpha)
JsonUtil.SetFloatValue(JsonFilename, "FISS_SkillAlphaScript", SkillScript.Alpha)
JsonUtil.SetIntValue(JsonFilename, "FISS_SkillScale", SkillScale)
JsonUtil.SetIntValue(JsonFilename, "FISS_SkillScaleScript", SkillScript.Size)
JsonUtil.SetIntValue(JsonFilename, "FISS_SpeedWidget", SpeedWidget)
JsonUtil.SetIntValue(JsonFilename, "FISS_SpeedWidgetScript", SpeedScript.Visible as Int)
JsonUtil.SetIntValue(JsonFilename, "FISS_SpeedPosX", SpeedPosX)
JsonUtil.SetFloatValue(JsonFilename, "FISS_SpeedPosXScript", SpeedScript.X)
JsonUtil.SetIntValue(JsonFilename, "FISS_SpeedPosY", SpeedPosY)
JsonUtil.SetFloatValue(JsonFilename, "FISS_SpeedPosYScript", SpeedScript.Y)
JsonUtil.SetIntValue(JsonFilename, "FISS_SpeedAlpha", SpeedAlpha)
JsonUtil.SetFloatValue(JsonFilename, "FISS_SpeedAlphaScript", SpeedScript.Alpha)
JsonUtil.SetIntValue(JsonFilename, "FISS_SpeedScale", SpeedScale)
JsonUtil.SetIntValue(JsonFilename, "FISS_SpeedScaleScript", SpeedScript.Size)
JsonUtil.SetIntValue(JsonFilename, "FISS_LockpickWidget", LockpickWidget)
JsonUtil.SetIntValue(JsonFilename, "FISS_LockpickWidgetScript", LockpickScript.Visible as Int)
JsonUtil.SetIntValue(JsonFilename, "FISS_LockpickPosX", LockpickPosX)
JsonUtil.SetFloatValue(JsonFilename, "FISS_LockpickPosXScript", LockpickScript.X)
JsonUtil.SetIntValue(JsonFilename, "FISS_LockpickPosY", LockpickPosY)
JsonUtil.SetFloatValue(JsonFilename, "FISS_LockpickPosYScript", LockpickScript.Y)
JsonUtil.SetIntValue(JsonFilename, "FISS_LockpickAlpha", LockpickAlpha)
JsonUtil.SetFloatValue(JsonFilename, "FISS_LockpickAlphaScript", LockpickScript.Alpha)
JsonUtil.SetIntValue(JsonFilename, "FISS_LockpickScale", LockpickScale)
JsonUtil.SetIntValue(JsonFilename, "FISS_LockpickScaleScript", LockpickScript.Size)
JsonUtil.SetIntValue(JsonFilename, "FISS_LightWidget", LightWidget)
JsonUtil.SetIntValue(JsonFilename, "FISS_LightWidgetScript", LightScript.Visible as Int)
JsonUtil.SetIntValue(JsonFilename, "FISS_LightPosX", LightPosX)
JsonUtil.SetFloatValue(JsonFilename, "FISS_LightPosXScript", LightScript.X)
JsonUtil.SetIntValue(JsonFilename, "FISS_LightPosY", LightPosY)
JsonUtil.SetFloatValue(JsonFilename, "FISS_LightPosYScript", LightScript.Y)
JsonUtil.SetIntValue(JsonFilename, "FISS_LightAlpha", LightAlpha)
JsonUtil.SetFloatValue(JsonFilename, "FISS_LightAlphaScript", LightScript.Alpha)
JsonUtil.SetIntValue(JsonFilename, "FISS_LightScale", LightScale)
JsonUtil.SetIntValue(JsonFilename, "FISS_LightScaleScript", LightScript.Size)
JsonUtil.SetIntValue(JsonFilename, "FISS_HotkeyWidget", HotkeyWidget)
JsonUtil.SetIntValue(JsonFilename, "FISS_HotkeyWidgetScript", HotkeyScript.Visible as Int)
JsonUtil.SetIntValue(JsonFilename, "FISS_HotkeyPosX", HotkeyPosX)
JsonUtil.SetFloatValue(JsonFilename, "FISS_HotkeyPosXScript", HotkeyScript.X)
JsonUtil.SetIntValue(JsonFilename, "FISS_HotkeyPosY", HotkeyPosY)
JsonUtil.SetFloatValue(JsonFilename, "FISS_HotkeyPosYScript", HotkeyScript.Y)
JsonUtil.SetIntValue(JsonFilename, "FISS_HotkeyAlpha", HotkeyAlpha)
JsonUtil.SetFloatValue(JsonFilename, "FISS_HotkeyAlphaScript", HotkeyScript.Alpha)
JsonUtil.SetIntValue(JsonFilename, "FISS_HotkeyScale", HotkeyScale)
JsonUtil.SetIntValue(JsonFilename, "FISS_HotkeyScaleScript", HotkeyScript.Size)
JsonUtil.SetIntValue(JsonFilename, "FISS_HorseWidget", HorseWidget)
JsonUtil.SetIntValue(JsonFilename, "FISS_HorseWidgetScript", HorseScript.Visible as Int)
JsonUtil.SetIntValue(JsonFilename, "FISS_HorsePosX", HorsePosX)
JsonUtil.SetFloatValue(JsonFilename, "FISS_HorsePosXScript", HorseScript.X)
JsonUtil.SetIntValue(JsonFilename, "FISS_HorsePosY", HorsePosY)
JsonUtil.SetFloatValue(JsonFilename, "FISS_HorsePosYScript", HorseScript.Y)
JsonUtil.SetIntValue(JsonFilename, "FISS_HorseAlpha", HorseAlpha)
JsonUtil.SetFloatValue(JsonFilename, "FISS_HorseAlphaScript", HorseScript.Alpha)
JsonUtil.SetIntValue(JsonFilename, "FISS_HorseScale", HorseScale)
JsonUtil.SetIntValue(JsonFilename, "FISS_HorseScaleScript", HorseScript.Size)
JsonUtil.SetIntValue(JsonFilename, "FISS_FollowerWidget", FollowerWidget)
JsonUtil.SetIntValue(JsonFilename, "FISS_FollowerWidgetScript", FollowerScript.Visible as Int)
JsonUtil.SetIntValue(JsonFilename, "FISS_FollowerPosX", FollowerPosX)
JsonUtil.SetFloatValue(JsonFilename, "FISS_FollowerPosXScript", FollowerScript.X)
JsonUtil.SetIntValue(JsonFilename, "FISS_FollowerPosY", FollowerPosY)
JsonUtil.SetFloatValue(JsonFilename, "FISS_FollowerPosYScript", FollowerScript.Y)
JsonUtil.SetIntValue(JsonFilename, "FISS_FollowerAlpha", FollowerAlpha)
JsonUtil.SetFloatValue(JsonFilename, "FISS_FollowerAlphaScript", FollowerScript.Alpha)
JsonUtil.SetIntValue(JsonFilename, "FISS_FollowerScale", FollowerScale)
JsonUtil.SetIntValue(JsonFilename, "FISS_FollowerScaleScript", FollowerScript.Size)
JsonUtil.SetIntValue(JsonFilename, "FISS_AttributeWidget", AttributeWidget)
JsonUtil.SetIntValue(JsonFilename, "FISS_AttributeWidgetScript", AttributeScript.Visible as Int)
JsonUtil.SetIntValue(JsonFilename, "FISS_AttributePosX", AttributePosX)
JsonUtil.SetFloatValue(JsonFilename, "FISS_AttributePosXScript", AttributeScript.X)
JsonUtil.SetIntValue(JsonFilename, "FISS_AttributePosY", AttributePosY)
JsonUtil.SetFloatValue(JsonFilename, "FISS_AttributePosYScript", AttributeScript.Y)
JsonUtil.SetIntValue(JsonFilename, "FISS_AttributeAlpha", AttributeAlpha)
JsonUtil.SetFloatValue(JsonFilename, "FISS_AttributeAlphaScript", AttributeScript.Alpha)
JsonUtil.SetIntValue(JsonFilename, "FISS_AttributeScale", AttributeScale)
JsonUtil.SetIntValue(JsonFilename, "FISS_AttributeScaleScript", AttributeScript.Size)
JsonUtil.SetIntValue(JsonFilename, "FISS_EssentialWidget", EssentialWidget)
JsonUtil.SetIntValue(JsonFilename, "FISS_EssentialWidgetScript", EssentialScript.Visible as Int)
JsonUtil.SetIntValue(JsonFilename, "FISS_EssentialPosX", EssentialPosX)
JsonUtil.SetFloatValue(JsonFilename, "FISS_EssentialPosXScript", EssentialScript.X)
JsonUtil.SetIntValue(JsonFilename, "FISS_EssentialPosY", EssentialPosY)
JsonUtil.SetFloatValue(JsonFilename, "FISS_EssentialPosYScript", EssentialScript.Y)
JsonUtil.SetIntValue(JsonFilename, "FISS_EssentialAlpha", EssentialAlpha)
JsonUtil.SetFloatValue(JsonFilename, "FISS_EssentialAlphaScript", EssentialScript.Alpha)
JsonUtil.SetIntValue(JsonFilename, "FISS_EssentialScale", EssentialScale)
JsonUtil.SetIntValue(JsonFilename, "FISS_EssentialScaleScript", EssentialScript.Size)
JsonUtil.Save(JsonFilename)
EndFunction