// ==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);
}
})();