-->auto 200 attack target | aimgfb -> Vai travar a mira, evai ficar usando/usar a runa "Great Fireball" no alvo.Você pode optarpor escolher tais opções da função "Aimbot" e "List" para que o BOTpreveja o melhor lugar para atirar a GFB sem acertar nenhum de seusamigos.
-->auto 200 attack target | aimavalanche -> Vaitravar a mira, e vai ficar usando/usar a runa "Avalanche" no alvo.Vocêtambém pode optar por escolher tais opções da função "Aimbot" e "List"para que o BOT preveja o melhor lugar para atirar a GFB sem acertarnenhum de seus amigos.
-->auto 200 attack target | aimstoneshower -> Vaitravar a mira, e vai ficar usando/usar a runa "Stone Shower" noalvo.Você também pode optar por escolher tais opções da função "Aimbot"e "List" para que o BOT preveja o melhor lugar para atirar a GFB semacertar nenhum de seus amigos.
-->auto 200 attack target | aimtype Dragon -> Vaitravar a mira, e vai ficar usando/usar uma certa ação/magia selecionadona parte de "Aimbot" numa creatura.Você pode mudar o nome da creatura,bom para STRIKE SPELLS para certos tipos de imunidades/fraquezas.
-->auto 200 attack target | ewave -> Irá ficar usando/usar a magia "Exevo Vis Hur" somente se o seu alvo estiver na área do efeito da magia.
-->auto 200 stopattack -> Irá parar de atacar a creatura que você estava/estiver atacando.
-->auto 200 attack target -> Trava a mira no alvo.
-->auto 200 attack target | explo target -> Trava a mira, e fica usando/usa "Explosion" alvo.
-->auto 200 attack target | exoricon 50 -> Trava a mira, e fica usando/usa "Exori Con" quando o alvo estiver com 50% de pontos de vida ou abaixo.
-->auto 200 attack target | exorihur 50 -> Trava a mira, e fica usando/usa a magia "Exori Hur" quando o alvo estiver com 50% de pontos de vida ou abaixo.
-->auto 200 attack target | istargeting mphigher 340 exorigran 50 -> Trava a mira, e fica usando/usa a magia "Exori Gran" quando o alvo estiver com 50% de pontos de vida
ou abaixo e você estiver colado nele, e ter pelo menos 340 de mana.
-->auto 200 attack target | hmm target -> Trava a mira, e fica usando/usa a runa "High Magic Missile" no alvo.
-->auto 200 attack target | icicle target -> Trava a mira, e fica usando/usa a runa "Icicle" no alvo.
-->auto 200 attack target | paralyze target -> Trava a mira, e fica usando/usa a runa "Paralyze" alvo.
-->auto 200 attack target | sd target -> Trava a mira, e fica usando/usa a runa "Sudden Death" no alvo.
-->auto 200 attack target | soulf target -> Trava a mira, e fica usando/usa a runa "Soulfire" no alvo.
-->auto 200 attack target | stalagmite target -> Trava a mira, e fica usando/usa a runa "Stalagmite" no alvo.
Ataque
Jogar loot em tal coordenada
Const
ItemsIDs = [2885,3147,2920]
X = 32352
Y = 32228
Z = 6
function GetItemFromOpenBackpack(ID: integer): TItem;
var
x: integer;
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;
while not terminated do
begin
UpdateWorld;
for i := self.containers.count - 1 downto 0 do
begin
for x1 := self.containers.container[i].count - 1 downto 0 do
begin
ok := false;
for y1 := Low(ItemsIDs) to High(ItemsIDs) do
begin
if self.containers.container[i].item[x1].id = ItemsIDs[y1] then
ok := true;
end;
if ok then
begin
self.containers.container[i].item[x1].movetoground(X,Y,Z,0);
Self.DisplayText(self.containers.container[i].item[x1].id);
sleep(500);
end;
end;
end;
sleep(100);
Items := 0;
for i := low(ItemsIDs) to High(ItemsIDS) do
begin
Item := GetItemFromOpenBackpack(ItemsIDs[i]);
if Item <> nil then
Items := Items + 1;
end;
if not Items then
break;
sleep(100);
end;
Exana pox quando estiver hitando 5+ de poison
var
MaxPoison: integer;
procedure Event_Notice(Text: string);
var
PoisonAmount: string;
begin
UpdateWorld;
if Self.Mana < 30 then Exit;
if not Self.Poisoned then Exit;
if Pos('You lose ', Text) = 0 then Exit;
if Pos(' hitpoints.', Text) = 0 then Exit;
PoisonAmount := Text;
Delete(PoisonAmount, 1, 9);
PoisonAmount := Copy(PoisonAmount, 1, Pos(' ', PoisonAmount) - 1);
if IntToStr(PoisonAmount) > MaxPoison then Self.Say('exana pox');
end;
begin
MaxPoison := 5;
while not Terminated do
begin
ProcessEvents;
Sleep(100);
end;
end;
Soltar Exori Con
const
Delay = 2000; //exaut para cada exori con 2 sec
MinimumManaToCast = 60; // mana que precisa para soltar exori con
MinimumMonsterHealth = 60; // Contado em Porcentagem se o monstro tiver 1k de lifer com 60 soltara exori com com 600 de life..
SpellRange = 3; // soltara 3 exori con
function GetCreatureByID(ID: integer): TCreature;
var
x: integer;
begin
Result := nil;
for x := 0 to Creatures.Count - 1 do
if Creatures.Creature[x].ID = ID then
Result := Creatures.Creature[x];
end;
var
Attacking : TCreature;
Range: Integer;
begin
while not Terminated do
begin
UpdateWorld;
Attacking:=GetCreatureByID(Self.Attackin
if (Assigned(Attacking)) then
begin
Range := Round(Sqrt(Sqr(Self.X - Attacking.X) + Sqr(Self.Y - Attacking.Y)));
if (Range <= SpellRange) and (Attacking.Health >= MinimumMonsterHealth) and (Self.Mana >= MinimumManaToCast) then
Self.Say('exori con');
end;
Sleep(Delay);
end;
end;
Alerta quando houver poucas spears
const
WeaponId = 3277; // Spear = 3277
WeaponOz = 20; // Spear = 20
AlertAmount = 5;
TimeWait = 3;
SoundNoWeapon = 'C:\Windows\Media\Windows XP Battery Critical.wav';
AlertSound = 'C:\Windows\Media\Windows XP Battery Critical.wav';
procedure Notify(Sound : String);
begin
if (Pos('.wav', AlertSound) <> 0) then PlaySound(AlertSound);
if (Pos('.wav', Sound) <> 0) then PlaySound(Sound);
end;
procedure CheckForWeapon;
var QtyMove : integer;
var QtyItems : integer;
var HasWeapons : boolean;
begin
QtyMove := 0;
HasWeapons := true;
if Self.LeftHand.Amount <= AlertAmount then
begin
sleep(TimeWait * 1000);
if Self.LeftHand.Amount <= AlertAmount then
begin
HasWeapons := false;
for x := 0 to Self.Containers.Count - 1 do
begin
if HasWeapons then Break;
if Self.Containers.Container[x].Count - 1 then
begin
for y := 0 to Self.Containers.Container[x].Count - 1 do
begin
if Self.Containers.Container[x].Item[y].ID = WeaponId then
begin
QtyItems := Abs(Self.Capacity / WeaponOz);
if QtyItems >= 1 then
begin
if Self.Containers.Container[x].Item[y].Amo
else QtyMove := Self.Containers.Container[x].Item[y].Amo
QtyMove := QtyMove - 1;
if QtyMove then
begin
Self.Containers.Container[x].Item[y].Mov
HasWeapons := true;
Break;
end;
end;
end;
end;
end;
end;
end;
end;
if not HasWeapons then Notify(SoundNoWeapon);
end;
begin
while not Terminated do
begin
UpdateWorld;
CheckForWeapon;
sleep(1000);
end;
end;
Matar Deer, Chicken, que não ataca
Const
Monster = 'Chicken' //pode ser alterado para o bixo que vc quizer
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].Z <> Self.Z then Continue;
if Creatures.Creature[x].Name = Name then
begin
Result := Creatures.Creature[x];
Exit;
end;
end;
end;
while not Terminated do
begin
UpdateWorld;
if not Self.Attacking then
begin
Creature := GetCreatureByName(Monster);
if Creature <> nil then Creature.Attacking := True;
end;
Sleep(1000);
end;
Caçar com Sumon
Const
Ignore='Monk'; // se a criatura for o monk, nós não iremos atacá-lo
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 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.Z = Self.Z) then
if (Creatures.Creature.NPC = true) then
if (Ignore<>Creatures.Creature.Name) then
begin
closest_range := Round(Sqrt(Sqr(Self.X - Creatures.Creature.X)) + Sqr(Self.Y - Creatures.Creature.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;
Atacar com intervalo de determinado tempo
Const
MonsterList = ['Centipede', 'Dworc Venomsniper', 'Dworc Fleshhunter', 'Dworc Voodoomaster'] //Coloke o nome da Criatura aki
Delay = 2000 //this is the delay time after attack again
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 then
begin
Result := Creatures.Creature[x];
Exit;
end;
end;
end;
While not terminated do
begin
UpdateWorld;
Sleep(delay*1000);
C := GetCreatureByName;
if C <> nil then
if not self.attacking then
C.Attacking := true;
sleep(100);
end;
Usar Obsidian Knife ou Blessed Wooden Stake
const
obsidian_knife = 5908; //id da obsidian ou woden stak
skin_body = [4011, 4047, 4052, 4057]; //id dor corpos
function searchIntArray(id:integer): boolean;
var
i: integer;
begin
result := false;
for i := low(skin_body) to high(skin_body) do begin
if skin_body = id then result := true;
end;
end;
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 SkinBodies(id:integer): Boolean;
var
x, y: integer;
knife: TItem;
t: integer;
begin
UpdateWorld;
knife := GetItemFromOpenBackpack(obsidian_knife);
if knife = nil then
begin
Self.DisplayText('An Obsidian Knife could not be found, please open a container with it.');
exit;
end;
t := -1;
for x := -1 to 1 do begin
for y := -1 to 1 do begin
// if Screen.Tile[7+x, 5+y].Count >= 3 then begin
// t := -2
// end else t := -1;
if searchIntArray(Screen.Tile[7+x, 5+y].Item[Screen.Tile[7+x, 5+y].Count+t].ID) = true then begin
UpdateWorld;
knife := GetItemFromOpenBackpack(obsidian_knife);
if knife <> nil then begin
knife.UseWithGround(Self.X+X, Self.Y+Y, Self.Z);
Self.DisplayText('Attempted to skin a creature with the ID ' + IntToStr(Screen.Tile[7+x, 5+y].Item[Screen.Tile[7+x, 5+y].Count-1].ID) + '.');
Sleep(100);
UpdateWorld;
end;
end;
end;
end;
end;
begin
while not terminated do begin
UpdateWorld;
SkinBodies(skin_body);
Sleep(100);
end;
end;
-----------------------------------------------
id de corpos mortos
4011 Minotaur
4025 Dragons
4047 Minotaur mage
4052 Minotaur archer
4057 Minotaur guard
4062 Dragon lord
4112 Behemoth
4212 Bonebeast
4321 Lizard Templar
4324 Lizard Sentinel
4327 Lizard Snakecharmer
4097 Demon
4137 Vampire
Entrar na casa caso seja atacado
Const
MoveWhere = 'north' // mude conforme o lado da porta
procedure Event_Attacked(ID:integer);
begin
UpdateWorld;
for i := 0 to Creatures.Count -1 do
begin
if Creatures.Creature.ID = ID then
if Creatures.Creature.NPC = false then
begin
case MoveWhere of
'north': Self.MoveUp;
'south': Self.MoveDown;
'east': Self.MoveLeft;
'west': Self.MoveRight;
end;
Leave := true;
end;
sleep(100);
end;
end;
while not terminated do
begin
updateWorld;
if (MoveWhere <> 'north') and (MoveWhere <> 'south') and(MoveWhere <> 'west') and (MoveWhere <> 'east')then
begin
Self.DisplayText('You MUST enter north, south, east or west! Script will close now, please try again.');
break;
end;
Leave := false;
UpdateWorld;
ProcessEvents;
if Leave then break;
sleep(500);
end;
Alerta quando acabar Cap
Const
cap = 10
while not terminated do
begin
UpdateWorld;
if self.capacity < cap then
PlaySound('C:\Windows\Media\notify.wav');
Sleep(100);
end;
Soltar Exura quando estiver Paralisado
const
minMana = 20; //Mana que precisa para soltar exura
while not Terminated do
begin
UpdateWorld;
if Self.Mana > minMana then
begin
if Self.Slowed then
Self.Say('exura');
Sleep(300);
end;
end;
Health Potion
const
PHealth = 245; //Life pra usar potion
while not Terminated do
begin
UpdateWorld;
if (Self.Health < PHealth) then
begin
Self.Containers.UseItemWithSelf(266);// configure conforme a poção usada
Sleep(1000);
end;
end;
Treinar com Monk
Const
StopAt=50
AttackAt=60
TrainName=['Monk']
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.attacking<>0 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;
Exura sio em um amigo ou em vc mesmo
Const
MiniCreatureHP =50; //Medido Em Porcentagem.. se o char tiver 1500 de life estando 50 ali ele dara o sio com 750 de life
const ITEM_RUNE_UH = 3160; //caso ele nao solte Exura Sio Ele Soltarar uma Uh
const Name='Nome Do Char'; //Coloke o Nome do char
var
Creature: TCreature;
CreatureName: string;
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;
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;
begin
while not Terminated do
begin
UpdateWorld;
Creature := GetCreatureByName(Name);
If Creature<> nil then
If IsCreatureVisible(Name) then
begin
if ((Creature.Health) <(MiniCreatureHP)) and ((Self.Mana)>(70)) then
Self.Say('[red[exura sio "'+Name)
else
if ((Creature.Health) <(MiniCreatureHP)) then Self.Containers.UseItemWithCreature(ITEM_RUNE_UH, Creature);
end;
Sleep(1000);
end;
end;
Utana vid com determinado bicho
Const
CastInvisible = ['Vampire', 'Hydra'] //pode ser alterado
MinMana = 600
function CreatureOnScreen:boolean;
begin
UpdateWorld;
result := false
for i := 0 to Creatures.Count -1 do
begin
if i >= Creatures.Count then break;
for x := Low(CastInvisible) to High(CastInvisible) do
begin
if x > High(CastInvisible) then break;
if (CastInvisible[x] = Creatures.Creature.Name) and (Creatures.Creature.Z = Self.Z) then
begin
result := true
end;
end;
end;
end;
while not terminated do
begin
UpdateWorld;
ProcessEvents;
if CreatureOnScreen then
if Self.Mana >= MinMana then
Self.Say('utana vid');
sleep(1000);
end;
Depois que reconectar, abrir a bp
const
Account = 1234567; // Sua conta
Password = 'xxxxxxxx'; // Sua senha
Character = 'xxxxxxxx'; // Nome do Char
World = 'Antica'; // Mundo Que vc Joga
ServerIP = ''; // Deixa em branco
procedure Login
var x: integer;
begin
repeat
Self.Login(Account, Password, Character, World, ServerIP);
Sleep(7000);
for x := 0 to 200 do
begin
if Self.Connected then Break;
Sleep(100);
end;
until Self.Connected;
end;
var x: integer;
while not Terminated do
begin
UpdateWorld;
if not Self.Connected then
begin
Login;
Sleep(2000);
UpdateWorld;
Self.Backpack.Open;
Sleep(2000)
UpdateWorld;
for x := 0 to Self.Containers.Container[0].Count do
begin
if x >= Self.Containers.Container[0].Count then Break;
if Self.Containers.Container[0].Item[x].Properties.Container then
begin
Self.Containers.Container[0].Item[x].OpenInNewWindow;
Sleep(2000);
end;
end;
end;
Sleep(1000);
end;
------------------------------------
Isso é apenas um script, não interfere em vírus (:
Tirar foto assim que upar
var
Level: integer;
begin
UpdateWorld;
Level := Self.Level;
while not Terminated do
begin
UpdateWorld;
if Level <> Self.Level then
begin
Level := Self.Level;
ScreenShot('c:\level' + IntToStr(Level) + '.jpg');
end;
Sleep(1000);
end;
end;
Colocar e tirar a Soft Boots
Const
Soft=6529; //6529 ID Softboots na BP
Softbody=3549;//3549 ID soft no corpo
Bsteel=3079; // obs 3554 é id da stell boots pode alterar pelo da boh
ManaMin=300;// mana para colokar a soft
ManaMax=500;//mana para retirar a soft
var
FeetID: integer;
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
FeetID := Bsteel;
while not Terminated do
begin
UpdateWorld;
if Self.Mana > ManaMax then
begin
if Self.Feet.ID = Softbody then
begin
Feet := GetItemFromOpenBackpack(Bsteel);
if Feet <> nil then
begin
Feet.MoveToBody(Self.Feet, 0);
end;
end;
end
else
begin
Boh := GetItemFromOpenBackpack(Soft);
if Self.Mana < ManaMin then
if Self.Feet.ID = Bsteel then
begin
Boh.MoveToBody(Self.Feet, 0);
end;
end;
Sleep(100);
end;
end;

