Ir para conteúdo
  • Cadastre-se

Script contra sistema Anti-bot


Posts Recomendados

Bom pessoal como o titulo do topico já fala estou procurando um script que ignora esses mosntros.

Me ajudem aew

Vlw

Link para o post
Compartilhar em outros sites
  • 2 weeks later...

// 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;

:) Espero ter ajudado

Editado por Tatu (veja o histórico de edições)

Member of Bbot Staff

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo