Ir para conteúdo

Lynn

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    Lynn deu reputação a Kimoszin em Criando um Mini-Bot no Delphi (Sem API)   
    Primeiramente vou comentar um pouco sobre esse magnifico programa que é o delphi,
    Para nos desenvolvermos um bot de tibia por exemplo, nos nao usamos o tibiaapi, mais sim muitas funções muitos codigos e muita outras coisas,
    Nao é nada extremamente facil, requer um pouco de estudo, mais tudo oque vc fizer vai estar ali para estudo. Entao eu falo para vcs quando nao tiverem nada pra fazer estudem um pouco sobre o delphi.
    Ok vamos ao bot
    O Bot é simples, treina seu magic level, tem um anti kick e come food,

    Visual, olhe como arrumei os meus componentes



    Componentes, vamos precisar de:


    1 TGroupBox 1 TButton 2 TLabeledEdit 2 TCheckBox 1 TCombobox 2 TLabel 4 TTimer Renomeando componentes, para renomear vc deve ir ate a propriedade name Button -> StartButton Timer1 -> CastSpell Timer2 -> Endereço Timer3 -> Kick Timer4 -> Food LabeledEdit1 -> Spell LabeledEdit2 -> Mana Arrumando Componentes, quando ja estiverem renomeados CastSpell.Enabled.False CastSpell.Interval.700 Kick.Enabled.False Kick.Interval.60000 Food.Enabled.False Food.Interval.30000 Combobox1.Style.csDropDownList Form1.Caption 'Escolha um Nome para o Bot' Variaveis Globais, declare embaixo do Form1 : TForm1 PH : THandle; PID, ThID: DWORD; H : THandle; Funções usadas, declare elas embaixo do {$R *.dfm}, //Função para escrever na janela do Tibia function say(mensagem: string):string; var h: HWND; letra: Integer; B: Byte; begin h := FindWindow(nil, 'tibia'); for letra := 1 to Length(mensagem) do begin B := Byte(mensagem[letra]); SendMessage(h, WM_CHAR, B, 0); end; SendMessage(h, WM_CHAR, 13, 0); end; //Função para ler endereço de memoria do Tibia function LerInt(Address: Integer): Integer; var value:integer; ler :dword; begin H := FindWindow(nil, 'Tibia'); ThID := GetWindowThreadProcessId(H, @PID); PH := OpenProcess(PROCESS_ALL_ACCESS,FALSE,PID); ReadProcessMemory(PH, Ptr(Address), @Value, 4, Ler); Result:=value; end; //Função para aperta uma determinada tecla na janela do Tibia function hotkey(x :string): string; var h: HWND; i : integer; begin if x ='F1' then i := 112 else if x ='F2' then i := 113 else if x ='F3' then i := 114 else if x ='F4' then i := 115 else if x ='F5' then i := 116 else if x ='F6' then i := 117 else if x ='F7' then i := 118 else if x ='F8' then i := 119 else if x ='F9' then i := 120 else if x ='F10' then i := 121 else if x ='F11' then i := 122 else if x ='F12' then i := 123; h := FindWindow(nil, 'Tibia'); // acha a janela do tibia SendMessage(h, WM_KEYdown, i, 0); //pressiona a tecla SendMessage(h, WM_KEYUP, i, 0); //solta tecla end; Depois de botar os componentes, renomea-los e declarar as funções, Vamos botar os devidos codigos nos respectivos componentes Lembrando que é tudo dentro do begin e end, se tiver Var vc deve excluir o begin, e adiciona-lo depois CastSpell if StrToInt(Label2.Caption) > (StrToInt(Mana.Text)) then say(Spell.text) // Se a mana do player for maior que a mana que foi digitada no component mana, entao vai falar a magia Endereço Label2.caption := IntToStr(Lerint($0081CE5C)); // Vai ler o endereço da mana do personagem e transforma em numero para o label2 Kick Var TibiaHandle : THandle; begin TibiaHandle:=FindWindow(nil,'Tibia'); // Pega a janela do Tibia SendMessage(TibiaHandle,WM_KEYDOWN,VK_CONTROL,1); // Pressiona o Ctrl SendMessage(TibiaHandle,WM_KEYDOWN,VK_UP,1); // Pressiona a tecla para cima SendMessage(TibiaHandle,WM_KEYUP,VK_UP,1); // Libera a tecla SendMessage(TibiaHandle,WM_KEYDOWN,VK_DOWN,1); // Pressiona a tecla para baixo SendMessage(TibiaHandle,WM_KEYUP,VK_DOWN,1); // Libera a tecla SendMessage(TibiaHandle,WM_KEYUP,VK_CONTROL,1); // Libera o Ctrl end; Food hotkey(Combobox1.Text) // Pressiona oque tiver no Texto do Combobox StartButton CastSpell.Enabled := not(CastSpell.Enabled); Food.Enabled := not(Food.Enabled); Kick.Enabled := not(Kick.Enabled); if Checkbox1.checked then Kick.Enabled := true else Kick.Enabled := false; if Checkbox2.checked then Food.Enabled := true else Food.Enabled := false; if (Spell.Text <> '') and (Mana.Text <> '') then CastSpell.Enabled := true else CastSpell.Enabled := false; if (Kick.Enabled) or (Food.Enabled) or (CastSpell.Enabled) then StartButton.Caption := 'Stop' else StartButton.Caption := 'Start';

    Bom pessoal sei que é simples, mais estou tentando animar o pessoal do forum para usar o Delphi,

    ps: Peguei as funções da sessao do delphi, entao esta tudo aqui
    Abraços a todos
  2. Gostei
    Lynn deu reputação a Renato em Criando seu tibia bot com TibiaAPI - Parte 5   
    Criando seu tibia bot com TibiaAPI - Parte 5 [Última Parte]
    {Configurando e Compilando}


    Depois de colocar todas as funções no seu bot, você precisará compilar para ter o arquivo .exe e poder divulgá-lo.

    Colocando Icon no Form (do lado do nome)

    Vá no Form1, em properties aonde tiver Show Icon você escolhe True (se quiser que não apareça, ponha false).
    Depois em Icon você seleciona um arquivo .icon do seu computador. Aconselho este site www.iconspedia.com (caso nao saiba fazer).
    Depois vá no Form2 faça a mesma coisa.





    Maximize & Resize

    Em seu programa da pra aumentar a altura e largura dele e maximizar, assim fica feio. Então vá no Form1 em properties, procura por FormBorderStyle e mude pra FixedSingle ou Fixed3D. Depois procure por MaximizeBox e mude para False (caso queira que não possa minimizar mude MinimizeBox para False).
    Repita o processo no Form2.






    Assembly

    Em soluction explorer clique com botão direito em My Project e depois em Open.
    Na aba Application, mude o nome do bot em Assembly name se quiser e escolha o icon do .exe (de preferencia o mesmo que você pois no Form).
    Em Startup form deixe o form do Loader, no caso o Form1. (é o form que vai abrir primeiro quando você abrir o .exe)

    Depois disso clique em Assembly Information.






    Compilando

    Tudo pronto, agora vá em solution explorer, clica no primeiro arquivo com o botão direito e então clique em Build.
    Você terá acesso ao .exe em Meus Documentos > Visual Studio 2008 > Projects > seu bot > Bin > Release.
    Seu bot está pronto. Agora sempre que quiser compilar clique em Re-Build, não esqueça.

    Conclusão: é isso ai pessoal, agora é só vocês correrem atrás das funções, heal, mana restore, etc, e criar seus BOTS!

    Agradeço á todos que me acompanharam!

    Abraços!
  3. Gostei
    Lynn deu reputação a Renato em Criando seu tibia bot com TibiaAPI - Parte 4   
    Criando seu tibia bot com TibiaAPI - Parte 4
    {Form2 e Funções Básicas}


    Agora criaremos o Form2, aonde ficará as funções do bot.

    Criando outra Form.

    Do lado direito em Solution Explorer, onde está os arquivos do seu programa clique com o botão direito no nome do seu bot, o primeiro arquivo lá em cima. Vá em Add > New Item, então selecione Windows Form. Não renomeie.

    Pronto agora você criou uma outra form no seu programa, o Form2. Se não abrir automaticamente, clique com o botão direito em solution explorer e depois em Open.

    Adaptando o Form2.

    Abra o code do Form2. Verá que ele está 'seco' igual no começo do form1. Então importe o Tibia e Declare as variáveis de novo.

    Andes de Public Class Form2:


    Imports Tibia
    Imports Tibia.Util
    Imports Tibia.Objects
    Imports Tibia.Constantes
    [/code] Depois de Public Class Form2: [code]
    Dim c As Client
    Dim p As Player
    Então:
    Imports Tibia
    Imports Tibia.Util
    Imports Tibia.Objects
    Imports Tibia.Constants

    Public Class Form2
    Dim c As Client
    Dim p As Player

    End Class
    [/code] [color=#006400][b][size=4]Terminando o Loader[/size][/b][/color] Clique duas vezes no form2 para abrir o Form2_Loader e então ponha o código: [code]
    c = Form1.ComboBox1.SelectedItem
    If c.LoggedIn Then
    p = c.GetPlayer
    Form1.Hide()
    Else
    Me.Hide()
    MsgBox("Você precisa escolher o seu personagem.")
    End If
    Explicando: If c.LoggedIn Then - se client estiver "loggedIn" (logado) então p = c.GetPlayer - define o p, que é o player. Form1.Hide() - fechará o form1. Else - (se não estiver logado) Me.Hide() - Me, se refere a ele mesmo, ou seja, form2, que irá "esconder" (hide) MsgBox("") - aparecerá a mensagem ao usuário. Dica: se quiser, coloque dentro do If, Me.Text = p.Name, ficará o nome do player em vez do nome do bot. Por exemplo o Alien Bot eu coloquei Me.Text = "AlienBot [" + p.Name + "] TibiaBots.NET", ou seja, fica (AlienBot [nomedoplayer] TibiaBots.NET) Como ficará o código:
    Imports Tibia
    Imports Tibia.Util
    Imports Tibia.Objects
    Imports Tibia.Constants

    Public Class Form2
    Dim c As Client
    Dim p As Player

    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    c = Form1.ComboBox1.SelectedItem
    If c.LoggedIn Then
    p = c.GetPlayer
    Form1.Hide()
    Else
    Me.Hide()
    MsgBox("You need choose your character")
    End If
    End Sub
    End Class
    [/code] Tudo está carregado, pronto para usar o bot. Mas, vou usar o que? O bot tá vazio.. [color=#006400][size=4][b]Funções Básicas[/b][/size][/color] [size=3][b]• Full Light[/b][/size] Vou lhes ensinar a criar um Light Hack. é a coisa mais fácil de um bot. Crie dois botões, em um botão ponha Ativar Light e outro Desativar Light. No botão de ativar ponha: [code]
    c.Map.FullLightOn()
    E no botão de desativar ponha:
    c.Map.FullLightOff()
    [/code] Pronto, abra o tibia 8.5 ao 8.62, entre em algum char e teste seu bot. (Aperte F5 para testar). [size=3][b]• Outfits[/b][/size] Outfits já é mais difícil pois tem If e ElseIf e eu não expliquei ElseIf ainda, mas vamos lá. Crie um ComboBox, selecione ele e em properties (abaixo do Solution Explorer) procure por Items = (collection). Clique em collection e irá aparecer um botão com reticências (...) do lado, então clique-o. Ai você vai colocar tudo que aparecerá no ComboBox. Ponha: [code]
    Assassin
    Beggar
    Que serão meus exemplos. Agora crie um Botão, ao lado ou abaixo do combobox escrito "Trocar Outfit". Acione o evento _Click do botão, clicando duas vezes nele. Então ponhe:
    If ComboBox1.SelectedItem = "Beggar" Then
    p.OutfitType = Tibia.Constants.OutfitType.BeggarMale
    ElseIf ComboBox1.SelectedItem = "Assassin" Then
    p.OutfitType = Tibia.Constants.OutfitType.AssassinMale
    End If
    [/code]

    Explicando:


    [b]If ComboBox1.SelectedItem = "Beggar" Then[/b] - [i]Se o Item selecionado do ComboBox1 for Beggar, então[/i]
    [b]p.OutfitType = Tibia.Constants.OutfitType.BeggarMale[/b] - [i]outfit do player vai ser beggarmale.[/i]
    [b]ElseIf ComboBox1.SelectedItem = "Assassin" Then[/b] - [i]Mas se o Item selecionado do ComboBox1 for Assassin, então[/i]
    [b]p.OutfitType = Tibia.Constants.OutfitType.AssassinMale[/b] - [i]outfit do player vai ser assassinmale.[/i]
    [b]End If[/b] - [i]Fechar condição 'se'.[/i]

    Não esqueça de conferir se o Name do combobox é combobox1. Se não for, substitua no código ComboBox2 ou ComboBox3, como for o "Name" dele. Para ver selecione ele e vá em properties (abaixo do solution explorer) e procure por 'Name'. Se quiser mude também (melhor para se organizar).

    Aperte F5 e teste seu bot (:

    Até o próximo tutorial! ;*

Informação Importante

Confirmação de Termo