Back to Repository

ATIS BOT !

0 upvotes
By joshuachristian2271@gmail.com
Manual (context menu)

Match Pattern

<all_urls>

Script Code

(function markComplete() {
  function findAPI(win) {
    var attempts = 0;
    while (win && attempts < 15) {
      if (win.API_1484_11) return { api: win.API_1484_11, version: "2004" };
      if (win.API) return { api: win.API, version: "1.2" };
      if (win.parent && win.parent !== win) win = win.parent;
      else if (win.opener && win.opener !== win) win = win.opener;
      else break;
      attempts++;
    }
    return null;
  }

  var found = findAPI(window);
  if (!found) {
    console.warn("SCORM API not found");
    return;
  }

  var api = found.api;
  function set(key, value) {
    try {
      var result = found.version === "2004"
        ? api.SetValue(key, String(value))
        : api.LMSSetValue(key, String(value));
      console.log(key, result);
    } catch (e) {
      console.warn(key, e);
    }
  }

  if (found.version === "2004") {
    set("cmi.score.min", "0");
    set("cmi.score.max", "100");
    set("cmi.score.raw", "100");
    set("cmi.score.scaled", "1");
    set("cmi.progress_measure", "1");
    set("cmi.completion_status", "completed");
    set("cmi.success_status", "passed");
    try { console.log("Commit", api.Commit("")); } catch (e) { console.warn(e); }
  } else {
    set("cmi.core.score.min", "0");
    set("cmi.core.score.max", "100");
    set("cmi.core.score.raw", "100");
    set("cmi.core.lesson_status", "passed");
    try { console.log("Commit", api.LMSCommit("")); } catch (e) { console.warn(e); }
  }
})();
Install requires the InjectJS Chrome extension. Scripts run only on sites matching the pattern above. Review code before installing any community script.