Ir para conteúdo
Faça parte da equipe! (2024) ×

fundamentos [Super Tutorial] Code Blocks, Sources e Compilação ! [ Iniciantes ]


~Supremacy'
 Compartilhar

Posts Recomendados

ig1Ndnw.pngkJkIiMI.png

V28LX.png

 

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

 

http://img713.imageshack.us/img713/5781/tutorial1lw.jpg

 

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.

 

tutorial2o.jpg

 

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 :

 

tutorial3l.jpg

 

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]

 

  1. }
  2. if((strncmp(comando, "retorno", 7) == 0) && (cLevel <= 1000))
  3. {
  4. Teleport(clientid, 2100, 2100);
  5. asm(".intel_syntax noprefix\n");
  6. asm("mov eax, 1\n");
  7. 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.

É necessário se cadastrar para acessar o conteúdo.

 

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:

 

É necessário se cadastrar para acessar o conteúdo.

 

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 :

É necessário se cadastrar para acessar o conteúdo.

 

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]

  1. case 15: //Capa Iniciante
  2. {
  3. if ((cLevel >= 100) && (cLevel <= 150) && (cFada == 770))
  4. {
  5. PInt(addr_bclient + 0x015C6A8C) = 614;
  6. PInt(addr_bclient + 0x015C6A7C) = 0;
  7. SendClientMessage(clientid, "Bem-Vindo ao Reino Do Aprendiz!!");
  8. DC(clientid);
  9. return;
  10. }
  11. {
  12. SendClientMessage(clientid, "Esta Faltando Algo!!");
  13. return;
  14. }
  15. }

[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 :

É necessário se cadastrar para acessar o conteúdo.

 

É 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 :

 

É necessário se cadastrar para acessar o conteúdo.

 

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 ~'

  • Curtir 20
  • Amei 2
  • Haha 1
Link para o comentário
Compartilhar em outros sites

  • 2 semanas atrás...
  • 2 semanas atrás...

Parabéns ajudou muito..

 

Pra criar um npc que verifica todos os slots do inventário e por exemplo troca 11 itens iguais por 1 item diferente e 12 por um outro item e assim vai olha o exemplo:

 

11 Itens (Refinação Abençoada +0) recebe 1 item (Refinação Celestial +11) Mas essa refinação tem um ID diferente da outra ou seja cada refi +11 +12 +13 +14 +15 tem um id diferente.

 

Você sabe se da pra fazer tudo em um npc ou tem q fazer 1 de cada vez?

 

Obrigado,

Link para o comentário
Compartilhar em outros sites

  • 2 semanas atrás...
Supremacy, pq vc não cria um sv private? ia ser top

 

To querendo montar um projeto, nada certo ainda. :D

 

Parabéns ajudou muito..

 

Pra criar um npc que verifica todos os slots do inventário e por exemplo troca 11 itens iguais por 1 item diferente e 12 por um outro item e assim vai olha o exemplo:

 

11 Itens (Refinação Abençoada +0) recebe 1 item (Refinação Celestial +11) Mas essa refinação tem um ID diferente da outra ou seja cada refi +11 +12 +13 +14 +15 tem um id diferente.

 

Você sabe se da pra fazer tudo em um npc ou tem q fazer 1 de cada vez?

 

Obrigado,

 

Tem sim. Bem fácil de se fazer. Tenta ai, se tiver dúvidas, cria um tópico la na Área de Dúvidas.

Link para o comentário
Compartilhar em outros sites

  • 2 semanas atrás...
  • 2 semanas atrás...
  • 1 mês depois...

~Supremacy' me ajuda aew cara jah faiz um tempao ke to tentando fazer esse negoço so ke dah o mesmo erro : GSHook - Debug Win32" uses an invalid compiler. Probably the toolchain path within the compiler options is not setup correctly?! Skipping...

Nothing to be done.

nao para sempre ke vou compilar dah erro me ajuda aew cara

Link para o comentário
Compartilhar em outros sites

  • 2 meses depois...
Este tópico está impedido de receber novos posts.
 Compartilhar

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • 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.