Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×

Os Melhores

Conteúdo popular

Mostrando conteúdo com a maior reputação em 03/04/2024 in todas as áreas

  1. 100% ATUALIZADO(JUNHO 2024) INTRODUÇÃO A Fox com muito orgulho apresenta seu produto para Grand Chase Classic (Steam/Nexus/Megaxus/Epic Games/etc) Acesse nosso site e tenha acesso à mais produtos exclusivos: Forums - Fox Cheats FUNÇÕES AutoKill - mata todos os monstros da fase Item Vac - puxa todos os itens dropados para o seu personagem STATUS SS - deixa o Status do seu personagem SS permitindo adentrar em missões que ele não atenda os requisitos [ EX : Berkas, VOID/Vazio,etc] Skip Dialog - pula todos os diálogos automaticamente Item Hide - oculta todos os drops para não encher seu inventário de itens fracos/inuteis Level Hack [VOID] - permite que seu personagem entre na missão VAZIO/VOID mesmo que ele não tenha o level necessário Auto Kill Delay - mata todos os monstros da fase mais lentamente Monster VAC - Puxa todos os mobs para um determinado local do mapa. Auto Boss - Ao entrar na missão você vai direto para o BOSS. Item Spawn - Dropa todos os itens que seriam dropados naquela dungeon INTEIRA. Damage Mob - Com essa função você consegue escolher quanto de dano o mob irá lhe causar. Stage Hack - Completa a fase sozinho, de acordo com os delays que você programar. Speed Hack - Aumenta a velocidade do jogo de acordo com o multiplicador desejado. Rank Select - Define qual é o seu rank naquela dungeon (vocÊ pode escolher a pontuação para ir de F até SS) Time Count - O tempo da missão irá começar contar de 10'43 Time Freeze - O Tempo da missão irá ficar parado em 00:00 Hits Count - Falsifica os logs da partida, com você selecionando quantos hits causou na partida Combo Count - Você seleciona qual foi o combo mais alto que deu na partida, além de falsificar os logs da partida também completa AUTOMATICAMENTE as missões de combo ATK Back Count - Você seleciona quantos ataques por trás realizou na missão, além de falsificar os logs da partida também completa AUTOMATICAMENTE as missões de ataque por trás Hits Taken Count - Falsifica os logs da partida com você selecionando quantos hits sofreu na partida Damage Count - Falsifica os logs da partida com você selecionando quanto de dano causou na partida HP Infinity - Deixa seu HP Infinito MP FULL - Deixa seu MP sempre cheio CRITICAL 100% - Seus ataques sempre serão criticos Furia Infinita - Os personagens que possuem furia terão ela infinita Potion CD - Remove o cooldown das poções Fly Hack - Permite seu personagem voar NO PVP - deixa o dano do inimigo no PVP em 1. CoolDown - Cooldown das skills é 0. Pet MP - Deixa o MP do pet sempre cheio Predict Drop - Permite saber o'que irá dropar na missão só de entrar nela, decidindo assim se a recompensa vale o esforço ou se vale a pena quitar pra trocar o drop Speed Farm - Permite carregar uma missão bem mais fácil no lugar da que você esta jogando, permitindo coletar titulos/abrir todos os mapas muito mais rapido! Auto Title - Starta e completa automaticamente as missões BYPASS ANTICHEAT EMBUTIDO - VOCÊ CONSEGUE JOGAR COM MACROS, COM CHEAT ENGINE ABERTO, WPE PRO E MUITO MAIS QUE O JOGO BLOQUEIA MULTI CLIENT EMBUTIDO - VOCÊ CONSEGUE ABRIR QUANTOS GRANDCHASES O SEU COMPUTADOR AGUENTAR SEM MAQUINAS VIRTUAIS OU COISA DO TIPO! SCREEN SHOTS PREÇOS 30 Dias -> R$33,00 ONDE COMPRAR ? Nosso Site -> Forums - Fox Cheats Nosso Discord : [Hidden Content] COMO USAR Abra o cheat Abra o jogo Seja feliz! DOWNLOAD/SCAN CASO QUEIRA SUPORTE DEDICADO, COM MEMBRO DA EQUIPE INDO EM ANYDESK E TUDO MAIS; AI VOCÊ COMPRA O PRODUTO VIP. [hide]DOWNLOAD x86 : [Hidden Content]] SCAN X86 : VirusTotal - File - 6ddb4a159c634bc79841a30a3a1238804e2d20e6624e55651705d37dee1e83f6 DOWNLOAD x64 : [hide]DOWNLOAD x64 : [Hidden Content]] SCAN x64 : VirusTotal - File - f8365bdad743280aa82f47ad3d3cf242421b15445dbe493f9aa894b17342b0d8
    7 pontos
  2. 3 pontos
  3. Baseado no @OneThinker, resolvi criar este tópico liberando um curso de graça a quem não tem uma condição financeira boa. 3.98GB (compactado) via Mega. VEJA OS BÔNUS INCLUSOS Curso de Engenharia Reversa Para que você alcance patamares ainda maiores e consiga se diferenciar ainda mais de quem ja está no mercado, preparamos um mini-curso prático de engenharia reversa de softwares que iremos disponibilizar gratuitamente para todos nossos alunos. Pacote de Ferramentas Além do software essenciais como IDE’s, debuggers,etc, é necessário adquirir diversas ferramentas extras que devem tunar e auxiliar seus desenvolvimentos de cheats e testes com anti-cheats como Loggers, Injetores, Scanners de Memória, gerenciador de processos avançado, etc. Fazer uma compilação de qualidade dessas ferramentas pode sair muito caro ou, pelo menos, muito trabalhoso. Para poupar tempo e dinheiro dos nossos alunos, disponibilizamos uma série de ferramentas, desenvolvidas pela equipe, gratuitamente como bônus. Mini-Curso de Packing e Unpacking Aqui você vai saber como aumentar a proteção dos seus softwares e como retirar praticamente qualquer packer de softwares protegidos, tendo assim acesso ao seu código original! Download: [hide][Hidden Content]] [hide][Hidden Content]]
    3 pontos
  4. *Arquivo de configuração manual.
    3 pontos
  5. [hide] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content]]
    3 pontos
  6. Pack com fotos/vídeos da Mari Avila. Basta curtir o tópico para revelar o conteúdo. [hide][Hidden Content] [Hidden Content] [Hidden Content]]
    2 pontos
  7. WEBCHEATS A P R E S E N T A ASSISTA A QUALQUER VÍDEO NOS SITES OFICIAIS DE VÍDEOS AULTOS +18 SEM PRECISAR PAGAR NADA! A plataforma a seguir consegue liberar todo e qualquer tipo de vídeos/filmes adultos restritos exclusivamente para assinantes. Você consegue assistir os conteúdos exclusivos sem precisa pagar nada mensalmente! COMO USAR A PLATAFORMA: A plataforma é bem autoexplicativa, não há muito segredo. Acesse o site do Mineiro (link no final do tópico); Vai aparecer diversos sites pornográficos, selecione o site que deseja assistir (Por exemplo, o site da Brad Montana); Em seguida você será redirecionado para adicionar o link do vídeo restrito; Pois bem, o próximo passo é acessar o site oficial da Brad Montana; Agora escolha um vídeo/filme premium, restrito somente para assinantes; Após escolher, copie o link do vídeo no campo de URL e retorne a plataforma do Mineiro; Retornando ao site do Mineiro, cole o link do vídeo no campo em que está sendo pedido; Depois, clique no botão "Quero assistir esse vídeo/filme". Caso queria entender melhor a explicação em vídeo, assista: 𝗢𝗯𝘀.: Quando você clicar no botão "Quero assistir esse vídeo/filme", vai aparecer alguns anúncios pedindo para você permitir a notificação. Basta você ficar recusando/bloqueando. A solicitação dessa notificação vai aparecer umas 6x depois que você recusar, basta ficar recusando que logo você será direcionado para assistir o vídeo em FULL HD. 𝗢𝗯𝘀.: Se você clicar em permitir, os anúncios vão deixar de aparecer. Lembre-se de remover a notificação depois, pois é muito chato. LINK DO SITE [Hidden Content] ESTE MATERIAL ERA EXCLUSIVAMENTE PARA MEMBROS VIP! USE COM MODERAÇÃO!
    2 pontos
  8. WEBCHEATS A P R E S E N T A BOT DE UPAR CONTA download & scan [Hidden Content] Scan aqui créditos até o presente momento não sei quem é o criador do script. qualquer coisa, quando descobrir, adiciono aqui
    2 pontos
  9. Recomendo não criar novos perfis e usar os que já tem,pode durar mais tempo
    2 pontos
  10. Tá na mão: [Hidden Content]
    2 pontos
  11. Prova de funcionamento Tutorial em Escrita Execute o Loader Como administrador Vai perguntar em qual disco o seu CrossFire está instalado, e você informa se é no disco D ou no C e da ENTER Depois vai perguntar se você deseja executar o Cheat, e você da S e da ENTER Após isso ele vai aparecer a mensagem "Aguardando o CrossFire" e você abre o CrossFire E pronto, o cheat será inhjetado após 10 minutinhos, mantenha o seu crossfire aberto, na tela de lobby ou fique jogando até dar os 10 minutos, tem a contagem regressiva na telinha do loader. F12 ABRE E FECHA MENU Bom jogo [hide]Download: [Hidden Content]] [hide]Scann: [Hidden Content]]
    2 pontos
  12. Caso gostem enviarei mais. DOWNLOAD: [Hidden Content]
    1 ponto
  13. Meu primeiro combo de qualidade com contas valorant. [Hidden Content]
    1 ponto
  14. UPDATE MARÇO/2024 INTRODUÇÃO Iniciamos o fórum para controlar as vendas dos cheats, todas as noticiais e novidades são postadas lá. Fórum exclusivo para VIP, então se tem interesse em adquirir entre: Forums - Fox Cheats FUNÇÕES AUTO KILL (FUNCIONAL EM EVENTOS E PORTAL) 1 HIT KILL HP HACK (VIDA FICA 500K E NÃO DIMINUI) MP HACK (JÁ INICIA PARTIDA CHEIO, SEM NECESSIDADE DE HIT) TIME FREEZE (COLOCA O TEMPO DA PARTIDA EM 12'59) RANK SS ITEM VAC (TODOS OS ITENS DROPAM NO MESMO LUGAR) MONSTER VAC (TODOS OS MOBS SPAWNAM NO MESMO LUGAR) FLY HACK (AO SEGURAR A TECLA CTRL E PULAR, VOCÊ CONSEGUE VOAR) NO CD (REMOVE O COOL DOWN DAS SKILLS STEALTH (OS MONSTROS NÃO TEM ATACAM) ITEM SPAWN (TODOS OS ITENS DO MAPA SPAWNAM) T. JULGAMENTO (AUMENTA TODOS SEUS ATRIBUTOS) CRITICAL (TODO DANO QUE VOCÊ FIZER SERÁ CRITICO) CONTINENTE HACK - PERMITE VOCÊ ACESSAR QUALQUER CONTINENTE (MESMO QUE NÃO O TENHA LIBERADO) ROOM HACK - PERMITE VOCÊ ACESSAR QUALQUER MISSÃO (MESMO QUE NÃO CUMPRA OS REQUISITOS) TIME FREEZE PROFECIA - DEIXA O TEMPO EM 22 MINUTOS SPEED HACK - AUMENTA A VELOCIDADE DO JOGO EXP HACK UP DO 1 AO 90 EM 5 MINUTOS AUTO BOSS - TE LEVA DIRETO AO BOSS DA MISSÃO BERKAS SOLO - PERMITE JOGAR BERKAS SOLO DEMONSTRAÇÃO SCREEN SHOTS PREÇOS 30 Dias -> R$30,00 90 Dias -> R$70,00 ONDE COMPRAR ? Nosso Site -> Forums - Fox Cheats Link da Loja -> Loja - FoxCheats Nosso Discord : Fox Cheats (discord.com) COMO USAR Abra seu Grand Chase Na tela de Servidores abra o FREE GCH.exe Clique em Injetar Pronto, o menu estará aberto dentro do jogo! QUALQUER PROBLEMA NO DOWNLOAD, DESATIVE SEU ANTI-VÍRUS OBS : PARA USAR O MP HACK, BASTA ATIVAR ANTES DE ENTRAR NA MISSÃO FREE VERSION [hide][Hidden Content]] [Hidden Content]==
    1 ponto
  15. Salve pessoal, adaptei esse script para ler os arquivos .msh e .bon do WYD no blender 2.8 +, carregando a malha e os ossos, créditos a um amigo que me ajudou no entendimento da base desse conteúdo, não sei o nick dele na WC para usar é muito simples, basta definir o caminho do arquivo .msh e do arquivo .bon correspondente, e também o caminho da textura em jpg ou png. import bpy import os import struct import logging import mathutils from typing import NamedTuple FilePath = "C:\\......\\be010101.msh" FileName = "be010101" FilePathBon = "C:\\.......\\be01.bon" IMAGEPATH = 'C:\\.........\\be010101.png' print("----------------- Start Script -----------------") class BoneNode: def __init__(self, Owner, Children, Matrix): self.Owner = Owner self.Children = Children self.Matrix = Matrix class BoneData: def __init__(self, dwName, Matrix): self.dwName = dwName self.Matrix = Matrix class BoneWeight: def __init__(self, b0Weight, b0Index, b1Weight, b1Index, b2Weight, b2Index, b3Weight, b3Index): self.b0Weight = b0Weight self.b0Index = b0Index self.b1Weight = b1Weight self.b1Index = b1Index self.b2Weight = b2Weight self.b2Index = b2Index self.b3Weight = b3Weight self.b3Index = b3Index print ("---------------------Load Bon---------------------") bNodes = [] TreeNodes = [] with open(FilePathBon, "rb") as binFileBone: binFileBone.seek(0,os.SEEK_END) binFileBoneSize = binFileBone.tell() binFileBone.seek(0,os.SEEK_SET) BytesRead = 0 while(BytesRead < binFileBoneSize): Own = struct.unpack('i', binFileBone.read(4))[0] Chd = struct.unpack('i', binFileBone.read(4))[0] bNodes.append(BoneNode(Own,Chd, None)) BytesRead += 8 print("---------------------Load Mesh-------------------") with open(FilePath, "rb") as file: # b is important -> binary _dwParentID = struct.unpack('i', file.read(4))[0] _dwID = struct.unpack('i', file.read(4))[0] _dwFVF = struct.unpack('i', file.read(4))[0] _sizeVertex = struct.unpack('i', file.read(4))[0] _numFaceInflunce = struct.unpack('i', file.read(4))[0] _numPalette = struct.unpack('i', file.read(4))[0] _VertexCount = struct.unpack('i', file.read(4))[0] _FaceCount = struct.unpack('i', file.read(4))[0] _numFaces = int(_FaceCount / 3) print("dwParent: ",_dwParentID) print("_dwID: ",_dwID) print("_dwFVF: ",_dwFVF) print("_sizeVertex: ",_sizeVertex) print("_numFaceInflunce: ",_numFaceInflunce) print("_numPalette: ",_numPalette) print("_VertexCount: ",_VertexCount) print("_FaceCount: ", _FaceCount) print("_numFaces: ",_numFaces) lVertxPos = [] lNormalPos = [] lUvPos = [] lIndices = [] lBonesPos = [] ldwName = [] lBoneWeight = [] for i in range(0,_numPalette): bMatrix = mathutils.Matrix().to_4x4() bMatrix[0][0] = struct.unpack('f', file.read(4))[0] bMatrix[1][0] = struct.unpack('f', file.read(4))[0] bMatrix[2][0] = struct.unpack('f', file.read(4))[0] bMatrix[3][0] = struct.unpack('f', file.read(4))[0] bMatrix[0][1] = struct.unpack('f', file.read(4))[0] bMatrix[1][1] = struct.unpack('f', file.read(4))[0] bMatrix[2][1] = struct.unpack('f', file.read(4))[0] bMatrix[3][1] = struct.unpack('f', file.read(4))[0] bMatrix[0][2] = struct.unpack('f', file.read(4))[0] bMatrix[1][2] = struct.unpack('f', file.read(4))[0] bMatrix[2][2] = struct.unpack('f', file.read(4))[0] bMatrix[3][2] = struct.unpack('f', file.read(4))[0] bMatrix[0][3] = struct.unpack('f', file.read(4))[0] bMatrix[1][3] = struct.unpack('f', file.read(4))[0] bMatrix[2][3] = struct.unpack('f', file.read(4))[0] bMatrix[3][3] = struct.unpack('f', file.read(4))[0] bMatrix.invert() '''print("Invert2:") print(bMatrix) print(loc, rot, sca)''' loc, rot, sca = bMatrix.decompose() '''loc.z = loc.z * - 1''' bMatrix = mathutils.Matrix().LocRotScale(loc, rot, sca) lBonesPos.append(BoneData(0, bMatrix)) for i in range(0,_numPalette): dwName = struct.unpack('i', file.read(4))[0] lBonesPos[i].dwName = dwName print("dwName: ",dwName) ldwName.append(dwName) for i in range(0,_VertexCount): vX = struct.unpack('f', file.read(4))[0] vY = struct.unpack('f', file.read(4))[0] vZ = struct.unpack('f', file.read(4))[0] Vertex = (vX, vY, vZ) if _numFaceInflunce == 4: bweight0 = struct.unpack('f', file.read(4))[0] bweight1 = struct.unpack('f', file.read(4))[0] bweight2 = struct.unpack('f', file.read(4))[0] bboneIndex0 = struct.unpack('b', file.read(1))[0] bboneIndex1 = struct.unpack('b', file.read(1))[0] bboneIndex2 = struct.unpack('b', file.read(1))[0] struct.unpack('b', file.read(1))[0] bw = BoneWeight(bweight0,bboneIndex0,bweight1,bboneIndex1,bweight2,bboneIndex2, 0, 0) lBoneWeight.append(bw) elif _numFaceInflunce == 3: bweight0 = struct.unpack('f', file.read(4))[0] bweight1 = struct.unpack('f', file.read(4))[0] bboneIndex0 = struct.unpack('b', file.read(1))[0] bboneIndex1 = struct.unpack('b', file.read(1))[0] u1 = struct.unpack('b', file.read(1))[0] u2 = struct.unpack('b', file.read(1))[0] bw = BoneWeight(bweight0,bboneIndex0,bweight1,bboneIndex1,0, 0, 0, 0) lBoneWeight.append(bw) elif _numFaceInflunce == 2: bweight0 = struct.unpack('f', file.read(4))[0] bboneIndex0 = struct.unpack('b', file.read(1))[0] struct.unpack('b', file.read(1))[0] struct.unpack('b', file.read(1))[0] struct.unpack('b', file.read(1))[0] bw = BoneWeight(bweight0,bboneIndex0,0,0,0, 0, 0, 0) lBoneWeight.append(bw) else: print("este arquivo possuie faceinfluence: ", _numFaceInflunce) nX = struct.unpack('f', file.read(4))[0] nY = struct.unpack('f', file.read(4))[0] nZ = struct.unpack('f', file.read(4))[0] Normal = (nX, nY, nZ) uX = struct.unpack('f', file.read(4))[0] uY = struct.unpack('f', file.read(4))[0] uV = (uX,uY * -1) lVertxPos.append(Vertex) lNormalPos.append(Normal) lUvPos.append(uV) for i in range(0, _numFaces): f1 = struct.unpack('H', file.read(2))[0] f2 = struct.unpack('H', file.read(2))[0] f3 = struct.unpack('H', file.read(2))[0] triangulos = (f1, f2, f3) lIndices.append(triangulos) edge = [] new_mesh = bpy.data.meshes.new('mesh') new_mesh.from_pydata(lVertxPos, edge, lIndices) new_mesh.update() obj_mesh = bpy.data.objects.new(FileName, new_mesh) obj_mesh.data.normals_split_custom_set_from_vertices(lNormalPos) obj_mesh.modifiers.new(name = 'Skeleton', type = 'ARMATURE') '''Set UV''' uvlayer = obj_mesh.data.uv_layers.new() obj_mesh.data.uv_layers.active = uvlayer pos = 0 for face in obj_mesh.data.polygons: for vert_idx, loop_idx in zip(face.vertices, face.loop_indices): uvlayer.data[loop_idx].uv = lUvPos[vert_idx] pos += 1 '''mat = bpy.data.materials['Material'] tex = bpy.data.textures.new("SomeName", 'IMAGE') slot = mat.texture_slots.add() slot.texture = tex''' amt = bpy.data.armatures.new('root') Container = bpy.data.objects.new('Armature', amt) obj_mesh.modifiers['Skeleton'].object = Container '''obj_mesh.modifiers['Skeleton'].object = armt''' # make collection new_collection = bpy.data.collections.new('Loaded@'+FileName) bpy.context.scene.collection.children.link(new_collection) new_collection.objects.link(Container) new_collection.objects.link(obj_mesh) obj_mesh.parent = Container bpy.context.view_layer.objects.active = Container bpy.ops.object.mode_set(mode='EDIT') print("-----------------Create Three Node-------------------") class BoneTreeStruct: def __init__(self, dwname, Fater, Bone,Owner,Children ): self.dwname = dwname self.Fater = Fater self.Bone = Bone self.Owner = Owner self.Children = Children ignoreCount = 0 for b in bNodes: if ignoreCount > 0: ignoreCount -= 1 continue chk = BoneTreeStruct(0,0,None,0,0) ischk = False for tr in TreeNodes: if tr.Owner == b.Children: chk = tr ischk = True break if ischk == False: '''chk.Bone = bpy.data.objects.new(str(b.Children), None)''' chk = BoneTreeStruct(b.Children,0, None,b.Children,0) chk.Bone = amt.edit_bones.new(str(b.Children)) chk.Bone.head = (0,0,0) chk.Bone.tail = (0,0,0.1) TreeNodes.append(chk) print("definindo filhos") for fi in bNodes: if fi.Owner == chk.Owner: nFilho = BoneTreeStruct(fi.Children, chk,0,fi.Children,0) '''nFilho.Bone = bpy.data.objects.new(str(fi.Children), None)''' nFilho.Bone = amt.edit_bones.new(str(fi.Children)) nFilho.Bone.head = (0,0,0) nFilho.Bone.tail = (0,0,0.1) nFilho.Bone.parent = chk.Bone TreeNodes.append(nFilho) for bTree in TreeNodes: print(bTree.Bone.name) for dwInfo in lBonesPos: if(int(dwInfo.dwName) == int(bTree.Bone.name)): print("set matrix bone "+str(dwInfo.dwName)) bTree.Bone.matrix = dwInfo.Matrix bpy.context.view_layer.objects.active = obj_mesh vertexGroup = [] for i in range(0,_numPalette): new_vertex_group = bpy.context.active_object.vertex_groups.new(name=str(lBonesPos[i].dwName)) vertexGroup.append(vertexGroup) for i in range(0,_VertexCount): if _numFaceInflunce == 4: bpy.context.active_object.vertex_groups[lBoneWeight[i].b0Index].add([i], lBoneWeight[i].b0Weight, 'ADD') bpy.context.active_object.vertex_groups[lBoneWeight[i].b1Index].add([i], lBoneWeight[i].b1Weight, 'ADD') bpy.context.active_object.vertex_groups[lBoneWeight[i].b2Index].add([i], lBoneWeight[i].b2Weight, 'ADD') elif _numFaceInflunce == 3: bpy.context.active_object.vertex_groups[lBoneWeight[i].b0Index].add([i], lBoneWeight[i].b0Weight, 'ADD') bpy.context.active_object.vertex_groups[lBoneWeight[i].b1Index].add([i], lBoneWeight[i].b1Weight, 'ADD') elif _numFaceInflunce == 2: bpy.context.active_object.vertex_groups[lBoneWeight[i].b0Index].add([i], lBoneWeight[i].b0Weight, 'ADD') else: print("este arquivo possuie faceinfluence: ", _numFaceInflunce) mat = bpy.data.materials.new(name="New_Mat") mat.use_nodes = True bsdf = mat.node_tree.nodes["Principled BSDF"] texImage = mat.node_tree.nodes.new('ShaderNodeTexImage') texImage.image = bpy.data.images.load(IMAGEPATH) mat.node_tree.links.new(bsdf.inputs['Base Color'], texImage.outputs['Color']) if obj_mesh.data.materials: obj_mesh.data.materials[0] = mat else: obj_mesh.data.materials.append(mat)
    1 ponto
  16. 1 ponto
  17. Pack com fotos/vídeos da MC Raposinha. Basta curtir o tópico para revelar o conteúdo. [hide][Hidden Content] [Hidden Content] [Hidden Content]]
    1 ponto
  18. Vou deixar postado o link do mega com tudo certinho, há explicações dentro das pastas é uma release vazada, Os editores estão inclusos //Arquivos de configurações AikaServer.ini config.ini Edite o SL.bin usando o ConfigServer.exe, copie o SL.bin e salve no client O servidor está configurado para o ip 127.0.0.1 - localhost usuário admin do game: admin admin O banco de dados .sql está limpo e com as codificações corrigidas [Hidden Content]
    1 ponto
  19. Só lembrando que é material para estudos. Source 1: Source 2:
    1 ponto
  20. [Hidden Content] Telegram Channel: @databasefromstorm My telegram: @BrowzData
    1 ponto
  21. Então, partindo das condições as quais o jogo faz a desconexão dá pra fazer reconectar ou até mesmo nem dar necessariamente o DC.
    1 ponto
  22. Legal! Daria uma dica para você tentar fazer como a maioria dos MMORPGS fazem: reconectar mesmo. Você nem chega a sair do jogo, fica em estado de reconectando e aí conecta de novo no jogo e permanece exatamente como era.
    1 ponto
  23. TMSecurity.h #pragma once #include <cstdint> // Para tipos de dados padrão #include <cassert> // Para assert class TMSecurity { public: TMSecurity(); virtual ~TMSecurity(); char GetKeyword(int pos); char GetPasswordKey(); void InitializeKeys(); public: char GameKeyWords[512]; char PasswordKey; }; void MSHDecrypt(unsigned int* v, unsigned int* k); void MSHEncrypt(unsigned int* v, unsigned int* k); char* MSHEncDec(int Mode, const char* filename, char* ptr, int size); unsigned int* getkey(const char* file); TMSecurity.cpp #include "pch.h" #include "TMGlobal.h" const unsigned int DELTA = 0x9E3779B9; //0090AA50 TMSecurity::TMSecurity() //Função Ok { memset(GameKeyWords, 0, 512); PasswordKey = 180; //-76 } //0090AAF0 TMSecurity::~TMSecurity() //Função Ok { memset(GameKeyWords, 0, 512); } //0090AB90 char TMSecurity::GetKeyword(int pos) //Função Ok { char result = 0; if (GameKeyWords[pos]) result = GameKeyWords[pos]; return result; } //0090AC10 char TMSecurity::GetPasswordKey() //Função Ok { return PasswordKey; } //0090AC70 void TMSecurity::InitializeKeys() //Função Ok { std::string fileName = "Conf/VibrantGames.bin"; FILE* fp = NULL; if(!fopen_s(&fp, fileName.c_str(), "rb")) { fseek(fp, 0, 2); int file_size = ftell(fp); rewind(fp); char* buffer = (char*)malloc(file_size); if (buffer) { fread(buffer, 1, file_size, fp); fclose(fp); for (int i = 0; i < file_size; i++) buffer[i] ^= PasswordKey; char* p2 = MSHEncDec(1, (char*)fileName.c_str(), buffer, file_size); if (p2) { if (file_size > 512) file_size = 512; memcpy(&GameKeyWords, p2, file_size); free(p2); free(buffer); } } } else MessageBoxA(0, "Please, reinstall the game, data corrupted!", "Vibrant Games", 0); } //00950210 char* MSHEncDec(int Mode, const char* filename, char* ptr, int size) //Função Ok { if (!filename || !ptr || !size) return NULL; const char* file = filename; for (int i = strlen(filename) - 1; i > 0; i--) { if (filename[i] == '/' || filename[i] == '\\') { file = &filename[i + 1]; break; } } int blocks = size / 8; char* out = (char*)malloc(size); if (!out) return NULL; unsigned int* key = getkey(file); if (!key) { free(out); return NULL; } unsigned char* pout = reinterpret_cast<unsigned char*>(out); unsigned int v[2]; for (int i = 0; i < blocks; i++, ptr += 8, pout += 8) { memcpy(v, ptr, sizeof(v)); if (!Mode) MSHEncrypt(v, key); else MSHDecrypt(v, key); memcpy(pout, v, sizeof(v)); } SecureZeroMemory(key, 4 * sizeof(unsigned int)); free(key); return out; } //00950080 void MSHDecrypt(unsigned int* v, unsigned int* k) //Função Ok { unsigned int v0 = v[0]; unsigned int v1 = v[1]; unsigned int sum = DELTA * 32; for (int i = 0; i < 32; i++) { v1 -= ((v0 << 4) + k[2]) ^ (v0 + sum) ^ ((v0 >> 5) + k[3]); v0 -= ((v1 << 4) + k[0]) ^ (v1 + sum) ^ ((v1 >> 5) + k[1]); sum -= DELTA; } v[0] = v0; v[1] = v1; } //00950440 void MSHEncrypt(unsigned int* v, unsigned int* k) //Função Ok { unsigned int v1 = v[0]; unsigned int v0 = v[1]; unsigned int sum = 0; for (int i = 0; i < 32; i++) { sum += DELTA; v0 += ((v1 << 4) + k[0]) ^ (v1 + sum) ^ ((v1 >> 5) + k[1]); v1 += ((v0 << 4) + k[2]) ^ (v0 + sum) ^ ((v0 >> 5) + k[3]); } v[0] = v0; v[1] = v1; } //00950920 unsigned int* getkey(const char* file) //Função Ok { unsigned int* key = (unsigned int*)malloc(4 * sizeof(unsigned int)); if (!key) return NULL; int len = strlen(file); char* newFile = (char*)malloc(len); if (!newFile) { free(key); return NULL; } for (int i = 0; file[i] && i < len; i++) newFile[i] = tolower(file[i]); memset(key, (13 * len) + 73, 4 * sizeof(unsigned int)); for (int j = 0; j < len; j++) key[j % 4] ^= newFile[j]; free(newFile); return key; } BaseDef.cpp //0067F240 bool BASE_IsEncrypted(const char* file) //Função Ok { FILE* fp = fopen(file, "rb"); if (!fp) return false; bool encrypted = false; int code[3]{}; if (fread(code, 1, 4, fp) == 4) { if(strstr(file, ".msa") || strstr(file, ".vgo")) { if (code[0] && code[0] != 322 && code[0] != 274) encrypted = true; } else if (strstr(file, ".msh") || strstr(file, ".vgm")) { if (code[0]) encrypted = true; } else if (strstr(file, ".wys") || strstr(file, ".vgt")) { if (code[0] && code[0] != 0x30315357 && code[0] != 0x30315457) encrypted = true; } else if (strstr(file, ".wyt") || strstr(file, ".vgi")) { if (code[0] && code[0] != 0x30315457 && code[0] != 0x30315357) encrypted = true; } } fclose(fp); return encrypted; } Criem uma variaval global para a classe TMSecurity, nome original g_pSecurityManager A g_pSecurityManager->InitializeKeys() dever ser chamada dentro da NewApp A função de decode é chamada nesses locais //00690380 int CMesh::LoadMesh(char* file) //Função Ok //0075E550 int TextureManager::LoadUITexture(int nIndex, int nSrcIndex) //Função Ok //0075C110 int TextureManager::LoadEffectTexture(int nIndex) //Função Ok //0075D940 int TextureManager::LoadModelTexture(int nIndex) //Função Ok //0075CCA0 int TextureManager::LoadEnvTexture(int nIndex) //Função Ok //008E3B10 int TMMesh::LoadMsa(const char* szFileName) //Função Ok //00697C90 char* CPSock::ReadMessage(int* ErrorCode, int* ErrorType) //Função Ok //00697340 int CPSock::AddMessage(char* pMsg, int Size, int FixedKeyWord) //Função Ok A implementacao delas é com vcs
    1 ponto
  24. Não altere o email ou a senha para que todos possam usar. Sem garantias, não testei nenhuma, mas me informe se não funcionar. [Hidden Content]
    1 ponto
  25. Conta para todos não seja babaca(NÃO MUDE A SENHA/EMAIL) Só funciona prime video se entrar no Gaming,music ou tentar comprar algo a conta fica suspensa
    1 ponto
  26. [Hidden Content] Tenho várias contas , mande mensagem no privado .
    1 ponto
  27. Tentem alguma dessas, são do dia 17/03 e outras são de ontem. [Hidden Content]
    1 ponto
  28. se alguem arrumar eu tambem quero na humilda
    1 ponto
  29. Basta deslizar e assistir o quanto quiser de vídeos +18 curtos e longos! [hide][Hidden Content]] Basta clicar na opção do Tiktok e aproveitar os milhares de vídeos!
    1 ponto
  30. void ProcessShaman(int conn, int npcId) { int circleId = pMob[conn].MOB.Equip[PET].Index; int circleType = 0; int circleMode = 0; if (circleId == 448 || circleId == 449 || circleId == 450) { if (pMob[conn].MOB.Quest & 0x10) { SendClientMessage(npcId, TRUE, _NN_Youve_Done_It_Already); return; } circleType = circleId - 448; circleMode = 1; } else if (circleId == 693 || circleId == 694 || circleId == 695) { circleType = circleId - 693; circleMode = 2; } else { SendClientMessage(npcId, TRUE, _NN_Need_Pure_Divine); return; } int maxResetPoint = 50; if (circleMode == 2) maxResetPoint = 100; int specialPoints = pMob[conn].MOB.SpecialBonus; for (int i = 0; i < 4; i++) { if (pMob[conn].MOB.BaseScore.Special[i] > maxResetPoint) { specialPoints += maxResetPoint; pMob[conn].MOB.BaseScore.Special[i] -= maxResetPoint; } else { specialPoints += pMob[conn].MOB.BaseScore.Special[i]; pMob[conn].MOB.BaseScore.Special[i] = 0; } if (pMob[conn].MOB.BaseScore.Special[i] > 200) { int moreThan200 = pMob[conn].MOB.BaseScore.Special[i]; pMob[conn].MOB.BaseScore.Special[i] = 200; specialPoints = (moreThan200 + specialPoints) - 200; } } pMob[conn].MOB.SpecialBonus = specialPoints; if (circleType == 0) { pMob[conn].MOB.LearnedSkill &= 0xFFFFFF00; pMob[conn].MOB.nLearnedSkill &= 0xFF0; } if (circleType == 1) { pMob[conn].MOB.LearnedSkill &= 0xFFFF00FF; pMob[conn].MOB.nLearnedSkill &= 0xF0F; } if (circleType == 2) { pMob[conn].MOB.LearnedSkill &= 0xFF00FFFF; pMob[conn].MOB.nLearnedSkill &= 0x0FF; } BASE_GetBonusSkillPoint(&pMob[conn].MOB, pMob[conn].MobFace); memset(&pMob[conn].MOB.Equip[PET], 0, sizeof STRUCT_ITEM); SendItem(conn, EQUIP_TYPE, PET, &pMob[conn].MOB.Equip[PET]); SendEtc(conn); SetTick(conn, 44, 20, 20); //pode ser setaffect em algumas sources SendScore(conn); SendClientMessage(npcId, TRUE, _NN_Initialize_Skill); if (circleMode == 1) pMob[conn].MOB.Quest |= 0x10; else if(circleMode == 2) pMob[conn].MOB.Quest |= 0x20; SendClientMessage(conn, FALSE, _NN_Qest06Complete); sprintf_s(temp, "que,divice circle quest item:%d mode:%d type:%d", circleId, circleMode, circleType); Log(temp, pUser[conn].AccountName, pUser[conn].IP); MSG_SetSkillBar pSkillBar{}; pSkillBar.Header.Type = _MSG_SetSkillBar; pSkillBar.Header.ID = ESCENE_FIELD; pSkillBar.Header.Size = sizeof MSG_SetSkillBar; memcpy(pSkillBar.SkillBar1, pMob[conn].MOB.SkillBar1, 4); memcpy(pSkillBar.SkillBar2, pUser[conn].SkillBar2, 16); pUser[conn].cSock.AddMessage((char*)&pSkillBar, pSkillBar.Header.Size); } att
    1 ponto
  31. Skilldata.bin Update : 7.96 Version [hide][Hidden Content]]
    1 ponto
Esta tabela de classificação está definida para São Paulo/GMT-03:00
×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.