2021-10-05 22:15:58 +00:00
|
|
|
Scriptname _SAG_PC_StatsTrack_PlayerScript extends ReferenceAlias
|
|
|
|
|
|
|
|
ObjectReference Property LastKnown Auto
|
|
|
|
GlobalVariable Property ExAequo Auto
|
|
|
|
GlobalVariable Property WonGames Auto
|
|
|
|
GlobalVariable Property LostGames Auto
|
|
|
|
GlobalVariable Property LostBets Auto
|
|
|
|
GlobalVariable Property WonBets Auto
|
|
|
|
String sWonGamesValue
|
|
|
|
String sLostGamesValue
|
|
|
|
String sWonBetsValue
|
|
|
|
String sLostBetsValue
|
|
|
|
|
|
|
|
|
|
|
|
Event OnInit()
|
2024-02-07 15:20:32 +00:00
|
|
|
if SKSE.GetVersion() > 0
|
|
|
|
RegisterForMenu("Journal Menu")
|
|
|
|
else
|
|
|
|
Debug.Trace("NO SKSE: card game stats display is disabled")
|
|
|
|
endif
|
2021-10-05 22:15:58 +00:00
|
|
|
endEvent
|
|
|
|
|
|
|
|
Event OnPlayerLoadGame()
|
|
|
|
OnInit()
|
|
|
|
EndEvent
|
|
|
|
|
|
|
|
event OnMenuOpen(string a_menuName)
|
|
|
|
; won games
|
|
|
|
sWonGamesValue =WonGames.Value as string
|
|
|
|
string[] WGargs = new string[4]
|
|
|
|
WGargs[0] = "Card Game: won games" ; Stat name
|
|
|
|
WGargs[1] = sWonGamesValue as INT
|
|
|
|
WGargs[2] = "0" ; stat category index as string 0 = "General"
|
|
|
|
WGargs[3] = ""
|
|
|
|
UI.InvokeStringA("Journal Menu", "_root.QuestJournalFader.Menu_mc.StatsFader.Page_mc.PopulateStatsList", WGargs)
|
|
|
|
|
|
|
|
; lost games
|
|
|
|
sLostGamesValue =LostGames.Value as string
|
|
|
|
string[] LGargs = new string[4]
|
|
|
|
LGargs[0] = "Card Game: lost games" ; Stat name
|
|
|
|
LGargs[1] = sLostGamesValue as INT
|
|
|
|
LGargs[2] = "0" ; stat category index as string 0 = "General"
|
|
|
|
LGargs[3] = ""
|
|
|
|
UI.InvokeStringA("Journal Menu", "_root.QuestJournalFader.Menu_mc.StatsFader.Page_mc.PopulateStatsList", LGargs)
|
|
|
|
|
|
|
|
; ex aequo
|
|
|
|
string sExAequoValue = ExAequo.Value as string
|
|
|
|
string[] EAargs = new string[4]
|
|
|
|
EAargs[0] = "Card Game: ex aequo" ; Stat name
|
|
|
|
EAargs[1] = sExAequoValue as INT
|
|
|
|
EAargs[2] = "0" ; stat category index as string 0 = "General"
|
|
|
|
EAargs[3] = ""
|
|
|
|
UI.InvokeStringA("Journal Menu", "_root.QuestJournalFader.Menu_mc.StatsFader.Page_mc.PopulateStatsList", EAargs)
|
|
|
|
|
|
|
|
; lost bets
|
|
|
|
GetOwningQuest().UpdateCurrentInstanceGlobal(LostBets) ; Not sure if this is necessary?
|
|
|
|
sLostBetsValue =LostBets.Value as string
|
|
|
|
string[] LBargs = new string[4]
|
|
|
|
LBargs[0] = "Card Game: total lost gold" ; Stat name
|
|
|
|
LBargs[1] = sLostBetsValue as INT
|
|
|
|
LBargs[2] = "0" ; stat category index as string 0 = "General"
|
|
|
|
LBargs[3] = ""
|
|
|
|
UI.InvokeStringA("Journal Menu", "_root.QuestJournalFader.Menu_mc.StatsFader.Page_mc.PopulateStatsList", LBargs)
|
|
|
|
|
|
|
|
; won bets
|
|
|
|
sWonBetsValue =WonBets.Value as string
|
|
|
|
string[] WBargs = new string[4]
|
|
|
|
WBargs[0] = "Card Game: total won gold" ; Stat name
|
|
|
|
WBargs[1] = sWonBetsValue as INT
|
|
|
|
WBargs[2] = "0" ; stat category index as string 0 = "General"
|
|
|
|
WBargs[3] = ""
|
|
|
|
UI.InvokeStringA("Journal Menu", "_root.QuestJournalFader.Menu_mc.StatsFader.Page_mc.PopulateStatsList", WBargs)
|
|
|
|
|
|
|
|
; all games
|
|
|
|
string Sallgames = (WonGames.Value + LostGames.Value + ExAequo.Value) as string
|
|
|
|
string[] AGargs = new string[4]
|
|
|
|
AGargs[0] = "Card Game: total games played" ; Stat name
|
|
|
|
AGargs[1] = Sallgames as INT
|
|
|
|
AGargs[2] = "0" ; stat category index as string 0 = "General"
|
|
|
|
AGargs[3] = ""
|
|
|
|
UI.InvokeStringA("Journal Menu", "_root.QuestJournalFader.Menu_mc.StatsFader.Page_mc.PopulateStatsList", AGargs)
|
|
|
|
|
|
|
|
; last known opponent
|
|
|
|
; string SLastknown = LastKnown.GetDisplayName()
|
|
|
|
; string[] LKargs = new string[4]
|
|
|
|
; LKargs[0] = "Card Game: last opponent" ; Stat name
|
|
|
|
; if sAllGames != 0
|
|
|
|
; LKargs[1] = SLastKnown
|
|
|
|
; else
|
|
|
|
; LKArgs[1] = ""
|
|
|
|
; endif
|
|
|
|
; LKargs[2] = "0" ; stat category index as string 0 = "General"
|
|
|
|
; LKargs[3] = ""
|
|
|
|
; UI.InvokeStringA("Journal Menu", "_root.QuestJournalFader.Menu_mc.StatsFader.Page_mc.PopulateStatsList", LKargs)
|
|
|
|
|
|
|
|
; victoryRatio
|
|
|
|
String VictoryRatio
|
|
|
|
|
|
|
|
if( WonGames.Value + LostGames.Value + ExAequo.Value != 0 )
|
|
|
|
VictoryRatio = ((WonGames.Value/(WonGames.Value + LostGames.Value + ExAequo.Value)*100) as int) as string +"%"
|
|
|
|
else
|
|
|
|
VictoryRatio = "0%"
|
|
|
|
endif
|
|
|
|
string[] VRargs = new string[4]
|
|
|
|
VRargs[0] = "Card Game: victory ratio"
|
|
|
|
VRargs[1] = VictoryRatio
|
|
|
|
AGargs[2] = "0"
|
|
|
|
AGargs[3] = ""
|
|
|
|
UI.InvokeStringA("Journal Menu", "_root.QuestJournalFader.Menu_mc.StatsFader.Page_mc.PopulateStatsList", VRargs)
|
|
|
|
endEvent
|