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.

Scripts


MTS_Power
 Compartilhar

Posts Recomendados

Scripts para BOT NG

 

Olá gente, vou postar para vocês, alguns scripts para usarem no BOT NG, bom uso a todos!

 

Se quiser algum script especifico, digite Ctrl + F, e digite o que quer achar.

 

Video mostrando como colocar script para funcionar:

 

É necessário se cadastrar para acessar o conteúdo.

Scritps para qualquer vocação:

 

 

Nome: Reconnect e Abrir BP;

Descrição: Loga quando o server volta e ja abre a backpack;

 

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;

 

Nome: Gold para platinum;

Descrição: Transforma Gold coins para Platinum Coins, e empilha automaticamente, funciona só em OT Servers.

 

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;

 

Nome: Anti-Paralyze;

Descrição: Solta exura quando paralizado;

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;

 

Nome: Utani Hur;

Descrição: Usa Utani Hur quando estiver com a quantia de mana especificada;

 

Const

Spell = 'utani hur'

MinMana = 60 // Coloque o tanto de mana aqui

 

while not terminated do

begin

UpdateWorld;

if not self.hasting then

if self.mana >= MinMana then

Self.Say(Spell);

sleep(1000);

end;

Nome: Mana Potion;

Descrição: Usa mana potion quando tiver X mana;

 

const

minMana = 200; //Mana pra usar Mp pequena

while not Terminated do

begin

UpdateWorld;

if (Self.Mana < minMana) then

begin

Self.Containers.UseItemWithSelf(268)

Sleep(1000);

end;

Sleep(100);

end;

 

Nome: Cap Alert;

Descrição: Alerta quando tiver X cap;

 

Const

cap = 10 //quantia de cap necessaria para avisar

while not terminated do

begin

UpdateWorld;

if self.capacity < cap then

PlaySound('C:\Windows\Media\notify.wav');

Sleep(100);

end;

 

Nome: Food Alert;

Descrição: Avisa quando acabar a comida;

 

Const

FoodID = 1111 // Coloque aqui o ID da food

MusicPath = 'C:\Windows\Media\Notify.wav' // This is the main alert of windows.

while not terminated do

begin

UpdateWorld;

a:=0;

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 = FoodID

then a := 1;

Sleep(100);

end;

sleep(100);

end;

sleep(100);

if a = 0 then PlaySound(MusicPath);

end;

 

Nome: Monster Alert;

Descrição: Alerta quando ver tal monstro na tela;

 

Const

MonsterName = 'Dragon'

while not terminated do

begin

updateworld;

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

begin

if Creatures.Creature.Name = MonsterName

then playsound('C:\Windows\Media\Notify.wav');

sleep(100);

end;

sleep(100);

end;

 

Nome: Attack monster first;

Descrição: Ataca tal montro primeiro;

 

Const

Name=['Dragon Lord','Ghastly Dragon','Undead Dragon'];

SwitchAt=30;// 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) <= 4) and (abs(c.Y-self.Y) <= 4) 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;

 

Nome: Attack Buster Monsters;

Descrição: Ataca monstros que normalmente o BOT não ataca, como galinhas, sheeps e etc;

 

Const

Monster = 'Sheep' //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;

Nome: Auto Ring;

Descrição: Tira e coloca o Ring tal;

 

var

RingID: 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 := 3097; //id do ring que desejar

begin

UpdateWorld;

if Self.Attacking <> 0 then

begin

if Self.Ring.ID = 0 then

begin

Ring := GetItemFromOpenBackpack(3097);

if Ring <> nil then

begin

Ring.MoveToBody(Self.Ring, 0);

end;

end;

end

else

begin

if Self.Ring.ID <> 0 then

begin

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

end;

end;

Sleep(100);

end;

end;

 

Scripts para Knights:

 

Nome: Exana Mort;

Descrição: Usa exana mort;

 

const

minMana = 65; //minimum mana

maxHealth = 500; //Life pra usar Exana Mort abaixo disso

spellnome = 'Exana Mort' //nome da magia

while not Terminated do

begin

if (Self.Health < maxHealth) and (Self.Mana > minMana ) then then

begin

Self.Say(spellnome);

Sleep(1500);

end;

end;

Sleep(100);

end;

Nome: Exori Hur;

Descrição: Usa Exori Hur em um bixo especificado;

 

const

Delay = 2000; //exaut para cada exori hur 2 sec

MinimumManaToCast = 40; // mana que precisa para soltar exori con

MinimumMonsterHealth = 60; // Contado em Porcentagem

SpellRange = 3; // a distancia necessaria para atingir o monstro

 

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

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 hur');

end;

 

Sleep(Delay);

end;

end;

 

Nome: Exori;

Descrição: Solta Exori com X monstros ao seu lado;

 

Const

MonstersNames = ['Demon Skeleton','Crypt Shambler']

NumberOfMonsters = 5 // quantos monstros em volta para usar

MinHealth = 100 // nao sei o que e isso

MinMana = 115 // quanto de mana para usar

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

begin

for G := low(MonstersNames) to high(MonstersNames) do

begin

if Creatures.Creature.Name = MonstersNames[G] then

Result := Result + 1;

end;

end;

end;

end;

end;

end;

while not terminated do

begin

UpdateWorld;

if CountMonstersBesideYou >= NumberOfMonsters then

if Self.Mana >= MinMana then

if Self.Health > MinHealth then

Self.Say('exori');

sleep(100);

end;

Nome: Exori Gran;

Descrição: Solta exori gran com x monstros ao seu lado;

 

Const

MonstersNames = ['Dragon','Dragon Lord']

NumberOfMonsters = 5 // quantos monstros em volta para usar

