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

[Scripts] Tibiabot ng


Vizly
 Compartilhar

Posts Recomendados

bom meu primeiro topico aqui na comu e como nao vi nenhum parecido..

 

Anti-Paralyze

 

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;

 

pode colocar ali como exana mort ou utani hur ou gran hur só alterar o nome da magia e a mana que gasta.

 

Auto SSA e rings

 

var

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..caso nao queira o uso do ssa coloke 0

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;

 

Auto SS(screen shot) quando upa

 

var

Level: integer;

 

begin

UpdateWorld;

Level := Self.Level;

while not Terminated do

begin

UpdateWorld;

if Level <> Self.Level then

begin

Level := Self.Level;

ScreenShot('c:\level' + IntToStr(Level) + '.jpg');

end;

Sleep(1000);

end;

end;

 

Exori con /exori hur

 

const

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

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

MinimumMonsterHealth = 60; // Contado em Pircentagem 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;

 

coloca e tira soft boots

 

Const

Soft=6529; //6529 ID Softboots na BP

Softbody=3549;//3549 ID soft in use

Bsteel=3079; // obs 3554 é id da stell boots pode alterar pelo da boh

ManaMin=300;// mana para colokar a soft

ManaMax=500;//mana para retirar 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;

 

ataca bixos que o ng nao ataca, exemplo: chicken, deer, etc..

 

Const

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

 

agora esse daqui usa pot de health, pot de mana e ainda cura com spell :D, pra usar ele é facil só colocar o item number do health e mana potion e colocar em quanto voce quer que ele cure

 

const

////////// Potion Healing //////////

 

Minimum_Potion_Health = 0

Health_Potion_ID = 239

 

////////////////////////////////////

 

////////// Spell Healing //////////

 

Minimum_Spell_Health = 0

Healing_Spell = 'exana mort'

Mana_Needed = 65

 

Restore_Mana_At = 4000

Mana_Potion_ID = 238

 

////////////////////////////////////

 

 

 

while not Terminated do

begin

UpdateWorld;

if (Self.Health < Minimum_Potion_Health) then Self.Containers.UseItemWithSelf(Health_Potion_ID);

if (Self.Health < Minimum_Spell_Health) and (Self.Mana >= Mana_Needed) then

begin

Self.Say(Healing_Spell);

Sleep(1000);

end;

else if (Self.Mana < Restore_Mana_At) and (Self.Health > Minimum_Potion_Health) then

begin

Self.Containers.UseItemWithSelf(Mana_Potion_ID);

Sleep(1000);

end;

Sleep(100);

end;

 

esse é pra OT server ele troca grana sozinho e já junta

 

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;

 

SD forever, ele segura o target noq voce por e ataca sd

 

Const

RuneD=3155;// rune id number for key Delete.

RuneE=3174; // rune id number for key End.

RunePD=5321;// rune id number for key Page Down.

 

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;

 

procedure Event_KeyDown(Key: integer);

Begin

Case key of

$22:begin

updateworld;

Creature:=GetCreatureByID(LockID);

if Creature <> nil then

Self.Containers.UseItemWithCreature(RunePD, Creature);

end;

$23:begin

updateworld;

Creature:=GetCreatureByID(LockID);

if Creature <> nil then

Self.Containers.UseItemWithCreature(RuneE, Creature);

end;

$2E:begin

updateworld;

Creature:=GetCreatureByID(LockID);

if Creature <> nil then

Self.Containers.UseItemWithCreature(RuneD, Creature);

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;

Creature:=GetCreatureByID(LockID);

if (Creature<>nil) and (Self.attacking=0) then

if Creature.z=self.z then

Creature.attacking:=true;

sleep(100);

end;

end;

 

Ataca sempre o ultimo bixo da tela

 

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;

 

bom por enquanto é so depois posto mais, quando for usar tira as coisas que estao em portugues dentro dos script que só servem pra ajudar voces a nao se confundirem :D, eu sou novo no forum e nao conheço muitos comando usei esse pra diferencia..

Link para o comentário
Compartilhar em outros sites

