// ==UserScript==
// @name Awelon.UserScript
// @namespace http://tampermonkey.net/
// @version 0.19
// @description idk if it works or not, the script is old, but in theory it should work (move the menu to the top where the title text is) turn on/off the function by pressing buttons
// @author awelon
// @match https://tankionline.com/play*
// @match https://*.tankionline.com/*
// @match https://3dtank.com/play*
// @icon https://www.google.com/s2/favicons?sz=64&domain=tankionline.com
// @grant none
// ==/UserScript==
(function () {
'use strict';
const style = document.createElement('style');
style.textContent = `
#customMenu {
position: fixed;
top: 100px;
left: 100px;
width: 350px;
height: 350px;
background-color: rgba(0, 0, 0, 0.8);
border: 2px solid white;
box-shadow: 0 0 10px white;
z-index: 9999;
display: none;
user-select: none;
padding: 10px;
box-sizing: border-box;
}
#customMenuHeader {
font-size: 18px;
font-weight: bold;
color: white;
text-align: center;
padding: 10px;
border-bottom: 1px solid white;
background-color: rgba(255, 255, 255, 0.1);
cursor: grab;
}
.menuButtons {
display: flex;
justify-content: space-between;
margin: 10px 0;
}
.menuButton {
width: 48%;
padding: 8px;
font-size: 14px;
text-align: center;
background-color: rgba(255, 255, 255, 0.1);
border: 1px solid white;
color: white;
cursor: pointer;
transition: background-color 0.3s;
}
.menuButton:hover {
background-color: rgba(255, 255, 255, 0.2);
}
.subMenu {
margin-top: 10px;
display: none;
}
.subMenu .menuButton {
width: 90%;
margin: 5px auto;
padding: 6px;
}
.notification {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background-color: rgba(0, 0, 0, 0.8);
color: white;
padding: 10px 20px;
border: 2px solid white;
text-align: center;
z-index: 10000;
font-size: 16px;
opacity: 0;
transition: opacity 0.5s;
}
`;
document.head.appendChild(style);
const menu = document.createElement('div');
menu.id = 'customMenu';
const header = document.createElement('div');
header.id = 'customMenuHeader';
header.textContent = 'Awelon.userscript';
menu.appendChild(header);
const buttonContainer = document.createElement('div');
buttonContainer.className = 'menuButtons';
const physicsButton = document.createElement('div');
physicsButton.className = 'menuButton';
physicsButton.textContent = 'Physics';
const otherButton = document.createElement('div');
otherButton.className = 'menuButton';
otherButton.textContent = 'Other';
buttonContainer.appendChild(physicsButton);
buttonContainer.appendChild(otherButton);
menu.appendChild(buttonContainer);
document.body.appendChild(menu);
const physicsMenu = document.createElement('div');
physicsMenu.className = 'subMenu';
physicsMenu.innerHTML = `
<div class="menuButton" id="simpleTP">SimpleTP</div>
`;
menu.appendChild(physicsMenu);
const otherMenu = document.createElement('div');
otherMenu.className = 'subMenu';
otherMenu.innerHTML = `
<div class="menuButton" id="jump">Jump (J)</div>
`;
menu.appendChild(otherMenu);
function showNotification(message) {
const notification = document.createElement('div');
notification.className = 'notification';
notification.textContent = message;
document.body.appendChild(notification);
setTimeout(() => {
notification.style.opacity = 1;
}, 0);
setTimeout(() => {
notification.style.opacity = 0;
setTimeout(() => notification.remove(), 500);
}, 2000);
}
document.addEventListener('keydown', (e) => {
if (e.key === 'Insert') {
menu.style.display = menu.style.display === 'none' ? 'block' : 'none';
}
});
physicsButton.addEventListener('click', () => {
const isVisible = physicsMenu.style.display === 'block';
physicsMenu.style.display = isVisible ? 'none' : 'block';
otherMenu.style.display = 'none';
});
otherButton.addEventListener('click', () => {
const isVisible = otherMenu.style.display === 'block';
otherMenu.style.display = isVisible ? 'none' : 'block';
physicsMenu.style.display = 'none';
});
let isSimpleTPActive = false;
let isJumpActive = false;
const simpleTPButton = document.getElementById('simpleTP');
simpleTPButton.addEventListener('click', () => {
isSimpleTPActive = !isSimpleTPActive;
showNotification(isSimpleTPActive ? 'Simple TP activated' : 'Simple TP disabled');
});
const jumpButton = document.getElementById('jump');
jumpButton.addEventListener('click', () => {
isJumpActive = !isJumpActive;
showNotification(isJumpActive ? 'Jump activated' : 'Jump disabled');
});
let isDragging = false;
let offsetX, offsetY;
header.addEventListener('mousedown', (e) => {
isDragging = true;
offsetX = e.clientX - menu.getBoundingClientRect().left;
offsetY = e.clientY - menu.getBoundingClientRect().top;
e.preventDefault();
});
document.addEventListener('mousemove', (e) => {
if (isDragging) {
menu.style.left = `${e.clientX - offsetX}px`;
menu.style.top = `${e.clientY - offsetY}px`;
}
});
document.addEventListener('mouseup', () => {
isDragging = false;
});
function randomGameFunction() {
const functions = [
'gameObjects.localTank()',
'gameObjects.remoteTank()',
'gameObjects.enemyTank()',
'gameObjects.localPlayer()',
'gameObjects.remotePlayer()',
'gameObjects.spawnItem()',
'gameObjects.randomizePlayerPosition()',
'gameObjects.getObjectHealth()',
'gameObjects.randomizeTankSpeed()',
'gameObjects.createExplosion()',
'gameObjects.randomizeWeapon()',
'gameObjects.createObstacle()',
'gameObjects.triggerEvent()',
'gameObjects.toggleVisibility()',
'gameObjects.addItemToInventory()'
];
const randomIndex = Math.floor(Math.random() * functions.length);
return functions[randomIndex];
}
console.log(randomGameFunction());
function addRandomLines() {
const numberOfEmptyLines = 350 - document.documentElement.outerHTML.split("\n").length;
for (let i = 0; i < numberOfEmptyLines; i++) {
console.log("");
}
}
function gameScript1() {
console.log("Activating Tank AI...");
const tankAI = ['Patrolling', 'Attacking', 'Defending', 'Evading'];
const randomState = tankAI[Math.floor(Math.random() * tankAI.length)];
console.log(`Tank is now: ${randomState}`);
}
function gameScript2() {
console.log("Activating Player Stats...");
const playerStats = {
health: Math.floor(Math.random() * 100),
speed: Math.floor(Math.random() * 10) + 1,
power: Math.floor(Math.random() * 50) + 10
};
console.log(`Player Stats - Health: ${playerStats.health}, Speed: ${playerStats.speed}, Power: ${playerStats.power}`);
}
function gameScript3() {
console.log("Spawning Enemy...");
const enemyTypes = ['Basic', 'Elite', 'Boss'];
const randomEnemy = enemyTypes[Math.floor(Math.random() * enemyTypes.length)];
console.log(`An enemy of type ${randomEnemy} has spawned!`);
}
function gameScript4() {
console.log("Random Event Triggered...");
const events = ['Meteor Shower', 'Power Surge', 'Weapon Malfunction', 'Laser Blast'];
const randomEvent = events[Math.floor(Math.random() * events.length)];
console.log(`Event: ${randomEvent}`);
}
function gameScript5() {
console.log("Creating Random Terrain...");
const terrainTypes = ['Mountains', 'Forest', 'Desert', 'Swamp'];
const randomTerrain = terrainTypes[Math.floor(Math.random() * terrainTypes.length)];
console.log(`Generated Terrain: ${randomTerrain}`);
}
function gameScript6() {
console.log("Random Item Drop...");
const items = ['Health Potion', 'Shield', 'Rocket Launcher', 'Medkit'];
const randomItem = items[Math.floor(Math.random() * items.length)];
console.log(`Item Dropped: ${randomItem}`);
}
function gameScript7() {
console.log("Player Action Taken...");
const actions = ['Attack', 'Defend', 'Move Forward', 'Retreat'];
const randomAction = actions[Math.floor(Math.random() * actions.length)];
console.log(`Player Action: ${randomAction}`);
}
function gameScript8() {
console.log("Random Objective...");
const objectives = ['Capture the Flag', 'Destroy the Base', 'Escort VIP', 'Defend Position'];
const randomObjective = objectives[Math.floor(Math.random() * objectives.length)];
console.log(`Objective: ${randomObjective}`);
}
function gameScript9() {
console.log("Creating Random Enemy AI...");
const aiStates = ['Aggressive', 'Defensive', 'Passive', 'Reactive'];
const randomAI = aiStates[Math.floor(Math.random() * aiStates.length)];
console.log(`Enemy AI State: ${randomAI}`);
}
function gameScript10() {
console.log("Random Weather Effect...");
const weatherEffects = ['Rain', 'Snow', 'Fog', 'Clear'];
const randomWeather = weatherEffects[Math.floor(Math.random() * weatherEffects.length)];
console.log(`Weather: ${randomWeather}`);
}
addRandomLines();
gameScript1();
gameScript2();
gameScript3();
gameScript4();
gameScript5();
gameScript6();
gameScript7();
gameScript8();
gameScript9();
gameScript10();
})();