Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

[NG Scripts] Todos Scripts.


[P]rinT ScreeN.
 Compartilhar

O Que Acharam Do Tópico ?  

  1. 1. O Que Acharam Do Tópico ?

    • Merece Fixo !
      0
    • Excelente !
      0
    • Bom.
      0
    • Não Gostei =/
      0


Posts Recomendados

Sei que já tem alguns topicos sobre isso ake, mas são todos mal organizados e mal visitados pelos donos. Em tão vou criar este topico com todas as scripts q eu encontrar !

 

Como colocar um Script ?!

• Vá até o seu BOT, clique em Tools > Scripter, no quadrado de cima, o maior, cole o Script e clique em Execute Script, irá aparecer um nomezinho no canto inferior direito, o menor quadradinho, se aparecer no de baixo, o segundo maior é por que o script não funcionou.

 

------------------------------------------------------------

 

-- Indice --

 

1- Jogar loot em um determinado lugar

2- Reconect

3- Usar Obsidian Knife nos corpos

4- Exura Sio automático 50% LIFE

5- Usar GHP em X hp

6- Ficar na Diagonal

7- Exori Gran em X monstro

8- Ataca X runa em X bicho

9- Contador de Item

10- Atacar X monstro primeiro

11- Logout se aparecer uma skull

12- Contador de Mortes

13- Ignorar X monstro

14- Logout antes do level 9

15- Script monstro Anti-Bot

16- Pegar loot de monstro longe

17- Tirar SS quando nos Advanceds.

18- Soft Boots Script!

19- Script para treinar com Slime

20- Mana Potion // Health Potion

21- Script de dança

22- Item Reloader - Colocar SSA, Rings e talvar

23- Logar se pessoas na vip logarem

24- Auto sell noob lot

25- Auto Responder

26- Ot Change Gold

27- Caso a mana seja X trocar arma

28- Se atacado usar utamo vita

29- Logar se nao tiver spears ou algo na mao DIREITA

30- Healer Party Members

31- Usar Exori se algum bixo invisivel estiver na sua volta

32- Equipar soft boots se mps acabar

33- Andar com 'W A S D ' invés das setas

34- Mandar msgs pra todos na sua vip se for atkado

35- Se player entrar na tela, usar utani gran hur ou utani hur

36- Trocar de soft boots se a primeira acabar

37- Anti-paralyze script

38- Quando utamo vita acaba ele solta otro imediatamente

39- Exiva Kill - Voce nunca perde seu target

40- Mwall, solta mwall na frente do seu target

 

 

-- Scripts --

 

 

1- Jogar loot em um determinado lugar

 

Esse script faz seu char jogar os loot em um determinado lugar pré-estabelecido nele. Basta você editar o X Y Z pela localização do sqm e, é claro, o ID dos itens para serem olocados lá.

 

Const

ItemsIDs = [1234, 5678, 9123, 4567, 8901]

X = 12345

Y = 12345

Z = 12

 

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.count - 1 downto 0 do

begin

ok := false;

for y1 := Low(ItemsIDs) to High(ItemsIDs) do

begin

if self.containers.container.item[x1].id = ItemsIDs[y1] then

ok := true;

end;

if ok then

begin

self.containers.container.item[x1].movetoground(X,Y,Z,0);

Self.DisplayText(self.containers.container.item[x1].id);

sleep(500);

end;

end;

end;

sleep(100);

Items := 0;

for i := low(ItemsIDs) to High(ItemsIDS) do

begin

Item := GetItemFromOpenBackpack(ItemsIDs);

if Item <> nil then

Items := Items + 1;

end;

if not Items then

break;

sleep(100);

end;

 

2- Reconect

 

esse script faz seu char relogar e abrir a BP sozinho.

no Account bote sua Conta, Password seu password, Character o nome do seu char. World o seu mundo, e IP deixa em branco Number of backpacks tb.

 

const

Account = '13214';

Password = 'gas461';

Character = 'Exemplo';

World = 'Trimera';

Ip = '';

NumberOfBackpacks = *;

 

var

x: integer;

 

procedure Login;

begin

repeat

Self.Login(Account, Password, Character, World, Ip);

for x := 0 to 200 do

begin

if Self.Connected then Break;

Sleep(100);

end;

Sleep(2000);

until Self.Connected;

end;

 

begin

while not Terminated do

begin

if not Self.Connected then

begin

Login;

UpdateWorld;

Self.Backpack.OpenInNewWindow;

for x := 0 to NumberOfBackpacks - 1 do

begin

if x >= NumberOfBackpacks then Break;

Sleep(2000);

UpdateWorld;

Self.Containers.Container[0].Item[x].OpenInNewWindow;

end;

end;

Sleep(1000);

end;

end;

 

3- Usar Obsidian Knife nos corpos

 

Script bem útil que vi que tinha gente precisando. Pra usar em corpos diferentes apenas mude os IDs do Skin_body para o ID do monster que vc quer.

 

const

obsidian_knife = 5908;

skin_body = [4011, 4047, 4052, 4057];

 

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;

 

4- Exura Sio automático 50% LIFE

 

const

MiniCreatureHP = 50; // % of his minimum HP before healing.

ITEM_RUNE_UH = 3160;

Name='Oh Hai'; //Enter here the name of your friend.

 

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('exura sio "'+Name)

else

if ((Creature.Health) <(MiniCreatureHP)) then Self.Containers.UseItemWithCreature(ITEM_RUNE_UH, Creature);

end;

Sleep(1000);

end;

 

end;

 

5- Usar GHP em X hp

 

const

MinHealth = 500;

ID_Potion = 239;

NumberOfVialsToDrink = 1;

Delay = 2;

 

var

I: Integer;

 

begin

while not Terminated do

begin

UpdateWorld;

if Self.Health <= MinHealth then

for I:=1 to NumberOfVialsToDrink do

begin

if (Terminated) then break;

Self.Containers.UseItemWithSelf(ID_Potion);

Sleep(Delay*1000);

end;

Sleep(500);

end;

end;

 

6- Ficar na Diagonal

 

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 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 TileIsWalkable(X, Y, Z: integer): boolean;

const Ramps = [1950, 1952, 1954, 1956, 385, 1947, 434, 414, 604]

var Tile: TTile;

begin

Result := True;

Tile := GetTileFromXYZ(X, Y, Z);

If (Tile <> nil) and (Tile.Count <> 0) then

for i := 0 to Tile.Count - 1 do

begin

if Tile.Item.Properties.Hole then Result := False;

else if Tile.Item.Properties.Stairs then Result := False;

else if not Tile.Item.Properties.Walkable then Result := False;

else for j := Low(Ramps) to High(Ramps) do if Tile.Item.ID = Ramps[j] then Result := False;

end;

end;

 

 

 

while not Terminated do

begin

UpdateWorld;

if Self.Attacking then

begin

Monster := GetCreatureByID(Self.Attacking);

if Monster <> nil then

Case Monster.Direction of

0:begin

if (Self.X = Monster.X) and (Self.Y = Monster.Y-1) and (Self.Z = Monster.Z) then

begin

if TileIsWalkable(Monster.X-1, Monster.Y-1, Monster.Z) then Self.MoveTo(Monster.X-1, Monster.Y-1, Monster.Z);

else

if TileIsWalkable(Monster.X+1, Monster.Y-1, Monster.Z) then Self.MoveTo(Monster.X+1, Monster.Y-1, Monster.Z);

end;

end;

1:begin

if (Self.X = Monster.X+1) and (Self.Y = Monster.Y) and (Self.Z = Monster.Z) then

begin

if TileIsWalkable(Monster.X+1, Monster.Y-1, Monster.Z) then Self.MoveTo(Monster.X+1, Monster.Y-1, Monster.Z);

else

