Tipo de Conteúdo
Perfis
Fóruns
Atualizações
Quizzes
Raffles
Store
Tudo que bill3002 postou
-
Refiz parte do código pra trabalhar em sua resolução atual de 1600 x 1200 import cv2 import pytesseract import numpy as np import keyboard import time from PIL import ImageGrab, Image # Caminho do Tesseract OCR pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe' # Regiões ajustadas para 1600x1200 HUD_REGION = (1180, 105, 1580, 200) # Região do HUD (ângulo, vento, distância) TURNO_REGION = (30, 40, 300, 100) # Região do "Turno do jogador" def capturar_regiao(regiao): img = ImageGrab.grab(bbox=regiao) img = img.convert("L") # Tons de cinza img = np.array(img) _, img = cv2.threshold(img, 150, 255, cv2.THRESH_BINARY) # Limiarização return img def extrair_dados_hud(img): dados = {'angulo': None, 'vento': None, 'distancia': None} texto = pytesseract.image_to_string(img) for linha in texto.split('\n'): linha = linha.strip().lower() if "ângulo" in linha or "angulo" in linha: dados['angulo'] = ''.join(filter(str.isdigit, linha)) if "vento" in linha: dados['vento'] = ''.join(filter(str.isdigit, linha)) if "distância" in linha or "distancia" in linha: dados['distancia'] = ''.join(filter(str.isdigit, linha)) return dados def turno_ativo(): img = capturar_regiao(TURNO_REGION) texto = pytesseract.image_to_string(img).lower() return "turno" in texto def log_dados(dados): print(f"Ângulo: {dados['angulo']} | Vento: {dados['vento']} | Distância: {dados['distancia']}") def main_loop(): print("HUD ativa. Pressione Ctrl+R para recalibrar. Pressione ESC para sair.") last_ctrlr = 0 while True: if keyboard.is_pressed('esc'): print("Encerrando script...") break if keyboard.is_pressed('ctrl+r'): if time.time() - last_ctrlr > 2: print("[Manual] Recalibrando HUD...") hud = capturar_regiao(HUD_REGION) dados = extrair_dados_hud(hud) log_dados(dados) last_ctrlr = time.time() if turno_ativo(): hud = capturar_regiao(HUD_REGION) dados = extrair_dados_hud(hud) log_dados(dados) else: print("Aguardando turno...") time.sleep(2) main_loop() Não sei seu atual conhecimento em py, mas se precisar de mais alguma ajuda só me informar que vamos fazer juntos. Também dá um confere nos diretórios necessários
- 33 respostas
-
- 163
-
-
-
Apresento o GunBound Precision HUD, uma ferramenta desenvolvida para jogadores que desejam precisão nos disparos, sem precisar usar macros invasivos ou realizar cálculos manuais. Este HUD atua como um assistente visual inteligente, que lê diretamente do jogo os dados de vento, ângulo e posição do inimigo, e retorna em tempo real: Distância até o alvo Força ideal para acertar com precisão Curva simulada da trajetória do disparo Todos os dados são exibidos em uma janela flutuante, leve e transparente O diferencial deste script é que ele é 100% automático: Não exige imagens externas Não exige configurar coordenadas no código Não realiza nenhuma ação automática (sem risco de ban) Apenas informa com precisão o que o jogador deve fazer. # GunBound Precision HUD – Revisado # Requisitos: pip install opencv-python pytesseract pillow pyautogui numpy keyboard # Tesseract OCR: [Hidden Content] import math, time, os, threading import cv2, pytesseract, pyautogui, numpy as np, keyboard import tkinter as tk from PIL import ImageGrab # ========================== # CONFIGURAÇÕES # ========================== INTERVALO_ATUALIZACAO_MS = 800 # 500–1000 recomendado FORCA_MIN, FORCA_MAX = 20, 100 DIST_PADRAO_PX = 300 WIND_MIN, WIND_MAX = -9, 9 ANG_MIN, ANG_MAX = 0, 89 HSV_RED_1 = ((0, 120, 120), (10, 255, 255)) # faixa 1 do vermelho HSV_RED_2 = ((170,120, 120), (180,255, 255)) # faixa 2 do vermelho LOG_ARQ = "hud_log.txt" # Ajuste o caminho do Tesseract se necessário (Windows padrão). try: if os.name == "nt": pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe" except: pass # DPI awareness (evita deslocamento de coordenadas no Windows com escala >100%) try: if os.name == "nt": import ctypes ctypes.windll.user32.SetProcessDPIAware() except: pass # ========================== # LOG # ========================== def log(msg): ts = time.strftime('%Y-%m-%d %H:%M:%S') with open(LOG_ARQ, "a", encoding="utf-8") as f: f.write(f"[{ts}] {msg}\n") # ========================== # OCR ROBUSTO # ========================== def ocr_digits_from_img(img_bgr): g = cv2.cvtColor(img_bgr, cv2.COLOR_BGR2GRAY) g = cv2.resize(g, None, fx=1.8, fy=1.8, interpolation=cv2.INTER_CUBIC) g = cv2.medianBlur(g, 3) _, bw = cv2.threshold(g, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU) cfg = "--oem 3 --psm 7 -c tessedit_char_whitelist=0123456789-+" txt = pytesseract.image_to_string(bw, config=cfg) txt = (txt or "").strip() # Normalizações comuns de OCR txt = (txt .replace('−', '-') # minus unicode .replace('—', '-') # em dash .replace('–', '-') # en dash .replace('O', '0').replace('o', '0') .replace('|', '1').replace('I', '1')) return txt def detectar_texto(bbox): try: img = ImageGrab.grab(bbox=bbox) img_bgr = cv2.cvtColor(np.array(img), cv2.COLOR_RGB2BGR) return ocr_digits_from_img(img_bgr) except Exception as e: log(f"OCR erro: {e}") return "" def to_int_safe(txt, default=0, minv=None, maxv=None): s = ''.join(ch for ch in (txt or "") if ch in "+-0123456789") try: v = int(s) if minv is not None and v < minv: return default if maxv is not None and v > maxv: return default return v except: return default # ========================== # BUSCA ADAPTÁVEL POR HUD # ========================== def scan_grid(): W, H = pyautogui.size() step_x = max(40, W // 40) step_y = max(16, H // 60) y0, y1 = int(0.07 * H), int(0.55 * H) for y in range(y0, y1, step_y): for x in range(0, W, step_x): yield x, y def localizar_valor_angulo(): W, H = pyautogui.size() w, h = max(50, W//32), max(20, H//60) for x, y in scan_grid(): bbox = (x, y, x + w, y + h) txt = detectar_texto(bbox) val = to_int_safe(txt, default=-999, minv=ANG_MIN, maxv=ANG_MAX) if val != -999: log(f"Ângulo candidato '{txt}' @ {bbox} => {val}") return bbox return None def localizar_valor_vento(): W, H = pyautogui.size() w, h = max(60, W//26), max(20, H//60) for x, y in scan_grid(): bbox = (x, y, x + w, y + h) txt = detectar_texto(bbox) val = to_int_safe(txt, default=-999, minv=WIND_MIN, maxv=WIND_MAX) if val != -999: log(f"Vento candidato '{txt}' @ {bbox} => {val}") return bbox return None # ========================== # DETECÇÃO DE INIMIGO (HSV) # ========================== def detectar_distancia(): try: scr = cv2.cvtColor(np.array(ImageGrab.grab()), cv2.COLOR_RGB2BGR) hsv = cv2.cvtColor(scr, cv2.COLOR_BGR2HSV) m1 = cv2.inRange(hsv, HSV_RED_1[0], HSV_RED_1[1]) m2 = cv2.inRange(hsv, HSV_RED_2[0], HSV_RED_2[1]) mask = cv2.bitwise_or(m1, m2) cnts = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[-2] if cnts: c = max(cnts, key=cv2.contourArea) x Requisitos Windows 10 ou superior Python 3 instalado Tesseract OCR instalado GunBound em modo janela HUD padrão do jogo com valores visíveis (ângulo e vento) Instalação 1. Instale o Python Baixe em: [Hidden Content] Marque “Add Python to PATH” durante a instalação Finalize normalmente 2. Instale as dependências: Abra o Prompt de Comando e execute: pip install pyautogui pillow opencv-python pytesseract numpy keyboard 3. Instale o Tesseract OCR: Baixe em: [Hidden Content] Instale normalmente Copie o caminho de instalação (exemplo): C:\Program Files\Tesseract-OCR\tesseract.exe No final do script, edite esta linha: pytesseract.pytesseract.tesseract_cmd = r"C:\\Program Files\\Tesseract-OCR\\tesseract.exe" Como usar 1. Inicie o GunBound (modo janela) 2. Execute o script com: Gunbound.py 3. O HUD será exibido com os dados: Ângulo atual Vento atual Distância até o inimigo Força ideal Curva de disparo simulada 4. Para recalcular manualmente, pressione Ctrl + R Resolução mínima recomendada: 1024 x 768 (modo janela) Essa resolução garante que: Os valores de ângulo e vento fiquem visíveis e legíveis na tela A janela da HUD flutuante tenha espaço suficiente para exibir as informações A varredura do OCR não seja prejudicada por artefatos visuais Importante: O script foi otimizado para modo janela (não em tela cheia exclusiva). Em modo janela, o OCR funciona corretamente porque o sistema pode capturar a tela diretamente. Em resoluções inferiores a 800x600, o OCR terá alta taxa de erro ou não encontrará os valores HUD. Possíveis problemas e soluções HUD não detectada: Use a HUD padrão do jogo com ângulo e vento visíveis Números lidos incorretamente: Aumente brilho do jogo ou melhore a fonte da HUD OCR falha ou retorna vazio: Verifique o caminho do Tesseract no final do código Distância incorreta: Ajuste a cor do inimigo no código (padrão: vermelho puro) Script leve, sem dependências externas além do Python. Ideal para quem deseja acertar com precisão real, sem violar regras ou depender de automações.
- 33 respostas
-
- 426
-
-
-
-
-
Farm Bot WoW - Coleta Automática de Ervas e Minérios via Minimap
bill3002 postou um tópico no fórum em Games - Cheats / Utilitários
Consiste em um bot para World of Warcraft, capaz de automatizar a coleta de ervas e minérios utilizando reconhecimento visual no minimapa, movimentação inteligente, click-to-move e sistema de segurança anti-stuck. Funcionalidades: Detecção de ícones de coleta no minimapa (erva/minério) Movimentação automática até o recurso (click-to-move) Coleta com clique direito Rota de segurança com waypoints anti-stuck Delay aleatório entre ações (comportamento humano) Ativação com F6 e parada com ESC Parada de emergência com ALT+Q Log completo em log_farm.txt com todas as ações Requisitos: Python 3.8 ou superior Bibliotecas: pip install pyautogui opencv-python pillow keyboard Como usar: 1. Tire screenshots dos ícones de erva/minério no minimapa e salve como: erva_icon.png minerio_icon.png Corte apenas o ícone, sem bordas ou fundo 2. Coloque essas imagens na pasta /imagens/ 3. Ajuste a variável REGIAO_MINIMAPA no código para coincidir com a posição do seu minimapa 4. Execute com: python farm_bot.py 5. No jogo: Pressione F6 para iniciar Pressione ESC para parar Pressione ALT + Q para parada imediata (emergência) # farm_bot.py import pyautogui import cv2 import numpy as np import time import os import random import threading import keyboard # Caminho da pasta de imagens CAMINHO_IMAGENS = 'imagens' LOG_ARQUIVO = 'log_farm.txt' # Lista de ícones de coleta (ervas e minérios) ICONES_RECURSOS = [ 'erva_icon.png', 'minerio_icon.png' ] # Lista de waypoints para rota básica anti-stuck (x, y da tela) WAYPOINTS = [ (600, 500), (620, 520), (640, 540), (660, 560) ] # Região onde o minimapa aparece na tela (ajuste conforme resolução) REGIAO_MINIMAPA = (1230, 30, 170, 170) # Parâmetros de reconhecimento CONFIANCA = 0.75 INTERVALO_BUSCA = 2 # Controle de execução bot_ativo = False contador_sem_achado = 0 limite_sem_achado = 5 indice_waypoint = 0 # Função de log para terminal e arquivo def log(msg): timestamp = time.strftime("%Y-%m-%d %H:%M:%S") linha = f"[{timestamp}] {msg}" print(linha) with open(LOG_ARQUIVO, 'a', encoding='utf-8') as f: f.write(linha + '\n') # Função de reconhecimento de ícone no minimapa def encontrar_recurso(): screenshot = pyautogui.screenshot(region=REGIAO_MINIMAPA) screenshot_np = np.array(screenshot) screenshot_cv = cv2.cvtColor(screenshot_np, cv2.COLOR_RGB2BGR) for nome_icone in ICONES_RECURSOS: caminho_icone = os.path.join(CAMINHO_IMAGENS, nome_icone) template = cv2.imread(caminho_icone) if template is None: log(f"[ERRO] Imagem não encontrada: {caminho_icone}") continue resultado = cv2.matchTemplate(screenshot_cv, template, cv2.TM_CCOEFF_NORMED) _, max_val, _, max_loc = cv2.minMaxLoc(resultado) if max_val >= CONFIANCA: offset_x, offset_y = REGIAO_MINIMAPA[0], REGIAO_MINIMAPA[1] destino_x = offset_x + max_loc[0] + template.shape[1] // 2 destino_y = offset_y + max_loc[1] + template.shape[0] // 2 return (destino_x, destino_y) return None # Movimento e coleta no recurso localizado def coletar(pos): log(f"[INFO] Recurso detectado em: {pos}, movendo...") pyautogui.moveTo(pos[0], pos[1], duration=random.uniform(0.2, 0.6)) pyautogui.click() time.sleep(random.uniform(3, 5)) # tempo para andar pyautogui.click(button='right') # simula coleta log("[INFO] Aguardando coleta...") time.sleep(random.uniform(2, 3)) # Movimento anti-stuck por waypoints def mover_para_waypoint(): global indice_waypoint pos = WAYPOINTS[indice_waypoint % len(WAYPOINTS)] log(f"[INFO] Movendo para waypoint de segurança: {pos}") pyautogui.moveTo(pos[0], pos[1], duration=0.4) pyautogui.click() indice_waypoint += 1 time.sleep(3) # Loop principal do bot def loop_farm(): global bot_ativo, contador_sem_achado while bot_ativo: if keyboard.is_pressed('alt+q'): log("[EMERGÊNCIA] Bot parado por comando ALT+Q.") bot_ativo = False break pos = encontrar_recurso() if pos: coletar(pos) contador_sem_achado = 0 else: log("[INFO] Nenhum recurso encontrado. Tentando novamente...") contador_sem_achado += 1 if contador_sem_achado >= limite_sem_achado: mover_para_waypoint() contador_sem_achado = 0 time.sleep(INTERVALO_BUSCA) # Controle por tecla (F6 inicia, ESC para) def monitorar_teclas(): global bot_ativo log("[BOT] Pressione F6 para iniciar, ESC para parar ou ALT+Q para emergência.") while True: if keyboard.is_pressed('F6') and not bot_ativo: log("[BOT] Iniciando bot...") bot_ativo = True threading.Thread(target=loop_farm).start() time.sleep(1) if keyboard.is_pressed('esc') and bot_ativo: log("[BOT] Encerrando bot...") bot_ativo = False break time.sleep(0.5) if __name__ == '__main__': monitorar_teclas() Se nenhum recurso for encontrado por 5 ciclos seguidos, o bot move o personagem automaticamente para pontos pré-definidos no mapa (waypoints), reiniciando a varredura. Todas as atividades são salvas em tempo real no arquivo log_farm.txt. -
Renderizador FHD de texturas e modelos 3D em python
bill3002 respondeu ao tópico de bill3002 em WYD - Desenvolvimento
Ele não edita os arquivos atuais, ele faz o processo de renderização para outra qualidade de imagem (1080p). Com ele você pode tanto renderizar os arquivos existentes para 1080p ou gerar um catálogo de imagens -
Saberia me dizer qual anti cheat estão usando atualmente no Aika?
-
ao compilar sua source, não gera uma nova Dll?
-
[BOT] Robô Trader para Binance com RSI + CoinGecko + Gestão de Risco em Python
bill3002 postou um tópico no fórum em Desenvolvimento Geral
Hoje trago um projeto completo e funcional de robô trader automático, desenvolvido em Python, com integração à Binance, CoinGecko, e com sistema de análise técnica (RSI) + decisão baseada em dados externos. Ideal para quem deseja automatizar operações no mercado cripto com foco em segurança, leitura de mercado e entrada com maior precisão. O que esse robô faz? Conecta-se à Binance via WebSocket (alta frequência) Lê candles de 1 minuto em tempo real Calcula o RSI (Índice de Força Relativa) para identificar sobrecompra/sobrevenda Consulta o CoinGecko para validar contexto do mercado (variação de 24h do BTC) Executa ordens automáticas de compra e venda com base em sinais combinados Controla o valor investido por operação com base no saldo da conta (1% por trade) Funcionalidades RSI em tempo real Leitura de mercado externo via CoinGecko Modelo simplificado de "inteligência" com decisão buy, sell ou hold Integração com Binance (WebSocket + REST API) Controle de risco por percentual de banca Compatível com qualquer par disponível no spot da Binance Modular e fácil de adaptar para outras estratégias Pré-requisitos Python 3.8+ Conta na Binance com API habilitada (modo Spot) Chave da CoinGecko (pública e gratuita) Terminal ou ambiente Python funcional Instalação 1. Crie o projeto em .py 2. Instale as dependências: pip install python-binance aiohttp pandas numpy 3. Edite o arquivo robo_trader.py e configure suas chaves: API_KEY = 'SUA_API_KEY' API_SECRET = 'SUA_SECRET_KEY' 4. Execute: python robo_trader.py Script [Hidden Content] Segurança e Risco Suporta modo paper trading (Binance testnet) com pequenas adaptações Garante que apenas 1% do saldo USDT seja utilizado por trade (ajustável) Usa ordens de mercado, sem alavancagem por padrão -
1 - Qual cargo almeja ? Moderador 2 - O que pode ser melhorado na área em questão? Atualização de conteúdo, trazer novos sistemas para as áreas diversas, melhorias/atualização nos tópicos fixados 3 - Quais partes do seu dia estaria online ? (manhã, tarde, noite, madrugada) Manhã e noite As vezes madrugada 4 - Nos mostre seu trabalho! link abaixo conteúdos que você produziu recentemente, seja tutoriais, dúvidas resolvidas, artes, programas e cheats de sua autoria, compartilhamentos em geral, etc. 5 - Como podemos te achar? deixe abaixo seu Discord, para que possamos entrar em contato caso seja selecionado. bill#1602
-
Ficou muito bom, talvez se adicionar um timer no intervalo de busca, ele sobrecarregue menos o sistema
-
Consiste em um script que reconhece elementos visuais na tela (como botões ou imagens) e clica automaticamente, com movimentação humanizada do mouse. ETAPA 1 – INSTALAR O PYTHON 1. Acesse: [Hidden Content] 2. Baixe a versão mais recente do Python (recomendo Python 3.10+). 3. Durante a instalação, marque a opção “Add Python to PATH”. ETAPA 2 – CRIAR A ESTRUTURA DE PASTAS Crie uma pasta chamada projeto_macro. Dentro dela, crie assim: projeto_macro/ │ ├── macro_captcha.py └── imagens/ ├── nao_sou_robo.png ├── bicicleta.png ├── semaforo.png Explicação: macro_captcha.py: o script principal. imagens/: pasta com as imagens que o script irá procurar na tela. ETAPA 3 – INSTALAR AS BIBLIOTECAS NECESSÁRIAS Abra o terminal (dentro da pasta ou no seu sistema) e instale os pacotes: pip install pyautogui opencv-python pillow Essas bibliotecas servem para: pyautogui: controle do mouse e da tela opencv-python: reconhecimento de imagem pillow: manipulação de imagens ETAPA 4 – CRIAR O SCRIPT import pyautogui import time import random import os CAMINHO_IMAGENS = 'imagens' IMAGENS_RECONHECIMENTO = ['nao_sou_robo.png', 'bicicleta.png', 'semaforo.png'] CONFIANCA = 0.85 INTERVALO_BUSCA = 1.5 TEMPO_MOVIMENTO_MOUSE = (0.3, 0.8) def mover_mouse_humanizado(x, y): duracao = random.uniform(*TEMPO_MOVIMENTO_MOUSE) pyautogui.moveTo(x, y, duration=duracao) def encontrar_e_clicar(imagem_path): try: pos = pyautogui.locateCenterOnScreen(imagem_path, confidence=CONFIANCA) if pos: mover_mouse_humanizado(pos.x, pos.y) pyautogui.click() print(f"[✓] Clicado na imagem: {imagem_path}") return True except Exception as e: print(f"[!] Erro ao procurar a imagem {imagem_path}: {e}") return False def main(): print("Iniciando macro de reconhecimento...") while True: encontrou = False for nome_imagem in IMAGENS_RECONHECIMENTO: caminho_completo = os.path.join(CAMINHO_IMAGENS, nome_imagem) if encontrar_e_clicar(caminho_completo): encontrou = True time.sleep(2) if not encontrou: print("Nenhuma imagem encontrada. Tentando novamente...") time.sleep(INTERVALO_BUSCA) if __name__ == '__main__': ETAPA 5 – TESTAR O MACRO 1. Tire prints dos elementos que você quer que o macro reconheça (exemplo: botão “Não sou um robô”). 2. Salve as imagens na pasta imagens/ com os mesmos nomes usados no script. 3. Deixe a tela com os elementos visíveis. 4. Execute o script: python "nome do script".py O script ficará procurando pelas imagens e clicando nelas automaticamente ao reconhecê-las. As imagens de referência devem estar iguais em resolução e aparência ao que aparece na tela. Evite usar imagens em que o fundo ou a borda muda.
-
Renderizador FHD de texturas e modelos 3D em python
bill3002 respondeu ao tópico de bill3002 em WYD - Desenvolvimento
Todos os códigos que compartilho estão em formato de script justamente para garantir transparência total e evitar qualquer dúvida ou receio sobre conteúdo malicioso. Dessa forma, qualquer usuário pode analisar, modificar ou adaptar o código da maneira que preferir, com total liberdade e segurança. -
Renderizador FHD de texturas e modelos 3D em python
bill3002 postou um tópico no fórum em WYD - Desenvolvimento
Consiste em um script em Python para visualizar recursos gráficos do cliente WYD em Full HD, ideal para modificação, conversão ou catálogo de conteúdo. O script faz o seguinte: Lê arquivos .wys e .wyt Renderiza modelos 3D de arquivos .obj Gera imagens 1920x1080 com fundo transparente Não altera, converte ou sobrescreve os arquivos originais do jogo Como usar: 1. Coloque os arquivos em uma pasta chamada assets 2. Rode o script render_fullhd.py 3. Os arquivos de saída serão gerados em outputs/ Requisitos: pip install pillow numpy opencv-python trimesh pyrender imageio import os import struct import numpy as np from PIL import Image import cv2 import trimesh import pyrender import imageio # ================================================================================= # CONFIGURAÇÕES GERAIS # ================================================================================= HEADER_BYTES_WYS = 128 # bytes a pular nos .wys/.wyt (ajuste se precisar) PASTA_INPUT = "assets" # onde ficam os .wys/.wyt/.objbin PASTA_OUTPUT = "outputs" # onde salvará as pré-visualizações os.makedirs(PASTA_OUTPUT, exist_ok=True) # ================================================================================= # 1) TEXTURAS: .wys / .wyt (wrapper de DDS/TGA) # ================================================================================= def abrir_textura_wys(caminho: str) -> Image.Image: """ Lê o arquivo .wys/.wyt sem sobrescrever nada, remove apenas o cabeçalho e devolve uma PIL.Image em RAM. """ with open(caminho, "rb") as f: bruto = f.read() dados_img = bruto[HEADER_BYTES_WYS:] # pula cabeçalho custom # Detecta magic bytes simples (DDS = 'DDS ', TGA = 0x000002 or 0x000010) if dados_img[:4] == b'DDS ': # OpenCV lê DDS diretamente em BGR img_bgr = cv2.imdecode(np.frombuffer(dados_img, np.uint8), cv2.IMREAD_UNCHANGED) img_rgb = cv2.cvtColor(img_bgr, cv2.COLOR_BGR2RGBA) pil_img = Image.fromarray(img_rgb) else: # assumindo TGA pil_img = Image.open(io.BytesIO(dados_img)) return pil_img def exportar_fullhd_textura(img: Image.Image, nome_base: str): """ Faz upscale mantendo proporção e salva como PNG 1080 p. """ img_up = img.convert("RGBA") # calcula escala mantendo aspecto img_up.thumbnail((1920, 1080), Image.BICUBIC) # opcional: coloca sobre canvas 1920×1080 centralizado canvas = Image.new("RGBA", (1920, 1080), (0, 0, 0, 0)) offset = ((1920 - img_up.width)//2, (1080 - img_up.height)//2) canvas.paste(img_up, offset) destino = os.path.join(PASTA_OUTPUT, f"{nome_base}_1080p.png") canvas.save(destino) print(f"[✓] Textura exportada → {destino}") # ================================================================================= # 2) MODELOS 3D: “OBJ” binário # - aqui criamos um parser mínimo de exemplo; # você precisará ajustar offsets/formatos ao real .obj binário do WYD. # ================================================================================= def ler_obj_bin(caminho: str) -> trimesh.Trimesh: """ Exemplo de leitura de .obj binário VERY simplificado: [uint32 qtd_vertices][lista float32 xyz][uint32 qtd_faces][lista uint32 idx] Ajuste ao layout real do seu arquivo. """ with open(caminho, "rb") as f: data = f.read() offset = 0 nv = struct.unpack_from("<I", data, offset)[0]; offset += 4 vertices = struct.unpack_from(f"<{nv*3}f", data, offset); offset += nv*12 vertices = np.array(vertices, dtype=np.float32).reshape((-1, 3)) nf = struct.unpack_from("<I", data, offset)[0]; offset += 4 faces = struct.unpack_from(f"<{nf*3}I", data, offset) faces = np.array(faces, dtype=np.int64).reshape((-1, 3)) mesh = trimesh.Trimesh(vertices=vertices, faces=faces, process=False) return mesh def renderizar_modelo_fullhd(mesh: trimesh.Trimesh, nome_base: str): """ Renderiza o mesh em cena simples (luz + câmera) e salva snapshot 1080 p. """ scene = pyrender.Scene(bg_color=[0, 0, 0, 0]) m = pyrender.Mesh.from_trimesh(mesh, smooth=False) scene.add(m) # Luz e câmera light = pyrender.DirectionalLight(color=np.ones(3), intensity=2.0) scene.add(light, pose=np.eye(4)) camera = pyrender.PerspectiveCamera(yfov=np.pi/3.0) scene.add(camera, pose=[[1,0,0,0], [0,1,0,0], [0,0,1,2], [0,0,0,1]]) r = pyrender.OffscreenRenderer(1920, 1080) color, _ = r.render(scene) destino = os.path.join(PASTA_OUTPUT, f"{nome_base}_1080p.png") imageio.imwrite(destino, color) r.delete() print(f"[✓] Modelo 3D exportado → {destino}") # ================================================================================= # 3) LOOP PRINCIPAL – percorre a pasta e processa # ================================================================================= def main(): for arquivo in os.listdir(PASTA_INPUT): caminho = os.path.join(PASTA_INPUT, arquivo) nome_base, ext = os.path.splitext(arquivo.lower()) try: if ext in [".wys", ".wyt"]: img = abrir_textura_wys(caminho) exportar_fullhd_textura(img, nome_base) elif ext in [".wyo", ".objbin"]: # ajuste às suas extensões mesh = ler_obj_bin(caminho) renderizar_modelo_fullhd(mesh, nome_base) except Exception as e: print(f"[!] Falhou em {arquivo}: {e}") if __name__ == "__main__": main()- 5 respostas
-
- 79
-
-
-
-
Você pode tentar algo seguindo esses tópicos:
-
Assistente de Mira para Wild Rift em Python
bill3002 postou um tópico no fórum em Mobile - Downloads de Cheats / Utilitários
Vou deixar um script simples pra quem quer melhorar a precisão das skills no Wild Rift usando um assistente de mira automatizado. Isso aqui não é auto-skill, é um script em Python que ajusta sua mira automaticamente no inimigo, deixando você livre pra usar qualquer tecla (Q, W, E, R) manualmente. Desenvolvido principalmente pra quem joga no LDPlayer, BlueStacks, Nox ou qualquer emulador no PC. Requisitos: Windows 10 ou 11 Python instalado (versão 3.8+ recomendada) Emulador (LDPlayer, BlueStacks, Nox) Permissão de administrador no sistema (pra mover o mouse) Instalação do Python e bibliotecas 1. Baixe e instale o Python: Marque a opção “Add Python to PATH” na instalação. 2. Abra o CMD como administrador e instale as bibliotecas: pip install opencv-python numpy mss pyautogui Criação do Script Crie um arquivo chamado assistente_mira.py Copie e cole o código abaixo: import cv2 import numpy as np import mss import pyautogui import time DELAY_MIRA = 0.15 AREA_BARRA = (30, 150, 5, 25) def capturar_tela(area=None): with mss.mss() as sct: monitor = area if area else sct.monitors[1] screenshot = sct.grab(monitor) return np.array(screenshot) def detectar_barras_vermelhas(frame): hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) mask1 = cv2.inRange(hsv, np.array([0, 120, 70]), np.array([10, 255, 255])) mask2 = cv2.inRange(hsv, np.array([170, 120, 70]), np.array([180, 255, 255])) red_mask = mask1 | mask2 contours, _ = cv2.findContours(red_mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) alvos = [] for cnt in contours: x, y, w, h = cv2.boundingRect(cnt) if AREA_BARRA[0] < w < AREA_BARRA[1] and AREA_BARRA[2] < h < AREA_BARRA[3]: alvos.append((x + w // 2, y + h // 2)) return alvos def ajustar_mira(alvo): x, y = alvo pyautogui.moveTo(x, y) time.sleep(DELAY_MIRA) def main(): print("Assistente de Mira iniciado! Pressione Ctrl+C para sair.") while True: frame = capturar_tela() inimigos = detectar_barras_vermelhas(frame) if inimigos: ajustar_mira(inimigos[0]) time.sleep(0.2) if __name__ == "__main__": main() Modo de usar: 1. Abra o Wild Rift no emulador e entre em partida personalizada 2. Rode o script no terminal: python assistente_mira.py 3. Deixe ele rodando. Quando um inimigo com barra vermelha aparecer, o mouse vai se mover pra lá. 4. Você mira com o mouse e solta a skill manualmente com Q, W, E, R. Avisos Use apenas em emuladores, e evite usar em partidas ranqueadas. Isso não envia comandos no jogo, apenas ajuda sua mira visual. Pode ser detectado por anti-cheats se for abusado em ranked. Fique a vontade para aprimorar do seu jeito. -
O que dá pra fazer com acesso ao Google e WhatsApp da pessoa
bill3002 respondeu ao pergunta de inceptado em Cracking - Dúvidas
Esse método não é muito complicado de fazer, pega uma base de email vazados, aplicar regra a um gerador de criação própria e criar um script de veracidade de logins, vc farma muitos emails válidos com senhas geradas e testadas, depois disso é só ir atrás de burlar sistemas de verificação ou filtrar contas que não possuem esse sistema. O whatsapp é mais uma aplicação de engenharia/psicologia social E não, não vou ensinar nada mais além do que foi dito acima. -
Projeto simples de aimbot para estudo
bill3002 respondeu ao tópico de bill3002 em CS - Coding/Source
Fora que é um conteúdo limpo, a pessoa só revisa o código e não precisa se preocupar com algum malicioso -
O que dá pra fazer com acesso ao Google e WhatsApp da pessoa
bill3002 respondeu ao pergunta de inceptado em Cracking - Dúvidas
Nada muito preocupante, apenas algumas coisas básicas tipo: Acessar emails, fotos, contatos e histórico de localização via google, enviar mensagens falsas para contatos no whats pra tenta aplicar golpes, tentar acessar bancos, pix e redes sociais vinculadas ao email ou número, usar os dados para abrir contas falsas, contratar serviços ou até fraudar documentos -
Venho trazer aqui um script em Python como base de estudo pra quem quer entender melhor como funciona captura de tela e movimentação do mouse com base em cor. A ideia é simular uma espécie de auxílio de mira, mas com foco educativo, pra testar em ambiente offline, tipo usando o Paint ou qualquer imagem estática. É legal pra quem quer aprender como funciona processamento de imagem, reconhecimento de padrões simples e controle de entrada. Não me responsabilizo se for usado em uma partida online com anticheat, sem antes aprimorar, é mais uma ferramenta de treino e entendimento de lógica visual. Dá pra adaptar depois pra outras cores ou integrar com modelos mais avançados tipo YOLO ou IA com dataset, se tiver interesse. O código usa opencv-python, numpy, pyautogui e mss. Instala tudo com: pip install opencv-python numpy pyautogui mss import cv2 import numpy as np import pyautogui import mss import time monitor = {"top": 400, "left": 800, "width": 400, "height": 300} lower_red = np.array([0, 100, 100]) upper_red = np.array([10, 255, 255]) def find_target(frame): hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) mask = cv2.inRange(hsv, lower_red, upper_red) contours, _ = cv2.findContours(mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) if contours: largest = max(contours, key=cv2.contourArea) if cv2.contourArea(largest) > 50: x, y, w, h = cv2.boundingRect(largest) return x + w // 2, y + h // 2 return None with mss.mss() as sct: print("Pressione Ctrl+C para encerrar.") while True: try: img = np.array(sct.grab(monitor)) target = find_target(img) if target: pyautogui.moveTo(monitor['left'] + target[0], monitor['top'] + target[1], duration=0.05) time.sleep(0.01) except KeyboardInterrupt: print("Encerrado.") break cv2.destroyAllWindows() Se alguém quiser adaptar isso pra detectar outra cor ou ampliar o campo de visão, é só trocar os valores de HSV. Também dá pra fazer com alvo em azul, verde ou amarelo.
- 2 respostas
-
- 26
-
-
-
Spoofer é um caso delicado, tem que ser bem filtrado e escolhido, também vai ter mais eficácia se utilizar uma VPN de qualidade. Na hora de escolher tem que se atentar em alguns pontos: Requisitos de alteração de hardware id, se ele abrange IP range e IP local. E cuidado com os maliciosos.
-
Então se trata um banimento via hardware e IP de provedor, a possível solução, seria trocando os hardwares citados, adquirindo outro provedor de internet e criando uma nova conta para adquirir o game.
-
Também jogo DayZ, os servidores oficiais são carregados de hacks, minha indicação é jogar os servidores alternativos, são bem mais limpos
-
Tenta rodar a DB e TM pelo CMD para ver qualquer saída de erro antes de fechar. cmd > cd "localização da pasta" > TMSRV.exe
-
Tenta usar uma dessas duas opções, funcionam fora do Excel e mostram uma régua digital sobre qualquer janela, é bem útil para medir alinhamentos em pixels: On-Screen Rulerou Pixel Ruler
-
Em servidores globais, enviar email para resolução e esclarecimento do motivo, não vai lhe trazer conexão novamente. Esse tipo de banimento normalmente ocorre via hardware e IP de provedor. Soluções práticas e iniciais: Trocar de hardware (placa mãe, SSD/HD, processador, memória RAM, placa de rede/wi-fi. Trocar de provedor de internet e não utilizar VPN. Considerar um possível sistema de banimento por geo localização. Testar conexão com novo hardware e rede móvel 4g/5g. Se utilizar sistemas Microsoft ou Apple, não utilizar suas chaves de ativação atuais, adquirir chaves novas. Não criar emails com semelhanças ao antigos (Teste com emails temporários). E nunca tentar acesso a uma das contas anteriores.