MinHealth = 100 // nao sei o que e isso

MinMana = 340 // quanto de mana para usar

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

begin

for G := low(MonstersNames) to high(MonstersNames) do

begin

if Creatures.Creature.Name = MonstersNames[G] then

Result := Result + 1;

end;

end;

end;

end;

end;

end;

while not terminated do

begin

UpdateWorld;

if CountMonstersBesideYou >= NumberOfMonsters then

if Self.Mana >= MinMana then

if Self.Health > MinHealth then

Self.Say('exori gran');

sleep(100);

end;

Nome: Treinar com Slimes

Descrição: Treina Automaticamente com Slimes, lembre-se, de Follow na slime principal, esse script nao recupera sua vida automaticamente também.

 

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;

 

Scripts para Paladins:

 

Nome: Exura San;

Descrição: Usa Exura San de acordo com as configurações;

 

const

minMana = 210; //minimum mana

maxHealth = 500; //Life pra usar Exura San abaixo disso

spellnome = 'Exura San' //nome da magia

while not Terminated do

begin

if (Self.Health < maxHealth) and (Self.Mana > minMana ) then then

begin

Self.Say(spellnome);

Sleep(1500);

end;

end;

Sleep(100);

end;

 

Nome: Alerta com Poucas Spears;

Desacrição: o nome ja diz tudo;

 

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].Amount >= QtyItems then QtyMove := QtyItems;

else QtyMove := Self.Containers.Container[x].Item[y].Amount;

 

QtyMove := QtyMove - 1;

 

if QtyMove then

begin

Self.Containers.Container[x].Item[y].MoveToBody(Self.LeftHand, QtyMove);

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;

 

Nome: Exori Con;

Descrição: Solta 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.Attacking);

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;

Nome: Exori San;

Descrição: Solta Exori San com tal bixo selecionado;

 

const

Delay = 2000; //exaut para cada exori hur 2 sec

MinimumManaToCast = 20; // mana que precisa para soltar exori con

MinimumMonsterHealth = 60; // Contado em Porcentagem

SpellRange = 3; // a distancia necessaria para atingir o monstro

 

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

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 san');

end;

 

Sleep(Delay);

end;

end;

Nome: Enchanted Spear Maker;

Descrição: Faz Enquanted Spears;

Const

SpearID = 3277

Spell = 'Exeta con'

MinMana = 600

MinSoul = 5

WeaponID = 3291

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.Mana >= MinMana then

if Self.Soul >= MinSoul then

begin

Spear := GetItemFromOpenBackpack(SpearID);

if Spear <> nil then

Spear.MoveToBody(Self.RightHand,1);

Sleep(800);

UpdateWorld;

If Self.RightHand.ID = SpearID then

Self.Say(Spell);

UpdateWorld;

Weapon := GetItemFromOpenBackpack(WeaponID);

if Weapon <> nil then

Weapon.MoveToBody(Self.RightHand,0);

end;

sleep(500);

end;

 

 

Sorcerers & Druids Scripts:

Nome: Exori frigo ou tera;

Descrição: Solta exori frigo ou tera, magias que não tem no cavebot;

 

Frigo:

const

Delay = 2000; //exaut para cada exori frigo 2 sec

MinimumManaToCast = 20; // mana que precisa para soltar exori frigo

MinimumMonsterHealth = 60; // Contado em Porcentagem

SpellRange = 3; // a distancia necessaria para atingir o monstro

 

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

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 frigo');

end;

 

Sleep(Delay);

end;

end;

Tera:

const

Delay = 2000; //exaut para cada exori tera 2 sec

MinimumManaToCast = 20; // mana que precisa para soltar exori tera

MinimumMonsterHealth = 60; // Contado em Porcentagem

SpellRange = 3; // a distancia necessaria para atingir o monstro

 

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

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 tera');

end;

 

Sleep(Delay);

end;

end;

Nome: Utana Vid com tal criatura;

Descrição: usa utana vid quando aparecer tal criatura;

 

Const

CastInvisible = ['Orc Spearman', 'Orc Warrior'] //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;

 

Nome: Utamo Vita;

Descrição: Usa utamo vita quando ve tal criatura ou tal player;

 

Const

MonsterName = 'Demon Skeleton' //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;

 

Nome: Usar tal runa em tal monstro ou tal player;

Descrição: O nome ja diz tudo;

 

Const

IgnoreList = ['Sam','Hardek','Rat','Cave Rat','Skeleton'] // Add qnts quizer

MaxMonsters = 1 // qntidade de bixo para ele jogar a runa

RuneID = 3165 // id da runa

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

A := 0;

UpdateWorld

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

begin

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

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

begin

B := 0;

for g := Low(IgnoreList) To High(IgnoreList) do

begin

if AnsiLowerCase(Creatures.Creature.Name) = AnsiLowerCase(IgnoreList[g]) then

begin

B := 1;

break;

end;

sleep(10);

end;

if B = 0 then A := A + 1;

end;

Sleep(10);

end;

if A > MaxMonsters then

begin

UpdateWorld;

if Self.Attacking <> 0 then

Target := GetCreatureByID(Self.Attacking);

if Target <> nil then

Self.Containers.UseItemWithCreature(RuneID,Target);

Sleep(1000);

end;

Sleep(100);

end;

 

Nome: Usar Exura Sio em alguem ou em você mesmo;

Descrição: O nome ja diz tudo;

 

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;

 

Por enquanto é só, mais tarde clocarei mais funções. Se quiserem scripts que não tem no tópico, diga que tentarei postar.
Link para o comentário
Compartilhar em outros sites

  • 1 mês 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.