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

Article information

Added on

Edited on

Written by

sleeperCale

0 comments