TREINO COM SLIME O MELHOR

 

const

Spell = 'exura'

Food_Id = 3578; // ID da comida que você tem.

MinMana = 150; // Coloque aqui a mana para começar a comer.

StrongWeaponID = 3295 // A arma para matar o Slime Original.

HealAtHp = 500 // Vida para usar Exura.

PotionAtHp = 100 // Vida para usar Poção.

Potion = 266 // O ID da Poção de Vida que você irá usar.

KillAtHp=200 // Quando estiver com essa vida, você irá matar a Slime Original.

var

StrongWeapon:TItem;

 

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;

 

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;

 

begin

updateworld;

MotherSlime := GetFollowedCreatureID;

while not Terminated do

begin

UpdateWorld;

if self.LogoutBlock=false then self.Logout(false);

if ((Self.Health) <(HealAtHp)) and ((Self.Mana)>(25)) then

Self.Say(Spell)

UpdateWorld;

if ((Self.Health) <(PotionAtHp)) then Self.Containers.UseItemWithSelf(GetItemFromOpenBackpack(Potion));

Sleep(1000);

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) and (Creatures.Creature[x].Z = Self.Z) 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;

else

begin

if self.Health < KillAtHp 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) and (creatures.creature[x].Z = self.Z) then

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

StrongWeapon:= GetItemFromOpenBackpack(StrongWeaponID);

if StrongWeapon <> nil then

StrongWeapon.MoveToBody(Self.RightHand, 0);

Break;

end;

end;

end;

if Self.Mana < MinMana then

begin

UpdateWorld;

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

begin

UpdateWorld;

for item := 0 to Self.Containers.Container[container].Count - 1 do

begin

UpdateWorld;

if Self.Containers.Container[container].Item[item].ID = Food_Id then

Self.Containers.Container[container].Item[item].Use;

end;

end;

end;

end;

Sleep(1000);

end;

end;

Link para o comentário
Compartilhar em outros sites

Script que responde por você quando você não está presente.

 

Código:

** 0 1 "hi|hey|hello|sup|yo|yoo|hiho|huhu|Hi|Hey|Sup|Yo|Yoo|Hiho|Huhu" "hi", "hey", "hello", "Hiho", "Yo :P"

** 0 2 "food|food plz|food?|Food|Food plz|Food Pls|Food Plz?|Got food?|I need food" "no i need too","nope", "no", "nah", "Sorry but i need food too :P"

** 0 1 "botter|Botter|bot|bot?|Bot?|Bot|NG?|BOTTER!|You Botting?" "Dont be stupid"

** 0 2 "reported|botting|cheater|cave bot|Botting|Cave Botter|Reported" "Sure -.- what ever you say", "yes ofcourse...NOT", "whuauhauauhhua"

** 0 1 "What colour are my shoes?" "blue :D", "Dont you even know the colour of your shoes? Its blue :D"

** 0 1 "no kill|mine|no attack|no atk|dont kill them|MINE|No kill|Mine|Oi thats mine|-.- That was my kill|No atk|Dont kill pls" "I need exp man :S", "we all need exp"

** 0 2 "training|Training pls|Skill|i skill|Skill|Skill pls|skill pls" "lol go for it", "xD ok man but i need exp"

** 0 1 "can you rope me up|rope?|rope|Rope pls|Rope me up please|Rope up please" "I need hunting sorry", "sorry leveling atm"

** 0 1 "noob|naab|nabb|nab|noobie|newb|newbie|NOOB|Nab|Noob|-.- Noob|-.- noob" "-.- sure man", "whahauha xD sooo funny"

** 0 1 "br|pl|nl|be|swe|Br?|Pl?|Swe?|Be?" "no"

** 0 1 "oi|hola" "not br", "english plx"

** 0 1 "no|No|NO|No!" "no?"

** 0 1 "lol|:D|rofl|lmao|ftw|wtf|Lol|Rofl|Lmao|FTW|Ftw|Wtf|WTF|" ":D" "rofl" "haha" "lmao"

