Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
//<pre>
//////////STATUS CHANGER
// Creator: Misza13
// Credits: Voyagerfan5761 for some minor improvements
// Stuff changed by Legoktm
// This section changes your last edit page
$(function (){
  //Check if the config is defined
  if (typeof(statusChangerConfig) == 'undefined') {
    statusChangerConfig = {}
  }
 
  if (typeof(statusChangerConfig.statusList) == 'undefined') {
      statusChangerConfig.statusList = [ '~~' + '~~' + '~' ];
  }
 
  if (typeof(statusChangerConfig.statusPage) == 'undefined') {
      statusChangerConfig.statusPage = 'User:' + wgUserName + '/Status/LastEdit';
  }
 
  //Add the links
  for (var i=0; i<statusChangerConfig.statusList.length; i++) {
    var stat = statusChangerConfig.statusList[i];
    mw.util.addPortletLink(
      "p-personal", //target tab - personal links
      mw.config.get('wgServer') + mw.config.get('wgScript') + "?title=" + statusChangerConfig.statusPage + "&action=edit&newstatus=" + stat, //link URL
      stat, //link text
      "pt-status-" + stat, //id of new button
      "I'm " + stat + "!", //hover text
      "", //???
      document.getElementById("pt-logout")); //add before logout button
  }
 
  if (location.href.indexOf("&action=edit&newstatus=") == -1) return; //Are we here to auto-edit the status?
  //Get new status
  statusRegExp = /&action=edit&newstatus=(.*)/;
  status = statusRegExp.exec(location.href)[1];
  //Modify the form
  document.getElementById('wpTextbox1').value = status;
  document.getElementById('wpSummary').value = "Updating last edit time";
  document.getElementById('wpMinoredit').checked = true; //minor edit
  //Submit it!
  document.getElementById('editform').submit();
});
//
//
//This section changes your status
$(function (){
  //Check if the config is defined
  if (typeof(statuschangerConfig) == 'undefined') {
    statuschangerConfig = {}
  }
 
  if (typeof(statuschangerConfig.statusList) == 'undefined') {
      statuschangerConfig.statusList = [ 'online', 'offline', 'busy' ];
  }
 
  if (typeof(statuschangerConfig.statusPage) == 'undefined') {
      statuschangerConfig.statusPage = 'User:' + wgUserName + '/Status';
  }
 
  //Add the links
  for (var i=0; i<statuschangerConfig.statusList.length; i++) {
    var stat = statuschangerConfig.statusList[i];
    mw.util.addPortletLink(
      "p-personal", //target tab - personal links
      mw.config.get('wgServer') + mw.config.get('wgScript') + "?title=" + statuschangerConfig.statusPage + "&action=edit&newstatus=" + stat, //link URL
      stat, //link text
      "pt-status-" + stat, //id of new button
      "I'm " + stat + "!", //hover text
      "", //???
      document.getElementById("pt-logout")); //add before logout button
  }
 
  if (location.href.indexOf("&action=edit&newstatus=") == -1) return; //Are we here to auto-edit the status?
  //Get new status
  statusRegExp = /&action=edit&newstatus=(.*)/;
  status = statusRegExp.exec(location.href)[1];
  //Modify the form
  document.getElementById('wpTextbox1').value = status;
  document.getElementById('wpSummary').value = "Updating my status";
  document.getElementById('wpMinoredit').checked = true; //minor edit
  //Submit it!
  document.getElementById('editform').submit();
});

//</pre>