if TileIsWalkable(Monster.X+1, Monster.Y+1, Monster.Z) then Self.MoveTo(Monster.X+1, Monster.Y+1, Monster.Z);

end;

end;

2:begin

if (Self.X = Monster.X) and (Self.Y = Monster.Y+1) and (Self.Z = Monster.Z) then

begin

if TileIsWalkable(Monster.X-1, Monster.Y+1, Monster.Z) then Self.MoveTo(Monster.X-1, Monster.Y+1, Monster.Z);

else

if TileIsWalkable(Monster.X+1, Monster.Y+1, Monster.Z) then Self.MoveTo(Monster.X+1, Monster.Y+1, Monster.Z);

end;

end;

3:begin

if (Self.X = Monster.X-1) and (Self.Y = Monster.Y) and (Self.Z = Monster.Z) then

begin

if TileIsWalkable(Monster.X-1, Monster.Y-1, Monster.Z) then Self.MoveTo(Monster.X-1, Monster.Y-1, Monster.Z);

else

if TileIsWalkable(Monster.X-1, Monster.Y+1, Monster.Z) then Self.MoveTo(Monster.X-1, Monster.Y+1, Monster.Z);

end;

end;

end;

end;

Sleep(250);

end;

 

7- Exori Gran em X monstro

 

No Monster name mude para o mostro que vc quer, e no Attack Spell mude para spell que vc quer usar.

 

const

MonsterName = ['Enlightened Of The Cult','Nightmare']// Add the monsters here

Attack_Spell = 'Exori Gran' // Change the name of the spell here

Min_Mana = 350 // If your mana is lower than this you will not cast the spell

Min_Monster_HP = 0 // If the monster is lower than this % of health it will not cast the spell

Max_Monster_HP = 100 //If the monster is higher than this % of health it will not cast the spell

Range = 1 //The spell will not cast if the monster is farther away than this

 

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 = Creature.Name) and (IsCreatureAttackable(Creature)) then

begin

Self.Say(Attack_Spell);

sleep(2000);

end;

end;

sleep(100);

end;

 

8- Ataca X runa em X bicho

 

const

delay = 1

MonsterName = 'Lizard Snakecharmer' // Name of the monster need to be attacked

MinHP = 0 // If you have less hp than this it wont attack

MonsterHP = 0 // Attack monster if more than X hp

RuneID = 3155 // RuneID - (SD - 3155, EXPLO - ????, HMM - ????, AVA - ????, icicle - ????)

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;

 

procedure Attack(Name:string);

var

Player:TCreature;

x:integer;

begin

updateworld;

Monster :=GetCreatureByName(Name);

if monster <> nil then

if Self.Health>MinHp then

begin

Self.Containers.UseItemWithCreature(RuneID, Monster);

updateworld;

end

end;

 

while not terminated do

begin

Yes := false;

UpdateWorld;

for i := 0 to creatures.Count - 1 do

begin

if creatures.Creature.Z = Self.Z then

If Creatures.Creature.Name = MonsterName then

begin

Yes := true;

repeat

Attack(MonsterName);

Sleep(Delay * 1000);

UpdateWorld;

for g := 0 to creatures.Count -1 do

begin

if creatures.Creature.Z = Self.Z then

If Creatures.Creature.Name = MonsterName then

Yes := True else Yes := false; else yes := false;

end;

until Yes = false;

end;

sleep(100);

end;

Sleep(100);

end;

 

9- Contador de Item

 

const

ItemName = 'XXXX'; //The name of the item you want to count; can be anything but best put the actual item name in plural form

ItemNumber = XXXX; //ItemID of the item to count

 

var

seconds, min, mini, hours, count, item, AverageItem, total: integer;

hourText,minText,secText: string;

 

function CountItemAmountFromOpenBackpack(ID: integer): integer;

var

x: integer;

y: integer;

begin

Result := 0;

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 := Result + Self.Containers.Container[x].Item[y].Amount;

end;

end;

end;

end;

 

begin

UpdateWorld;

AverageItem := 0;

item := CountItemAmountFromOpenBackpack(ItemNumber);

count := 0;

seconds := 0;

min := 0;

hours := 0;

while not terminated do

begin

sleep(1000);

UpdateWorld;

count := count+1;

Seconds := count mod 60;

if count>=60 then min := count div 60;

mini := min mod 60;

if min>=60 then Hours := min div 60;

total := (CountItemAmountFromOpenBackpack(ItemNumber)-Item);

AverageItem := total/count*60*60;

HourText := IntToStr(Hours);

MinsText := IntToStr(mini);

SecText := IntToStr(seconds);

if Length(HourText) = 1 then HourText := '0' + HourText;

if Length(MinsText) = 1 then MinsText := '0' + MinsText;

if Length(SecText) = 1 then SecText := '0' + SecText;

self.displayText('Running for '+HourText+':'+MinsText+':'+SecText+' | '+ItemName+' collected: '+inttostr(total)+' | '+ItemName+' average/h: '+inttostr(AverageItem)+'.');

ProcessEvents;

end;

end;

 

10- Atacar X monstro primeiro

 

Const

Name=['Frost Giantess'];

SwitchAt=10;// the % of the current attacked monster

//that if the monster has lass % hp than this, we Will NOt change to the stronger 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) <= 6) and (abs(c.Y-self.Y) <= 6) 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<Creature.Health then

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;

 

11- Logout se aparecer uma skull

 

var

x:integer;

RedSkull: boolean

WhiteSkull: boolean

 

begin

while not terminated do

begin

UpdateWorld;

if Creatures.count>1 then

for x := 0 to Creatures.Count - 1 do

begin

UpdateWorld;

if (Creatures.Creature[x].RedSkull=true)

or (Creatures.Creature[x].WhiteSkull=true)

then Self.Logout(True); //Change to False if you dont want force logout

end;

sleep(1000);

end;

end;

 

12- Contador de Mortes

 

Este script irá contar quantos monstros você matou desde de que iniciou o script.

 

var

count: integer;

current: integer;

i: integer;

exists: boolean;

 

 

procedure Event_CreatureLeaveScreen(ID, X, Y, Z: integer; Name: String);

begin

exists := false;

if ID = current then

begin

for i := 0 To Creatures.Count - 1 do

begin

if Creatures.Creature.ID = current then

begin

exists := true;

end;

end;

if exists = false then

begin

count := count + 1;

end;

end;

end;

 

begin

count:=0;

while not terminated do

begin

UpdateWorld;

ProcessEvents;

Sleep(1000);

current := Self.Attacking;

Self.DisplayText('Killcounter: ' + IntToStr(count));

Sleep(500);

end;

end;

 

13- Ignorar X monstro

 

Const

List=['War Wofl','Chicken','Deer','Rabbit'];//enter the monsters(in your hunting area)that dont give exp

//so you avoid attacking them and wasting time.

 

var

x : integer;

Looting:boolean;

Checked: array of integer;

ScanX: integer;

ScanY: integer;

ScanItem: TItem;

 

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

Result := False;

end;

end;

end;

 

function FindPath(FromX, FromY, FromZ, ToX, ToY, ToZ: integer; CheckLastTile: boolean): boolean;

var

Xloop, Yloop: integer;

begin

Result := False;

if FromZ <> ToZ then Exit;

Checked[abs(FromX - (Self.X - 7)), abs(FromY - (Self.Y - 5))] := True;

for Xloop := 0 to 2 do

begin

for Yloop := 0 to 2 do

begin

if (((FromX - 1) + Xloop) < Self.X - 7) or (((FromX - 1) + Xloop) > Self.X + 7) then Continue;

if (((FromY - 1) + Yloop) < Self.Y - 5) or (((FromY - 1) + Yloop) > Self.Y + 5) then Continue;

if (((FromX - 1) + Xloop) = ToX) and (((FromY - 1) + Yloop) = ToY) then