** 0 1 "skills?|skill|skills|Skills?|Skill?" "look online", "secret"

** 0 1 "can I hunt here?|I am here|Me here|me here" "sorry I need level", "leave please", "leave!"

** 0 2 "What colour does a banana have?|what is the collor of a banana?|What colour is a banana?|What colour can a banana be?" "yellow, sometimes green if to when its very ripe :P why?"

** 0 1 "play fair and safe|Play on|Sorry play on|Carry on" "hehe I will xD"

** 0 2 "what are you doing here?|What are you doing here?" "Hunting :P"

** 0 1 "what colour is the sky?|what is the collor of the sky?|What colour is the sky?|" "blue..."

** 0 1 "leave|leave!|leave plxx|Leave|Leave now|LEAVE!|LEAVE" "I need exp man :S"

** 0 2 "sup?|everything ok?|whats up?|how are you?|Yo sup?|What's up|Whats up|Hows you?|How are you?" "fine but lemme hunt now"

** 0 1 "where you from?|Where are you from?" "secret ^^"

** 0 1 "what level are you?|What level are you?" "lol just look at me :p"

** 0 1 "need mana|mana gaining|Need mana|Mana gaining" "ok :)"

** 0 1 "pk help|pk|pks|pking|PK|Pk|HELP PK|PK HELP ME" "sorry cant help"

** 0 2 "fuck you|FUCK YOU|fu|FU" ":( not nice man"

** 0 1 "what is your vocation?|Voc?|Vocation?" "look at me and you'll see ^^"

** 0 1 "what color does my outfit has?|what is the collor of my outfit?|What colour is my outfit?" "blue :)"

** 0 1 "what you doing?|What are you doing?" "leveling", "hunting"

** 0 1 "key|key please|open door|key for door|Key pls?|Key?|Open door pls" "im loosing exp that way"

** 0 2 "shovel|shovel please|shovel plx|hole|open hole|Shovel pls|open hole pls|" "sorry I need to hunt"

** 0 1 "what colour does the sea have?|What colour is the sea?|What colour can the sea be?" "blue..."

** 0 1 "say: sure -.- you so funny if you bot|You sure your not a botter?" "Im not a botter xD"

** 0 1 "what monsters are you killing?|What monsters are killing?" "are you blind? -.-", "ALL THE MONSTERS HEUHUEHUEUHEU"

** 0 1 "pro|protected|protection|I have pro|Protected|Protection|Pro" "and? So do I..."

** 0 1 "?|?!" "?? what?"

** 0 2 "what?|What?!|What?" "what?"

** 0 1 "whats your problem?|What is your problem?|Whats your problem" "I got no problem"

** 0 1 "wtf|ftw|WTF|FTW" "??"

** 0 1 "me so evil|I am the devil|satan|evul|Evul|Satan" "LOL whuahuahuahu"

** 0 1 "move|walk|gogogo|move!|MOVE|Move now or die|Gogogogo|Walk|Move out the way" "Why? I have time xD"

** 0 1 "stop|STOP|stop plx|stop!|Stop|Oi Stop it|" "-.- I need level!!"

** 0 1 "ban|banned|banishment|banning you|Ban|Banned|Going to ban you" "why man? im not doing anything wrong :S"

** 0 1 "help me|HELP|help!|Help|helping" "no man find other help"

** 0 1 "..I..|..l..|loser|dickhead|butthead|fucker" "I laugh with your face"

** 0 1 "what colour does an apple have?|What colour is apples?|" "In tibia they are red, in rl they can be green, red and some more colours:P"

** 0 1 "what is my name?|What is my name?" "dont you know your own name? xD"

** 0 1 "block|blocked|stuck|trap|trapped|traped|Trapped|Blocked|Haha Blocked|Blocked botter" "lol funny that you trap me :p"

** 0 1 "time|whats the time?|clock?|time?|What is the time?|Time pls" "lol look at the clock -.-"

** 0 1 "answer please|answer me|answer!|ANSWER|Answer me :@|Answer now or dead" "I am, I am, patience :)"

