Here are the changes I made to STD.T to display the time and day of the week
on the status line instead of "score/moves". Feel free to use these this code
in your games or modify it as you see fit. Enjoy!
 
Add the following to the "init" function:
  
init: function
{
    scoreStatus(global.hours, global.minutes);
    setdaemon( timeDaemon, nil );                  // start the clock daemon
}
 
Add the following to the "global" object:
 
global: object
    hours = 9                         // set the time to Saturday at 9:00 PM
    minutes = 0
    PMtime = true                     // true if PM, nil if AM
    DayNum = 7                        // 1 = Sunday, 2= Monday, etc.
    DayofWeek = ' / Saturday'         // set the initial day of the week
;
 
Add the following code:
 
timeDaemon : function ( parm )
{
  global.minutes := global.minutes + 1;
  if (global.minutes > 59) 
  {
    global.minutes := 0;
    global.hours := global.hours + 1;
  }
  if (global.hours > 12)
    global.hours := 1;

  if (global.hours = 12 and global.minutes = 0)
    global.PMtime := not global.PMtime;

  if (global.hours = 12 and global.minutes = 0 and global.PMtime = nil)
  {
    global.DayNum := global.DayNum + 1;

    if (global.DayNum > 7)
      global.DayNum := 1;

    switch(global.DayNum)
    {
      case 1:
        global.DayofWeek := ' / Sunday';
        break;
    
      case 2:
        global.DayofWeek := ' / Monday';
        break;
      case 3:
        global.DayofWeek := ' / Tuesday';
        break;

      case 4:
        global.DayofWeek := ' / Wednesday';
        break;

      case 5:
        global.DayofWeek := ' / Thurday';
        break;

      case 6:
        global.DayofWeek := ' / Friday';
        break;

      case 7:
        global.DayofWeek := ' / Saturday';
        break;
    }
  }
}
;
 
replace scoreStatus: function(hours, minutes)
{
  if (minutes < 10)
    setscore('Score: ' + cvtstr(global.score) + 
    '    Time: ' + cvtstr(hours) + ':0' + cvtstr(minutes) + 
    (global.PMtime ? ' PM' : ' AM') + global.DayofWeek);

  else

    setscore('Score: ' + cvtstr(global.score) + 
    '    Time: ' + cvtstr(hours) + ':' + cvtstr(minutes) + 
    (global.PMtime ? ' PM' : ' AM') + global.DayofWeek);
}
;
 
replace turncount: function( parm )
{
    scoreStatus(global.hours, global.minutes);
}
;
 
timeVerb: sysverb
    verb = 'time'
    action( actor ) =
    {
        displayTime(global.hours, global.minutes);
    }
;
 
displayTime : function (hours, minutes)
{
  "It is ";
  if (minutes < 10)
  {
    say(cvtstr(hours) + ':0' + cvtstr(minutes) + 
    (global.PMtime ? ' PM' : ' AM'));
    
  }
  else
  {
    say(cvtstr(hours) + ':' + cvtstr(minutes) +
    (global.PMtime ? ' PM' : ' AM'));
  }
  say(global.DayofWeek);
}
;
 
replace undoVerb: sysverb
    verb = 'undo'
    action(actor) =
    {
        /* do TWO undo's - one for this 'undo', one for previous command */
        if (undo() and undo())
        {
            "(Undoing one command)\b";
            Me.location.lookAround(true);
            scoreStatus(global.hours, global.minutes);
        }
        else
            "No more undo information is available. ";

        abort;
    }
;
 
replace restoreVerb: sysverb
    verb = 'restore'
    sdesc = "restore"
    doAction = 'Restore'
    action( actor ) =
    {
        local savefile;
        
        savefile := askfile( 'File to restore game from' );
        if ( savefile = nil or savefile = '' )
            "Failed. ";
        else if (restore( savefile ))
            "Restore failed. ";
        else
        {
            scoreStatus(global.hours, global.minutes);
            "Restored.\b";
            Me.location.lookAround(true);
        }
        abort;
    }
;
 
Well, that's all there is to it. Please let me know if there is anything I 
missed or if there are any bugs. I can be reached here or on GEnie at my
e-mail address of J.MENICHELLI.



