Páginas

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 ).

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;

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.

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.

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
List = ['Rotworm', 'Carrion Worm'];
Spell = 'Exori Frigo';
function TestMonster(Crea: TCreature): boolean;
begin
Result := false;
for z := Low(List) to High(List) do
begin
if AnsiLowerCase(Crea.Name) = AnsiLowerCase(List[z]) then
Result := 'true';
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;
while not terminated do
begin
updateworld;
if Self.Attacking nil then
begin
creature := GetCreatureByID(self.attacking);
if creature nil then
begin
updateworld;
if (abs(creature.x - self.x) <= 3) and (abs(creature.y - self.y) <= 3) then
if (TestMonster(creature)) then
begin
if Self.Attacking > 0 then
self.say(Spell);
sleep(2000);
end;
end;
sleep(200);
end;
end;

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.)


Const
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;
Faça bom uso!

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.

const
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;
 Faça Bom Uso

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)

TibiaBOT NG 8.54 (4.9.3) + Crack

TibiaBOT NG 4.9.3 Completo + Crack

Arquivos para Download


Download TibiaBotNg
Download OllyDBG
(Scan do arquivo)


Recomendamos
Limpar os registros com Trial Reset antes de começar, isso irá garantir o funcionamento do seu Crack!

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 Potions
Vale para todos NG
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.

Como Instalar:
  1. Antes de tudo, baixe o TRIAL RESET clicando aqui para limpar os registros e siga o tutorial;
  2. Baixe e instale o TibiaBot NG 4.9.1 na pasta C:/arquivos de programas/TibiaBOT NG;
  3. Baixe o Cracker e abra-o;
  4. Clique no 1º botão e depois no 2º Botão.
Pronto! Seu TibiaBOT NG 4.9.1 já está crackeado!

Explicando o Crack:

  • O Cracker vem com o Loader.exe e o Crack.reg embutido;
  • Quando você clica em o programa instala o Loader.exe na pasta do TibiaBOT NG;
  • Quando você clica em ele executa os registros.