Pesquisar na Comunidade
Mostrando resultados para as tags ''fundamentos''.
Encontrado 1 registro
-
fundamentos [Super Tutorial] Code Blocks, Sources e Compilação ! [ Iniciantes ]
~Supremacy' postou um tópico no fórum em Tutoriais
Olá pessoal. Fiz esse tutorial ano retrasado para um fórum concorrente quando ainda mexia bastante com WYD Private, o nome nas imagens (# Death ~') sou eu. Então não estou roubando tutorial de ninguém, apenas trazendo aqui para a WebCheats um tutorial de autoria minha, porém com Nick diferente. 1 - O que é uma Source ? Source, do inglês, significa Fonte, Origem. Ou seja, Source é basicamente falando o Código-Fonte. Neste tutorial, Source será o Código-Fonte de um arquivo chamado .DLL. 2 - O que é .DLL ? .DLL, sigla de Dynamic-link library (Biblioteca de ligação dinâmica), . Sua função mais ou menos está em armazenar dados. São arquivos que contém rotinas e funções que podem ser utilizadas pelos programas (.EXE) 3 - Como eu edito uma .DLL ? Para editar, você precisará da Source da própria. Algumas vezes, os programadores postam junto com a .DLL a Source. Caso ao contrário, não terá como você editá-la. 4 - Como eu edito uma Source ? Você precisará de um programa. O Code::Blocks, que pode ser baixado em seu site oficial pelo link : Download binary Vá em baixo, no "codeblocks-10.05mingw-setup.exe", escolha o seu servidor de preferência ( BerliOS ou Sourceforge.net ) Baixe e instale normalmente. Após, abra o programa, iremos configurá-lo. 1º Passo - Na barra de ferramentas, clique em Settings e depois em Compiler and Debugger [Hidden Content] 2º Passo - Irá abrir uma janela, clique em Toolchain Executables. No lugar de "C:\Program Files\CodeBlocks\MinGW" coloque o diretório em que está a pasta MinGW. Embaixo, deixe tudo como está na imagem e de OK. Pronto, Code Blocks configurado (: Agora, vamos editá-la. Neste tutorial, eu irei usar a .DLL gsHook, do ~SkyDragon~ : Download : Download Source ~SkyDragon~.rar from Sendspace.com - send big files the easy way Scan : VirusTotal - Free Online Virus, Malware and URL Scanner Créditos pelo Upload e pelo Scan : ~SkyDragon~ Depois de ter baixado a Source da gsHook, vá na pasta e abra o GSHook : O Code Blocks irá abrir com 11 "arquivos". São : "Core.c", "BoxExp.c", "NPCFunc.c", "Define.h", "AddExp.c", "Init.c", "Command.c", "Recv.c", "Send.c", "Gate.c", "Functions.h" Vou explicar os que mais importam : Core.c - São umas funções exercidas pela gsHook. Algumas junto de si, há um info em cima dela. "Envia Chat" "Envia Mensagem" "Envia Efeito" "Envia status para client" BoxExp.c - Na gsHook do ~SkyDragon~ ela serve para a configuração das caixas de quest. Podem ser utilizada para Pesadelo, e coisas do tipo. NPCFunc.c - Não digo que é o principal, porque todos exercem uma função importante na .DLL. Mas nele, você pode fazer NPC de criação de Arch, Celestial, NPC's que teleportam, de trocas, enfim. Isso tudo é aqui. Command.c - Serve para criar comandos como o nome já retrata. Agora, vamos entender um pouco de 2 "Sources" : COMANDO [Você irá adicionar isto em : Commands.c] } if((strncmp(comando, "retorno", 7) == 0) && (cLevel <= 1000)) { Teleport(clientid, 2100, 2100); asm(".intel_syntax noprefix\n"); asm("mov eax, 1\n"); return; ** if((strncmp(comando, "retorno", 4) == 0) && (cLevel <= 1000)) - Pastebin.com Bom pessoal, como eu disse, eu sou novato no assunto. Então explicarei somente o básico da source. if((strncmp(comando, "[color=red]retorno[/color]", [color=blue]7[/color]) == 0) && ([color=green]cLevel <= 1000[/color])) retorno : Aqui você irá colocar o nome do comando. OBS : Se você colocar alguma letra maiúscula, você terá, ingame, colocar a letra maiúscula. Por exemplo, se eu colocasse "Retorno" ali, e no jogo eu tentasse por "retorno" não iria dar certo. 7 : Aqui é o número de letras que vai haver no nome do comando. No exemplo do "retorno" são 7 letras. Se fosse "*webcheats" seriam 9 letras. cLevel <= 1000 : Aqui é o level máximo que poderá ser utilizado o comando. Ou seja, um char no level 1001, não poderá utilizar o comando. Caso queira colocar um level mínimo só "inverta" a "seta" para o lado direito, ficando : Código: [b][color=green]cLevel >= 1000 [/color][/b] Aqui, o level mínimo para usar o comando é 1000. Mas, caso você queira adicionar os dois, level mínimo e level máximo, siga o código : ((cLevel >= [b][color=#a0522d]265[/color][/b]) && (cLevel <= [b][color=#daa520]320[/color][/b])) 265 - Level mínimo. 320 - Level máximo. Teleport(clientid,2100, 2100); Aqui, vai configurar para onde você vai ao utilizar o comando. 2100 : X 2100 : Y ---------------- CAPA INCIANTE [Você irá adicionar isto em : NPCFunc.c - Lá em baixo, antes do default: e após a chave final da configuração do NPC de cima] case 15: //Capa Iniciante { if ((cLevel >= 100) && (cLevel <= 150) && (cFada == 770)) { PInt(addr_bclient + 0x015C6A8C) = 614; PInt(addr_bclient + 0x015C6A7C) = 0; SendClientMessage(clientid, "Bem-Vindo ao Reino Do Aprendiz!!"); DC(clientid); return; } { SendClientMessage(clientid, "Esta Faltando Algo!!"); return; } } [C] Capa - Pastebin.com Source fornecida por : TurnOfSilence O que essa Source faz ? Ela verifica se você tem o item pedido no slot de Fadas/Nyerds case 15 - Caseé a "Raça" do MOB. Ou seja, ao criar o NPC para realizar a ação, você vai colocar em Raça o número que está ao lado de Case. Caso de esse erro ao compilar a Source : [color=#ff0000]C:\Users\CASTRO\Desktop\source\NPCFunc.c:371: error: duplicate case value C:\Users\CASTRO\Desktop\source\NPCFunc.c:220: error: previously used here[/color] É porque existem 2 Case iguais. Então é só mudar o Case para um número maior.if ((cLevel >= 100) && (cLevel <= 150) && (cFada == 770)) - Como vimos anteriormente, "if ((cLevel >= 100) && (cLevel <= 150)" significa que o level mínimo para entrar na quest é 100, e o máximo 150. Já o "(cFada == 770)" é o item que o NPC irá pedir para que você ganhe a capa. 770 é o número seguindo a ItemList. Ache o número do "Emblema do Aprendiz" e substitua o 770 caso não seja esse. Se você não tem o Emblema em seu ItemList : 770,Emblema_de_Aprendiz,386.0,95.0.0.0.0,0,0,8192,0,0,EF_CLASS,255 PInt(addr_bclient + 0x015C6A8C) = 614; - É o item que você ira receber, no caso, a capa. Se não esteja dando o item correto, modifique o "614"SendClientMessage(clientid, "Bem-Vindo ao Reino Do Aprendiz!!"); DC(clientid); - É a mensagem que irá dar quando a troca foi realizada com sucesso. E o "DC(clientid);" é a função que fará o personagem dar personagem imediatamente sem delay. SendClientMessage(clientid, "Esta Faltando Algo!!"); - É a mensagem que dará quando a troca não foi realizada com sucesso. ---------------------- Agora você vai para o próximo passo. 5 - Como passo para .DLL ?Se você configurou direitinho, sem apagar coisas que não podiam ser apagadas dê um CNTRL + F9 e o programa irá compilar. Caso ocorra tudo certo, dará esta mensagem : Compiling: NPCFunc.c Linking dynamic library: .\Release\gsHook.dll Creating library file: .\Release\libgsHook.dll.a Output size is 65,06 KB Process terminated with status 0 (0 minutes, 1 seconds) 0 errors, 0 warnings Na pasta "release", dentro da "source" irá ter uma .DLL. Vá em TMSRV/run , recorte e leve-a para o desktop, recorte a .DLL da pasta "release" e cole na TMSRV/run. Teste o comando/npc. Caso não de, você tem o backup da antiga gsHook no desktop.Bom, é isso pessoal. Espero que ajude aos que estão começando a mexer no assunto. Provavelmente você não vai conseguir de primeira, irá se irritar, mas tente ao máximo manter a calma. Pois é assim mesmo. Boa Sorte ! Créditos : ~Supremacy' / # Death ~'- 14 respostas
-
- 54
-
-
-