begin

if IsTileWalkable(GetTileFromXYZ((FromX - 1) + Xloop, (FromY - 1) + Yloop, FromZ)) or (not CheckLastTile) then

begin

Result := True;

Exit;

end;

end;

if ((Xloop = 1) and (Yloop = 1)) then Continue;

if Checked[abs(((FromX - 1) + Xloop) - (Self.X - 7)), abs(((FromY - 1) + Yloop) - (Self.Y - 5))] then Continue;

if IsTileWalkable(GetTileFromXYZ((FromX - 1) + Xloop, (FromY - 1) + Yloop, FromZ)) then

begin

if FindPath((FromX - 1) + Xloop, (FromY - 1) + Yloop, FromZ, ToX, ToY, ToZ, CheckLastTile) then

begin

Result := True;

Exit;

end;

end;

end;

end;

end;

 

function IsReachable(X, Y, Z: integer);

begin

Checked := VarArrayCreate([0, 14, 0, 10], 11);

for InitX := 0 to 14 do

begin

for InitY := 0 to 1 do

begin

Checked[initX, InitY] := False;

end;

end;

Result := FindPath(Self.X, Self.Y, Self.Z, X, Y, Z, False);

end;

 

function InList(Name:String):boolean;

begin

result:=false;

For x:=LOW(List) To High(List) do

if Name=List[x] then result:=true;

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 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 (InList(Creatures.Creature.Name)=false) then

if (Creatures.Creature.Z = Self.Z) then

if (Creatures.Creature.NPC = true) then

if (IsReachable(Creatures.Creature.x,Creatures.Creature.y,Creatures.Creature[

].z)) 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,SleepTime, y : integer;

begin

updateworld;

Bla:=Self.Containers.Count;

Looting:=false;

while not terminated do

begin

UpdateWorld;

if Self.Containers.Count>Bla then Looting:=true;

if (Looting=true) then

begin

updateworld;

X:=self.x;

y:=self.y;

repeat

sleep(200);

updateworld;

until (X<>Self.x) or (y<>self.y);

Looting:=false;

Repeat sleep(100); updateworld; until not (Self.Containers.Count>Bla);

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;

 

14- Logout antes do level 9

 

Pode mudar o Exp para quanto de XP vc quer logar, 6300 é a xp do lvl 8

 

Const

Exp = 6300

 

while not terminated do

begin

UpdateWorld;

if Self.Experience >= Exp

then Self.Logout(True);

Sleep(1000);

end;

 

15- Script monstro Anti-Bot

 

// Ignores anti-botter creatures based on time to kill

// @since Dec 14, 2008

// @author Pardall BR

// @colaboration Fal Dragonheart, cavalogrande

 

const

// Time in seconds to kill a creature. If it takes more than it, script will assume that creature as an anti-botter.

AverageTimeKill = 25;

 

// Play alarm in case of an anti-botter detected? 1 = yes / 0 = no

SoundAlarm = 1;

// Alarm Path

alertSound = 'c:\windows\media\notify.wav';

 

// Don't change this

IgnoreLimit = 250;

 

var

CreaturesIgnore: array of integer;

CreatureAttacking : integer;

CreatureAttackingBefore : integer;

TimeAttack, TimeStamp, TimeElapsed : integer;

y : integer;

 

// @credits http://forums.tibiab...ead.php?t=77814

function TimeNow:integer;

var

hours, minutes, seconds, miliseconds:integer;

begin

DecodeTime(Now, hours, minutes, seconds, miliseconds);

Result := hours * 60 * 60 * 1000 + minutes * 60 * 1000 + seconds * 1000 + miliseconds;

end;

 

procedure PlayAlarm;

begin

if SoundAlarm then

begin

if (Pos('.wav', alertSound) <> 0) then

begin

try

PlaySound(alertSound);

except

ShowMessage('Please enter a valid path for the sound file!');

end;

end;

end;

end;

 

// Check if player is attacking something, if yes return attacked creature id

function CheckAttacking: integer;

begin

UpdateWorld;

for x := 0 to Creatures.Count - 1 do

begin

UpdateWorld;

if Creatures.Creature[x].Attacking then

begin

if CreatureAttackingBefore > 0 and CreatureAttackingBefore <> Creatures.Creature[x].ID then

CreatureAttackingBefore := CreatureAttacking;

 

Result := Creatures.Creature[x].ID;

Exit;

end;

end;

Result := 0;

Exit;

end;

 

//Check if an ID is in ignore list

function CheckIgnored(ID : integer) : boolean;

var x : integer;

begin

if y >= 1 then

begin

for x := 0 to y-1 do

begin

if ID = CreaturesIgnore[x] then // ignored creature

begin

Result := true;

Exit;

end;

end;

end;

Result := false;

end;

 

 

// Add an ID to the ignore list

procedure IgnoreCreature(ID : integer);

begin

Self.DisplayText('IgnoreCreature #' + IntToStr(ID));

CreaturesIgnore[y] := ID;

y := y + 1;

if y > IgnoreLimit then y := 1;

end;

 

procedure StopAttack;

begin

for x := 0 to Creatures.Count - 1 do

begin

UpdateWorld;

if Creatures.Creature[x].Attacking then

begin

Creatures.Creature[x].Attacking := false;

Exit;

end;

end;

end;

 

// Check if the player has been attacked, then attack the attacker if it isn't a player

procedure Event_Attacked(ID: integer);

begin

if not CheckIgnored(ID) then

begin

for x := 0 to Creatures.Count - 1 do

begin

UpdateWorld;

if Creatures.Creature[x].ID = ID and

(not Creatures.Creature[x].WhiteSkull and not Creatures.Creature[x].RedSkull and not Creatures.Creature[x].YellowSkull) // ignore player attack (is there a better way?)

then

begin

TimeAttack := TimeNow;

Creatures.Creature[x].Attacking := True;

Exit;

end;

end;

end;

end;

 

begin

CreatureAttackingBefore := 0;

CreatureAttacking := 0;

y := 0;

CreaturesIgnore := VarArrayCreate([y, IgnoreLimit], $C);

 

UpdateWorld;

while not Terminated do

begin

UpdateWorld;

 

if not CheckAttacking then

begin

ProcessEvents;

CreatureAttacking := CheckAttacking;

end;

 

if CheckAttacking then

begin

TimeStamp := TimeNow;

TimeElapsed := TimeStamp - TimeAttack;

 

if CreatureAttacking = CreatureAttackingBefore and (TimeElapsed > (AverageTimeKill*1000)) then

begin

IgnoreCreature(CreatureAttacking);

StopAttack;

PlayAlarm;

end;

 

CreatureAttackingBefore := CreatureAttacking;

end;

 

sleep(500);

end;

end;

 

16- Pegar loot de monstro longe

 

Este script ira pegar o loot do bicho que morreu afastado de você.

 

var

go:boolean;

X1,Y1,Z1,I:integer;

procedure WalkTo(X, Y, Z: integer);

begin

repeat

Sleep(1000);

Self.MoveTo(X, Y, Z);

UpdateWorld;

until ((abs(Self.X - X) < 2) and (abs(Self.Y - Y) < 2)) or terminated

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 GetItemOnTile(ID: integer; Tile: TTile): TItem;

var

Z: integer;

begin

Result := nil;

for Z := 0 to Tile.Count - 1 do

begin

if Z >= Tile.Count then Break;

if Tile.Item[Z].ID = ID then

begin

Result := Tile.Item[Z];

Break;

end;

end;

end;

 

procedure Event_ItemCreated(ID, X, Y, Z: integer);

var body:TItem;

begin

updateworld;

c:=Self.containers.COunt;

if Self.z=Z then

begin

Tile:=GetTileFromXYZ(X,Y,Z);

