Greasy Fork is available in English.
Detects and reports hackers in the game.
// ==UserScript==
// @name Anti-Hack Detector
// @namespace https://www.example.com
// @version 1.0
// @description Detects and reports hackers in the game.
// @author Your Name
// @match https://www.example.com/game
// @grant GM_xmlhttpRequest
// ==/UserScript==
// Monitor player actions and detect suspicious behavior
function monitorPlayerActions() {
// Record the initial state of relevant player attributes
let initialHealth = getPlayerHealth();
let initialScore = getPlayerScore();
// Check for changes in player attributes periodically
setInterval(() => {
const currentHealth = getPlayerHealth();
const currentScore = getPlayerScore();
// Detect suspicious behavior (e.g., rapid health regeneration, instant high scores)
if (currentHealth > initialHealth * 2) {
reportHacker('Health hacking detected!');
}
if (currentScore - initialScore > 1000) {
reportHacker('Score hacking detected!');
}
// Update the initial state for the next check
initialHealth = currentHealth;
initialScore = currentScore;
}, 5000); // Adjust the interval as needed
}
// Get the player's current health from the game's DOM or API
function getPlayerHealth() {
// Implement logic to retrieve the player's health
// For example: return document.getElementById('health').innerText;
}
// Get the player's current score from the game's DOM or API
function getPlayerScore() {
// Implement logic to retrieve the player's score
// For example: return document.getElementById('score').innerText;
}
// Report a hacker to the server
function reportHacker(reason) {
const hackerData = {
player: getPlayerName(),
reason: reason
};
// Send a POST request to your server to report the hacker
GM_xmlhttpRequest({
method: 'POST',
url: 'https://www.example.com/report',
headers: { 'Content-Type': 'application/json' },
data: JSON.stringify(hackerData),
onload: function (response) {
console.log('Hacker reported:', response.responseText);
}
});
}
// Get the player's name from the game's DOM or API
function getPlayerName() {
// Implement logic to retrieve the player's name
// For example: return document.getElementById('player-name').innerText;
}
// Entry point
(function () {
monitorPlayerActions();
})();