Gartic.io için mod menü
目前為
// ==UserScript==
// @name RED HEAD MOD
// @namespace http://tampermonkey.net/
// @version v.11
// @description Gartic.io için mod menü
// @author Ryzex
// @match https://gartic.io/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
// Menü stili
const menuStyle = `
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background-color: black;
padding: 15px;
border-radius: 10px;
color: white;
font-family: Arial, sans-serif;
font-size: 16px;
z-index: 9999; // Ryzex
display: none; /* Başlangıçta menü gizli */
width: 300px;
height: auto;
transition: all 0.5s ease;
`;
// Buton stili
const buttonStyle = `
background-color: red;
border: none;
color: white;
padding: 10px 20px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 14px;
margin: 5px;
cursor: pointer;
border-radius: 5px;
`;
// Menü açma/kapama butonu stili
const toggleMenuButtonStyle = `
position: fixed;
top: 20px;
left: 20px;
background-color: black;
color: white;
padding: 10px;
cursor: pointer;
font-size: 16px;
border-radius: 5px;
z-index: 9999;
font-family: monospace;
`;
// Menü HTML yapısı
const menuHTML = `
<div id="modMenu" style="${menuStyle}">
<div style="text-align: center; color: red; font-size: 20px; margin-bottom: 10px;">RED HEAD</div>
<div>
<label>OTO HG AÇ / KAPA:</label>
<button id="otoHG" style="${buttonStyle}">AÇ</button>
</div>
<div>
<label>GÜLE GÜLE AÇ / KAPA:</label>
<button id="guleGule" style="${buttonStyle}">AÇ</button>
</div>
<div>
<label>OTO KİCK AÇ / KAPA:</label>
<button id="otoKick" style="${buttonStyle}">AÇ</button>
</div>
<div>
<label>CEVAP CHAT AÇ / KAPA:</label>
<button id="cevapChat" style="${buttonStyle}">AÇ</button>
</div>
<div>
<label>PAPAĞAN AÇ / KAPA:</label>
<button id="papagan" style="${buttonStyle}">AÇ</button>
</div>
</div>
<button id="toggleMenuButton" style="${toggleMenuButtonStyle}">/>/</button>
<div id="statusMessage" style="position: fixed; top: 50px; left: 50%; transform: translateX(-50%); background-color: purple; color: white; padding: 10px 20px; border-radius: 5px; display: none; font-size: 16px; z-index: 9999;"></div>
`;
// Menü ve buton ekleme
document.body.insertAdjacentHTML('beforeend', menuHTML);
// Menü açma/kapama işlevi
let menuVisible = false;
document.getElementById('toggleMenuButton').addEventListener('click', function() {
const modMenu = document.getElementById('modMenu');
menuVisible = !menuVisible;
if (menuVisible) {
modMenu.style.display = 'block'; // Menü açıldığında
showMessage("Menü Açıldı");
} else {
modMenu.style.display = 'none'; // Menü kapandığında
showMessage("Menü Kapandı");
}
});
// Oto HG kontrolü
let otoHGActive = false;
document.getElementById('otoHG').addEventListener('click', function() {
if (otoHGActive) {
otoHGActive = false;
showMessage("OTO HG Özelliği KAPANDI.");
chatsend("OTO HG Özelliği KAPANDI."); // Chat'e yazdır
} else {
otoHGActive = true;
showMessage("OTO HG Özelliği AÇILDI.");
chatsend("OTO HG Özelliği AÇILDI."); // Chat'e yazdır
startAutoWelcome();
}
});
// Oto HG otomatik hoş geldin fonksiyonu
function startAutoWelcome() {
let interval = setInterval(function() {
if (!otoHGActive) {
clearInterval(interval); // Oto HG kapandıysa interval'ı durdur
return;
}
let nickin = document.getElementsByClassName("user you")[0].querySelectorAll(".nick")[0].innerText;
let msgSystem = document.querySelectorAll(".msg.system");
let msg = document.querySelectorAll(".msg");
if (msgSystem.length === 0 || msg.length === 0) return;
let lastMsgSystem = msgSystem[msgSystem.length - 1].innerText;
let lastMsg = msg[msg.length - 1].innerText;
if (lastMsgSystem.includes("katıldı")) {
if (lastMsg == lastMsgSystem) {
if (!lastMsgSystem.includes(nickin)) {
lastMsgSystem = lastMsgSystem.replace("katıldı", "hg");
let words = lastMsgSystem.split(" ");
let hgWord = words.pop();
words.unshift(hgWord);
let welcomeMessage = words.join(" ");
chatsend(welcomeMessage);
}
}
}
}, 1000); // Her saniye bir kontrol yapacak
}
// Güle Güle otomatik cevap fonksiyonu
let guleGuleActive = false;
document.getElementById('guleGule').addEventListener('click', function() {
if (guleGuleActive) {
guleGuleActive = false;
showMessage("GÜLE GÜLE Özelliği KAPANDI.");
chatsend("GÜLE GÜLE Özelliği KAPANDI."); // Chat'e yazdır
} else {
guleGuleActive = true;
showMessage("GÜLE GÜLE Özelliği AÇILDI.");
chatsend("GÜLE GÜLE Özelliği AÇILDI."); // Chat'e yazdır
startGoodbyeMessage();
}
});
function startGoodbyeMessage() {
setInterval(function() {
let nickin = document.getElementsByClassName("user you")[0].querySelectorAll(".nick")[0].innerText;
let msgSystem = document.querySelectorAll(".msg.system");
let msg = document.querySelectorAll(".msg");
if (msgSystem.length === 0 || msg.length === 0) return;
let lastMsgSystem = msgSystem[msgSystem.length - 1].innerText;
let lastMsg = msg[msg.length - 1].innerText;
if (lastMsgSystem.includes("ayrıldı")) {
if (lastMsg == lastMsgSystem) {
if (!lastMsgSystem.includes(nickin)) {
lastMsgSystem = lastMsgSystem.replace("ayrıldı", "Güle-Güle");
let words = lastMsgSystem.split(" ");
let hgWord = words.pop();
words.unshift(hgWord);
let goodbyeMessage = words.join(" ");
chatsend(goodbyeMessage);
}
}
}
}, 1000); // Her saniye bir kontrol yapacak
}
// Papagan özelliği
let papaganActive = false;
document.getElementById('papagan').addEventListener('click', function() {
if (papaganActive) {
papaganActive = false;
showMessage("PAPAĞAN Özelliği KAPANDI.");
chatsend("PAPAĞAN Özelliği KAPANDI."); // Chat'e yazdır
} else {
papaganActive = true;
showMessage("PAPAĞAN Özelliği AÇILDI.");
chatsend("PAPAĞAN Özelliği AÇILDI."); // Chat'e yazdır
startPapagan();
}
});
function startPapagan() {
setInterval(function() {
let userMessages = document.querySelectorAll(".msg.you span");
let allMessages = document.querySelectorAll(".msg span");
if (allMessages.length > 0) {
let lastMessage = allMessages[allMessages.length - 1].innerText;
let lastUserMessage = userMessages.length > 0 ? userMessages[userMessages.length - 1].innerText : "";
if (lastMessage !== lastUserMessage) {
chatsend(lastMessage);
}
}
}, 150); // 150ms gecikme süresi
}
// OTO KİCK ÖZELLİĞİ
let otoKickActive = false;
document.getElementById('otoKick').addEventListener('click', function () {
if (otoKickActive) {
otoKickActive = false;
showMessage("Oto Kick Özelliği KAPANDI.");
chatsend("Oto Kick Özelliği KAPANDI."); // Chat'e yazdır
} else {
otoKickActive = true;
showMessage("Oto Kick Özelliği AÇILDI.");
chatsend("Oto Kick Özelliği AÇILDI."); // Chat'e yazdır
startOtoKick();
}
});
function startOtoKick() {
setInterval(function() {
let nickin = document.querySelector(".user.you").querySelector(".nick").innerText;
let kickMsg = document.querySelectorAll(".msg.alert");
if (kickMsg.length === 0) return;
let lastKickMsg = kickMsg[kickMsg.length - 1].innerText;
if (lastKickMsg.includes(", " + nickin)) {
let kicker = lastKickMsg.split(",")[0];
let nicks = document.querySelectorAll(".nick");
for (let i = 0; i < nicks.length; i++) {
if (nicks[i].innerText == kicker) {
nicks[i].click();
document.querySelector(".ic-votekick").click();
}
}
}
}, 1000); // Her saniye bir kontrol yapacak
}
// Cevap Chat özelliği
let cevapChatActive = false;
document.getElementById('cevapChat').addEventListener('click', function () {
if (cevapChatActive) {
cevapChatActive = false;
showMessage("CEVAP CHAT Özelliği KAPANDI.");
chatsend("CEVAP CHAT Özelliği KAPANDI."); // Chat'e yazdır
} else {
cevapChatActive = true;
showMessage("CEVAP CHAT Özelliği AÇILDI.");
chatsend("CEVAP CHAT Özelliği AÇILDI."); // Chat'e yazdır
startCevapChat();
}
});
function startCevapChat() {
let processedWord = "";
let answer = "";
let interval = setInterval(() => {
if (!cevapChatActive) {
clearInterval(interval); // Özellik kapatıldığında durdur
return;
}
let msgHit = document.querySelectorAll(".msg.hit");
if (msgHit.length < 1) return;
let lastMsgHit = msgHit[msgHit.length - 1].innerText;
if (lastMsgHit.includes("buldun:")) {
let newWord = lastMsgHit.replace("Cevabı buldun:", "").trim();
if (newWord !== processedWord) {
processedWord = newWord;
answer = newWord.split("").join("\u200C");
chatsend("cevap " + answer);
}
}
}, 500); // Her 500ms'de bir kontrol eder
}
// Mesaj gönderme fonksiyonu
function chatsend(m_q) {
let a_i = document.querySelector('input[name=chat]');
let m_a = a_i.value;
a_i.value = m_q;
let m_z = new Event("input", { bubbles: true });
m_z.simulated = true;
let m_b = new Event("submit", { bubbles: true });
m_b.simulated = true;
let m_s = a_i._valueTracker;
m_s && m_s.setValue(m_a);
a_i.dispatchEvent(m_z);
a_i.form.dispatchEvent(m_b);
}
// Özellik açma/kapama işlevi
function showMessage(message) {
const statusMessage = document.getElementById('statusMessage');
statusMessage.innerText = message;
statusMessage.style.backgroundColor = 'purple'; // Mor renk
statusMessage.style.color = 'white';
statusMessage.style.display = 'block';
setTimeout(() => {
statusMessage.style.display = 'none';
}, 2000); // Mesaj 2 saniye sonra Ryzex kaybolur
} // Ryzex
})();