if Tile<> nil then

begin

updateworld;

Body:=GetItemOnTile(ID,Tile);

if body<>nil then

if (Body.Properties.Container=true)and (Body.Properties.Movable=False) then

if not((abs(Self.X - X) < 2) and (abs(Self.Y - Y) < 2)) then

begin

I:=ID;

X1:=x; Y1:=y; Z1:=Z;

self.DisplayText('Body found on '+IntToStr(x)+','+IntToStr(y)+','+IntToStr(z));

Go:=true;

end

else self.DisplayText('The Item on '+IntToStr(x)+','+IntToStr(y)+','+IntToStr(z)+' is not a body');

end;

end;

end;

 

 

 

 

 

 

begin

Go:=false;

while not terminated do

begin

ProcessEvents;

sleep(100);

if Go then

begin

WalkTo(X1,Y1,Z1);

sleep(200);

updateworld;

Tile:=GetTileFromXYZ(X1,Y1,Z1);

Body:=GetItemOnTile(I,Tile);

Body.open;

end;

Go:=false;

end;

end;

 

17- Tirar SS quando nos Advanceds.

Quando seu char upar em algo vai ser tirado uma PintScreen.

Só precisa arrumar as pastas.

 

var

Level: integer;

MLevel: integer;

Fist: integer;

Club: integer;

Sword: integer;

Axe: integer;

Distance: integer;

Fishing: integer;

Shielding: integer;

begin

UpdateWorld;

Level := Self.Level;

MLevel := Self.Skills.Magic.Level;

Fist := Self.Skills.Fist.Level;

Club := Self.Skills.Club.Level;

Sword := Self.Skills.Sword.Level;

Axe := Self.Skills.Axe.Level;

Distance := Self.Skills.Distance.Level;

Fishing := Self.Skills.Fishing.Level;

Shielding := Self.Skills.Shielding.Level;

while not Terminated do

begin

UpdateWorld;

if Level <> Self.Level then

begin

Level := Self.Level;

ScreenShot('C:\Program Files\TibiaBot NG\Specials\Level' + IntToStr(Level) + '.jpg');

Level := Self.Level;

end;

if MLevel <> Self.Skills.Magic.Level then

begin

MLevel := Self.Skills.Magic.Level;

ScreenShot('C:\Program Files\TibiaBot NG\Specials\MLevel' + IntToStr(MLevel) + '.jpg');

MLevel := Self.Skills.Magic.Level;

end;

if Fist <> Self.Skills.Fist.Level then

begin

Fist := Self.Skills.Fist.Level;

ScreenShot('C:\Program Files\TibiaBot NG\Specials\Fist' + IntToStr(Fist) + '.jpg');

Fist := Self.Skills.Fist.Level;

end;

if Club <> Self.Skills.Club.Level then

begin

Club := Self.Skills.Club.Level;

ScreenShot('C:\Program Files\TibiaBot NG\Specials\Club' + IntToStr(Club) + '.jpg');

Club := Self.Skills.Club.Level;

end;

if Sword <> Self.Skills.Sword.Level then

begin

Sword := Self.Skills.Sword.Level;

ScreenShot('C:\Program Files\TibiaBot NG\Specials\Sword' + IntToStr(Sword) + '.jpg');

Sword := Self.Skills.Sword.Level;

end;

if Axe <> Self.Skills.Axe.Level then

begin

Axe := Self.Skills.Axe.Level;

ScreenShot('C:\Program Files\TibiaBot NG\Specials\Axe' + IntToStr(Axe) + '.jpg');

Axe := Self.Skills.Axe.Level;

end;

if Distance <> Self.Skills.Distance.Level then

begin

Distance := Self.Skills.Distance.Level;

ScreenShot('C:\Program Files\TibiaBot NG\Specials\Distance' + IntToStr(Distance) + '.jpg');

Distance := Self.Skills.Distance.Level;

end;

if Fishing <> Self.Skills.Fishing.Level then

begin

Fishing := Self.Skills.Fishing.Level;

ScreenShot('C:\Program Files\TibiaBot NG\Specials\Fishing' + IntToStr(Fishing) + '.jpg');

Fishing := Self.Skills.Fishing.Level;

end;

if Shielding <> Self.Skills.Shielding.Level then

begin

Shielding := Self.Skills.Shielding.Level;

ScreenShot('C:\Program Files\TibiaBot NG\Specials\Shielding' + IntToStr(Shielding) + '.jpg');

Shielding := Self.Skills.Shielding.Level;

end;

Sleep(1000);

end;

end;

 

18- Soft Boots Script!

 

Script para colocar Soft Boots com X mana e tirar com X mana.

 

Const

Soft=6529; //6529 ID Softboots na BP

Softbody=3549;//3549 ID Soft Quando Esta Sendo Usada

Bsteel=3079; //ID Boots Para Colocar Depois de Usar a Soft,

ManaMin=300;// Mana Para Colocar a Soft

ManaMax=500;//Mana Para Tirar 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;

 

19- Script para treinar com Slime

 

Este script é bem simples para treinar com slime.

Ele so não ataca a Slime Mãe.

 

"" Antes de executar este script, você precisa dar follow na slime mãe. ""

 

function Attacking: boolean;

begin

UpdateWorld;

for x := 0 to Creatures.Count - 1 do

begin

UpdateWorld;

if Creatures.Creature[x].Attacking then

begin

Result := True;

Exit;

end;

end;

Result := False;

Exit;

end;

 

function GetFollowedCreatureID: integer;

begin

UpdateWorld;

for x := 0 to Creatures.Count - 1 do

begin

UpdateWorld;

if Creatures.Creature[x].Following then

begin

Result := Creatures.Creature[x].ID;

Exit;

end;

end;

end;

 

var

MotherSlime, X1, Y1: integer;

begin

MotherSlime := GetFollowedCreatureID;

while not Terminated do

begin

UpdateWorld;

if not Attacking then

begin

UpdateWorld;

for x := 0 to Creatures.Count - 1 do

begin

UpdateWorld;

if Creatures.Creature[x].ID <> MotherSlime then

begin

if (Creatures.Creature[x].Name <> Self.Name) and Creatures.Creature[x].NPC then

begin

UpdateWorld;

X1 := Creatures.Creature[x].X;

Y1 := Creatures.Creature[x].Y;

if (X1 - Self.X = 1) or (X1 - Self.X = 0) or (X1 - Self.X = -1) then

begin

UpdateWorld;

if (Y1 - Self.Y = 1) or (Y1 - Self.Y = 0) or (Y1 - Self.Y = -1) then

begin

Creatures.Creature[x].Attacking := true;

Break;

end;

end;

end;

end;

end;

end;

Sleep(1000);

end;

end;

 

20- Mana Potion // Health Potion

 

Coloca o ID da potion, Delay (praticamente o exhaust), Min Health, Quantas beber.

 

Healt Potion

Const

MinHealth = 500 // Quanto de vida usar a pot

NumberOfVialsToDrink = 1 // Quantas beber

IDPotion = 290 // ID da pot

Delay = 3 // Exemplo, ele vai usar ela 1 vez, caso precise denovo, soh vai usar daqui 3 segundos

 

while not terminated do

begin

UpdateWorld;

if Self.Health <= MinHealth then

begin

for i := 1 to NumberOfVialsToDrink do

begin

if (i >= NumberOfVialsToDrink + 1) or (terminated = true) then break;

Self.Containers.UseItemWithSelf(IDPotion);

Sleep(Delay*1000);

end;

end;

Sleep(500);

end;

 

Mana Potion

MinMana = 500 // Quanto de mana usar a pot

NumberOfVialsToDrink = 1 // Quantas bebe

IDPotion = 290 // ID da pot

Delay = 3 // Exemplo, ele vai usar ela 1 vez, caso precise denovo, soh vai usar daqui 3 segundos

 

