Const
NumberOfMonsters = 3 /// Numero de monstros pra trocar arma
StrongWeapon = 3324 /// ID da arma FORTE
WearWeapon = 3304 /// ID da arma FRACA
function GetItemFromOpenBackpack(ID: integer): TItem;
var
y: integer;
begin
Result := nil;
for x := 0 to Self.Containers.Count - 1 do
begin
if x >= Self.Containers.Count then Break;
for y := 0 to Self.Containers.Container[x].Count - 1 do
begin
if y >= Self.Containers.Container[x].Count then Break;
if Self.Containers.Container[x].Item[y].ID = ID then
begin
Result := Self.Containers.Container[x].Item[y];
Exit;
end;
end;
end;
end;
function CountMonstersBesideYou:Integer;
begin
Result := 0;
UpdateWorld;
for i := 0 to creatures.Count -1 do
begin
if i >= Creatures.Count then break
for x := -1 to 1 do
begin
if x >= 2 then break
for y := -1 to 1 do
begin
if y > 1 then break;
if Creatures.Creature[i].NPC then
if (Creatures.Creature[i].x = Self.X +x) and (Creatures.Creature[i].y = Self.y + y) and (Creatures.Creature[i].Z = Self.Z) then
Result := Result + 1;
end;
end;
end;
end;
while not terminated do
begin
UpdateWorld;
if CountMonstersBesideYou >= NumberOfMonsters then
begin
if Self.RightHand.ID <> StrongWeapon then
begin
Boots := GetItemFromOpenBackpack(StrongWeapon);
if Boots <> nil then
Boots.MoveToBody(Self.RightHand,0);
else Self.Displaytext('Strong Weapon werent found in open backpack!');
end;
end;
if CountMonstersBesideYou < NumberOfMonsters then
begin
if Self.RightHand.ID <> WearWeapon then
begin
Boots := GetItemFromOpenBackpack(WearWeapon);
if Boots <> nil then
Boots.MoveToBody(Self.RightHand,0);
else Self.Displaytext('Wear Weapon werent found in open backpack!');
end;
end;
End;
quinta-feira, 11 de fevereiro de 2010
Script para treinar com Rotworm
Este script é bem simples, com ele você treina com Rotworm ( ou outro bicho pre-configurado ).
Script para Não atacar Summons
Com este Script ele não ataca os monstros indicados na lista, assim ele não ataca os summons dos mostros que você não quiser.
Const
Name=['Dwarf Guard', 'Dwarf Soldier', 'Dwarf']; // nome dos monstros
SwitchAt=30; // the % of the current attacked monster
function GetPlace(st:string):integer;
var
x:integer;
begin
Result:=1000;
for x:=Low(Name) To High(Name) do
begin
if Name[x]=st then
Result:=x;
end;
end;
function GetCreatureByID(ID: integer): TCreature;
var
x: integer;
begin
Result := nil;
for x := 0 to Creatures.Count - 1 do
begin
if x >= Creatures.Count then Break;
if Creatures.Creature[x].ID = ID then
begin
Result := Creatures.Creature[x];
Exit;
end;
end;
end;
function IsCreatureBesideYou(c: TCreature): boolean;
begin
UpdateWorld;
Result := False;
if (abs(c.X-self.X) <= 1) and (abs(c.Y-self.Y) <= 1) then begin
if c.Z = self.Z then begin
Result := True;
end;
end;
end;
var
x:integer;
b:boolean;
begin
while not terminated do
begin
b:=false;
updateworld;
If (Self.Attacking<>0) then
begin
Creature:=GetCreatureByID(Self.Attacking);
if Creature<>nil then
if SwitchAt
begin
for x := 0 to Creatures.Count - 1 do
begin
updateworld;
if b then break;
if x >= Creatures.Count then Break;
if Creatures.Creature[x].NPC then
if Creatures.Creature[x].z=self.z then
if Creatures.Creature[x].Name<>self.name then
if Creatures.Creature[x].Attacking = false then
if IsCreatureBesideYou(Creatures.Creature[x]) then
if GetPlace(Creature.Name)>GetPlace(Creatures.Creature[x].Name) then
begin
sleep(100);
updateworld;
Creatures.Creature[x].attacking:=true;
B:=true;
end;
end;
end;
end;
Sleep(100);
end;
end;
Script para usar Exori em X Monstro
Com este Script você solta EXORI ( ou outro magia que você configurar ) em determinado monstro que você escolher na lista.
const
MonsterName = ['Enlightened Of The Cult','Nightmare']// Coloca os monstros aqui
Attack_Spell = 'Exori Gran' // Magia a ser usada
Min_Mana = 350 // Se a mana for abaixo disso, não usa a magia
Min_Monster_HP = 0 // life do monstro menos disso não usa
Max_Monster_HP = 100 //life do monstro a mais, nao usa spell
Range = 1 //quantos sqm de distancia, para usar magia
var
x: Integer;
Creature:TCreature;
function GetCreatureByID(ID: integer): TCreature;
var
x: integer;
begin
Result := nil;
for x := 0 to Creatures.Count - 1 do
begin
if x >= Creatures.Count then Break;
if Creatures.Creature[x].ID = ID then
begin
Result := Creatures.Creature[x];
Exit;
end;
end;
end;
function GetCreatureByName(Name: string): TCreature;
var
x: integer;
begin
Result := nil;
for x := 0 to Creatures.Count - 1 do
begin
if x >= Creatures.Count then Break;
if Creatures.Creature[x].Name = Name then
begin
Result := Creatures.Creature[x];
Exit;
end;
end;
end;
function IsCreatureAttackable(c: TCreature): boolean;
begin
UpdateWorld;
Result := False;
if (c.Z = self.Z) and (abs(c.X-self.X) <= Range) and (abs(c.Y-self.Y) <= Range) and (c.outfit<>0) and (c.Health >= Min_Monster_HP) and (c.Health <= Max_Monster_HP) then
begin
Result := True;
end;
end;
while not Terminated do
begin
UpdateWorld;
Creature := GetCreatureByID(Self.Attacking);
if (Self.Mana >= Min_Mana) and (Creature <> nil) then
for i := low(monstername) to high(monstername) do
begin
if (MonsterName[i] = Creature.Name) and (IsCreatureAttackable(Creature)) then
begin
Self.Say(Attack_Spell);
sleep(2000);
end;
end;
sleep(100);
end;
Script Para Atacar X Monstro Primeiro
Script para atacar X monstro primeiro, não esqueça de configurar o monstro que você deseja que ele ataque primeiro.
Const
MonsterList = ['Blood Crab']//Nome do Mosntro a atacar primeiro
function GetCreatureByName: TCreature;
var
x: integer;
begin
Result := nil;
for x := 0 to Creatures.Count - 1 do
begin
if x >= Creatures.Count then Break;
if Creatures.Creature[x].Z = Self.Z then
for i := low(MonsterList) to high(monsterlist) do
if Creatures.Creature[x].Name = MonsterList[i] then
begin
Result := Creatures.Creature[x];
Exit;
end;
end;
end;
While not terminated do
begin
UpdateWorld;
C := GetCreatureByName;
if C <> nil then
if not self.attacking then
C.Attacking := true;
sleep(100);
end;
Script para por Spear da Backpack para Mão
Script para colocar Spears da Backpack para a mão, muito bom para paladins que caçam em area aonde os monstros dropem spears.
Quando não tiver mais Spears ele coloca automaticamente um weapon em sua mão.
Quando não tiver mais Spears ele coloca automaticamente um weapon em sua mão.
Const
SmallStoneID = 3277
BackupWeaponID = 1781
function GetItemFromOpenBackpack(ID: integer): TItem;
var
y: integer;
begin
Result := nil;
for x := 0 to Self.Containers.Count - 1 do
begin
if x >= Self.Containers.Count then Break;
for y := 0 to Self.Containers.Container[x].Count - 1 do
begin
if y >= Self.Containers.Container[x].Count then Break;
if Self.Containers.Container[x].Item[y].ID = ID then
begin
Result := Self.Containers.Container[x].Item[y];
Exit;
end;
end;
end;
end;
begin
while not Terminated do
begin
UpdateWorld;
if Self.LeftHand.ID <> SmallStoneID then
begin
Weapon := GetItemFromOpenBackpack(SmallStoneID);
if Weapon <> nil then
begin
Weapon.MoveToBody(Self.LeftHand,0);
Sleep(1000);
end;
else
begin
if Self.LeftHand.ID <> BackupWeaponID then
begin
Weapon := GetItemFromOpenBackpack(BackupWeaponID);
if Weapon <> nil then
begin
Weapon.MoveToBody(Self.LeftHand,0);
Sleep(1000);
end;
end;
Self.DisplayText('Spears not found')
end;
end;
Sleep(500);
end;
end;
Script para ignorar X Monstro
Com este script você ira ignorar o monstro pre-estabelecido na lista.
Const
MonsterList = ['Rabbit', 'Seagull', 'Monk']; //Lista de Monstro que não deseja Atacar
var x : integer;
Looting:boolean;
function Attacking : boolean;
var x : integer;
begin
Result := False;
for x := 0 to Creatures.Count - 1 do
begin
if x >= Creatures.Count then Break;
if Creatures.Creature[x].Attacking then
begin
Result := True;
Exit;
end;
end;
end;
function IsAttackable(Name: String): Boolean;
var
x: integer;
begin
Result := False;
for x := Low(MonsterList) to High(MonsterList) do
begin
if Name = MonsterList[x] then
begin
Result := True;
Break;
end;
end;
end;
function PlayerOnScreen : Boolean;
var
x: integer;
begin
Result := False;
for x := 0 to Creatures.Count - 1 do
begin
if x >= Creatures.Count then Break;
if Creatures.Creature[x].z=self.z then
if Creatures.Creature[x].Name<>Self.Name then
if not Creatures.Creature[x].NPC then
begin
Result :=true;
Exit;
end;
end;
end;
function GetCreatureByID(ID: integer): TCreature;
var
x: integer;
begin
Result := nil;
for x := 0 to Creatures.Count - 1 do
begin
if x >= Creatures.Count then Break;
if Creatures.Creature[x].ID = ID then
begin
Result := Creatures.Creature[x];
Exit;
end;
end;
end;
function FindClosest : integer;
var i, l, closest_num, closest_range, last_closest_range : integer;
begin
if not attacking then
begin
closest_num := -1;
last_closest_range := 5000;
for i := 0 to Creatures.Count - 1 do
if (Creatures.Creature[i].Z = Self.Z) then
if (Creatures.Creature[i].NPC = true) then
if (IsAttackable(Creatures.Creature[i].Name) = False) then
begin
closest_range := Round(Sqrt(Sqr(Self.X - Creatures.Creature[i].X)) + Sqr(Self.Y - Creatures.Creature[i].Y));
if (closest_range < last_closest_range) then
begin
last_closest_range := closest_range;
closest_num := i;
end;
end;
Result := closest_num;
Exit;
end;
end;
var found, Bla,y : integer;
begin
updateworld;
Bla:=Self.Containers.Count;
Looting:=false;
while not terminated do
begin
UpdateWorld;
if Self.Containers.Count>Bla then begin D:=Self.Containers.Count; Looting:=true; end;
if (Looting=true) then
begin
updateworld;
Z:=self.x;
y:=self.y;
Self.DisplayText('Looting');
repeat
sleep(200);
updateworld;
until (Z<>Self.x) or (y<>self.y);
Looting:=false;
Self.DisplayText('Finished looting');
end;
updateworld;
found := FindClosest;
if (found <> -1) then
if (attacking=false) and (PlayerOnScreen=false) and (Looting=false) then
Creatures.Creature[found].Attacking := true;
Sleep(1000);
end;
end;
Script para Trocar de Arma
Este script troca de arma dependo do bicho no qual você ataca.
É preciso configurar o bicho e as armas que você quer atacar.
É preciso configurar o bicho e as armas que você quer atacar.
Const
MonsterList1 = ['Ghoul']
MonsterList2 = ['Fire Elemental']
Weapon1_ID = 651 //Id da arma para usar nos montro selecionados em MosterList1
Weapon2_ID = 3350 //Id da arma para usar nos montro selecionados em MosterList2
Weapon3_ID = 8090 //Id da arma para usar nos monstros nao selecionados
function GetItemFromOpenBackpack(ID: integer): TItem;
var
y: integer;
begin
Result := nil;
for x := 0 to Self.Containers.Count - 1 do
begin
if x >= Self.Containers.Count then Break;
for y := 0 to Self.Containers.Container[x].Count - 1 do
begin
if y >= Self.Containers.Container[x].Count then Break;
if Self.Containers.Container[x].Item[y].ID = ID then
begin
Result := Self.Containers.Container[x].Item[y];
Exit;
end;
end;
end;
end;
function GetCreatureByID(ID: integer): TCreature;
var
x: integer;
begin
Result := nil;
for x := 0 to Creatures.Count - 1 do
begin
if x >= Creatures.Count then Break;
if Creatures.Creature[x].ID = ID then
begin
Result := Creatures.Creature[x];
Exit;
end;
end;
end;
function GetCreatureByName(Name: string): TCreature;
var
x: integer;
begin
Result := nil;
for x := 0 to Creatures.Count - 1 do
begin
if x >= Creatures.Count then Break;
if Creatures.Creature[x].Name = Name then
begin
Result := Creatures.Creature[x];
Exit;
end;
end;
end;
function IsCreatureVisible(Name: string): boolean;
var
x: integer;
begin
Result := False;
for x := 0 to Creatures.Count - 1 do
begin
if x >= Creatures.Count then Break;
if Creatures.Creature[x].Name = Name then
begin
if Creatures.Creature[x].Visible then
begin
Result := True;
Exit;
end;
end;
end;
end;
while not terminated do
begin
Continue := 0;
UpdateWorld;
Creature := GetCreatureByID(Self.Attacking);
if Creature <> nil then
begin
for i := low(MonsterList1) to high(MonsterList1) do
begin
if MonsterList1[i] = Creature.Name then
Continue := 1;
end;
if Continue then
begin
Weapon := GetItemFromOpenBackpack(Weapon1_ID);
if Self.RightHand.ID <> Weapon1_ID then
begin
if Weapon = nil then
self.DisplayText('Weapon1 wasnt found in open backpack!');
else
Weapon.MoveToBody(Self.RightHand,0);
end;
end;
else
begin
for m := low(MonsterList2) to high(MonsterList2) do
begin
if MonsterList2[m] = Creature.Name then
Continue := 1;
end;
if Continue then
begin
Weapon := GetItemFromOpenBackpack(Weapon2_ID);
if Self.RightHand.ID <> Weapon2_ID then
begin
if Weapon = nil then
self.DisplayText('Weapon2 wasnt found in open backpack!');
else
Weapon.MoveToBody(Self.RightHand,0);
end;
end;
else
if Self.RightHand.ID <> Weapon3_ID then
begin
Weapon := GetItemFromOpenBackpack(Weapon3_ID);
if Weapon <> nil then
Weapon.MoveToBody(Self.RightHand,0);
else Self.DisplayText('Weapon3 wasnt found in opened backpack!');
end;
end;
end;
sleep(100);
end;
Script para atacar com magia
Com este script você atacara os monstros selecionados com as Magias desejadas. Const |
Script para treinar com monk ou amigo
Este script serve para você treinar com uma monk sumonada ou com amigo, não matando eles. (Observação: script editável.)
ConstFaça bom uso!
StopAt=50;//para de atacar quando tiver com 50% de vida
AttackAt=90;// ataca monk/player com mais de 90% de Life
TrainName=['Monk','FrinedName1','FriendName2'];//voce pode alterar o nome da criatura ou do amigo
var
creature:tcreature;
function GetCreatureByNameHPHIGH(Name: string): TCreature;
var
x: integer;
begin
Result := nil;
for x := 0 to Creatures.Count - 1 do
begin
if x >= Creatures.Count then Break;
if Creatures.Creature[x].Name = Name then
if Creatures.Creature[x].z=Self.Z then
if Creatures.Creature[x].Health>AttackAt then
begin
Result := Creatures.Creature[x];
Exit;
end;
end;
end;
function Attacking: boolean;
var
x: integer;
begin
Result := False;
for x := 0 to Creatures.Count - 1 do
begin
if x >= Creatures.Count then Break;
if Creatures.Creature[x].Attacking then
begin
Result := True;
Exit;
end;
end;
end;
function GetAttackedCreature:TCreature;
var
x: integer;
begin
Result := nil;
for x := 0 to Creatures.Count - 1 do
begin
if x >= Creatures.Count then Break;
if Creatures.Creature[x].Attacking=true then
begin
Result := Creatures.Creature[x];
Exit;
end;
end;
end;
begin
while not Terminated do
begin
UpdateWorld;
if not attacking then
begin
For x:=low(TrainName) to high(trainName) do
begin
If self.attacking0 then break;
Creature:=GetCreatureByNameHPHIGH(TrainName[x]);
if Creature nil then
creature.attacking:=true;
sleep(100); updateworld;
end;
end;
if attacking then
begin
Creature:=GetAttackedCreature;
if Creature nil then
if creature.Health < StopAt then creature.attacking:=false;
end;
sleep(1000);
end;
end;
Srcipt para reconectar apos ServeSave
Caso seu bot não esteja reconectando apos o ServeSave use este escript pois com este Script ele ira dar reconnect apos o serve save, não se esqueça de configurar o script com suas informações.
constFaça Bom Uso
Account = 'xxxxx';
Password = 'xxxxxxx';
World = 'mundo que vc joga';
Character = 'nome do char';
ServerIP = ''; //Se você joga no global não coloca nada
WaitingTime = '1200' //tempo de espera para logar 1200 = 20 minutos
var
i:integer;
procedure Login(Account: string; Password: string; Character: string; World: string; ServerIP: string);
var
x: integer;
begin
repeat
Self.logout(True)
Sleep(WaitingTime*1000)
Self.Login(Account, Password, Character, World, ServerIP);
Sleep(3000);
for x := 0 to 200 do
begin
UpdateWorld;
Sleep(100);
if Self.Connected then Break;
end;
until Self.Connected;
end;
begin
while not terminated do begin
UpdateWorld;
Sleep(10000);
If Self.Connected = False Then Begin
Login(Account, Password, Character, World, ServerIP);
Sleep(100);
UpdateWorld;
repeat
Self.Backpack.Use;
Sleep(1000);
UpdateWorld;
until Self.Containers.Count = 1;
For I := 0 to Self.Containers.Container[0].Count -1 Do
Begin
If Self.Containers.Container[0].Item[i].Properties.Container = True Then Begin
Self.Containers.Container[0].Item[i].OpenInNewWindow;
Sleep(500);
UpdateWorld;
End;
End;
end;
end;
end;
quarta-feira, 10 de fevereiro de 2010
Vídeo Aula - Script de Potions TibiaBOT NG
Fala ai galera, mais um vídeo tutorial para você aprender como ativar Scripts de Potion no TibiaBOT NG.
É um vídeo tutorial feito por mim que dura 3 minutos.
O Vídeo do YouTube segue abaixo, e o arquivo Código Potion, segue para Download.
Scripts de Potions
Vídeo Tutorial abaixo:
O VÍDEO É MELHOR VIZUALIZADO EM FULLSCREEN (TELA CHEIA)
É um vídeo tutorial feito por mim que dura 3 minutos.
O Vídeo do YouTube segue abaixo, e o arquivo Código Potion, segue para Download.
Scripts de Potions
Vídeo Tutorial abaixo:
TibiaBOT NG 8.54 (4.9.3) + Crack
TibiaBOT NG 4.9.3 Completo + Crack
Arquivos para Download
Recomendamos Limpar os registros com Trial Reset antes de começar, isso irá garantir o funcionamento do seu Crack!
Tutorial
(1) Baixe e instale o TibiaBot NG 4.9.3 normalmente;
(2) Abra o TibiaBotNG 4.9.3, e copie seu Hardware Fingerprint, depois feche o TibiaBot NG;
(4) Clique em File>Open e navegue por seu computador até chegar na pasta do NG. Abra-a e selecione o loader.exe;
(5) A tela ficará dividia em "4 quadrados". Clique com o botão direito em qualquer lugar do 1º quadrado(superior esquerdo), vá em Scripts(S)>Load e navegue até chegar na pasta onde você extraiu o OllyDbg. Entre na pasta, vá em Scripts e carregue o arquivo "TibiaBot NG 4.9.0 by Avalon";
(6) Abrirá uma caixa, clique em OK;
(7) Irá aparecer a tela do NG. Se você usou o Trial Reset, ele estará nos 3 dias de trial, clique em "Enter Key". Então, cole seu Hardware Fingerprint(TIRE O TRAÇO DO MEIO) e dê OK.
Aparecerá outra janela. Cole esse número: 6F57966E
Dê OK;
(8) Irá aparecer dois campos. Preencha-os da seguinte maneira escrita abaixo:
(9) Ao dar OK, aparecerá uma mensagem de que a "Key é valida e foi armazenada com sucesso".
(10) Quando você der OK, dará um erro de codificação, é normal, apenas dê OK.
(11) Feche o OllyDgb, abra o NG e confira sua nova versão Crackeada!
Pronto. Fim do Tutorial!
Arquivos para Download
Download TibiaBotNg
Download OllyDBG
(Scan do arquivo)
Recomendamos
Sobre alerta de Vírus
Os alertas que alguns anti vírus podem dar são Falso Positivos, muito comum em alguns anti vírus com baixo nível de Heuristica. Não obrigamos ninguém a baixar nada. Recomendamos o uso do TibiaBOT NG Sem potions que é mais seguro, até contra banimento no Tibia.
Tutorial
(1) Baixe e instale o TibiaBot NG 4.9.3 normalmente;
(2) Abra o TibiaBotNG 4.9.3, e copie seu Hardware Fingerprint, depois feche o TibiaBot NG;
(3) Extraia o OllyDbg em alguma pasta de sua preferência e abra-o
(4) Clique em File>Open e navegue por seu computador até chegar na pasta do NG. Abra-a e selecione o loader.exe;
(5) A tela ficará dividia em "4 quadrados". Clique com o botão direito em qualquer lugar do 1º quadrado(superior esquerdo), vá em Scripts(S)>Load e navegue até chegar na pasta onde você extraiu o OllyDbg. Entre na pasta, vá em Scripts e carregue o arquivo "TibiaBot NG 4.9.0 by Avalon";
(6) Abrirá uma caixa, clique em OK;
(7) Irá aparecer a tela do NG. Se você usou o Trial Reset, ele estará nos 3 dias de trial, clique em "Enter Key". Então, cole seu Hardware Fingerprint(TIRE O TRAÇO DO MEIO) e dê OK.
Aparecerá outra janela. Cole esse número: 6F57966E
Dê OK;
(8) Irá aparecer dois campos. Preencha-os da seguinte maneira escrita abaixo:
Hardware Fingerprint: 6F57966E
Registration Name: bianor07_botafogo@ig.com.br
Registration Key: 01C23A-8U5QK7-B8UUA5-4N8C0P-TYU4UJ-K8NAJJ-5MM15A-60X0VJ-6TCWVB-EQGQ1V
(9) Ao dar OK, aparecerá uma mensagem de que a "Key é valida e foi armazenada com sucesso".
(10) Quando você der OK, dará um erro de codificação, é normal, apenas dê OK.
(11) Feche o OllyDgb, abra o NG e confira sua nova versão Crackeada!
Pronto. Fim do Tutorial!
TibiaBOT NG 8.54 (4.9.3) [SEM POTIONS]
TibiaBOT NG 4.9.3 + Crack para Tibia 8.54 sem Potions
Download TibiaBotNg
Auto Cracker
Tutorial para usar PotionsSobre alerta de Vírus:
Vale para todos NG
Os alertas que alguns anti vírus podem dar são Falso Positivos, muito comum em alguns anti vírus com baixo nível de Heuristica. Não obrigamos ninguém a baixar nada.
Como Instalar:
Explicando o Crack:
Como Instalar:
- Antes de tudo, baixe o TRIAL RESET clicando aqui para limpar os registros e siga o tutorial;
- Baixe e instale o TibiaBot NG 4.9.1 na pasta C:/arquivos de programas/TibiaBOT NG;
- Baixe o Cracker e abra-o;
- Clique no 1º botão e depois no 2º Botão.
Explicando o Crack:
- O Cracker vem com o Loader.exe e o Crack.reg embutido;
- Quando você clica em 1º o programa instala o Loader.exe na pasta do TibiaBOT NG;
- Quando você clica em 2º ele executa os registros.
Assinar:
Postagens (Atom)