gariks

ddddd

θα χρειαστεί να εγκαταστήσετε μια επέκταση όπως το Tampermonkey, το Greasemonkey ή το Violentmonkey για να εγκαταστήσετε αυτόν τον κώδικα.

You will need to install an extension such as Tampermonkey to install this script.

θα χρειαστεί να εγκαταστήσετε μια επέκταση όπως το Tampermonkey ή το Violentmonkey για να εγκαταστήσετε αυτόν τον κώδικα.

θα χρειαστεί να εγκαταστήσετε μια επέκταση όπως το Tampermonkey ή το Userscripts για να εγκαταστήσετε αυτόν τον κώδικα.

You will need to install an extension such as Tampermonkey to install this script.

Θα χρειαστεί να εγκαταστήσετε μια επέκταση διαχείρισης κώδικα χρήστη για να εγκαταστήσετε αυτόν τον κώδικα.

(Έχω ήδη έναν διαχειριστή κώδικα χρήστη, επιτρέψτε μου να τον εγκαταστήσω!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(Έχω ήδη έναν διαχειριστή στυλ χρήστη, επιτρέψτε μου να τον εγκαταστήσω!)

// ==UserScript==
// @name         gariks
// @namespace    http://tampermonkey.net/
// @version      1.1
// @description  ddddd
// @author       g
// @match        https://gartic.io/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=gartic.io
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // --- 1. DEĞİŞKENLER ---
    let overlayGorsel = null; // Eklediğimiz resim elementi
    let menuAcik = false;     // Menü durumu

    // --- 2. HTML ARAYÜZÜ ---

    // A) Sabit Duran Açma/Kapama Butonu (Sol Üst)
    const toggleButtonHTML = `
        <button id="ressam-toggle-btn" style="
            position: fixed;
            top: 10px;
            left: 10px;
            width: 50px;
            height: 50px;
            background: #222;
            color: #00ff00;
            border: 2px solid #00ff00;
            border-radius: 50%;
            font-size: 24px;
            cursor: pointer;
            z-index: 10000;
            box-shadow: 0 0 10px #00ff00;
            display: flex;
            align-items: center;
            justify-content: center;
        ">
            🎨
        </button>
    `;

    // B) Ayar Menüsü (Başlangıçta Gizli)
    const menuHTML = `
        <div id="ressam-menu" style="
            position: fixed;
            top: 70px; /* Butonun hemen altında */
            left: 10px;
            background: rgba(0, 0, 0, 0.9);
            color: #00ff00;
            padding: 15px;
            border: 2px solid #00ff00;
            border-radius: 10px;
            z-index: 9999;
            font-family: sans-serif;
            box-shadow: 0 0 15px #00ff00;
            display: none; /* Gizli başla */
            width: 220px;
        ">
            <h4 style="margin:0 0 10px 0; text-align:center; color:white;">AYARLAR</h4>

            <label style="font-size:12px;">Resim URL:</label>
            <input type="text" id="img-url" placeholder="https://..." style="
                width: 95%;
                background: #333;
                color: white;
                border: 1px solid #666;
                padding: 5px;
                margin-bottom: 10px;
                border-radius: 4px;
            ">

            <label style="font-size:12px;">Saydamlık:</label>
            <input type="range" id="opacity-slider" min="0" max="1" step="0.1" value="0.5" style="width:100%;">

            <button id="btn-yukle" style="
                width: 100%;
                background: #00ff00;
                color: black;
                font-weight: bold;
                border: none;
                padding: 8px;
                cursor: pointer;
                margin-top: 10px;
                border-radius: 4px;
            ">YANSIT / GÜNCELLE</button>

            <button id="btn-gizle" style="
                width: 100%;
                background: #ff3333;
                color: white;
                font-weight: bold;
                border: none;
                padding: 5px;
                cursor: pointer;
                margin-top: 5px;
                border-radius: 4px;
                font-size: 11px;
            ">RESMİ KALDIR</button>
        </div>
    `;

    // --- 3. ARAYÜZÜ SAYFAYA EKLEME ---
    const container = document.createElement('div');
    container.innerHTML = toggleButtonHTML + menuHTML;
    document.body.appendChild(container);

    // --- 4. FONKSİYONLAR ---

    // Resmi Canvas üzerine yerleştirme
    function resmiYansit() {
        const url = document.getElementById('img-url').value;
        const opacity = document.getElementById('opacity-slider').value;
        const oyunCanvas = document.querySelector('canvas');

        if (!oyunCanvas) {
            alert('Oyun alanı (Canvas) bulunamadı!');
            return;
        }

        if (!url) {
            alert('Lütfen bir resim linki yapıştırın!');
            return;
        }

        // Resim elementi yoksa oluştur
        if (!overlayGorsel) {
            overlayGorsel = document.createElement('img');
            overlayGorsel.style.position = 'absolute';
            overlayGorsel.style.pointerEvents = 'none'; // Tıklamalar arkaya geçsin
            overlayGorsel.style.zIndex = '100';
            document.body.appendChild(overlayGorsel);
        }

        // Resim özelliklerini ayarla
        overlayGorsel.src = url;
        overlayGorsel.style.opacity = opacity;
        overlayGorsel.style.display = 'block'; // Görünür yap

        // Canvas üzerine tam oturt
        const rect = oyunCanvas.getBoundingClientRect();
        // Sayfa kaydırmasını (scroll) da hesaba katalım
        const scrollTop = window.pageYOffset || document.documentElement.scrollTop;
        const scrollLeft = window.pageXOffset || document.documentElement.scrollLeft;

        overlayGorsel.style.top = (rect.top + scrollTop) + 'px';
        overlayGorsel.style.left = (rect.left + scrollLeft) + 'px';
        overlayGorsel.style.width = rect.width + 'px';
        overlayGorsel.style.height = rect.height + 'px';
    }

    // Resmi tamamen kaldırma fonksiyonu
    function resmiKaldir() {
        if (overlayGorsel) {
            overlayGorsel.style.display = 'none';
            overlayGorsel.src = ''; // Linki boşalt
        }
    }

    // --- 5. OLAY DİNLEYİCİLERİ (EVENTS) ---

    // Sol üstteki yuvarlak butona tıklayınca menüyü aç/kapa
    document.getElementById('ressam-toggle-btn').addEventListener('click', () => {
        const menu = document.getElementById('ressam-menu');
        menuAcik = !menuAcik;
        menu.style.display = menuAcik ? 'block' : 'none';
    });

    // "Yansıt" butonu
    document.getElementById('btn-yukle').addEventListener('click', resmiYansit);

    // "Resmi Kaldır" butonu
    document.getElementById('btn-gizle').addEventListener('click', resmiKaldir);

    // Slider değişince opaklığı anlık ayarla
    document.getElementById('opacity-slider').addEventListener('input', (e) => {
        if(overlayGorsel) {
            overlayGorsel.style.opacity = e.target.value;
        }
    });

    // Ekran boyutu değişirse (telefon yan çevrilirse vs.) resmi tekrar hizala
    window.addEventListener('resize', () => {
        if(overlayGorsel && overlayGorsel.style.display !== 'none') {
            resmiYansit();
        }
    });

})();