/* BasedMTA — Panels batch 1: Log, Exec, Visuals, Aimbot, Local */ // ==================================================================== // LOG PANEL — built from feel of the rest of the UI (no screenshot) // ==================================================================== const LOG_SEEDS = [ ["info", "boot", "BasedMTA v1.6 loaded — 12 modules registered"], ["info", "net", "Connected to 172.202.89.86:22005 — handshake ok"], ["info", "spoof", "Identity rotated — serial 4031AC47…1DBCFC"], ["ok", "spoof", "License online — entitlement: full"], ["info", "scripts", "Indexed 378 client scripts / 208 resources (1.9 MB)"], ["warn", "events", "Hook installed on triggerServerEvent — 1462 events captured"], ["info", "visuals", "Player ESP enabled — 9 players visible, 0 npcs"], ["ok", "aimbot", "Aimbot armed (silent) — bone=Head fov=352px"], ["info", "local", "Movement::ACTIVE — Airbreak available on Space"], ["warn", "net", "Detected dutchman.mad call — suppressed (47)"], ["info", "bots", "Bot pool ready — 10 identities, 20 slots free"], ["bad", "exploits", "License tier: Online Demo - Some things might differ from final product."], ]; function LogPanel() { const [filter, setFilter] = useState(""); const [paused, setPaused] = useState(false); const [tick, setTick] = useState(0); // simulate a rolling log const [extra, setExtra] = useState([]); useEffect(() => { if (paused) return; const id = setInterval(() => { const ev = [ ["info", "net", "RPC latency 12ms (avg 14ms)"], ["info", "net", "ping reply " + (8 + Math.floor(Math.random()*6)) + "ms"], ["warn", "events", "burst: 23 events/s — buffer at 71%"], ["info", "scripts", "decompiled chunk_" + Math.random().toString(16).slice(2,10) + ".luac"], ["ok", "bots", "bot online: " + ["Dutchman.1","Kowalski","BasedMTAUser47","GreetingsFromIran","DutchmanBad"][Math.floor(Math.random()*5)]], ][Math.floor(Math.random()*5)]; setExtra((arr) => [...arr.slice(-30), [ev[0], ev[1], ev[2], new Date()]]); setTick((t) => t + 1); }, 1400); return () => clearInterval(id); }, [paused]); const all = useMemo(() => { const base = LOG_SEEDS.map((r) => [...r, new Date(Date.now() - (LOG_SEEDS.length - LOG_SEEDS.indexOf(r)) * 1500)]); return [...base, ...extra]; }, [extra]); const filtered = filter ? all.filter((r) => (r[1] + " " + r[2]).toLowerCase().includes(filter.toLowerCase())) : all; const fmtT = (d) => { const pad = (n) => String(n).padStart(2, "0"); return pad(d.getHours()) + ":" + pad(d.getMinutes()) + ":" + pad(d.getSeconds()); }; const toneClass = { ok: "tag-green", warn: "tag-amber", bad: "tag-red", info: "tag-blue" }; return (
setPaused((p) => !p)}> {paused ? "Resume" : "Pause"} setExtra([])}>Clear
{filtered.length} entries
{filtered.map((r, i) => (
{fmtT(r[3])} {r[0].toUpperCase()} {r[1]} {r[2]}
))}
); } // ==================================================================== // EXEC PANEL // ==================================================================== const EXEC_SAMPLE = `outputChatBox("hello from BasedMTA", 0, 200, 255, true) local p = getLocalPlayer() setElementHealth(p, 100) setElementInterior(p, 0) for i, ped in ipairs(getElementsByType("ped")) do setPedStat(ped, 24, 999) end`; function highlightLua(src) { // simple regex-based tokenizer for display only const KW = /\b(local|function|end|if|then|else|elseif|for|in|do|while|return|true|false|nil|and|or|not)\b/g; const FN = /\b(outputChatBox|getLocalPlayer|setElementHealth|setElementInterior|getElementsByType|ipairs|pairs|setPedStat|triggerServerEvent|getResourceName|addEventHandler|tonumber|tostring|print)\b/g; const STR = /(".*?"|'.*?')/g; const NUM = /\b(\d+(?:\.\d+)?)\b/g; const COM = /(--[^\n]*)/g; return src.split("\n").map((line, i) => { let html = line .replace(/&/g, "&") .replace(//g, ">") .replace(COM, '$1') .replace(STR, '$1') .replace(KW, '$1') .replace(FN, '$1') .replace(NUM, '$1'); return (
{String(i + 1).padStart(3, " ")}
); }); } function ExecPanel() { const [code, setCode] = useState(EXEC_SAMPLE); const [context, setContext] = useState("Auto (logger)"); const [console_, setConsole] = useState([ { tag: "out", text: 'hello from BasedMTA' }, { tag: "info", text: "= [userdata: 0x7ff...]" }, { tag: "out", text: "set health -> 100" }, ]); const [cmd, setCmd] = useState(""); const ta = useRef(null); const run = () => { const lines = code.split("\n").filter(Boolean); setConsole((c) => [ ...c, { tag: "cmd", text: "> Run (" + lines.length + " lines, ctx=" + context + ")" }, { tag: "out", text: "hello from BasedMTA" }, { tag: "info", text: "exec ok in 2.3ms" }, ]); }; const send = () => { if (!cmd.trim()) return; setConsole((c) => [...c, { tag: "cmd", text: "Lua> " + cmd }, { tag: "out", text: "= " + cmd.length + " chars echoed" }]); setCmd(""); }; const lineNo = code.slice(0, ta.current ? ta.current.selectionStart : 0).split("\n").length; const colNo = (() => { if (!ta.current) return 1; const s = code.slice(0, ta.current.selectionStart); const last = s.lastIndexOf("\n"); return s.length - last; })(); return (
Context {}} width={110} /> Run Clear {/* onClick={() => setCode("")} */} {}}>Scripts
Ln {lineNo}, Col {colNo} | {code.split("\n").length} lines
{/* highlighted layer */}
{highlightLua(code)}
{/* invisible textarea */}