while not terminated do

begin

UpdateWorld;

if Self.Mana <= MinMana then

begin

for i := 1 to NumberOfVialsToDrink do

begin

if (i >= NumberOfVialsToDrink + 1) or (terminated = true) then break;

Self.Containers.UseItemWithSelf(IDPotion);

Sleep(Delay*1000);

end;

end;

Sleep(500);

end;

 

21- Script de dança

 

B := 0;

while not terminated do

begin

A := Random(1,5);

if B <> A then

case A of

1:

begin

Self.FaceUp;

Sleep(400);

end;

2:

begin

Self.FaceRight;

Sleep(400);

end;

3:

begin

Self.FaceDown;

Sleep(400);

end;

4:

begin

Self.FaceLeft;

Sleep(400);

end;

end;

B := A;

sleep(10);

end;

 

22- Item Reloader - Colocar SSA, Rings e talvar

 

RingID: integer;

AmuletID: integer;

ShieldID: integer;

XbowID: 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

RingID := 0; //ID Number de algum anel que vc queira no caso mana ou migth

AmuletID := 3081; //ID number do stone skin amulet

while not Terminated do

begin

UpdateWorld;

if RingID <> 0 then

begin

if Self.Ring.ID = 0 then

begin

Ring := GetItemFromOpenBackpack(RingID);

if Ring <> nil then

begin

Ring.MoveToBody(Self.Ring, 0);

end;

end;

end;

UpdateWorld;

if AmuletID <> 0 then

begin

if Self.Amulet.ID = 0 then

begin

Amulet := GetItemFromOpenBackpack(AmuletID);

if Amulet <> nil then

begin

Amulet.MoveToBody(Self.Amulet, 0);

end;

end;

end;

Sleep(100);

end;

end;

 

23- Logar se pessoas na vip logarem

 

Const

VipNames = ['Mateusz Dragon Wielki','Eternal Oblivion','Seromontis','Tripida'] // Enter the player name who will login in your vip and you log out.

 

procedure Event_VIPLogOn(ID:integer);

begin

UpdateWorld;

for i := 0 to VipList.Count -1 do

begin

If VipList.VIP.ID = ID then

begin

for x := Low(VipNames) to High(VipNames) do

begin

if VipNames[x] = VipList.VIP.Name then

begin

Self.Logout(True);

exit;

end

end;

end;

end;

end;

 

While not terminated do

begin

UpdateWorld;

ProcessEvents;

Sleep(100);

end;

 

24- Auto sell noob lot

 

const

item_name = ['Short Sword', 'Sabre', 'Sword', 'Two Handed Sword', 'Battle Axe', 'Halberd', 'Mace', 'Battle Hammer', 'Chain Helmet', 'Chain Legs', 'Steel Shield', 'Battle Shield', 'Sentinel Shield', 'Salamander Shield', 'Chain Armor', 'Brass Armor', 'Plate Armor'];

item_id = [3294, 3273, 3264, 3265, 3266, 3269, 3286, 3305, 3352, 3558, 3409, 3413, 3444, 3445, 3358, 3359, 3357, 3276];

 

function CountItemFromOpenBackpack(ID: integer): integer;

var

x: integer;

y: integer;

begin

Result := 0;

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 := Result + 1;

end;

end;

end;

end;

 

begin

UpdateWorld;

Self.Say('hi');

for i := 0 to 16 do

begin

UpdateWorld;

NumberOfItem := CountItemFromOpenBackpack(item_id);

if NumberOfItem > 0 then

begin

Self.Say('sell '+ IntToSTr(NumberOfItem) + ' ' + item_name);

Sleep(1500);

Self.Say('yes');

Sleep(1500);

end;

end;

Self.Say('bye');

end;

 

25- Auto Responder

 

;Responding to H with a Greeting:

== 0 1 "\Ah" "Hi","Hello","yo","Hey","...Hi"

;Responding to Monster leave ect if they have not yet greeted us:

== 0 1 "mine|stop|leave|" "ok","kk","alright..."

;Respond to level 1 "give" statements:

== 0 1 "give|give loot|give gp|", "sorry,no","no,sorry","sorry,i need"

;We have said a Greeting and they are continuing to talk to us:

== 1 2 "mine|stop|leave" "certainly","kkkk","grrr"

;They have asked a question we respond. Q1:

== 1 2 "food plz|food|food pls|food|food?" "dont have any food","dont have","dont have"

;Q2:

== 1 2 "torch|torch plz|torch pls" "srry i dont have ","don't use, funner","not got, sorry"

;Q3:

== 1 2 "hunting?|No torch?" "ya","yeap","yeah","yup"

;Ignore and magic spell casting:

== 0 0 "utevo lux|exura|adori|exevo|Ina|exana|vis"

== 1 1 "utevo lux|exura|adori|exevo|Ina|exana|vis"

== 2 2 "utevo lux|exura|adori|exevo|Ina|exana|vis"

;Respond to level 2 Cheating Acusation:

== 2 3 "Cavebot|cheater|botter|noob|cheat" "im not using cheat , leave me alone..","leave me alone please","let me hunting in peace","go away"

;Respond to level 0&1&3 cheating acusations:

== 0 1 "Cavebot|cheater|botter|noob|cheat" "im not using any cheat ,jesus christ!..","go away and dont disturb me plz","dont piss me of , get off","go away batty"

== 1 2 "Cavebot|cheater|botter|noob|cheat" "go away","get off","stfu","go away damn"

== 3 2 "Cavebot|cheater|botter|noob|cheat" "piss of","shut up","stfu","go away batty"

 

26- Ot Change Gold

 

procedure StackItems;

var

T: array of integer;

x, y, z: integer;

Temp: integer;

begin

UpdateWorld;

T := VarArrayCreate([0, 19] , 3);

Temp := -1;

for x := 0 to Self.Containers.Count - 1 do

begin

if x >= Self.Containers.Count then Break;

for z := 0 to Self.Containers.Container[x].Count - 1 do

begin

T[z] := Self.Containers.Container[x].Item[z].ID;

end;

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].Properties.Pilable then

begin

if Self.Containers.Container[x].Item[y].Amount < 100 then

begin

for z := y + 1 to Self.Containers.Container[x].Count - 1 do

begin

if T[z] = Self.Containers.Container[x].Item[y].ID then

begin

if Self.Containers.Container[x].Item[z].Amount < 100 then

begin

Self.Containers.Container[x].Item[y].movetocontainer(Self.Containers.Container[x], z, 0);

end;

end;

end;

end;

end;

end;

end;

end;

 

while not Terminated do

begin

UpdateWorld;

StackItems;

for x := 0 to Self.Containers.Count - 1 do

begin

for y := 0 to Self.Containers.Container[x].Count - 1 do

begin

if Self.Containers.Container[x].Item[y].ID = 3031 then

begin

if Self.Containers.Container[x].Item[y].Amount = 100 then

begin

Self.Containers.Container[x].Item[y].Use;

Break;

end;

end;

end;

end;

Sleep(1000);

end;

 

27- Caso a mana seja X trocar arma

 

Const

// quando a mana é a baxo de ... //

LowMana = 90

Weapon_ID = 7385

// quando a mana é acima de... //

HighMana = 500

Wand_ID = 3065

 

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;

if self.righthand.id <> Weapon_id then

if self.mana < LowMana then

begin

Self.RightHand.MoveToContainer(Self.Containers.Container[0],19,0);

Sleep(1000);

Self.Arrow.MoveToBody(Self.RightHand,0);

Sleep(1000);

UpdateWorld;

Self.RightHand.MoveToBody(Self.Arrow,0);

Self.Offensive;

end;

if Self.RightHand.ID <> wand_id then

if Self.Mana > HighMana then

