â„–17474471[Quote]
Also use this. Chatgpt made it, we can use it to brpa up everything.
Note that Y is inverted so if you're looking for Y -23 to Y -25 you should do Y 23 to Y 25
(() => {
let running = false;
function makeUI() {
const panel = document.createElement("div");
panel.style.cssText = `
position:fixed;
top:314px;
right:10px;
z-index:999999;
background:#111;
color:white;
border:1px solid #555;
font-family:monospace;
min-width:220px;
`;
panel.innerHTML = `
<div id="wipeHeader" style="
background:#222;
padding:6px;
cursor:move;
display:flex;
justify-content:space-between;
align-items:center;
">
<span>VViper</span>
<button id="wipeMinimize" style="
width:24px;
height:24px;
cursor:pointer;
">−</button>
</div>
<div id="wipeContent" style="padding:10px;">
X1 <input id="wx1" value="0" size="6"><br>
Y1 <input id="wy1" value="0" size="6"><br><br>
X2 <input id="wx2" value="100" size="6"><br>
Y2 <input id="wy2" value="100" size="6"><br><br>
Character
<input id="wipeChar" value=" " size="4"><br><br>
<button id="wipeStart">Start</button>
<button id="wipeStop">Stop</button>
<div id="wipeStatus">Idle</div>
</div>
`;
document.body.appendChild(panel);
const header = document.getElementById("wipeHeader");
const content = document.getElementById("wipeContent");
const minimizeBtn = document.getElementById("wipeMinimize");
let minimized = false;
minimizeBtn.onclick = () => {
minimized = !minimized;
content.style.display =
minimized ? "none" : "block";
minimizeBtn.textContent =
minimized ? "+" : "−";
};
let dragging = false;
let offsetX = 0;
let offsetY = 0;
header.addEventListener("mousedown", e => {
if (e.target === minimizeBtn) return;
dragging = true;
const rect = panel.getBoundingClientRect();
offsetX = e.clientX - rect.left;
offsetY = e.clientY - rect.top;
panel.style.right = "auto";
e.preventDefault();
});
document.addEventListener("mousemove", e => {
if (!dragging) return;
panel.style.left =
(e.clientX - offsetX) + "px";
panel.style.top =
(e.clientY - offsetY) + "px";
});
document.addEventListener("mouseup", () => {
dragging = false;
});
document.getElementById("wipeStart").onclick = start;
document.getElementById("wipeStop").onclick = () => {
running = false;
document.getElementById("wipeStatus").textContent =
"Stopped";
};
}
async function start() {
if (running) return;
running = true;
const x1 = Number(wx1.value);
const y1 = Number(wy1.value);
const x2 = Number(wx2.value);
const y2 = Number(wy2.value);
const wipeChar =
document.getElementById("wipeChar").value || " ";
const minX = Math.min(x1, x2);
const maxX = Math.max(x1, x2);
const minY = Math.min(y1, y2);
const maxY = Math.max(y1, y2);
w.setFlushInterval(1);
const status = document.getElementById("wipeStatus");
for (let y = minY; y <= maxY && running; y++) {
status.textContent =
`Row ${y - minY + 1}/${maxY - minY + 1}`;
for (let x = minX; x <= maxX && running; x++) {
w.moveCursorTo(x, y, true);
w.typeChar(wipeChar, 0);
}
await new Promise(r => setTimeout(r, 0));
}
running = false;
status.textContent = "Finished";
}
makeUI();
})();
undefined
â„–17474509[Quote]
>>17474471Nevermind it doens't work, niggersite tricks you