Postado Novembro 5, 2012 12 anos Galera uma coisa que notei em qualquer bot aqui no forum é a utilização de varios timers para verificação de life, mana e etc Aqui vo postar um exemplo de como fazer um healer com threads Mas o que são threads? Thereads são como se fosse separar uma parte do codigo do seu sistema principal fazendo como se fosse outro "programa"(processo no computador). Assim caso você tenha 2 timers por exemplo, existe um "delay" ou executa o timer 1 ou executa o timer 2, nunca os dois iram executar simultaneamente e isso talvez seja desagradevel pois imagine, o programa está executando o timer 2 que é só para verificar alguma "bobeira" do char enquanto o timer 1 é para healer e precisa ser executado e esteja precisando healar o char.. Entao ao seria um caso bom para por uma threads. Mais lembrando, utilização de muitas threads pode sobrecarregar o processador e deixalo um pouco mais lento, dependendo de quanto nucleos a CPU tenha. Bom começando... Não irei mostrar passo a passo da criação de um formaulario, pois se está aqui sabe no minimo abrir um novo projeto rsrs. Coloque um CheckBox no seu novo form que tenha criado e no evento CheckedChange dele vc irá inserir um seguinte comando.. Primeiramente coloque na Uses, estas 4 para a utilização dos comandos // Para Utilização dos comandos da TH using System.Threading; using System.Reflection; //Para poder importar uma DLL using System.Runtime.InteropServices; //Para utilizar o comando Process using System.Diagnostics; Continuando o codigo, no evento CheckedChange do CheckBox coloque as seguintes linhas de codigos.. private void checkBox1_CheckedChanged(object sender, EventArgs e) { // Instancia a variavel do tipo Thread e vincula um procedimento a TH Thread trd = new Thread(new ThreadStart(this.ThereadLoHealth)); //Inicia a TH trd.Start(); } Após isto importe a DLL user32 [DllImport("user32.dll")] //Procedimento para poder enviar a Tecla para um determinado processo, no caso o Tibia public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, int wParam, int lParam); // Pega a Process do tibia para achalo na hora de enviar o comando de Key public static Process Tibia = Process.GetProcessesByName("Tibia")[0]; private void ThereadLoHealth() { // Enquanto o CheckBox estiver como True executa a verificação do Life do char while (checkBox1.Checked) { //Pega a life atual do char uint atualLife = 210;//= Health.GetHealth(); //Comparação de lifes definidas(no caso dos numeros poderia ser TextBoxs que o usuario definiria a quantidade if (atualLife >= 150 && atualLife <= 380) {//Envia uma hotkey no caso o F1 no Tibia SendMessage(Tibia.MainWindowHandle, 0x100, (int)Keys.F1, 0); } //Adormece a Th para desocupar espaço no CPU por 500Milis, seria como se fosse o interval do timer Thread.Sleep(500); } } O codigo final fica assim>>>> using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Threading; using System.Reflection; using System.Runtime.InteropServices; using System.Diagnostics; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private Thread trd; private void checkBox1_CheckedChanged(object sender, EventArgs e) { Thread trd = new Thread(new ThreadStart(this.ThereadLoHealth)); trd.Start(); } [DllImport("user32.dll")] public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, int wParam, int lParam); public static Process Tibia = Process.GetProcessesByName("Tibia")[0]; private void ThereadLoHealth() { while (checkBox1.Checked) { //Pega a life atual do char uint atualLife = 210;//= Health.GetHealth(); //Comparação de lifes defini if (atualLife >= 150 && atualLife <= 380) { SendMessage(Tibia.MainWindowHandle, 0x100, (int)Keys.F1, 0); } Thread.Sleep(500); } } } } Este é meu primeiro tutorial e espero que tenha dado uma ajuda ou idéia para programar outros tipos de coisas... E caso tenham idéias para melhor efeito do healer, por favor indiquem!! Projeto de exemplo adicionado> Utilização de TH.rar
Postado Novembro 5, 2012 12 anos Muito bom o tutorial, dei uma ajeitada nos códigos para ficarem mais legíveis... eu mesmo quando comecei a programar, só usava timers, bot vivia travando kkkk E obrigado por compartilhar conosco!
Postado Novembro 5, 2012 12 anos Autor Vlw, esquessi deste pequeno detalhe de ajeitar rsrs... Com TH dica bem mais dinamico e um pouco mais rapido para healer, só precisa deixar o Sleep/Interval mais perfeito para não travar o char usando a hotkey e healando mt rapido, mesmo sem exaust... Mais o forum é bom e tem me ajudado bastante, como estou sugando mt conhecimento aqui, quis dar um pouco tambem e daria sempre que eu conseguir algo que seja bom para os bots... t+galera
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.