Added select fallbacks to all inputs except gambling

This commit is contained in:
Eddoursul 2024-02-15 10:55:12 +01:00
parent 10af737904
commit d9476ac786
14 changed files with 110 additions and 25 deletions

BIN
Text input fallback.esp Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -91,10 +91,61 @@ function Transfer(string TransferRate, string TransferAction)
if TransferRate == "start" if TransferRate == "start"
if TransferAction == "Deposit" if TransferAction == "Deposit"
iMaxAmount = GetPlayer().GetItemCount(Gold) iMaxAmount = GetPlayer().GetItemCount(Gold)
CashFlow = (((Self as QUEST) as FORM) as UILIB_1).ShowTextInput(_00E_BankSystem_Deposit_Comfy .GetName()+iMaxAmount+")", iMaxAmount) as Int
if EnderalFunctions.TextInputEnabled()
CashFlow = (((Self as QUEST) as FORM) as UILIB_1).ShowTextInput(_00E_BankSystem_Deposit_Comfy.GetName() + iMaxAmount + ")", iMaxAmount) as Int
else
int iFallback = _00E_BankSystem_Deposit_FallbackSelect.Show(Deposited)
if iFallback == 0
CashFlow = 100
elseif iFallback == 1
CashFlow = 250
elseif iFallback == 2
CashFlow = 500
elseif iFallback == 3
CashFlow = 1000
elseif iFallback == 4
CashFlow = 1500
elseif iFallback == 5
CashFlow = 2000
else
bTransferInAction = False
return
endif
endif
else else
iMaxAmount = REFdepositBox.GetItemCount(Gold) iMaxAmount = REFdepositBox.GetItemCount(Gold)
CashFlow = (((Self as QUEST) as FORM) as UILIB_1).ShowTextInput(_00E_BankSystem_Withdraw_Comfy .GetName()+iMaxAmount+")", iMaxAmount) as Int
if EnderalFunctions.TextInputEnabled()
CashFlow = (((Self as QUEST) as FORM) as UILIB_1).ShowTextInput(_00E_BankSystem_Withdraw_Comfy.GetName() + iMaxAmount + ")", iMaxAmount) as Int
else
int iFallback = _00E_BankSystem_Withdraw_FallbackSelect.Show(iMaxAmount)
if iFallback == 0
CashFlow = 100
elseif iFallback == 1
CashFlow = 250
elseif iFallback == 2
CashFlow = 500
elseif iFallback == 3
CashFlow = 1000
elseif iFallback == 4
CashFlow = 1500
elseif iFallback == 5
CashFlow = 2000
elseif iFallback == 6
CashFlow = iMaxAmount
else
bTransferInAction = False
return
endif
endif
endif
if CashFlow <= 0
bTransferInAction = False
return
endif endif
if CashFlow > iMaxAmount if CashFlow > iMaxAmount
@ -227,6 +278,8 @@ Message Property _00E_Bank_NotEnoughMoneyWithdraw Auto
Message Property _00E_Bank_NotEnoughMoneyDeposit Auto Message Property _00E_Bank_NotEnoughMoneyDeposit Auto
Message Property _00E_BankSystem_Deposit_Comfy Auto Message Property _00E_BankSystem_Deposit_Comfy Auto
Message Property _00E_BankSystem_Deposit_FallbackSelect Auto
Message Property _00E_BankSystem_Withdraw_FallbackSelect Auto
Message Property _00E_BankSystem_Withdraw_Comfy Auto Message Property _00E_BankSystem_Withdraw_Comfy Auto
Message Property _00E_BankSystem_Root Auto Message Property _00E_BankSystem_Root Auto
@ -248,4 +301,5 @@ Topic Property BankSystem_D0_PlayerWithdrawTopic Auto
float property Zins auto hidden float property Zins auto hidden
float property ZinsPercent auto hidden float property ZinsPercent auto hidden
float property Deposited auto hidden float property Deposited auto hidden

View File

