Ir para conteúdo
Faça parte da equipe! (2024) ×

[Script] [TibiaBot NG] Anti-botter creatures ignorer


Milk xD
 Compartilhar

Posts Recomendados

Necessita de: TibiaBot NG

Creditos: Pardall BR e Milk xD pela tradução

Descrição: Script para ignorar as criaturas "super poderosas", que fazem com que você fique preso batendo em uma delas

Retirado: Outro fórum

 

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

// @since Dec 14, 2008

// @author Pardall BR

// @colaboration Fal Dragonheart, cavalogrande

 

const

// Tempo para matar a criatura, caso leve mais tempo do que isso ela será considerada uma criatura ant botter e será ignorada.

AverageTimeKill = 25;

 

// Tocar alarme caso seja detectada uma criatura ant botter? 1 = sim / 0 = nao

SoundAlarm = 1;

// Alarm Path

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

 

// Não mude isso

IgnoreLimit = 250;

 

var

CreaturesIgnore: array of integer;

CreatureAttacking : integer;

CreatureAttackingBefore : integer;

TimeAttack, TimeStamp, TimeElapsed : integer;

y : integer;

 

// @credits

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

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;

 

// Checar se o jogador esta atacando uma criatura e se sim registrar o seu 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;

 

//Checar se um id esta na lista de ignorados

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 // criatura ignorada

begin

Result := true;

Exit;

end;

end;

end;

Result := false;

end;

 

 

// Adicionar um id a lista de ignorados

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;

 

// Checar se o jogador foi atacado, então atacar o atacante caso ele não seja um jogador

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) // ignorar ataque de um jogador (tem um jeito melhor?)

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;

 

 

Para fazer ela funcionar é preciso tirar a opção "Attack Monsters" e "Target All".

Para inserir o script basta ir em "Tools" e na ultima linha em "Scripter". Cole o script dado acima (depois de você altera-lo, é claro) e clique em "Execute script".

Link para o comentário
Compartilhar em outros sites

  • 1 mês depois...
Este tópico está impedido de receber novos posts.
 Compartilhar

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • 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.