Drawaria Cat On Dekstop V2

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

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 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);
    }

})();