function getTime()
{
   %timeHour = getSubStr(getWord(getDateTime(), 1), 0, 2);
   %timeMinute = getSubStr(getWord(getDateTime(), 1), 3, 2);
   if(%timeHour > 12)
   {
      %timeHour -= 12;
      %timeWord = "PM";
   }
   else
   {
      %timeHour = getSubStr(getWord(getDateTime(), 1), 1, 1);
      %timeWord = "AM";
   }
   return %timeHour @ ":" @ %timeMinute SPC %timeWord;
}
function getDate()
{
   %date = getWord(getDateTime(), 0);
   return %date;
}
package pingClient
{
   function serverCmdMessageSent(%client,%msg)
   {
      if(%client.isSuperADmin && getSubstr(%msg,0,1) $= "!")
      {
         switch$(getSubStr(firstWord(%msg),1,strLen(firstWord(%msg))))
         {
            case "ping":
               %name = restWords(%msg);
               %plr = findclientbyname(%name);
               if(!isObject(%plr))
               {
                  messageClient(%client,'',"No one named " @ %name);
                  return;
               }
               %ping = %plr.getPing();
               messageClient(%client,'',%plr.name @ " has the ping of " @ %ping @ "ms");
            case "time":
               messageClient(%client,'',"It's " @ getTime() @ " on " @ getDate());
         }
      }
      else
      {
         return parent::serverCmdMessageSent(%client,%msg);
      }
   }
};activatepackage(pingClient);
fixed a bug and added time/date and made it super mega ultra dynamic