Загрузка данных
import socket, threading, time, random, math, json, os
config = {
"host": "0.0.0.0", "port": 19132, "target": "mc.FlameLord.su", "target_port": 19132,
"active": False, "friends": [],
"modules": { "aura": False, "crits": False, "java": False, "reach": False, "velocity": False,
"aim": False, "smooth": False, "hitbox": False, "fly": False, "speed": False,
"phase": False, "noclip": False, "jetpack": False, "noslow": False, "antifall": False,
"step": False, "scaffold": False, "tower": False, "xray": False, "esp": False,
"autoclicker": False, "spammer": False, "ghost": False, "antikb": False,
"autoarmor": False, "autoeat": False, "autopot": False, "trigger": False,
"totem": False, "mace": False, "longjump": False, "antibot": False },
"values": { "aura": 4.5, "java": 4.5, "reach": 4.5, "hitbox": 1.1,
"fly": 1.5, "speed": 1.8, "esp": 200.0, "autoclicker": 16.0,
"aim_speed": 5.0, "aim_fov": 90.0 },
"binds": { "aura": "R", "crits": "C", "java": "P", "aim": "Z",
"hitbox": "X", "fly": "F", "speed": "V", "phase": "G",
"scaffold": "B", "esp": "N", "trigger": "T", "panic": "P", "menu": "M" }
}
running = True
sock = None
entities = {}
player = {"x": 0, "y": 0, "z": 0, "yaw": 0, "pitch": 0}
target_angles = {"yaw": 0, "pitch": 0}
last_attack = 0
last_trigger = 0
last_click = 0
menu_open = False
def clear_chat():
for _ in range(50): time.sleep(0.02)
def get_attack_delay(mode):
if mode == "java":
return max(15, random.randint(20, 40) + random.randint(-5, 5)) / 1000.0
return max(15, random.randint(50, 150) + random.randint(-10, 10)) / 1000.0
def get_closest_target():
if not config["modules"]["aura"] and not config["modules"]["java"]: return None
r = config["values"]["aura"] if config["modules"]["aura"] else config["values"]["java"]
best_dist = 999; best_id = None
for eid, ent in entities.items():
if ent.get("name") in config["friends"]: continue
dx = ent.get("x", 0) - player["x"]; dz = ent.get("z", 0) - player["z"]; dy = ent.get("y", 0) - player["y"]
dist = (dx*dx + dz*dz + dy*dy) ** 0.5
if dist <= r and dist < best_dist and dist > 0.3:
if random.random() < 0.88:
best_dist = dist; best_id = eid
return best_id
def perform_attack(target_id):
global last_attack
if not config["modules"]["aura"] and not config["modules"]["java"]: return
mode = "java" if config["modules"]["java"] else "legit"
now = time.time() * 1000
if now - last_attack < get_attack_delay(mode) * 1000: return
if config["modules"]["crits"]:
chance = 1.0 if config["modules"]["java"] else 0.85
if random.random() < chance: pass
last_attack = now
def get_crosshair_target():
if not config["modules"]["trigger"]: return None
r = 4.5; fov = 5.0; best_score = 999; best_id = None
for eid, ent in entities.items():
if ent.get("name") in config["friends"]: continue
dx = ent.get("x", 0) - player["x"]; dz = ent.get("z", 0) - player["z"]; dy = ent.get("y", 0) - player["y"]
dist = (dx*dx + dz*dz + dy*dy) ** 0.5
if dist > r or dist < 0.3: continue
ty = math.degrees(math.atan2(dz, dx)) - 90
tp = -math.degrees(math.atan2(dy, math.sqrt(dx*dx + dz*dz)))
if abs(player["yaw"] - ty) > fov or abs(player["pitch"] - tp) > fov: continue
score = dist + (abs(player["yaw"] - ty) / 10) + (abs(player["pitch"] - tp) / 10)
if score < best_score: best_score = score; best_id = eid
return best_id
def perform_trigger(target_id):
global last_trigger
now = time.time() * 1000
if now - last_trigger < 30: return
if config["modules"]["crits"]:
chance = 1.0 if config["modules"]["java"] else 0.85
if random.random() < chance: pass
last_trigger = now
def get_aim_target():
if not config["modules"]["aim"]: return None
r = 6.0; fov = config["values"]["aim_fov"]; best_score = 999; best_id = None
for eid, ent in entities.items():
if ent.get("name") in config["friends"]: continue
dx = ent.get("x", 0) - player["x"]; dz = ent.get("z", 0) - player["z"]; dy = ent.get("y", 0) - player["y"]
dist = (dx*dx + dz*dz + dy*dy) ** 0.5
if dist > r or dist < 0.5: continue
ty = math.degrees(math.atan2(dz, dx)) - 90
tp = -math.degrees(math.atan2(dy, math.sqrt(dx*dx + dz*dz)))
if abs(player["yaw"] - ty) > fov or abs(player["pitch"] - tp) > fov: continue
score = dist + (abs(player["yaw"] - ty) / 10) + (abs(player["pitch"] - tp) / 10)
if score < best_score:
best_score = score; best_id = eid; target_angles["yaw"] = ty; target_angles["pitch"] = tp
return best_id
def apply_smooth_aim(ty, tp):
if not config["modules"]["smooth"]:
player["yaw"] = ty + random.uniform(-2.0, 2.0)
player["pitch"] = tp + random.uniform(-1.5, 1.5)
return
speed = config["values"]["aim_speed"] / 100.0
yd = ty - player["yaw"]; pd = tp - player["pitch"]
if yd > 180: yd -= 360
if yd < -180: yd += 360
player["yaw"] += yd * speed * 0.85 + random.uniform(-2.0, 2.0) * 0.12
player["pitch"] += pd * speed * 0.85 + random.uniform(-1.5, 1.5) * 0.08
player["yaw"] %= 360
player["pitch"] = max(-90, min(90, player["pitch"]))
def get_hitbox():
if not config["modules"]["hitbox"]: return 1.0
base = config["values"]["hitbox"]
return min(base * (1.0 + random.uniform(-0.04, 0.04)), 1.15)
def draw_menu():
global menu_open
menu_open = True
print("\n" + "=" * 60)
print(" ⚡ METEOR CLIENT v3.0 — LEGIT CHEATS")
print("=" * 60)
categories = [
("COMBAT", ["aura", "java", "crits", "reach", "velocity", "aim", "smooth", "trigger"]),
("HITBOX", ["hitbox"]),
("MOVEMENT", ["fly", "speed", "phase", "noclip", "jetpack", "noslow", "antifall", "step", "scaffold", "tower", "longjump"]),
("RENDER", ["xray", "esp"]),
("UTILS", ["autoclicker", "spammer", "ghost", "antikb", "autoarmor", "autoeat", "autopot", "totem", "mace", "antibot"])
]
for cat_name, cat_modules in categories:
print(f"\n ── {cat_name} ──")
for mod in cat_modules:
if mod in config["modules"]:
st = "ON " if config["modules"][mod] else "OFF"
val = f"{config['values'].get(mod, 0):.1f}" if mod in config["values"] else "-"
key = config["binds"].get(mod, "-")
print(f" {mod.upper():12} [{st}] {val:>5} [KEY: {key}]")
print("\n" + "=" * 60)
print(f" STATUS: {'ACTIVE' if config['active'] else 'INACTIVE'}")
print(f" TARGET: {config['target']}")
print(f" FRIENDS: {len(config['friends'])}")
print("=" * 60)
print(" COMMANDS:")
print(" /t <mod> - toggle module")
print(" /s <mod> <val> - set value")
print(" /b <mod> <key> - bind key")
print(" /f add/rem - manage friends")
print(" /connect <ip> - change server")
print(" /start - activate cheats")
print(" /panic - panic + clear chat")
print(" /menu - toggle menu")
print("=" * 60 + "\n")
def handle_command(cmd):
global running, menu_open
cmd = cmd.strip()
if not cmd: return
if cmd.lower() == "/start":
config["active"] = True; print("[+] CLIENT ACTIVATED"); return
if cmd.lower() == "/panic":
config["active"] = False
for m in config["modules"]: config["modules"][m] = False
clear_chat(); print("[!] PANIC — ALL CHEATS DISABLED, CHAT CLEARED"); return
if cmd.lower() == "/menu":
menu_open = not menu_open
if menu_open: draw_menu()
return
if not config["active"]: return
parts = cmd.split()
if len(parts) < 2: return
action = parts[0].lower(); name = parts[1].lower()
if action == "/t" and name in config["modules"]:
config["modules"][name] = not config["modules"][name]
print(f"[+] {name} = {config['modules'][name]}"); return
if action == "/s" and len(parts) > 2 and name in config["values"]:
try: config["values"][name] = float(parts[2]); print(f"[+] {name} = {config['values'][name]}")
except: pass
return
if action == "/b" and len(parts) > 2 and name in config["binds"]:
config["binds"][name] = parts[2].upper(); print(f"[+] {name} → {config['binds'][name]}"); return
if action == "/f" and len(parts) > 2:
name = parts[2]
if parts[1].lower() == "add" and name not in config["friends"]:
config["friends"].append(name); print(f"[+] + {name}")
elif parts[1].lower() == "rem" and name in config["friends"]:
config["friends"].remove(name); print(f"[-] - {name}")
return
if action == "/connect" and len(parts) > 1:
config["target"] = parts[1]; print(f"[+] Target → {config['target']}"); return
if action == "/save":
with open("config.json", "w") as f: json.dump(config, f, indent=4)
print("[+] Config saved"); return
if action == "/load":
if os.path.exists("config.json"):
with open("config.json") as f:
data = json.load(f)
for k in data:
if k in config: config[k] = data[k]
print("[+] Config loaded")
return
if action == "/quit":
running = False; print("[+] Stopping..."); return
def proxy_loop():
global sock, running
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sock.bind((config["host"], config["port"]))
target = (config["target"], config["target_port"])
while running:
try:
data, addr = sock.recvfrom(65535)
if config["active"]:
if config["modules"]["aura"] or config["modules"]["java"]:
t = get_closest_target()
if t is not None: perform_attack(t)
if config["modules"]["trigger"]:
t = get_crosshair_target()
if t is not None: perform_trigger(t)
if config["modules"]["aim"]:
t = get_aim_target()
if t is not None: apply_smooth_aim(target_angles["yaw"], target_angles["pitch"])
if config["modules"]["autoclicker"]:
global last_click
cps = config["values"]["autoclicker"]
delay = 1000.0 / cps + random.uniform(-5, 5)
if time.time() * 1000 - last_click > delay:
last_click = time.time() * 1000
sock.sendto(data, target)
except: pass
time.sleep(0.0005)
def console_loop():
while running:
try:
cmd = input("> ")
if cmd: handle_command(cmd)
except KeyboardInterrupt:
global running
running = False
break
except: pass
if __name__ == "__main__":
print("\n" + "=" * 60)
print(" ⚡ METEOR CLIENT v3.0 — LEGIT CHEATS")
print(" Bedrock 1.26.33 | All servers")
print("=" * 60)
print(" HOST: 0.0.0.0:19132")
print(" TARGET: " + config["target"])
print("=" * 60)
print(" /start - activate cheats")
print(" /panic - panic + clear chat")
print(" /menu - open Meteor menu")
print(" /t <mod> - toggle module")
print(" /connect <ip> - change server")
print("=" * 60 + "\n")
t = threading.Thread(target=proxy_loop, daemon=True)
t.start()
console_loop()
print("\n[+] Stopped")