** 0 1 "Ho are you?|how are you?|ho are you?|How are you?" "fine thank you"

** 0 1 "talk to me please|talk to me|talk!|Talk to me please|Talk pls|Talk now" "i no good english"

** 0 1 "fun|pleasure|having fun|funny|Fun|Funny|Having fun?" "tibia big fun!"

** 0 1 "cool|very cool|Cool|COOL|ubercool|kewl|cewl|KEWL" "yes very cool"

** 0 1 "kill|kill them|KILL|kill monsters" "..."

** 0 1 "...|.|.." "..."

** 0 1 "bad|good|Good|Bad" "yeps"

** 0 1 "NG|tibiaauto|blackD|tibiaNG|TibiaBotNG|ng|Tibia bot|Botttttt" "what that?", "wtf u saying?", "???"

** 0 1 "heal|healing please|healplx|HEAL|HEALING|Heal Pls|Heal pls|Heal|Heal plx" "heal yourself...", "go ask someone else"

** 0 1 "hehe|haha|hihi|HEHE|Hehe" "^^"

** 0 1 "friends?|friend|friend?|friends|amigo" "Ill think about it ;]"

** 0 1 "runemaking|runes|rune|RUNEMAKING" "I am runemaking :)", "why?"

** 0 1 "fishing|fishing rod|Fishing|fishing fast|fish fast" "yes I can fish good", "im a fishing owner lol :p"

** 0 1 "typ|typ fast|TYP|fast|Fast typer :D|Very Fast typer" "Yes im really fast", "trained alot on speed", "im one hell of a racemachine"

** 0 1 "nice|very nice|Nice|NICE" "nice! :D"

** 0 1 "what world do you play?|world?|what world is this?|What world is this?" "XXX"

** 0 1 "What is your vocation?|what is your vocation|what is your voc?|whats your vocation?|whats ur vocation?" "XXX and I like it"

** 0 1 "leveling|hunting|skilling|killing monsters|Leaveling|Hunting here|Im here|Me here" "leave I need full exp"

** 0 1 "what is your name?|name?|rl name|your name?|Name?" "LOL it is secret xD"

** 0 1 "good exp?|enough exp?|Is the cave big enough?|cave big?|big cave?|Good exp?|Cave big enough for 2 of us", "trained alot on speed", "im one hell of a racemachine"

** 0 1 "What collor is your hair?|What colour is your hair?" "euhm in rl brown and here..ya can see :p"

** 0 1 "what collor is the gras?|what colour does grass have?|What colour is the grass?" "green :)", "normal grass is green xD"

** 0 1 "how do you talk?|how you talk to people?|How do you talk?" "typ and do enter..."

** 0 1 "what is the name of this game?|name of this game?|How is this game called?|What is this game called?|What game called?" "tibia? :P"

** 0 1 "bye|Bye|cya|Cya|See you later|See ya|see ya|baba|bb|goodbye|Goodbye" "cya :)"

** 0 1 "Auto responder?|Autorespond|Responder?" ":o tibia has that now? wow"

** 0 1 "Think your cool?|think your cool?" "My mum said i was cool =]", "Cooler than you :P"

** 0 1 "Stop killing my stuff" "I was here first", "now its my stuff :D"

Link para o comentário
Compartilhar em outros sites

Treinar com monk

 

Const

StopAt=50;//para de atacar qn tiver com 50% de vida

AttackAt=60;// ataca monk/player com mais de 50% de Life

TrainName=['Monk','FrinedName1','FriendName2'];//vc pode alterar caso nao seja em mundo pvp

var

creature:tcreature;

 

function GetCreatureByNameHPHIGH(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

if Creatures.Creature[x].z=Self.Z then

if Creatures.Creature[x].Health>AttackAt then

begin

Result := Creatures.Creature[x];

Exit;

end;

end;

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 GetAttackedCreature: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].Attacking=true then

begin

Result := Creatures.Creature[x];

Exit;

end;

end;

end;

 

 

begin

 

while not Terminated do

begin

UpdateWorld;

if not attacking then

begin

For x:=low(TrainName) to high(trainName) do

