- // ==UserScript==
- // @name EĞLENCE PANELİ
- // @namespace http://tampermonkey.net/
- // @version 1.6
- // @description Gartic.io oyununda otomatik olarak mesaj gönderir ve URL işlemleri yapar.
- // @author NEO
- // @match https://gartic.io/*
- // @grant none
- // ==/UserScript==
-
- (function() {
- 'use strict';
-
- let originalSend = WebSocket.prototype.send;
- let intervalId = null;
- let chatIntervalId = null;
- let epilepsyIntervalId = null;
- let messageBoxes = [];
- const maxMessages = 3;
- window.wsObj = {};
-
- WebSocket.prototype.send = function(data) {
- originalSend.apply(this, arguments);
- if (!window.wsObj.id) {
- window.wsObj = this;
- window.wsObj.addEventListener("message", (msg) => {
- try {
- let data = JSON.parse(msg.data.slice(2));
- if (data[0] == 5) {
- Object.assign(window.wsObj, { lengthID: data[1], id: data[2], roomCode: data[3] });
- }
- } catch (err) {}
- });
- }
- };
-
- const addStyle = () => {
- const style = document.createElement('style');
- style.textContent = `
- @keyframes rainbowGlow { 0%, 100% { box-shadow: 0 0 15px red; } 20% { box-shadow: 0 0 15px orange; } 40% { box-shadow: 0 0 15px yellow; } 60% { box-shadow: 0 0 15px green; } 80% { box-shadow: 0 0 15px blue; } }
- @keyframes rainbowText { 0%, 100% { color: red; } 20% { color: orange; } 40% { color: yellow; } 60% { color: green; } 80% { color: blue; } }
- .rainbowGlow { animation: rainbowGlow 3s infinite alternate; }
- .rainbowText { animation: rainbowText 3s infinite alternate; }
- `;
- document.head.appendChild(style);
- };
-
- const createButton = (text, className, clickHandler) => {
- const btn = document.createElement('button');
- btn.textContent = text;
- btn.classList.add('rainbowGlow');
- btn.style = `background-color: ${className}; color: white; border: none; padding: 10px; border-radius: 5px; cursor: pointer; margin-right: 10px;`;
- btn.addEventListener('click', clickHandler);
- return btn;
- };
-
- const createPanel = () => {
- const panel = document.createElement('div');
- panel.style = 'position: fixed; top: 70px; left: 10px; background-color: rgba(0, 0, 0, 0.8); color: white; padding: 20px; border-radius: 10px; display: none; z-index: 1000; width: 300px;';
- document.body.appendChild(panel);
- return panel;
- };
-
- const simulateClick = (element) => {
- const rect = element.getBoundingClientRect();
- const x = rect.left + (rect.width / 2);
- const y = rect.top + (rect.height / 2);
-
- const clickEvent = new MouseEvent('click', {
- view: window,
- bubbles: true,
- cancelable: true,
- clientX: x,
- clientY: y
- });
-
- element.dispatchEvent(clickEvent);
- };
-
- const toggleButton = document.createElement('div');
- toggleButton.style = 'position: fixed; top: 10px; left: 10px; width: 50px; height: 50px; background-color: black; color: red; border-radius: 10%; display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 24px;';
- toggleButton.classList.add('rainbowGlow');
- toggleButton.textContent = '❌';
- document.body.appendChild(toggleButton);
-
- const panel = createPanel();
- const title = document.createElement('div');
- title.textContent = 'Script Developer By Neo';
- title.classList.add('rainbowText');
- title.style.marginBottom = '10px';
- panel.appendChild(title);
-
- const messageInput = document.createElement('textarea');
- messageInput.placeholder = 'Göndermek istediğiniz mesaj';
- messageInput.style = 'width: 100%; margin-bottom: 10px; height: 30px;';
- panel.appendChild(messageInput);
-
- const startButton = createButton('Başlat', 'rainbowGlow', () => {
- const messages = [messageInput.value, ...messageBoxes.map(box => box.value)].filter(msg => msg.trim());
- if (!messages.length) return;
-
- const interval = messageBoxes.length ? 300 : 130;
- let count = 0;
- intervalId = setInterval(() => {
- const invisibleChar = String.fromCharCode(8203).repeat(Math.random() * 3 + 1);
- window.wsObj.send(`42[13,${window.wsObj.id},"${messages[count % messages.length]}${invisibleChar}"]`);
- count++;
- }, interval);
- });
-
- const stopButton = createButton('Dur', 'rainbowGlow', () => clearInterval(intervalId));
- panel.appendChild(startButton);
- panel.appendChild(stopButton);
-
- const addMessageButton = createButton('Mesaj Ekle', 'rainbowGlow', () => {
- if (messageBoxes.length >= maxMessages - 1) {
- alert('En fazla 3 mesaj gönderebilirsiniz');
- return;
- }
-
- const messageBoxContainer = document.createElement('div');
- messageBoxContainer.style = 'display: flex; align-items: center; margin-bottom: 10px; margin-top: 10px;';
-
- const newMessageBox = document.createElement('textarea');
- newMessageBox.placeholder = 'Ek mesaj';
- newMessageBox.style = 'flex-grow: 1; margin-right: 10px; height: 30px;';
- messageBoxContainer.appendChild(newMessageBox);
-
- const removeButton = createButton('✖', '#0000FF', () => {
- panel.removeChild(messageBoxContainer);
- messageBoxes = messageBoxes.filter(box => box !== newMessageBox);
- });
- messageBoxContainer.appendChild(removeButton);
-
- panel.appendChild(messageBoxContainer);
- messageBoxes.push(newMessageBox);
- });
- panel.appendChild(addMessageButton);
-
- // F5 Button
- const f5Button = createButton('F5', 'rainbowGlow', () => {
- const currentUrl = window.location.href;
- document.querySelector('#exit').click();
- const checkUrlChange = setInterval(() => {
- if (window.location.href !== currentUrl) {
- clearInterval(checkUrlChange);
- window.location.href = currentUrl;
- setTimeout(() => document.querySelector('.ic-playHome').click(), 2000);
- }
- }, 100);
- });
- panel.appendChild(f5Button);
-
- // Epilepsi Modu
- const epilepsyLabel = document.createElement('div');
- epilepsyLabel.textContent = 'Epilepsi Modu';
- epilepsyLabel.style = 'margin-top: 10px; color: white;';
- panel.appendChild(epilepsyLabel);
-
- const epilepsyButton = createButton('Off', 'rainbowGlow', () => {
- if (epilepsyButton.textContent === 'Off') {
- epilepsyButton.textContent = 'On';
- epilepsyButton.style.color = 'green';
-
- const blackColorDiv = document.querySelector('div.color.active[style*="background-color: rgb(0, 0, 0);"]');
- if (blackColorDiv) simulateClick(blackColorDiv);
- simulateClick(document.querySelector('li#op7.tool'));
- const eventsElement = document.querySelector('#events');
- if (eventsElement) simulateClick(eventsElement);
-
- epilepsyIntervalId = setInterval(() => {
- simulateClick(document.querySelector('li#undo'));
- setTimeout(() => simulateClick(document.querySelector('li#repeat')), 100);
- }, 200);
- } else {
- epilepsyButton.textContent = 'Off';
- epilepsyButton.style.color = 'red';
- clearInterval(epilepsyIntervalId);
- }
- });
- panel.appendChild(epilepsyButton);
-
- // Sohbet Mesajı
- const chatLabel = document.createElement('div');
- chatLabel.textContent = 'Sohbet Mesajı';
- chatLabel.style = 'margin-top: 10px; color: white;';
- panel.appendChild(chatLabel);
-
- const chatButton = createButton('Off', 'rainbowGlow', () => {
- if (chatButton.textContent === 'Off') {
- chatButton.textContent = 'On';
- chatButton.style.color = 'green';
-
- const messages = [messageInput.value, ...messageBoxes.map(box => box.value)].filter(msg => msg.trim());
- if (!messages.length) return;
-
- let count = 0;
- chatIntervalId = setInterval(() => {
- const invisibleChar = String.fromCharCode(8203).repeat(Math.random() * 3 + 1);
- window.wsObj.send(`42[11,${window.wsObj.id},"${messages[count % messages.length]}${invisibleChar}"]`);
- count++;
- }, 1000);
- } else {
- chatButton.textContent = 'Off';
- chatButton.style.color = 'red';
- clearInterval(chatIntervalId);
- }
- });
- panel.appendChild(chatButton);
-
- toggleButton.addEventListener('click', () => {
- panel.style.display = panel.style.display === 'none' ? 'block' : 'none';
- });
-
- addStyle();
- })();