begin

Self.RightHand.MoveToContainer(Self.Containers.Container[0],19,0);

Sleep(1000);

Self.Arrow.MoveToBody(Self.RightHand,0);

Sleep(1000);

UpdateWorld;

Self.RightHand.MoveToBody(Self.Arrow,0);

Self.Defensive;

end;

sleep(500);

end;

 

28- Se atacado usar utamo vita

 

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;

 

procedure Event_Attacked(ID: integer);

var

Creature: TTCreature

begin

if Self.Attacking = ID then Exit;

Creature := GetCreatureByID(ID);

if (not Creature.NPC) and (not Self.MagicShield) then Self.Say('utamo vita');

Sleep(1000);

end;

 

begin

while not terminated do

begin

UpdateWorld;

ProcessEvents;

Sleep(100);

end;

end;

 

Dizer, afk 1 seg , caso gm apareça

Const

TextToSay = 'afk sec...'

function GMDetected: boolean;

begin

Result := False;

UpdateWorld;

for x := 0 to Creatures.Count - 1 do

begin

if x >= Creatures.count then break;

if Creatures.Creature[x].GM then

begin

Result := True;

exit;

end;

end;

end;

 

while not terminated do

Begin

UpdateWorld;

if GMDetected then

begin

Self.Say(TextToSay);

break;

end;

sleep(2000);

end;

 

29- Logar se nao tiver spears ou algo na mao DIREITA

 

while not terminated do

begin

UpdateWorld;

if Self.RightHand.ID = 0 then

Self.Logout(true);

sleep(500);

end;

 

30- Healer Party Members

 

Const

MinSelf=600;//if we have less than 600 HP we wont heal others so we wont get exusted.

MinHPPercent = 50; // The HP percentage a party member must have to use uh

ItemUHID = 3160; // The item number of the healing rune

var

Creature: TCreature;

 

while not Terminated do

begin

UpdateWorld;

for x := 0 to Creatures.Count - 1 do

begin

if (Creatures.Creature[x].PartyMember) and (Creatures.Creature[x].Name<>Self.Name) then

begin

if (Creatures.Creature[x].Health <= MinHPPercent) and (Self.Health>MinSelf) then

begin

Self.Containers.UseItemWithCreature(ItemUHID, Creatures.Creature[x]);

Sleep(2000);

end;

end;

end;

Sleep(100);

end;

 

Knight War - se o leader do script dizer exori gran e voce estiver do lado do target, soltará exori gran, se o leader do script dizer exori gran e voce tiver 1 sqm + de distacia soltará exori hur, se nao tiver target script nao fará nada

Const

Names = ['name1','name2','name3','name4','name5'] // The names that can say !kc!, you may change and add.

Target = 'name'

SpellIfClose = 'exori gran'

SpellIfFar = 'exori hur'

TextToCommit = 'ATTACK' //should be exori gran for your request.

 

Procedure Event_Message(Channel:integer;name,text:string);

begin

UpdateWorld;

InList = false;

for i = LoW(Names) to High(names) do

begin

if Name = Names then

begin

InList := true;

break;

end;

end;

if not InList then exit;

if Text = TextToCommit then

begin

for i := 0 to creatures.count - 1 do

begin

if Creatures.Creature.Name = target then

if (abs(Creatures.Creature.X - Self.X) < 2) and (abs(Creatures.Creature.y - Self.y) < 2) then

Self.Say(SpellIfClose);

else Self.Say(SpellIfFar);

end;

end;

end;

 

while not terminated do

begin

UpdateWorld;

ProcessEvents;

Sleep(500);

end;

 

31- Usar Exori se algum bixo invisivel estiver na sua volta

 

Const

MonsterToCheck = 'Stalker'

MinHealth = 300

MinMana = 200

 

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.NPC then

if (Creatures.Creature.x = Self.X +x) and (Creatures.Creature.y = Self.y + y) then

if Creatures.Creature.Name = MonsterToCheck then

Result := Result + 1;

end;

end;

end;

end;

 

while not terminated do

begin

UpdateWorld;

if CountMonstersBesideYou >= 1 then

if Self.Mana >= MinMana then

if Self.Health > MinHealth then

Self.Say('exori');

sleep(200);

end;

 

32- Equipar soft boots se mps acabar

 

Const

Message1 = 'Using the last vial...'

BootsID = 0

 

var

Finish:boolean;

 

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;

 

procedure Event_Notice(Text:string);

begin

if Text = Message1 then

begin

Boots := GetItemFromOpenBackpack(BootsID);

if Boots <> nil then

begin

Boots.MoveToBody(Self.Feet,0);

Self.PrivateMessage(Self.Name,'Soft boots are on were worn at ' + TimeToStr(Now) + ', Script will now terminate.');

Finish := true;

end;

else

begin

Self.PrivateMessage(Self.Name,'Boots werent found in an open BP, script will terminate.')

Finish := true;

end;

end;

end;

 

Finish := false;

while (not terminated) and (not finish) do

begin

UpdateWorld;

ProcessEvents;

Sleep(100);

end;

 

33- Andar com 'W A S D ' invés das setas

 

Const

DiagnoalWalking = 1 // 1-enable diagnoal, 0-disable.

 

procedure Event_KeyDown(Key:integer);

begin

Updateworld;

case Key of

87:Self.MoveUp; //W

65:Self.MoveLeft; //A

83:self.MoveDown; //S

68:Self.MoveRight; //D

end;

if DiagnoalWalking then

Case Key of

81:Self.MoveUpLeft; //Q

69:Self.MoveUpRight; //E

90:Self.MoveDownLeft; //Z

67:Self.MoveDownRight; //C

end;

end;

 

while not terminated do

begin

ProcessEvents;

Sleep(100);

end;

 

34- Mandar msgs pra todos na sua vip se for atkado

 

var

Finished:boolean;

 

function GetCreatureByID(ID: integer): TCreature;

begin

UpdateWorld;

Result := nil

for x := 0 to Creatures.Count - 1 do

begin

if Creatures.Creature[x].ID = ID then

begin

Result := Creatures.Creature[x];

Exit;

end;

end;

end;

 

procedure Event_Attacked(ID: integer);

var

AttackingCreature: TCreature;

begin

UpdateWorld;

AttackingCreature := GetCreatureByID(ID);

if not AttackingCreature.NPC then

begin

for i := 0 to VipList.Count - 1 do

begin

if VipList.Vip.Online then

Self.PrivateMessage(VipList.Vip.Name,'help, ' + AttackingCreature.Name + ' is attacking me!');

Sleep(2000);

end;

Finished := true;

end;

end;

 

begin

Finished := false;

while (not Terminated) and (not finished) do

begin

UpdateWorld;

ProcessEvents;

Sleep(100);

end;

end;

 

35- Se player entrar na tela, usar utani gran hur ou utani hur

 

Const

Xsqm = 3

Spell = 'utani gran hur'

MinMana = 100

 

while not terminated do

begin

UpdateWorld;

for i := 0 to Creatures.Count - 1 do

begin

if (i >= Creatures.Count) or (terminated) then break;

if Creatures.Creature.NPC = false then

if Creatures.Creature.Z = Self.Z then

if SQRT(SQR(Creatures.Creature.X - Self.X) + SQR(Creatures.Creature.Y - Self.Y)) <= Xsqm then

if not self.hasting then

if Self.Mana >= MinMana then

Self.Say(Spell);

sleep(50);

end;

sleep(100);

end;

 

36- Trocar de soft boots se a primeira acabar

 

Const

Soft_In_Use_ID = 3549

Soft_Boots_ID = 6529

 

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;

 

while not terminated do

begin

UpdateWorld;

if Self.Feet.ID <> Soft_In_Use_ID then

begin

Soft := GetItemFromOpenBackpack(Soft_Boots_ID);