@ -872,13 +872,6 @@ Weapon Property _01E_07_SteelDagger Auto
Function PrepareCardgame() Function PrepareCardgame()
If PlayerRef.GetItemCount(Gold001)<20; Failsafe, falls Player kein Gold hat
PlayerRef.AddItem(Gold001, 20, true)
EndIf
If _00E_FS_NQ02_EsmeREF.GetItemCount(Gold001)<20 ; Failsafe, falls Esme kein Gold hat
_00E_FS_NQ02_EsmeREF.AddItem(Gold001, 20, true)
EndIf
OpenCardInterface() OpenCardInterface()
;CardgameVar1 = 1 -> Spiel 1 gewonnen ;CardgameVar1 = 1 -> Spiel 1 gewonnen
;CardgameVar1 = 2 -> Spiel 1 verloren ;CardgameVar1 = 2 -> Spiel 1 verloren
@ -915,15 +908,40 @@ Function PlayCards()
EndFunction EndFunction
int Function Step01() ; place your bet int Function Step01() ; place your bet
If PlayerRef.GetItemCount(Gold001) < 20; Failsafe, falls Player kein Gold hat
PlayerRef.AddItem(Gold001, 20, true)
EndIf
If _00E_FS_NQ02_EsmeREF.GetItemCount(Gold001) < 160 ; Failsafe, falls Esme kein Gold hat
_00E_FS_NQ02_EsmeREF.AddItem(Gold001, 160, true)
EndIf
; need to calculate the max bet first ; need to calculate the max bet first
If _00E_FS_NQ02_EsmeREF.GetItemCount(Gold001) > PlayerRef.GetItemCount(Gold001) If _00E_FS_NQ02_EsmeREF.GetItemCount(Gold001) > PlayerRef.GetItemCount(Gold001)
MaxBet = (PlayerRef.GetItemCount(Gold001))/2 MaxBet = PlayerRef.GetItemCount(Gold001) / 2
ElseIf _00E_FS_NQ02_EsmeREF.GetItemCount(Gold001) < PlayerRef.GetItemCount(Gold001) ElseIf _00E_FS_NQ02_EsmeREF.GetItemCount(Gold001) < PlayerRef.GetItemCount(Gold001)
MaxBet = (_00E_FS_NQ02_EsmeREF.GetItemCount(Gold001))/2 MaxBet = _00E_FS_NQ02_EsmeREF.GetItemCount(Gold001) / 2
Else Else
MaxBet = (PlayerRef.GetItemCount(Gold001))/2 MaxBet = PlayerRef.GetItemCount(Gold001) / 2
EndIf EndIf
PlayerBet = (((self as QUEST) as FORM) as UILIB_1).ShowTextInput(PlaceYourBet .GetName()+MaxBet, MaxBet) as int
if EnderalFunctions.TextInputEnabled()
PlayerBet = (((self as QUEST) as FORM) as UILIB_1).ShowTextInput(PlaceYourBet.GetName()+MaxBet, MaxBet) as int
else
int iFallbackBet = _SAG_PlaceYourBet_FallbackMessageEsme.Show()
if iFallbackBet == 3
PlayerBet = 80
elseif iFallbackBet == 2
PlayerBet = 50
elseif iFallbackBet == 1
PlayerBet = 20
else
PlayerBet = 10
endif
endif
If PlayerBet > MaxBet || PlayerBet == 0 If PlayerBet > MaxBet || PlayerBet == 0
Step01() Step01()
RETURN 0 RETURN 0
@ -936,7 +954,7 @@ int Function Step01() ; place your bet
GlobalBet = OpponentBet + PlayerBet GlobalBet = OpponentBet + PlayerBet
_00E_FS_NQ02_PC_BetMessage.Show(PlayerBet, OpponentBet, GlobalBet) _00E_FS_NQ02_PC_BetMessage.Show(PlayerBet, OpponentBet, GlobalBet)
EnemyPurse.EnableNoWait(true) EnemyPurse.EnableNoWait(true)
RegisterForKey(14) RegisterForKey(14) ; not doing anything?
RegisterForKey(271) RegisterForKey(271)
Step02() Step02()
Return PlayerBet Return PlayerBet
@ -1089,7 +1107,9 @@ Function FinishGameAndClearUp()
PlayerREF.MoveTo(_00E_FS_NQ02_PlayerChairREF) PlayerREF.MoveTo(_00E_FS_NQ02_PlayerChairREF)
EnablePlayerControls() EnablePlayerControls()
SetGameSettingString("sCharGenControlsDisabled", s_chargeninitialtext) if SKSE.GetVersion()
SetGameSettingString("sCharGenControlsDisabled", s_chargeninitialtext)
endif
SetInChargen(abDisableSaving = false, abDisableWaiting = true, abShowControlsDisabledMessage = false) SetInChargen(abDisableSaving = false, abDisableWaiting = true, abShowControlsDisabledMessage = false)
EndFunction EndFunction
@ -1131,6 +1151,7 @@ Spell Property dunReanimateSelf Auto
Actor Property Commentator Auto Actor Property Commentator Auto
Message Property PlaceYourBet Auto Message Property PlaceYourBet Auto
Message Property _SAG_PlaceYourBet_FallbackMessageEsme Auto
GlobalVariable Property ExAequo Auto GlobalVariable Property ExAequo Auto
GlobalVariable Property WonGames Auto GlobalVariable Property WonGames Auto
@ -1185,4 +1206,4 @@ Sound Property _00E_TavernGames_DiceRollM Auto
Sound Property _00E_MAGFXFireOilIgniteLow Auto Sound Property _00E_MAGFXFireOilIgniteLow Auto
Sound Property _00E_FS_Phasmalist_EnterWorld_Male Auto Sound Property _00E_FS_Phasmalist_EnterWorld_Male Auto
MiscObject Property Gold001 Auto MiscObject Property Gold001 Auto

