Tipo de Conteúdo
Perfis
Fóruns
Atualizações
Quizzes
Raffles
Store
Tudo que bill3002 postou
-
Boa noite, a um tempo atrás fiz um script que também serve para o PB, basta fazer algumas alterações. Da uma analisada no código e modifica ele para seu uso
-
🎮🔥 WYD 2.0 MYTH SEASON 4 >>> Sourcer's Server+Client+Programas
[E]bill3002 respondeu ao tópico de hamiltoncw em WYD - Desenvolvimento
Por se tratar de uma vastidão de arquivos e mesmo alertando o risco no tópico, gostaria de pedir que adicionasse o Scan, também farei a solicitação para que o tópico seja movido a área correta após a regularização da adição do Scan @-MAGO @SaphireL -
Pedido - Contato do Desenvolvedor do vHK bot para wyd
[E]bill3002 respondeu ao pergunta de PapaiUrsoPR em WYD - Dúvidas
O membro que procura em questão é o @ Dothraki-, porém na postagem do conteúdo solicitado ele deixou bem claro que não possui mais assinaturas disponíveis no momento. Mas não custa nada entrar em contato com ele via PV e conversar sobre o bot -
Então eu percebi que tem 3 problemas diferentes em usuários diferentes, ainda tô procurando uma solução geral e definitiva pra todos, mas pelo que vi vou acabar tendo que fazer um .exe e postar com o devido Scan
- 15 respostas
-
- 15
-
-
Boa noite gente, eu estou fazendo uma analisa da falha em outros PCs e notebook, ainda não consegui ver em outro pc. Não sei se as falhas estão relacionadas a resolução do monitor, escala de imagem, identificação de cores ou bibliotecas instaladas. Eu uso um notebook Acer nitro 5 1080p, tela de 15,6", então não sei identificar com total certeza sem antes testar em outra máquina instalando tudo do 0
-
EVENTO Sorteio Mensal de Games - MÊS DE JULHO - Dead By Daylight
[E]bill3002 respondeu ao tópico de -MAGO em Anúncios e Novidades
bill3002 = 27- 3 respostas
-
- 1
-
-
- Sorteio Mensal
- sorteio de games
- (e 5 mais)
-
A origem dos seus nomes no fórum, como surgiu o seu?
[E]bill3002 respondeu ao tópico de [E]bill3002 em Bate Papo
Me recordo em partes do nick Mihawk. O meu veio mesmo de um apelido de infância. Assim que comecei a usar óculos, o pessoal vivia dizendo que eu parecia com o Bill Gates, eai foi quando pegou "Bill". Desde que criei minha conta na WC, mantive o nick por vários anos. Cheguei a mudar uma vez para ShadowSonic, mas logo voltei para bill3002 e mantive até hoje. -
A origem dos seus nomes no fórum, como surgiu o seu?
[E]bill3002 postou um tópico no fórum em Bate Papo
Muitos de nós escolhemos nossos nicknames por motivos curiosos, aleatórios ou cheios de significado. Alguns vêm de personagens, outros de apelidos de infância, datas marcantes, jogos, combinações únicas ou simplesmente algo que apareceu na mente na hora. -
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
- 15 respostas
-
- 79
-
-
-
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. import math import cv2 import pytesseract import pyautogui import numpy as np import time import tkinter as tk from PIL import ImageGrab, ImageTk import threading import os import keyboard # ========== CONFIGURAÇÕES ========== COLOR_ENEMY = (255, 0, 0) INTERVALO_ATUALIZACAO = 1500 # ========== OCR ========== def detectar_texto(bbox): try: img = ImageGrab.grab(bbox=bbox) gray = cv2.cvtColor(np.array(img), cv2.COLOR_BGR2GRAY) texto = pytesseract.image_to_string(gray, config='--psm 6 digits') return texto.strip() except: return "" # ========== DETECÇÃO DINÂMICA DA HUD ========== def localizar_valor_angulo(): largura, altura = pyautogui.size() for y in range(100, altura//2, 20): for x in range(0, largura, 50): bbox = (x, y, x+50, y+20) texto = detectar_texto(bbox) if texto.isdigit(): angulo = int(texto) if 0 <= angulo <= 89: return bbox return None def localizar_valor_vento(): largura, altura = pyautogui.size() for y in range(100, altura//2, 20): for x in range(0, largura, 60): bbox = (x, y, x+60, y+20) texto = detectar_texto(bbox).replace('+', '').replace('−','-') if texto.lstrip('-').isdigit(): vento = int(texto) if -9 <= vento <= 9: return bbox return None # ========== CÁLCULO DA FORÇA ========== def calcular_forca(distancia_px, angulo, vento): g = 9.8 vento_coef = 1 - (vento / 100) angulo_rad = math.radians(angulo) try: forca_base = math.sqrt((distancia_px * g) / (math.sin(2 * angulo_rad) * vento_coef)) return min(100, max(20, forca_base)) except: return 50 # ========== DETECÇÃO DE INIMIGO ========== def detectar_distancia(): screen = ImageGrab.grab() screen_np = np.array(screen) rgb = cv2.cvtColor(screen_np, cv2.COLOR_BGR2RGB) mask = cv2.inRange(rgb, COLOR_ENEMY, COLOR_ENEMY) coords = cv2.findNonZero(mask) if coords is not None: enemy_pos = coords[0][0] player_pos = (screen.width // 2, screen.height - 100) return abs(enemy_pos[0] - player_pos[0]) return 300 # ========== INTERFACE HUD ========== class HUD: def __init__(self): self.root = tk.Tk() self.root.title("GunBound Precision HUD") self.root.geometry("340x240") self.root.configure(bg='black') self.root.attributes('-topmost', True) self.root.resizable(False, False) self.lbl_status = tk.Label(self.root, text="Detectando HUD...", fg='yellow', bg='black', font=('Arial', 10)) self.lbl_angulo = tk.Label(self.root, text="Ângulo: ...", fg='white', bg='black', font=('Arial', 12)) self.lbl_vento = tk.Label(self.root, text="Vento: ...", fg='white', bg='black', font=('Arial', 12)) self.lbl_dist = tk.Label(self.root, text="Distância: ...", fg='white', bg='black', font=('Arial', 12)) self.lbl_forca = tk.Label(self.root, text="Força Ideal: ...", fg='lime', bg='black', font=('Arial', 14, 'bold')) self.canvas = tk.Canvas(self.root, width=320, height=60, bg='black', highlightthickness=0) self.lbl_status.pack(pady=4) self.lbl_angulo.pack() self.lbl_vento.pack() self.lbl_dist.pack() self.lbl_forca.pack(pady=5) self.canvas.pack() self.bbox_angulo = None self.bbox_vento = None self.dados = {"angulo": 70, "vento": 0, "distancia": 300, "forca": 50} self.calibrar_hud() self.root.after(100, self.verificar_tecla) self.root.mainloop() def calibrar_hud(self): self.lbl_status.config(text="Procurando HUD...") self.bbox_angulo = localizar_valor_angulo() self.bbox_vento = localizar_valor_vento() if self.bbox_angulo and self.bbox_vento: self.lbl_status.config(text="HUD calibrada com sucesso", fg='lightgreen') self.atualizar_dados() else: self.lbl_status.config(text="Falha na calibração. Tentando novamente...", fg='red') self.root.after(3000, self.calibrar_hud) def verificar_tecla(self): if keyboard.is_pressed('ctrl+r'): self.atualizar_dados() self.root.after(300, self.verificar_tecla) def atualizar_dados(self): angulo = int(detectar_texto(self.bbox_angulo) or 70) vento_raw = detectar_texto(self.bbox_vento).replace('+','').replace('−','-') try: vento = int(vento_raw) except: vento = 0 distancia = detectar_distancia() forca = calcular_forca(distancia, angulo, vento) self.dados = {"angulo": angulo, "vento": vento, "distancia": distancia, "forca": forca} self.exibir_dados() self.root.after(INTERVALO_ATUALIZACAO, self.atualizar_dados) def exibir_dados(self): a, v, d, f = self.dados.values() self.lbl_angulo.config(text=f"Ângulo: {a}°") self.lbl_vento.config(text=f"Vento: {v}") self.lbl_dist.config(text=f"Distância: {d} px") self.lbl_forca.config(text=f"Força Ideal: {f:.2f}%") self.desenhar_trajetoria(a, f) def desenhar_trajetoria(self, angulo, forca): self.canvas.delete("all") v = forca / 100 * 50 angle_rad = math.radians(angulo) g = 9.8 points = [] for t in np.linspace(0, 2, 60): x = v * math.cos(angle_rad) * t * 3 y = v * math.sin(angle_rad) * t - 0.5 * g * t**2 points.append((x, y)) for i in range(1, len(points)): x1, y1 = points[i-1] x2, y2 = points[i] self.canvas.create_line(x1+10, 50-y1, x2+10, 50-y2, fill='cyan') # ========== EXECUÇÃO ========== if __name__ == '__main__': pytesseract.pytesseract.tesseract_cmd = r"C:\\Program Files\\Tesseract-OCR\\tesseract.exe" HUD() 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.
- 15 respostas
-
- 179
-
-
-
-
-
Farm Bot WoW - Coleta Automática de Ervas e Minérios via Minimap
[E]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
[E]bill3002 respondeu ao tópico de [E]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
[E]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
-
BOT DE RECONHECIMENTO DE INTERFACE (ADAPTÁVEL PARA CAPTCHA)
[E]bill3002 respondeu ao tópico de [E]bill3002 em Python
Ficou muito bom, talvez se adicionar um timer no intervalo de busca, ele sobrecarregue menos o sistema -
BOT DE RECONHECIMENTO DE INTERFACE (ADAPTÁVEL PARA CAPTCHA)
[E]bill3002 postou um tópico no fórum em Python
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
[E]bill3002 respondeu ao tópico de [E]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
[E]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
-
- 49
-
-
-
Você pode tentar algo seguindo esses tópicos:
-
Assistente de Mira para Wild Rift em Python
[E]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
[E]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.