quarta-feira, 10 de dezembro de 2008

Scripts Para o NG!
Pra que Serve?
Bem Simples Eles Auxiliam nas War,Caças,e até em Fugas de Pks :)

Como Usar?
Abra Teu TibiabotNg na Aba Tools~> Scripter

Copie e Cole os Codigos na caixa de Texto e Aperte Em Execute Script.

Ai Vai Eles!

Ataque Constante (Ele Nao tira o Taget Do Seu Alvo,Ele pode ser da tela, Desser Escada, Subir e tudu mais) Segue o Script:

var
LockID:integer;

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;

begin
updateworld;
while self.attacking=0 do
begin
sleep(200);
updateworld;
end;
LockID:=self.attacking;
while not terminated do
begin
updateworld;
ProcessEvents;
if ((self.attacking)<>(LockID)) and ((self.attacking)<>(0)) then
LockID:=Self.Attacking;
If Self.Attacking=0 then
begin
Creature:=GetCreatureByID(LockID);
If Creature<>nil then Creature.Attacking:=true;
end;

sleep(100);
end;
end;
————————————————————————————————————————————

Exura Quando Paralisado (Muito Usado Nas Wars Ele serve para Tirar teu Paralise com o Exura)

const
minMana = 60; //

while not Terminated do
begin
UpdateWorld;
if Self.Mana > minMana then
begin
if Self.Slowed then
Self.Say('exura gran');
Sleep(300);
end;
end;
————————————————————————————————————

Diagonal Dos Bixos (Este Serve Para nao deixar o Bixo De frente com vc)

Const
Wanted='Colocar o Nome do BIXO!';// nome do monstro a qual voce quer ficar na diagonal
MinCreatureHP= 20 ;
RampsID = [1950, 1952, 1954, 1956, 385, 1947, 434, 414, 604]

var
x: Integer;

function IsCreatureBesideYou(c: TCreature): boolean;
begin
UpdateWorld;
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;
Exit;
end;
end;
Result := False;
end;

function GetTileFromXYZ(X, Y, Z: integer): TTile;
begin
Result := nil;
if abs((Self.X - 7) - X) > 14 then Exit;
if abs((Self.Y - 5) - Y) > 11 then Exit;
if Self.Z <> Z then Exit;
Result := Screen.Tile[abs((Self.X - 7) - X), abs((Self.Y - 5) - Y)];
end;
function IsTileWalkable(Tile: TTile): boolean;
begin
Result := True;
for Z := 0 to Tile.Count - 1 do
begin
if Tile.Item[Z].Properties.Hole then
begin
Result := False;
end
else if Tile.Item[Z].Properties.Stairs then
begin
Result := False;
end
else if not Tile.Item[Z].Properties.Walkable then
begin
OutputDebugString('Not Walk: ' + IntToStr(Tile.Item[Z].ID));
Result := False;
end;
else
begin
for x := low(RampsID) to high(RampsID) do
begin
if Tile.Item[Z].ID = RampsID[x] then Result := False;
end;
end;
end;
end;

function GetCreatureBesideYou: TCreature;
begin
UpdateWorld;
Result := Nil;
for x := 0 to Creatures.Count - 1 do
begin
UpdateWorld;
if (Creatures.Creature[x].Name=Wanted) then
if IsCreatureBesideYou(Creatures.Creature[x]) then
begin
if Creatures.Creature[x].ID <> Self.ID then
begin
UpdateWorld;
Result := Creatures.Creature[x];
Exit;
end;
end;
end;
end;
var
Moved:boolean;

begin
G:=false;
T:=false;
while not terminated do
begin
updateworld;
Creature:=GetCreatureBesideYou;
if Creature<>nil then
if Creatures.Creature[Wanted].Health > MinCreatureHP then
begin
if (Self.X<>Creature.X) and (Self.Y=Creature.Y) then
begin
Tile:=GetTileFromXYZ(Self.x,Self.y-1,self.z);
if Tile<>nil then
if IsTileWalkable(Tile) then
begin
Self.MoveUp;
Moved:=true;
end;
If (Moved=False) then
begin
Tile:=GetTileFromXYZ(Self.x,Self.y+1,self.z);
if Tile<>nil then
if IsTileWalkable(Tile) then
Self.MoveDown;
end;
end;
Moved:=false;
if (Self.X=Creature.X) and (Self.Y<>Creature.Y) then
begin
Tile:=GetTileFromXYZ(Self.x-1,Self.y,self.z);
if Tile<>nil then
if IsTileWalkable(Tile) then
begin
Self.MoveLeft;
Moved:=true;
end;
If (Moved=False) then
begin
Tile:=GetTileFromXYZ(Self.x+1,Self.y,self.z);
if Tile<>nil then
if IsTileWalkable(Tile) then
Self.MoveRight;
end;
end;
end;
sleep(1000);
end;
end;

————————————————————————————————————
Magic Wall na Frente do Teu Alvo:

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;

begin
while not Terminated do
begin
UpdateWorld;
if Self.Attacking <> 0 then
begin
Creature := GetCreatureByID(Self.Attacking);
if Creature <> nil then
begin
case Creature.Direction of
0: Self.Containers.UseItemWithGround(3180, Creature.X, Creature.Y - 2, Creature.Z);
1: Self.Containers.UseItemWithGround(3180, Creature.X + 2, Creature.Y, Creature.Z);
2: Self.Containers.UseItemWithGround(3180, Creature.X, Creature.Y + 2, Creature.Z);
3: Self.Containers.UseItemWithGround(3180, Creature.X - 2, Creature.Y, Creature.Z);
end;
end;
end;
Sleep(2000);
end;
end;

Nenhum comentário:

Postar um comentário