GrandRP - Beschwerde Generator

Genriert das Template entsprechend der Vorlage

  1. // ==UserScript==
  2. // @name GrandRP - Beschwerde Generator
  3. // @namespace https://gf.qytechs.cn/users/928242
  4. // @version 0.2.4
  5. // @description Genriert das Template entsprechend der Vorlage
  6. // @author Kamikaze (https://github.com/Kamiikaze)
  7. // @supportURL https://github.com/Kamiikaze/Tampermonkey/issues
  8. // @match https://gta5grand.com/forum/*
  9. // @match https://gta5grand.com/forum/forums/*/post-thread
  10. // @icon https://www.google.com/s2/favicons?sz=64&domain=gta5grand.com
  11. // @license MIT
  12. // ==/UserScript==
  13.  
  14. (function() {
  15. if (window.location.pathname.split("/").slice(-1)[0] !== 'post-thread') return;
  16.  
  17. const formButtonRow = document.querySelector(".formRow .formSubmitRow-controls")
  18.  
  19. const generateButtonEl = document.createElement('button');
  20. generateButtonEl.setAttribute('class', 'button--primary button button--icon button--icon--write');
  21. generateButtonEl.setAttribute('style', `
  22. position: absolute;
  23. z-index: 9999;
  24. margin: 0 10px;
  25. `);
  26. generateButtonEl.textContent = 'Generate';
  27. generateButtonEl.addEventListener("click", function(event){
  28. event.preventDefault()
  29. generateTemplate()
  30. });
  31.  
  32. formButtonRow.append(generateButtonEl)
  33.  
  34. const fields = loadDefaultFields()
  35. console.log("Loaded Fields:", fields)
  36. if (!fields) return;
  37. document.querySelector(".input.field_YourID").value = fields.myId
  38. document.querySelector(".input.field_PlayerReportID").value = fields.myName
  39. })();
  40.  
  41. function getFields() {
  42. return {
  43. textBoxEl: document.querySelector(".fr-element.fr-view"),
  44. myId: document.querySelector(".input.field_YourID"),
  45. myName: document.querySelector(".input.field_PlayerReportID"),
  46. susId: document.querySelector(".input.field_PlayerReportSuspect"),
  47. proof: document.querySelector(".input.field_PlayerReportProof")
  48. }
  49. }
  50.  
  51. function generateTemplate() {
  52. const fields = getFields()
  53.  
  54. fields.textBoxEl.innerHTML = `<p><strong>Meine ID:</strong> ${fields.myId.value}</p>` +
  55. `<p><strong>ID der beschuldigten Person:</strong> ${fields.susId.value}</p>` +
  56. `<p><strong>Beweis:</strong> ${fields.proof.value.split(",").join("\n")}</p>` +
  57. `<p><strong>Situation:</strong> </p>` +
  58. `<p><strong>​</strong><br></p>`
  59.  
  60. saveDefaultFields({myId: fields.myId.value, myName: fields.myName.value })
  61. }
  62.  
  63. function saveDefaultFields(fields) {
  64. window.localStorage.setItem("defaultField", JSON.stringify(fields))
  65. console.log("Saved Fields:", fields)
  66. }
  67.  
  68. function loadDefaultFields() {
  69. return JSON.parse(window.localStorage.getItem("defaultField"))
  70. }

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址