Helper for Gartic.io with auto-guess, drawing assistance, and drawing bot
< 脚本Kawaii Helper & Drawing Bot for Gartic.io的反馈
benim auto answer a telif ve yasak gelmiş kaldırmışlar 🙃 ikondan mıdır acaba ikon gartic.io dan çekiliyordu
dün çizim hilesini fxiledi
anında yanıt yaptım scipt i stok yapıp dc paylaşın
buda kalkabilir
banda da telif attı kalkabilir
stok yapın
şu anlık rededildi ama bu yarın tekrar ihtar gönderilemiyeceği anlamına gelmiyor
gartic.io 0 - 1 Anonimbiri
bak ne buldum
// ==UserScript==
// @name code mutation for app.js
// @match https://gartic.io/*
// @run-at document-start
// ==/UserScript==
(function() {
'use strict';
// Belirleyeceğimiz nick ve avatar değerleri
const CUSTOM_NICK = "selam";
// MutationObserver ile script etiketlerini izle
const observer = new MutationObserver((mutations) => {
mutations.forEach((mutation) => {
if (mutation.addedNodes) {
for (let node of mutation.addedNodes) {
// Script etiketi ve src'sinde 'app' içeriyorsa
if (node.tagName === 'SCRIPT' && node.src.includes('app')) {
console.log('Hedef script bulundu:', node.src);
// Orijinal script'i kaldır
node.remove();
// Script içeriğini fetch ile al
fetch(node.src)
.then(response => response.text())
.then(scriptContent => {
// Script içeriğini manipüle et
let modifiedContent = scriptContent;
modifiedContent = modifiedContent.replace(
/start:function\(t,e\)\{([^}]*)\}/,
`start:function(t,e){
t.user.nome = "${CUSTOM_NICK}";
t.user.avatar = "${CUSTOM_AVATAR}";
$1
}`
);
// Socket emit'lerini değiştir (nick ve avatar için)
modifiedContent = modifiedContent.replace(
/emit\(1,\{v:K,nick:e\.nome,avatar:c,platform:u,idioma:e\.language\}\)/g,
`emit(1,{v:K,nick:"${CUSTOM_NICK}",avatar:"0",platform:u,idioma:e.language})`
);
modifiedContent = modifiedContent.replace(
/emit\(2,\{v:K,nick:e\.nome,avatar:c,platform:u,idioma:e\.language,tipo:n,limite:r,meta:i,visivel:s,criado:a\}\)/g,
`emit(2,{v:K,nick:"${CUSTOM_NICK}",avatar:"0",platform:u,idioma:e.language,tipo:n,limite:r,meta:i,visivel:s,criado:a})`
);
modifiedContent = modifiedContent.replace(
/emit\(3,\{v:K,nick:e\.nome,avatar:c,platform:u,sala:o\._room\.substr\(2\)\}\)/g,
`emit(3,{v:K,nick:"${CUSTOM_NICK}",avatar:"0",platform:u,sala:o._room.substr(2)})`
);
// Değiştirilmiş içeriği bir blob'a dönüştür
let blob = new Blob([modifiedContent], { type: 'application/javascript' });
let blobUrl = URL.createObjectURL(blob);
// Yeni bir script etiketi oluştur
const newScript = document.createElement('script');
newScript.src = blobUrl;
newScript.textContent = '';
// Yeni script'i DOM'a ekle
document.head.appendChild(newScript);
console.log('Script değiştirildi ve yeniden yüklendi:', blobUrl);
})
.catch(error => console.error('Hata:', error));
}
}
}
});
});
// Observer'ı başlat
observer.observe(document, { childList: true, subtree: true });
const originalXhrOpen = XMLHttpRequest.prototype.open;
const originalXhrSend = XMLHttpRequest.prototype.send;
// XMLHttpRequest.prototype.open'ı override et
XMLHttpRequest.prototype.open = function(method, url) {
if (url && url.includes('/req/user')) {
console.log('XHR /req/user isteği yakalandı:', url);
this._isReqUser = true; // Bu isteği işaretle
}
return originalXhrOpen.apply(this, arguments);
};
// XMLHttpRequest.prototype.send'i override et
XMLHttpRequest.prototype.send = function(body) {
if (this._isReqUser && body) {
// Orijinal body'yi parse et
let modifiedBody = JSON.parse(body);
// Sadece name ve avatar'ı değiştir, language orijinal kalsın
modifiedBody.name = CUSTOM_NICK;
modifiedBody.avatar = 0;
body = JSON.stringify(modifiedBody);
console.log('Gönderilen body manipüle edildi:', body);
}
// Yanıtı dinlemek için event listener ekle
this.addEventListener('load', () => {
if (this._isReqUser) {
try {
const responseData = JSON.parse(this.responseText);
console.log('Sunucu yanıtı:', responseData);
if (responseData && typeof responseData.avatar === 'number') {
window.avatarIndex = responseData.avatar;
console.log('Avatar indeksi güncellendi:', window.avatarIndex);
} else {
window.avatarIndex = 0; // Varsayılan değer
}
} catch (err) {
console.error('Yanıt JSON parse hatası:', err);
}
}
}, { once: true });
return originalXhrSend.call(this, body);
};
})();
istdeğim script i modifye edebiliyorum. ama resmli avatar olmuyor denedim bir çok yöntem
cok iyi
resimli avatar konusunda da cerezler devreye giriyor o yuzden buyuk cogunlugu cerezlerle acilan websocket sunucusunuda isleniyor
o yuzden js dosyalarindan bir sey yapabilir misiniz emin degilim ama yinede belli olmaz
Qwyuaa istersen script i githubda Gartic-Developers a ekleyelim
böylece herkes katkıda bulunabilir.
tamamdir guzel olur cok fazla gelistirici yok gerci ama zararida olmaz
kullandigin harici bir github hesabin var mi veya bir sekilde bana read.md ve diger proje dosyalarini ulastirabilir misin varsa diger eski projelerinide ekleyelim
direk fork la projeyi
olmustur👍👍👍 eline saglik
olmustur👍👍👍 eline saglik
aslında repo oluşturma yetkim olsaydı direk aktaracaktım
repoyu
organizasyon davet istegi gonderdim girince kabul eder misin bir de oyle deneyelim
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址
belkide proje author kısmını anonimbiri & Gartic-Admins olarak degistirmelisiniz 😁
ne ara gördülerde hemen önlem aldılar garip