garik

ggg

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, Greasemonkey alebo Violentmonkey.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie, ako napríklad Tampermonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, % alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey alebo Userscripts.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie, ako napríklad Tampermonkey.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie správcu používateľských skriptov.

(Už mám správcu používateľských skriptov, nechajte ma ho nainštalovať!)

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

(Už mám správcu používateľských štýlov, nechajte ma ho nainštalovať!)

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

(function() {
    'use strict';

    /*
    Burada "Strict Mode" kullanıyoruz ki JavaScript hatalarımızı affetmesin,
    daha temiz kod yazalım.
    */

    // --- 1. DEĞİŞKENLER VE AYARLAR ---
    let menuAcik = false; // Menünün açık/kapalı durumunu tutar
    let overlayGorsel = null; // Eklediğimiz resim elementi

    // --- 2. HTML ARAYÜZÜ (MENÜ TASARIMI) ---
    /*
    HTML'i JavaScript içinde string (yazı) olarak oluşturuyoruz.
    Buna 'Template Literal' denir..
    */
    const menuHTML = `
        <div id="ressam-menu" style="
            position: fixed;
            top: 20px;
            left: 20px;
            background: rgba(0, 0, 0, 0.85);
            color: #00ff00;
            padding: 20px;
            border: 2px solid #00ff00;
            border-radius: 10px;
            z-index: 9999;
            font-family: 'Courier New', monospace;
            box-shadow: 0 0 15px #00ff00;
            display: none; /* Başlangıçta gizli */
        ">
            <h3 style="margin-top:0; text-align:center;">🎨 RESSAM MODU</h3>
            <hr style="border-color: #00ff00;">

            <label>Resim URL'si:</label><br>
            <input type="text" id="img-url" placeholder="Link yapıştır..." style="
                width: 200px;
                background: #222;
                color: white;
                border: 1px solid #555;
                padding: 5px;
            "><br><br>

            <label>Opaklık (Şeffaflık):</label><br>
            <input type="range" id="opacity-slider" min="0" max="1" step="0.1" value="0.5"><br><br>

            <button id="btn-yukle" style="
                width: 100%;
                background: #00ff00;
                color: black;
                font-weight: bold;
                border: none;
                padding: 10px;
                cursor: pointer;
            ">RESMİ YANSIT</button>

            <p style="font-size: 10px; color: gray; margin-top: 10px;">Menü: [INSERT] Tuşu</p>
        </div>
    `;

    // --- 3. ARAYÜZÜ SAYFAYA EKLEME (INJECTION) ---
    // Oluşturduğumuz HTML'i body'nin en sonuna ekliyoruz.
    const div = document.createElement('div');
    div.innerHTML = menuHTML;
    document.body.appendChild(div);

    // --- 4. RESMİ OYUN ALANINA YERLEŞTİRME FONKSİYONU ---
    function resmiYansit() {
        /*
        VIDEO NOTU:
        Burada oyunun çizim alanını (Canvas) bulmamız lazım.
        Gartic.io'da çizim alanı genellikle 'canvas' etiketidir.
        Biz resmimizi bu canvas'ın tam üzerine, "pointer-events: none" ile koyacağız.
        Böylece tıkladığımızda resme değil, arkasındaki tuvale tıklamış olacağız.
        */

        const url = document.getElementById('img-url').value;
        const opacity = document.getElementById('opacity-slider').value;
        const oyunCanvas = document.querySelector('canvas'); // Oyundaki canvası bul

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

        if (!oyunCanvas) {
            alert('Oyun alanı bulunamadı! Oyuna girdiğinden emin ol.');
            return;
        }

        // Eğer zaten bir overlay varsa, eskisini güncelle
        if (!overlayGorsel) {
            overlayGorsel = document.createElement('img');
            overlayGorsel.style.position = 'absolute';
            overlayGorsel.style.pointerEvents = 'none'; // ÖNEMLİ: Tıklamalar arkaya geçsin
            overlayGorsel.style.zIndex = '100'; // Canvas'ın üstünde durmalı
            document.body.appendChild(overlayGorsel);
        }

        // Resim özelliklerini ayarla
        overlayGorsel.src = url;
        overlayGorsel.style.opacity = opacity;

        // Resmi Canvas'ın tam üzerine oturt (Konumlandırma)
        const rect = oyunCanvas.getBoundingClientRect();
        overlayGorsel.style.top = rect.top + 'px';
        overlayGorsel.style.left = rect.left + 'px';
        overlayGorsel.style.width = rect.width + 'px';
        overlayGorsel.style.height = rect.height + 'px';

        console.log("Ressam Modu: Resim başarıyla yansıtıldı.");
    }

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

    // Butona tıklayınca çalışacak
    document.getElementById('btn-yukle').addEventListener('click', resmiYansit);

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

    // Klavye kontrolleri (INSERT ile aç/kapa)
    document.addEventListener('keydown', function(e) {
        if (e.code === 'Insert') {
            const menu = document.getElementById('ressam-menu');
            menuAcik = !menuAcik;

            if (menuAcik) {
                menu.style.display = 'block';
            } else {
                menu.style.display = 'none';
            }
        }
    });

    // Pencere boyutu değişirse resim kaymasın diye güncelleme
    window.addEventListener('resize', () => {
        if(overlayGorsel) resmiYansit();
    });

})();