void main()
{
    object oPC = GetPCSpeaker();

    int iHD = GetHitDice(oPC);

    float fDelay = 10.5 + (IntToFloat(iHD)/2);

    //Tell the OnPlayerRest Event Script we can rest...
    SetLocalInt(oPC, "REST_STARTED", 1);

    //Make the PC start the XP2 Rest system..
    AssignCommand(oPC, ActionRest(TRUE));

    DelayCommand(fDelay, SetLocalInt(oPC, "REST_STARTED", 0));
}