View File

@ -93,7 +93,7 @@ function OnActivate(ObjectReference akActionRef)
elseif iButton == 5 elseif iButton == 5
if SKSE.GetVersion() if EnderalFunctions.TextInputEnabled()
Cell cCurrentCell = Self.GetParentCell() Cell cCurrentCell = Self.GetParentCell()
String sHouseName = NQ24.ChooseHouseName() String sHouseName = NQ24.ChooseHouseName()
cCurrentCell.SetName(sHouseName) cCurrentCell.SetName(sHouseName)
@ -104,7 +104,7 @@ function OnActivate(ObjectReference akActionRef)
Player.sHouseNobleQuarterName = sHouseName Player.sHouseNobleQuarterName = sHouseName
EndIf EndIf
else else
Debug.Notification("Renaming requires SKSE") Debug.Notification("Renaming requires SKSE and keyboard")
endif endif
elseif iButton == 6 elseif iButton == 6

View File

@ -16,7 +16,7 @@ Event OnContainerChanged(ObjectReference akNewContainer, ObjectReference akOldCo
cHouseCell.SetActorOwner(PlayerREF.GetActorBase()) cHouseCell.SetActorOwner(PlayerREF.GetActorBase())
HouseBoardREF.Enable() HouseBoardREF.Enable()
if SKSE.GetVersion() if EnderalFunctions.TextInputEnabled()
sHouseName = NQ24.ChooseHouseName() sHouseName = NQ24.ChooseHouseName()
If sHouseName == "" If sHouseName == ""
sHouseName = DefaultHouseName.GetName() sHouseName = DefaultHouseName.GetName()

View File

@ -8,7 +8,7 @@ Function SetHorseName()
_00E_HorseOwned.SetValueInt(1) _00E_HorseOwned.SetValueInt(1)
if ! SKSE.GetVersion() if ! EnderalFunctions.TextInputEnabled()
return return
endif endif
@ -29,7 +29,7 @@ Function SetMuleName()
_00E_MuleOwned.SetValueInt(1) _00E_MuleOwned.SetValueInt(1)
if ! SKSE.GetVersion() if ! EnderalFunctions.TextInputEnabled()
return return
endif endif
@ -50,7 +50,7 @@ Function SetFatherShadowName()
_00E_FathersShadowOwned.SetValueInt(1) _00E_FathersShadowOwned.SetValueInt(1)
if ! SKSE.GetVersion() if ! EnderalFunctions.TextInputEnabled()
return return
endif endif
@ -75,7 +75,7 @@ EndFunction
Function RenameMount(bool _bReturnToSelection) Function RenameMount(bool _bReturnToSelection)
if SKSE.GetVersion() if EnderalFunctions.TextInputEnabled()
int iRenameSelection = _00E_NQ06_RenameMountSelection.Show() int iRenameSelection = _00E_NQ06_RenameMountSelection.Show()
If iRenameSelection == 0 If iRenameSelection == 0
SetMuleName() SetMuleName()
@ -87,7 +87,7 @@ Function RenameMount(bool _bReturnToSelection)
ReturnToSelection(_bReturnToSelection) ReturnToSelection(_bReturnToSelection)
else else
Debug.Notification("Renaming requires SKSE") Debug.Notification("Renaming requires SKSE and keyboard")
endif endif
EndFunction EndFunction

View File

@ -6,6 +6,7 @@ Scriptname _00E_PlayerHousing_CellNameSC extends ReferenceAlias
;===================================================================================== ;=====================================================================================
Event OnPlayerLoadGame() Event OnPlayerLoadGame()
; Not calling TextInputEnabled() in case renames were made with keyboard earlier
if ! SKSE.GetVersion() if ! SKSE.GetVersion()
return return
endif endif

View File

@ -31,3 +31,12 @@ String Function GetPlayerClassNameGlobal() global
Quest AffinityQuest = Game.GetFormFromFile(0x1597B, "Enderal - Forgotten Stories.esm") as Quest Quest AffinityQuest = Game.GetFormFromFile(0x1597B, "Enderal - Forgotten Stories.esm") as Quest
return (AffinityQuest.GetAlias(0) as _00E_AffinityControl).GetPlayerClassName() return (AffinityQuest.GetAlias(0) as _00E_AffinityControl).GetPlayerClassName()
endfunction endfunction
bool function IsVR() global
; Current VR build 2.0.12 (game version 1.4.15)
return SKSE.GetVersionRelease() == 60
endfunction
bool function TextInputEnabled() global
return SKSE.GetVersion() && ! Game.UsingGamepad() && ! IsVR()
endfunction