begin

If self.attacking<>0 then break;

Creature:=GetCreatureByNameHPHIGH(TrainName[x]);

if Creature <> nil then

creature.attacking:=true;

sleep(100); updateworld;

end;

end;

if attacking then

begin

Creature:=GetAttackedCreature;

if Creature <> nil then

if creature.Health < StopAt then creature.attacking:=false;

end;

sleep(1000);

end;

end;

Link para o comentário
Compartilhar em outros sites

Maker Enchanted Spear

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;

Link para o comentário
Compartilhar em outros sites

Alertar quando Acabar o Food

Const

FoodID = 1111 // Coloke aki 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;

Link para o comentário
Compartilhar em outros sites

Diagonal Drag

Const

Wanted='Dragon';// whice monster to keep diagnoling

AttackAt = 25

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

 

var

x,Bla:Integer;

Looting: boolean;

 

 

function IsCreatureBesideYou(c: TCreature): boolean;

begin

UpdateWorld;

if (abs(c.X-self.X) <= 1) and (abs(c.Y-self.Y) <= 1) then begin

if c.Z = self.Z then

begin

Result := True;

Exit;

end;

end;

Result := False;

end;

 

 

function GetTileFromXYZ(X, Y, Z: integer): TTile;

begin

Result := nil;

if abs((Self.X - 7) - X) > 14 then Exit;

if abs((Self.Y - 5) - Y) > 11 then Exit;

if Self.Z <> Z then Exit;

Result := Screen.Tile[abs((Self.X - 7) - X), abs((Self.Y - 5) - Y)];

end;

function IsTileWalkable(Tile: TTile): boolean;

begin

Result := True;

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

begin

if Tile.Item[Z].Properties.Hole then

begin

Result := False;

end

else if Tile.Item[Z].Properties.Stairs then

begin

Result := False;

end

else if not Tile.Item[Z].Properties.Walkable then

begin

OutputDebugString('Not Walk: ' + IntToStr(Tile.Item[Z].ID));

Result := False;

end;

else

begin

for x := low(RampsID) to high(RampsID) do

begin

if Tile.Item[Z].ID = RampsID[x] then Result := False;

end;

end;

end;

end;

 

function GetCreatureBesideYou: TCreature;

begin

UpdateWorld;

Result := Nil;

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

begin

UpdateWorld;

if (Creatures.Creature[x].Name=Wanted) then

if IsCreatureBesideYou(Creatures.Creature[x]) then

begin

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

begin

UpdateWorld;

Result := Creatures.Creature[x];

Exit;

end;

end;

end;

end;

var

Moved:boolean;

 

begin

updateworld;

G:=false;

T:=false;

while not terminated do

begin

Bla:=Self.Containers.Count;

updateworld;

Creature:=GetCreatureBesideYou;

if Creature<>nil then

if Creatures.Creature[x].Health>AttackAt then

begin

if (Self.X<>Creature.X) and (Self.Y=Creature.Y) then

begin

Tile:=GetTileFromXYZ(Self.x,Self.y-1,self.z);

if Tile<>nil then

if IsTileWalkable(Tile) then

begin

Self.MoveUp;

Moved:=true;

end;

If (Moved=False) then

begin

Tile:=GetTileFromXYZ(Self.x,Self.y+1,self.z);

if Tile<>nil then

if IsTileWalkable(Tile) then

Self.MoveDown;

end;

end;

Moved:=false;

if (Self.X=Creature.X) and (Self.Y<>Creature.Y) then

begin

Tile:=GetTileFromXYZ(Self.x-1,Self.y,self.z);

if Tile<>nil then

if IsTileWalkable(Tile) then

begin

Self.MoveLeft;

Moved:=true;

end;

If (Moved=False) then

begin

Tile:=GetTileFromXYZ(Self.x+1,Self.y,self.z);

if Tile<>nil then

if IsTileWalkable(Tile) then

Self.MoveRight;

end;

end;

end;

sleep(1000);

end;

end;

Link para o comentário
Compartilhar em outros sites

  • 5 meses 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.