if Soft <> nil then

Soft.MoveToBody(Self.Feet,0);

else Self.DisplayText('Soft Boots werent found in open BP!');

end;

sleep(100);

end;

 

37- Anti-paralyze script

 

const

minMana = 20;

 

while not Terminated do

begin

UpdateWorld;

if Self.Mana > minMana then

begin

if Self.Slowed then

Self.Say('exura');

end;

Sleep(300);

end;

 

38- Quando utamo vita acaba ele solta otro imediatamente

 

while not terminated do

begin

UpdateWorld;

if not Self.MagicShield then

begin

Self.Say('Utamo Vita');

Sleep(2000);

end;

sleep(100);

end;

 

39- Exiva Kill - Voce nunca perde seu target

 

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;

 

40- Mwall, solta mwall na frente do seu target

 

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;

 

 

----------

ID De todos os Itens:

 

:: Helmets ::

 

 

Steel Helmet, 3351

Chain Helmet, 3352

Iron Helmet, 3353

Brass Helmet, 3354

Leather Helmet, 3355

Devil Helmet, 3356

Golden Helmet, 3365

Viking Helmet, 3367

Winged Helmet, 3368

Warrior Helmet, 3369

Legion Helmet, 3374

Soldier Helmet, 3375

Studded Helmet, 3376

Dark Helmet, 3384

Crown Helmet, 3385

Demon Helmet, 3387

Horned Helmet, 3390

Crusader Helmet, 3391

Royal Helmet, 3392

Lady Helmet, 3393

Dragon Scale Helmet, 3400

Tribal Mask, 3403

Horseman Helmet, 3405

Feather Headdress, 3406

Ferumbras' Hat, 5903

Magician Hat, 3573

Mystic Turban, 3574

 

:: Legs ::

 

 

Studded Legs, 3362

Dragon Scale Legs, 3363

Golden Legs, 3364

Knight Legs, 3371

Brass Legs, 3372

Crown Legs, 3382

Demon Legs, 3389

Dwarven Legs, 3398

Elven Legs, 3401

Plate Legs, 3557

Chain Legs, 3558

Leather Legs, 3559

 

 

:: Munição ::

 

 

Burst Arrow, 3449

Arrow, 3447

Bolts, 3446

Poison Arrow, 3448

Power Bolt, 3450

Crystal Arrow, 3239

Stone, 1781

Spear, 3277

 

 

:: Rings ::

 

 

Might Ring, 3048

Stealth Ring, 3049

Power Ring, 3050

Energy Ring, 3051

Life Ring, 3052

Time Ring, 3053

Axe Ring, 3092

Ring of Healing, 3098

Ring of the Skies, 3006

Wedding Ring, 3004

Crystal Ring, 3007

Sword Ring, 3091

Club Ring - 3093

 

 

:: Rods ::

 

 

Snakebite Rod, 3066

Moonlight Rod, 3070

Volcanic Rod, 3069

Quagmire Rod, 3065

Tempest Rod, 3067

 

 

:: Shields ::

 

 

Steel Shield, 3409

Plate Shield, 3410

Brass Shield, 3411

Wooden Shield, 3412

Battle Shield, 3413

Mastermind Shield, 3414

Guardians Shield, 3415

Dragon Shield, 3416

Shield of Honour, 3417

Beholder Shield, 3418

Crown Shield, 3419

Demon Shield, 3420

Dark Shield, 3421

Great Shield, 3422

Blessed Shield, 3423

Ornamented Shield, 3424

Dwarven Shield, 3425

Studded Shield, 3426

Rose Shield, 3427

Tower Shield, 3428

Black Shield, 3429

Copper Shield, 3430

Viking Shield, 3431

Ancient Shield, 3432

Griffin Shield, 3433

Vampire Shield, 3434

Castle Shield, 3435

Medusa Shield, 3436

Amazon Shield, 3437

Eagle Shield, 3438

Phoenix Shield, 3439

Scarab Shield, 3440

Bone Shield, 3441

Plasma Shield, 3442

Tusk Shield, 3443

Sentinel Shield, 3444

Salamander Shield, 3445

Tortoise Shield, 6131

 

 

:: Tools : Misc ::

 

 

Fishing rod, 3483

Dice, 5794

Voodoo Doll (Pirate), 5810

Wood, 5901

1st Music Sheet, 6087

2nd Music Sheet, 6088

3rd Music Sheet, 6089

4th Music Sheet, 6070

Tortoise Shield, 6131

Worms, 3492

Feather Headdress, 3406

Frozen Starlight, 3249

Dwarven Beard, 5900

Wood, 5901

Obsidian Knife, 5908

Surprise bag, 6570

Piggy Bank, 2995

Shard, 7290

Cyclops Trophy, 7398

Minotaur Trophy, 7401

Deer Trophy, 7397

Dragon Lord Trophy, 7399

Lion Trophy, 7400

Wolf Trophy, 7394

Ice Cube, 7441

Dragon Slayer, 7402

Diamond Spectre, 7387

Beastslayer, 3344

Mammoth fur cape, 7463

Brutetamers Staff, 7379

Life crystal, 3061

Beholder Helmet, 3408

Key Ring, 5801

 

 

:: Wands ::

 

 

Magic LightWand, 3046

Magic LightWand(When it's used), 3047

Crystal Wand, 3068

Wand of Inferno, 3071

Wand of Plague, 3072

Wand of Cosmic Energy, 3073

Wand of Vortex, 3074

Wand of DragonBreath, 3075

Crystal Wand, 3068

 

 

:: Boots ::

 

 

Boots of Haste, 3079

Leather Boots, 3552

Bunny Slippers, 3553

Steel Boots, 3554

Golden Boots, 3555

Crocodile Boots, 3556

Fur Boots, 7457

 

 

:: Coins ::

 

 

Gold Coin, 3031

Platinum Coin, 3035

Crystal Coin, 3043

Scarab Coin, 3042

 

 

:: Backpacks ::

 

 

Normal backpack, 2854

Green backpack, 2865

Yellow backpack, 2866

Red backpack, 2867

Purple backpack, 2868

Blue backpack, 2869

Grey backpack, 2870

Golden backpack, 2871

Backpack of Holding, 3253

 

:: Bags ::

 

 

Normal bag, 2853

Green bag, 2857

Yellow bag, 2858

Red bag, 2859

Purple bag, 2860

Blue bag, 2861

Grey bag, 2862

Golden bag, 2863

 

 

:: Food ::

 

 

Carrot, 3595

Meat, 3577

Fish, 3578

Salmon, 3579

Ham, 3582

Dragon Ham, 3583

Pears, 3584

Bread, 3600

Pear, 3584

Apple, 3585

Orange, 3586

Banana, 3587

Blueberry, 3588

Coconut, 3589

Cherry, 3590

Strawberry, 3591

Grape, 3592

Melon, 3593

Pumpkin, 3594

Cookie, 3598

Candy Cane, 3599

Roll, 3601

Brown Bread, 3602

Cheese, 3607

Brown Mushroom, 3725

Tortoise Eggs, 5678

 

 

:: Gems ::

 

 

White Pearl, 3026

Black Pearl, 3027

Small Diamond, 3028

Small Sapphire, 3029

Small Ruby, 3030

Small Emerald, 3032

Small Amethyst, 3033

Talon, 3034

 

 

:: Addon Items ::

 

 

Sniper Gloves, 5875

Lizard Leather, 5876

Green Dragon Leather, 5877

Minotaur Leather, 5878

Giant Spider Silk, 5879

Iron Ore, 5880

Lizard Scale, 5881

Red Dragon Scale, 5882

Ape Fur, 5883

Chicken Feather, 5890

Behemoth Fang, 5893

Bat wing, 5894

Fish Fin, 5895

Bear Paw, 5896

Wolf Paw, 5897

Beholder Eye, 5898

Turtle Shells, 5899

Honeycomb, 5902

Magic Sulphur, 5904

Vampire Dust, 5905

Demon Dust, 5906

White Piece of Cloth, 5909

Red Piece of Cloth, 5911

Blue Piece of Cloth, 5912

Brown Piece of Cloth, 5913

Yellow Piece of Cloth, 5914

Dragon Claw, 5919

Green Dragon Scale, 5920

Heaven Blossom, 5921

Holy Orchid, 5922

Hardened Bone, 5925

Behemoth Claw, 5930

Demon Horn, 5954

Red Dragon Leather, 5948

Bast Skirt, 3560

Hook, 6097

Eye Patch, 6098

Peg Leg, 6126

 

:: Armas ::

 

 

Small Stone, 1781

Snowball, 2992

Cobrafang Dagger, 3238

Sword, 3264

Two handed sword, 3265

Battle Axe, 3266

Dagger, 3267

Hand Axe, 3268

Halberd, 3269

Club, 3270

Spikesword, 3271

Rapier, 3272

Sabre, 3273

Axe, 3274

Double axe, 3275

Hatchet, 3276

Spear, 3277

Magic Longsword, 3278

War hammer, 3279

Fire Sword, 3280

Giant Sword, 3281

Morning Star, 3282

Carlinsword, 3283

Ice Rapier, 3284

Longsword, 3285

Mace, 3286

Throwing Star, 3287

Magic Sword, 3288

Staff, 3289

Silver Dagger, 3290

Knife, 3291

Combat Knife, 3292

Sickle, 3293

Short Sword, 3294

Bright Sword, 3295

Warlord Sword, 3296

Serpent Sword, 3297

Throwing Knife, 3298

Poison Dagger, 3299

Katana, 3300

Broadsword, 3301

Dragon Lance, 3302

Great Axe, 3303

Crowbar, 3304

Battle Hammer, 3305

Golden Sickle,3306

Scimitar, 3307

Machete,3308

Thunder Hammer,3309

Iron Hammer,3310

Clerical Mace,3311

Silver Mace,3312

Obsidian Lance,3313

Naginata,3314

Guardian Halberd,3315

Orcish Axe,3316

Barbarian Axe,3317

Knight Axe,3318

Stonecutter's Axe,3319

Fire Axe,3320

Magic Staff,3321

Dragon Hammer,3322

Dwarven Axe,3323

Skull Staff,3324

Hammer of Wrath,3332

Crystal Mace,3333

Pharaoh Sword, 3334

Twin Axe, 3335

Studded Club, 3336

Bone Club, 3337

Bone Sword, 3338

Djinn Blade, 3339

Arcane Staff, 3341

War Axe, 3342

Crossbow, 3349

Bow, 3350

Scythe, 3453

Liche Staff, 3343

Royal Spear, 7378

Banana Staff, 3348

Carnial Basher, 7415

Dragonbone Staff, 7430

 

 

:: Armors ::

 

 

Plate Armor, 3357

Chain Armor, 3358

Brass Armor, 3359

Golden Armor, 3360

Leather Armor, 3361

Magic Plate Armor, 3366

Knight Armor, 3370

Scale Armor, 3377

Studded Armor, 3378

Doublet, 3379

Noble Armor, 3380

Crown Armor, 3381

Dark Armor, 3383

Dragon Scale Mail, 3386

Demon Armor, 3888

Lady Armor, 3394

Native Armor, 3402

Leopard Armor, 3404

Dwarven Armor, 3397

Blue Robe, 3567

 

 

:: Amulets : Necklaces ::

 

 

Crystal Necklace, 3008

Bronzen Necklace, 3009

Emerald Bangle, 3010

Wolven Teeth Chain, 3012

Golden Amulet, 3013

Star Amulet, 3014

Silver Necklace, 3015

Ruby Necklace, 3016

Scarab Amulet, 3018

Starlight, 3021

Ancient Amulet, 3025

Strange Talisman, 3045

Silver Amulet, 3054

Platinum Amulet, 3055

Bronze Amulet, 3056

Amulet of Loss, 3057

Broken Amulet, 3080

Stone Skin Amulet, 3081

Elven Amulet, 3082

Garlic Necklace, 3083

 

----------------------------------

 

É isso aew galera, se vcs conheçem um Script q não esteja ai, compartilhe comigo =)

eu irei botar no Tópico.

 

Algum Script não funciona ?

Me avisem q eu tentarei conserta-lo =)

 

--------------------

 

Créditos:

 

TibiaScript

xuztek

Link para o comentário
Compartilhar em outros sites

duvida no script 16

 

Esse Script pega loot, Tipo ta a 20 quadrados do corpo, ele pega sem da um passo? E isso? Reponde rapidin.. Achei interessante esses Scripts... Merece Fixo.. .2 Mod passo por aqui sem fixo no tpc desse e foda

Link para o comentário
Compartilhar em outros sites

;x

é q tem q ter a aprovação de TODOS os mods ;/

 

não cara, ele vai até o corpo e abre ele...

se for assim aiehauiehahu o copo de um orsha vai tar do otro lado de um rio lotado de lot e eu vo roba td xD

Link para o comentário
Compartilhar em outros sites

  • 2 semanas atrás...
  • 1 mês depois...
  • 1 mês depois...

Ajuda aew

 

Aew galera estava vendo estes scripts e realmente tenho que concordar com TODOS que eles são ótEmos, sendo que um eu preciso muitooo que é o que "se for atacado usar UTAMO VITA" e quando salvo ele esta dando "sintax error" :eek:

já ntentei de tudo já mudei o final dele para o outro script q tem no final com o titulo +ou- assim "usar utamo vita quando acabar" sendo que eu quero q ele use utamo vita somente quando for atacado e que fique usando a magia somente quando ela termine e não constantemente como se fosse um "mana training" :cool:

aew galera se alguém souber como fazer para este script funcionar responde aew, mas lembrando que seja de forma clara!

desde já agradeço á todos...

 

muito abrigado;)

Link para o comentário
Compartilhar em outros sites

Aew galera estava vendo estes scripts e realmente tenho que concordar com TODOS que eles são ótEmos, sendo que um eu preciso muitooo que é o que "se for atacado usar UTAMO VITA" e quando salvo ele esta dando "sintax error" :eek:

já ntentei de tudo já mudei o final dele para o outro script q tem no final com o titulo +ou- assim "usar utamo vita quando acabar" sendo que eu quero q ele use utamo vita somente quando for atacado e que fique usando a magia somente quando ela termine e não constantemente como se fosse um "mana training" :cool:

aew galera se alguém souber como fazer para este script funcionar responde aew, mas lembrando que seja de forma clara!

desde já agradeço á todos...

 

muito abrigado;)[/color]

 

Bom dia !

 

Segue o Script em questão:

 

Const

MonsterName = 'Demon Skeletom' //Personagem Ou Criatura

 

while not terminated do

begin

updateworld;

for i := 0 to creatures.count - 1 do

begin

if creatures.creature.name = MonsterName then

if Creatures.Creature.npc = true then

if Creatures.Creature.Z = Self.Z then

begin

Self.say('utamo vita');

sleep(1000);

end;

end;

end;

 

É o seguinte, já que você quer que use o "Magic Shield" somente após o termino do mesmo, será necessario configurar o "Sleep" que no caso é a espera.

O tempo de efeito da magia "Magic Shield" é de 200 segundos.

Como no script creio que esteja em mili segundso, seria necessário alterar para:

Milissegundo: 200000

Quaisquer dúvidas posteriores a este, favor, contate-me!

Link para o comentário
Compartilhar em outros sites

  • 3 semanas atrás...
  • 2 meses depois...
Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.