Drawaria Cat On Dekstop V2

Интерактивный питомец на экране, много багов!

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         Drawaria Cat On Dekstop V2
// @namespace    http://tampermonkey.net/
// @version      2.0
// @description  Интерактивный питомец на экране, много багов!
// @author       Гекко | Valorant
// @match        https://drawaria.online/*
// @grant        GM_getValue
// @grant        GM_setValue
// @license MIT
// ==/UserScript==

(function() {
    'use strict';


    let currency = GM_getValue('murik_currency', 0);
    let lang = GM_getValue('murik_lang','ru');

    const phrasesRU = [
        "Ммм вкусно!","Ням-ням","Где моя еда?","Люблю спать после еды",
        "Поиграем?","Погладь меня","Хочу игрушку","Сонный мурик"
    ];
    const phrasesEN = [
        "Mmm tasty!","Yum-yum","Where's my food?","Love to sleep after eating",
        "Let's play!","Pet me","I want a toy","Sleepy Murik"
    ];
    let phrases = lang==='ru'? [...phrasesRU] : [...phrasesEN];

   
    const phone = document.createElement('div');
    Object.assign(phone.style,{
        position:'fixed', width:'280px', height:'520px', bottom:'20px', right:'20px',
        background:'#1a1a1a', borderRadius:'25px', border:'3px solid #444', zIndex:'9999',
        color:'#fff', fontFamily:'Arial, sans-serif', display:'flex', flexDirection:'column',
        boxShadow:'0 0 15px #000', cursor:'grab', padding:'10px'
    });
    document.body.appendChild(phone);

    const header = document.createElement('div');
    header.innerText = (lang==='ru'?'Монеты: ':'Coins: ')+currency;
    header.style.fontWeight='bold';
    header.style.fontSize='16px';
    header.style.marginBottom='8px';
    phone.appendChild(header);

    const buttonsContainer = document.createElement('div');
    Object.assign(buttonsContainer.style,{
        flex:'1', display:'flex', flexDirection:'column', gap:'6px', overflowY:'auto'
    });
    phone.appendChild(buttonsContainer);

    function createButton(text, onClick){
        const btn=document.createElement('button');
        btn.innerText=text;
        Object.assign(btn.style,{
            padding:'8px', borderRadius:'10px', border:'none', background:'#ffcc66',
            cursor:'pointer', fontWeight:'bold', fontSize:'14px', transition:'0.2s'
        });
        btn.onmouseover=()=>btn.style.background='#ffd966';
        btn.onmouseout=()=>btn.style.background='#ffcc66';
        btn.onclick=onClick;
        buttonsContainer.appendChild(btn);
        return btn;
    }

 
    const murik = document.createElement('div');
    Object.assign(murik.style,{
        position:'fixed', left:'200px', top:'200px', fontSize:'70px',
        userSelect:'none', zIndex:'999'
    });
    murik.innerText='😺';
    document.body.appendChild(murik);

    const murikText = document.createElement('div');
    Object.assign(murikText.style,{
        position:'fixed', left:'0px', top:'0px', background:'white', color:'#000', padding:'3px 6px',
        borderRadius:'6px', opacity:'0', transition:'opacity 0.3s', zIndex:'1000',
        pointerEvents:'none', fontSize:'14px'
    });
    document.body.appendChild(murikText);

    function showPhrase(text){
        murikText.innerText=text;
        murikText.style.opacity='1';
        const rect=murik.getBoundingClientRect();
        murikText.style.left=(rect.left)+'px';
        murikText.style.top=(rect.top-30)+'px';
        setTimeout(()=>{ murikText.style.opacity='0'; },3000);
    }


    setInterval(()=>{
        currency+=5;
        header.innerText=(lang==='ru'?'Монеты: ':'Coins: ')+currency;
        GM_setValue('murik_currency',currency);
    },1000);


    let draggingPhone=false, offsetX=0, offsetY=0;


phone.addEventListener('mousedown', e=>{
        draggingPhone=true;
        offsetX=e.clientX-phone.getBoundingClientRect().left;
        offsetY=e.clientY-phone.getBoundingClientRect().top;
        phone.style.cursor='grabbing';
        e.preventDefault();
    });
    document.addEventListener('mousemove', e=>{
        if(draggingPhone){
            phone.style.left=(e.clientX-offsetX)+'px';
            phone.style.top=(e.clientY-offsetY)+'px';
            phone.style.bottom='auto'; phone.style.right='auto';
        }
    });
    document.addEventListener('mouseup', ()=>{ if(draggingPhone){ draggingPhone=false; phone.style.cursor='grab'; } });


    let draggingMurik=false, mOffsetX=0, mOffsetY=0;
    murik.addEventListener('mousedown', e=>{
        draggingMurik=true;
        mOffsetX=e.clientX-murik.getBoundingClientRect().left;
        mOffsetY=e.clientY-murik.getBoundingClientRect().top;
        murik.innerText='😾';
        e.preventDefault();
    });
    document.addEventListener('mousemove', e=>{
        if(draggingMurik){
            murik.style.left=(e.clientX-mOffsetX)+'px';
            murik.style.top=(e.clientY-mOffsetY)+'px';
            murikText.style.left=(e.clientX-mOffsetX)+'px';
            murikText.style.top=(e.clientY-mOffsetY-30)+'px';
        }
    });
    document.addEventListener('mouseup', ()=>{ if(draggingMurik){ draggingMurik=false; murik.innerText='😺'; } });

   
    let dirX=1, dirY=1;
    setInterval(()=>{
        if(!draggingMurik){
            let left=parseInt(murik.style.left);
            let top=parseInt(murik.style.top);
            left+=dirX*1;
            top+=dirY*1;
            if(left<0||left>window.innerWidth-50) dirX*=-1;
            if(top<0||top>window.innerHeight-50) dirY*=-1;
            murik.style.left=left+'px';
            murik.style.top=top+'px';
            murikText.style.left=left+'px';
            murikText.style.top=(top-30)+'px';
        }
    },20);

    
    setInterval(()=>{
        const phrase=phrases[Math.floor(Math.random()*phrases.length)];
        showPhrase(phrase);
    },4000);


    function openShop(items,title){
        const existing=document.getElementById('murikShop'); if(existing){ existing.remove(); return; }
        const shop=document.createElement('div'); shop.id='murikShop';
        Object.assign(shop.style,{
            position:'fixed', left:'50%', top:'50%', transform:'translate(-50%,-50%)',
            background:'#333', color:'#fff', padding:'15px', borderRadius:'10px', zIndex:'10001', minWidth:'250px'
        });
        const h=document.createElement('div'); h.innerText=title; h.style.fontWeight='bold'; h.style.marginBottom='8px'; shop.appendChild(h);

        items.forEach(item=>{
            const btn=document.createElement('button');
            btn.innerText=`${item.name} - ${item.cost} монет;`
            Object.assign(btn.style,{margin:'2px', padding:'5px', borderRadius:'5px', cursor:'pointer', width:'100%'});
            btn.onclick=()=>{
                if(currency>=item.cost){
                    currency-=item.cost; GM_setValue('murik_currency',currency);
                    header.innerText=(lang==='ru'?'Монеты: ':'Coins: ')+currency;
                    reactToPurchase(item.name);
                } else showPhrase('Недостаточно монет!');
            };
            shop.appendChild(btn);
        });

        const close=document.createElement('button'); close.innerText='❌ Закрыть';
        Object.assign(close.style,{marginTop:'5px',padding:'5px',borderRadius:'5px',cursor:'pointer', width:'100%'});
        close.onclick=()=>shop.remove(); shop.appendChild(close);
        document.body.appendChild(shop);
    }


function reactToPurchase(name){
        let reaction='';
        switch(name){
            case '🍕 Пепперони': reaction='Ооо, Пепперони!'; break;
            case '🪓 Топор': reaction='Эм? Зачем он мне?'; break;
            case '⛑ Каска': reaction='Эм… защита?'; break;
            case '🍎 Яблоко': reaction='Яблочко, спасибо!'; break;
            case '💻 ПК': reaction='Вау, ПК!'; break;
            case '🐟 Рыба': reaction='Рыбка, ням!'; break;
            case '🎂 Торт': reaction='Тортик!'; break;
            case '🥟 Пирожок с Мясом': reaction='Пирожок, вкусно!'; break;
            case '🧸 Игрушки Starter': reaction='Игрушка!'; break;
            case '🎁 Игрушки Luxury': reaction='Люкс игрушка!'; break;
            case '🏠 Большая Клетка': reaction='Большая клетка!'; break;
            case '🍲 Миска с Едой': reaction='Миска с едой!'; break;
            default: reaction=`Куплено: ${name};`
        }
        showPhrase(reaction);
    }

    createButton('🛒 Магазин', ()=>{
        openShop([
            {name:'🍎 Яблоко', cost:10},
            {name:'🐟 Рыба', cost:20},
            {name:'⛑ Каска', cost:50},
            {name:'🪓 Топор', cost:60


},
            {name:'🎂 Торт', cost:40},
            {name:'🥟 Пирожок с Мясом', cost:30},
            {name:'💻 ПК', cost:500}
        ], lang==='ru'?'Магазин':'Shop');
    });

    createButton('🍕 Доставка Пиццы', ()=>{
        openShop([
            {name:'🧀 4 Сыра', cost:50},
            {name:'🍕 Пепперони', cost:70},
            {name:'🍫 Вкуснятина', cost:40}
        ], lang==='ru'?'Доставка Пиццы':'Pizza Delivery');
    });

    createButton('🌐 Браузер', ()=>{
        openBrowser();
    });

    createButton('🐾 ЗооДоставка', ()=>{
        openShop([
            {name:'🏠 Большая Клетка', cost:100},
            {name:'🎁 Игрушки Luxury', cost:200},
            {name:'🧸 Игрушки Starter', cost:50},
            {name:'🍲 Миска с Едой', cost:20}
        ], lang==='ru'?'ЗооДоставка':'Zoo Delivery');
    });

    createButton('🌐 Language', ()=>{
        openLanguageMenu();
    });

    createButton('🎵 Плеер', ()=>{
        openPlayer();
    });

    createButton('🍳 Рецепты', ()=>{
        openRecipes();
    });

    createButton('🛠 Крафт', ()=>{
        openCrafting();
    });

    createButton('🎮 Мини-игры', ()=>{
        openMiniGames();
    });

    

    function openBrowser(){
        const existing=document.getElementById('murikBrowser'); if(existing){ existing.remove(); return; }
        const browser=document.createElement('div'); browser.id='murikBrowser';
        Object.assign(browser.style,{
            position:'fixed', left:'50%', top:'50%', transform:'translate(-50%,-50%)',
            width:'350px', height:'400px', background:'#222', color:'#fff', borderRadius:'10px', padding:'10px', zIndex:'10001', display:'flex', flexDirection:'column'
        });
        const input=document.createElement('input'); input.placeholder=lang==='ru'?'Введите запрос...':'Type query...';
        Object.assign(input.style,{width:'100%', padding:'5px', marginBottom:'5px', borderRadius:'5px', border:'none'});
        const out=document.createElement('div'); out.style.flex='1'; out.style.background='#111'; out.style.borderRadius='5px'; out.style.padding='5px'; out.style.overflow='auto';
        out.innerText=lang==='ru'?'Нет Интернета. Проверьте подключение.':'No Internet. Check connection.';
        input.addEventListener('keydown', e=>{
            if(e.key==='Enter'){
                out.innerText='🦖 Мини-игра динозаврика!';
            }
        });
        browser.appendChild(input);
        browser.appendChild(out);

        const close=document.createElement('button'); close.innerText='❌ '+(lang==='ru'?'Закрыть':'Close');
        Object.assign(close.style,{marginTop:'5px',padding:'5px',borderRadius:'5px',cursor:'pointer', width:'100%'});
        close.onclick=()=>browser.remove(); browser.appendChild(close);
        document.body.appendChild(browser);
    }

    function openLanguageMenu(){
        const existing=document.getElementById('murikLang'); if(existing){ existing.remove(); return; }
        const langMenu=document.createElement('div'); langMenu.id='murikLang';
        Object.assign(langMenu.style,{
            position:'fixed', left:'50%', top:'50%', transform:'translate(-50%,-50%)',
            background:'#333', color:'#fff', padding:'15px', borderRadius:'10px', zIndex:'10001', minWidth:'200px'
        });
        const ruBtn=document.createElement('button'); ruBtn.innerText='Русский'; ruBtn.style.width='100%';
        ruBtn.onclick=()=>{ lang='ru'; GM_setValue('murik_lang','ru'); phrases=[...phrasesRU]; langMenu.remove(); };
        const enBtn=document.createElement('button'); enBtn.innerText='English'; enBtn.style.width='100%';
        enBtn.onclick=()=>{ lang='en'; GM_setValue('murik_lang','en'); phrases=[...phrasesEN]; langMenu.remove(); };
        langMenu.appendChild(ruBtn); langMenu.appendChild(enBtn);

        document.body.appendChild(langMenu);
    }

function openPlayer(){
        const existing=document.getElementById('murikPlayer'); if(existing){ existing.remove(); return; }
        const player=document.createElement('div'); player.id='murikPlayer';
        Object.assign(player.style,{
            position:'fixed', left:'50%', top:'50%', transform:'translate(-50%,-50%)',
            background:'#222', color:'#fff', padding:'15px', borderRadius:'10px', zIndex:'10001', minWidth:'250px'
        });

        const fileInput=document.createElement('input'); fileInput.type='file'; fileInput.accept='audio/mp3';
        fileInput.style.width='100%';
        const audio=document.createElement('audio'); audio.controls=false;
        const playBtn=document.createElement('button'); playBtn.innerText='Play'; playBtn.style.width='100%';
        const stopBtn=document.createElement('button'); stopBtn.innerText='Stop'; stopBtn.style.width='100%';
        playBtn.onclick=()=>{
            if(fileInput.files[0]){
                audio.src=URL.createObjectURL(fileInput.files[0]);
                audio.play();
            }
        };
        stopBtn.onclick=()=>{ audio.pause(); audio.currentTime=0; };

        player.appendChild(fileInput);
        player.appendChild(playBtn);
        player.appendChild(stopBtn);

        const close=document.createElement('button'); close.innerText='❌ '+(lang==='ru'?'Закрыть':'Close'); close.style.width='100%';
        close.onclick=()=>player.remove();
        player.appendChild(close);

        document.body.appendChild(player);
    }

    function openRecipes(){
        const existing=document.getElementById('murikRecipes'); if(existing){ existing.remove(); return; }
        const recipes=document.createElement('div'); recipes.id='murikRecipes';
        Object.assign(recipes.style,{
            position:'fixed', left:'50%', top:'50%', transform:'translate(-50%,-50%)',
            background:'#444', color:'#fff', padding:'15px', borderRadius:'10px', zIndex:'10001', minWidth:'250px', maxHeight:'400px', overflowY:'auto'
        });
        const rlist=[
            lang==='ru'? 'Торт: 🎂 + 🥟' : 'Cake: 🎂 + 🥟',
            lang==='ru'? 'Суп: 🍲 + 🐟' : 'Soup: 🍲 + 🐟',
            lang==='ru'? 'Пирожок с мясом: 🥟 + 🐟' : 'Meat Pie: 🥟 + 🐟'
        ];
        rlist.forEach(r=>{ const div=document.createElement('div'); div.innerText=r; div.style.margin='2px 0'; recipes.appendChild(div); });
        const close=document.createElement('button'); close.innerText='❌ '+(lang==='ru'?'Закрыть':'Close'); close.style.width='100%';
        close.onclick=()=>recipes.remove(); recipes.appendChild(close);
        document.body.appendChild(recipes);
    }

    function openCrafting(){
        const existing=document.getElementById('murikCraft'); if(existing){ existing.remove(); return; }
        const craft=document.createElement('div'); craft.id='murikCraft';
        Object.assign(craft.style,{
            position:'fixed', left:'50%', top:'50%', transform:'translate(-50%,-50%)',
            background:'#555', color:'#fff', padding:'15px', borderRadius:'10px', zIndex:'10001', minWidth:'250px'
        });

        const craftList=[
            {name:lang==='ru'?'Торт':'Cake', ingredients:['🎂 Торт','🥟 Пирожок с Мясом']},
            {name:lang==='ru'?'Суп':'Soup', ingredients:['🍲 Миска с Едой','🐟 Рыба']}
        ];

        craftList.forEach(c=>{
            const btn=document.createElement('button');
            btn.innerText=c.name; btn.style.width='100%'; btn.style.margin='3px 0';
            btn.onclick=()=>{
                const hasAll=c.ingredients.every(i=>currency>=10);
               if(hasAll) {
    showPhrase`(${lang==='ru' ? 'Скрафчено: ' : 'Crafted: '}${c.name});`
}
                else showPhrase(lang==='ru'?'Недостаточно ингредиентов':'Not enough ingredients');
            };
            craft.appendChild(btn);
        });

const close=document.createElement('button'); close.innerText='❌ '+(lang==='ru'?'Закрыть':'Close'); close.style.width='100%';
        close.onclick=()=>craft.remove(); craft.appendChild(close);
        document.body.appendChild(craft);
    }

    function openMiniGames(){
        const existing=document.getElementById('murikMini'); if(existing){ existing.remove(); return; }
        const mini=document.createElement('div'); mini.id='murikMini';
        Object.assign(mini.style,{
            position:'fixed', left:'50%', top:'50%', transform:'translate(-50%,-50%)',
            background:'#666', color:'#fff', padding:'15px', borderRadius:'10px', zIndex:'10001', minWidth:'250px'
        });

        const btnDino=document.createElement('button'); btnDino.innerText=lang==='ru'?'Динозаврик':'Dino'; btnDino.style.width='100%';
        btnDino.onclick=()=>{ showPhrase('🦖 Мини-игра динозаврика!'); };

        mini.appendChild(btnDino);

        const close=document.createElement('button'); close.innerText='❌ '+(lang==='ru'?'Закрыть':'Close'); close.style.width='100%';
        close.onclick=()=>mini.remove(); mini.appendChild(close);
        document.body.appendChild(mini);
    }

})();