scn NapInChairScript
short Key
short KeyDown
short NapChoice
short NapActive
float fQuestDelayTime
float fSleepDuration
float CurrentTime
short DayOfWeek
short Hour
short Minute
short DisplayHour
string_var Day
string_var TimeOfDay
string_var DisplayTime
string_var DisplayMinute
Begin GameMode
set fQuestDelayTime to 0.2
if ( Key == 0 )
set Key to 49
endif
set CurrentTime to GameHour
set DayOfWeek to GetDayOfWeek
set Hour to CurrentTime
set Minute to ( CurrentTime - Hour ) * 60
set Minute to Minute + 0.5
set DisplayHour to Hour
if ( DisplayHour >= 12 )
let TimeOfDay := "PM"
if ( DisplayHour > 12 )
set DisplayHour to DisplayHour - 12
endif
else
let TimeOfDay := "AM"
if ( DisplayHour == 0 )
set DisplayHour to 12
endif
endif
if ( DayOfWeek == 0 )
let Day := "Sundas"
elseif ( DayOfWeek == 1 )
let Day := "Morndas"
elseif ( DayOfWeek == 2 )
let Day := "Tirdas"
elseif ( DayOfWeek == 3 )
let Day := "Middas"
elseif ( DayOfWeek == 4 )
let Day := "Turdas"
elseif ( DayOfWeek == 5 )
let Day := "Fredas"
elseif ( DayOfWeek == 6 )
let Day := "Loredas"
endif
if ( Minute < 10 )
let DisplayMinute := "0" + $(Minute)
else
let DisplayMinute := $(Minute)
endif
let DisplayTime := $(DisplayHour) + ":" + DisplayMinute
if ( Player.GetSitting == 3 ) && ( IsKeyPressed3 Key ) && ( KeyDown == 0 ) && ( MenuMode == 0 ) && ( NapActive == 0 ) && ( Player.IsInCombat == 0 )
set KeyDown to 1
MessageBoxEx "How long would you like to rest?%r %z %z %z|1 Hour|2 Hours|3 Hours|Cancel" Day DisplayTime TimeOfDay
set NapActive to 1
elseif ( Player.GetSitting == 3 ) && ( IsKeyPressed3 Key ) && ( KeyDown == 0 ) && ( MenuMode == 0 ) && ( NapActive == 0 ) && ( Player.IsInCombat )
set KeyDown to 1
MessageBoxEx "You cannot sleep with enemies nearby.|Ok"
elseif ( IsKeyPressed3 Key == 0 ) && ( KeyDown == 1 )
set KeyDown to 0
endif
if ( NapActive == 1 )
set NapChoice to GetButtonPressed
endif
if (NapChoice >= 0) && ( NapActive == 1 )
if ( NapChoice == 3 ) ; Cancel
set NapChoice to -1
set NapActive to 0
else
set fSleepDuration to NapChoice + 1
set GameHour to GameHour + fSleepDuration
Player.ResetHealth
if ( GetPCMajorSkillUps >= 10 )
AdvancePCLevel
endif
set NapChoice to -1
set NapActive to 0
endif
endif
End
0 comments