potrzebuje takiego skryptu do ng który jak jakiś inny gracz sie pojawi na ekranie to się wyloguje i po np. 1 minucie z powrotem się zaloguje i będzie nadal np. robił runki
Wersja do druku
potrzebuje takiego skryptu do ng który jak jakiś inny gracz sie pojawi na ekranie to się wyloguje i po np. 1 minucie z powrotem się zaloguje i będzie nadal np. robił runki
podtżebóje skrypta pod ng na auto scereen shotera sword axe distance club mlvl shield
nie testowalem. mozesz zmienic sciezke do folderu, podana jest przykladowa,
Kod:var
Level: integer;
MLevel: integer;
Axe: integer
Fishing: integer
Shielding: integer
begin
UpdateWorld;
Level := Self.Level;
MLevel := Self.Skills.Magic.Level;
Axe := Self.Skills.Axe.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:\level' + IntToStr(Level) + '.bmp');
Level := Self.Level;
end;
if MLevel <> Self.Skills.Magic.Level then
begin
MLevel := Self.Skills.Magic.Level;
ScreenShot('c:\Mlevel' + IntToStr(MLevel) + '.bmp');
MLevel := Self.Skills.Magic.Level;
end;
if Axe <> Self.Skills.Axe.Level then
begin
Axe := Self.Skills.Axe.Level;
ScreenShot('c:\Axe' + IntToStr(Axe) + '.bmp');
Axe := Self.Skills.Axe.Level;
end;
if Fishing <> Self.Skills.Fishing.Level then
begin
Fishing := Self.Skills.Fishing.Level;
ScreenShot('c:\Fishing' + IntToStr(Fishing) + '.bmp');
Fishing := Self.Skills.Fishing.Level;
end;
if Shielding <> Self.Skills.Shielding.Level then
begin
Shielding := Self.Skills.Shielding.Level;
ScreenShot('c:\Shielding' + IntToStr(Shielding) + '.bmp');
Shielding := Self.Skills.Shielding.Level;
end;
Sleep(1000);
end;
end;
Siema
Potrzebuje pilnie skrypta do NG. Jak skilluje to zawsze skilluje z kolegami. Powiedzmy że jeden kolega to np. Adam, drugi to Piotrek, a trzeci to Marek. Chodzi mi o to że jak pojawi się ktoś oprócz moim kolegów Adama, Piotrka i Marka na mapie to mój char daje exita. Skilluje zawsze na monku i już tak ostatnio padłem. Proszę o tego skrypta.
Bot: Blackd
mam 2 postaci, postac X blokuje wejscie na cave (parcel za siebie) postac Y expi w tym cave.
moje pytanie jest takie, czy jest mozliwy taki skrypt, ze jezeli postac X zobaczy jakiegos gracza na ekranie to postac Y da exita ?
mam nadzieje ze zrozumiale. ew jak postac X dostanie obrazenia od gracza.
dziekuje z gory za pomoc.
@down
Wejdz na pierwsza strone posta i przeczytaj regulamin, a nastepnie kliknij edytuj i usun.
[nie zdążył ;/ // pluton]
//
bo wiem, ze pluton gra na azurze i cie podkablowalem.
czytaj pierwszy post to sie dowiesz
Mam w hotkeyach Blackd pod jednym zakładanie arbalesta pod drugim demonki. Jak zrobić żeby w 1 hotkeyu gdy zakładam arbalest rs'y chowały się do bp a pod drugim gdy demonke żeby wracały ?
na zakładanie arbalesta exiva #AB 16 06
demonki exiva #5C 0D 06
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dlaczego otrzymałem za ten post ostrzeżenie ?
Witam.
Mam pytanie, czy da się zrobić takiego scripta , żeby jak gracz pojawi się w liście vipów na zielono , tzn. gdy będzie online , to żeby dzwonił alarm.
Ok. 2 minut szukania.Kod:var
PlayerName: array of string;
PlayerCount,a,Times: integer;
procedure Event_VIPLogOn(ID: integer);
begin
PlayerName:=['Kangaroo;p']; <--tutaj zamiast mojego nicku wpisz name osoby, po której zalogowaniu masz być informowany
PlayerCount:=1; <--po ilu osobach z listy ma być alarm
Times:=1; <--ile razy ma być odtwarzany alarm
a:=0;
for x:=0 to VipList.Count-1 do
begin
if x>=VipList.Count then break
if VipList.VIP[x].ID=ID then
begin
for y:=0 to PlayerCount-1 do
begin
if y>=PlayerCount then break
if VIPList.VIP[x].Name=PlayerName[y] then
begin
while a<Times do
begin
PlaySound('C:\WINDOWS\Media\Notify.wav');
a:=a+1
end;
end;
end;
end;
end;
end;
begin
while not Terminated do
begin
UpdateWorld;
ProcessEvents;
Sleep(500);
end;
end;
Skrypt znaleziony na forums.tibiabot.com
Tylko , że nie działa. ([Error] Untitled(7): Syntax error)
No niestety też nie działa - nic się nie dzieje gdy go włączam. Próbowałem z różnymi nickami i nic. W każdym razie dzięki za pomoc. Napisałem na tibiabot, być może tam znajdą lepszy.
Witam!
Potrzebuje skrypt na Double Healing ze w tym samym momencie lyknie
Ghp i Exana Mort
Tibia Bot NG !
Powinno działać.Kod PHP:const ////////// Potion Healing ////////// Great_Potion_Health = 100 <-- tutaj wpisz ile hp, aby leczyło potionem Great_Health_Potion_ID = 239 //////////////////////////////////// ////////// Spell Healing ////////// Minimum_Spell_Health = 100 <-- tu to samo, co up Healing_Spell = 'exana mort' Mana_Needed = 65 //////////////////////////////////// while not Terminated do begin UpdateWorld; if Self.Health < Great_Potion_Health then Self.Containers.UseItemWithSelf(Great_Health_Potion_ID); Sleep(1000); if (Self.Health < Minimum_Spell_Health) and (Self.Health > Great_Potion_Health) then begin Self.Say(Healing_Spell); Sleep(1000); end; Sleep(100); end;
Poszukuje skrypta/funkcji do TibiaBot ng żeby wżucalo na dp jakiegos goscia na przemian 1gold 1arrows .
z góry dzięki
ja bym chciał skrypta do ng na auto grouping ;s
Dobra to lapcie
1. Skrypt na zucanie smieci na dp
2.Kod://Simple trasher for Tibiabot NG 4.7.4 and higher by Lord of War
//by Arendal
//SCRIPT STARTS HERE
var
x, y : integer;
{
THIS IS EXAMPLE MAP:
(-1, -1) (0, -1) (1, -1)
(-1, 0) (0, 0) (1, 0)
(-1, 1) (0, 1) (1, 1)
(0, 0) is you, fields around you have these positions
}
begin
UpdateWorld;
// YOU HAVE TO SET THESE x AND y
x := 0;
y := -1;
while not terminated do
begin
Self.RightHand.MoveToGround(Self.X + x, Self.Y + y, Self.Z, 1); Sleep(250);
Self.LeftHand.MoveToGround(Self.X + x, Self.Y + y, Self.Z, 1); Sleep(250);
end;
end;
//SCRIPT ENDS HERE
Kod:procedure StackItems;
var
T: array of integer;
x, y, z: integer;
Temp: integer;
begin
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;
begin
while not Terminated do
begin
UpdateWorld;
StackItems;
Sleep(1000);
end;
end;
Ta przeczytaj tam pisze wszystko
to jest tak jak funkcje na matmie ta siatka
y-to jest góra i dol gdzie jak 1 kratke na dol to 1 a gdy na góre to -1
x to jest lewo i prawo gdzie jak 1 kratke w lewo to -1 a jak w prawo 1
kapisz? jak nie to ten skrypt nie jest dla Ciebie !
Edit# w linijce 23/4 ustawiasz x i y
na przemian.. po 1
ok dziala a wlasnie x to w gore dol y to w bok
Potrzebuje skryptu do ng, który wylogowywałby mnie, kiedy psotać wejdzie na fire fielda.
@down
ale w skryptach, można umieścić takie coś jak force logout, co działa tak jak byś dał exita, a więc kickuje cie po minucie~
szukam skryptu do NG żeby automatycznie sam jadł mi food wszelkiego rodzaju który jest w bp.
@ down
Właśnie tak robiłem ale mi nie chciało jeść. Bo skilluje i używam czaru exevo pan. I nie je mi tego jedzenia.
Potrzebny jest mi skrypt do NG na automatyczne zalogowanie po SS, szukałem na wielu stronach, większość nie działa :/
Z Góry dzięki :)
#edit
Działa, ale po zalogowaniu nie atakuje monsterów ;/
Da się coś z tym zrobić?
POtrzebuje skrypta ktory po wbiciu lvla wylogoje mnie z gry i mi kompa wylaczy , jest takie cos?
I takiego zeby leczyl mnie greatem jak mam 600 hp , krotka mowiac mam kraka ng i w self healing nie ma czegos takiego zeby leczyl przez greata.
A chcialbym sie leczyc przez mana training i jak te hp bedzie na 600 to ghp.
Witam, szukam skrypta na Ab trolle obojętnie jakie poziomy byle by był.
Może być pod NG i na TA
Potion:
Logout (x log) nie testowałem:Kod PHP:const Minimum_Potion_Health = 600 Health_Potion_ID = 239 while not Terminated do begin UpdateWorld; if (Self.Health < Minimum_Potion_Health) then begin Self.Containers.UseItemWithSelf(Health_Potion_ID); Sleep(400); end; Sleep(100); end;
Kompa Ci nie wyłączy.Kod PHP:var OldLevel: integer; begin Updateworld; OldLevel:=Self.Level While not terminated do begin UpdateWorld; if Self.Level <> OldLevel then Self.Logout(true); Sleep(1000); end; end;
Wystarczy poszukać.
W załączniku masz podobno jakiś dobry, ale nie testowałem.
Pozdrawiam
Poszukuje skryptu NG, żeby jadł jedzenie, chyba ze jest taka opcja (łowię ryby i chce aby je jadł)
Mam problem, jak łowie ryby w veno. Połowi, połowi i koniec, ryby się tak długo "respią" czy co?
Witam, ustawić jak mam poniżej hp umiem (exura lub healt potion) a jak z mana? (NG)
Funkcja Mana Restore.
Proszę zajrzyj tu zanim napiszesz kolejnego posta.
Pozdrawiam
Potrzebuje scryptu na skille od 40 do 70 ? np. dwarfy na blackd
Potrzebuje Skrypt na minosy senja z lootdropem tzn że loota znosi w jedno miejsce gdzie niema clean floora
Bot ng/blackd proxy
Witam.
Potrzebuję skrypt do OTS:
Gdy mnie kicknie to automatycznie reloga i expi dalej
Gdy zostane zaatakowany przez postać to ucieka mi do wyznaczonego miejsca odczekuje 20 min i wraca na exp.
Z góry thx
Witam.
Potrzebuję skryptu(do ng), który będzie wrzucał kamyki z plecaka do ręki. A gdy brak kamyków to speary. Gdy znowu kamyki wylotuje to spowrotem kamyki ma rzucać. Z góry dzięki.
Szukam skrpytu o rzucanie sd w frosty... tibia bot ng ...
Siema, poterzebuje slrypta na expa na DC(Dark Catedral). Żeby zbierał kase, jadł fooda kiedy trzeba...itp wielkie dzieki.
Przy okazji żeby nie chodzil na tarante...
podacie mi stronke z kad sciagnac najnowszą tibie auto do wer. tibii 8.41 ? z góry dziekuje ;)) !!
ściągłem wersje beta i mi dalej wyskakuje błąd ze to nie jest ten client Tibi.. :// pomocy !! :( prosze o szybką odp. poki jest exp x2 .. !:P
Tibiabot.com
ng jest już i elf blackd nie wiem
Teraz moja prośba potrzebuje skrypt/hot na światło w elf bocie żeby był lighthack lub ciągle utevo vis lux mowil..
W Elfbocie:
Shift + F11
Grayu , ja bym poprosił skrypt na to aby postać wrzucała np. 20 kamieni do prawej ręki gdy jest tam ich np. 10.
Ma Ktoś może skomplikowany scrypt do Ng , że np. Gdy Postać ma poniżej 500many zakłada Ss'a i Zdejmuje je jak postać ma powyżej 5k many ? Coś na takiej zasadzie.
Do Elf Bota mam , lecz pilnie potrzebuje do Ng
Masz chyba to ??Kod:Const
SSA_ID = 3082 // Enter the amulet ID here and it will put it on amulet slot everytime it's empty.
AOL_ID = 3057 // Change the ID of the AOL
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;
SSA := GetItemFromOpenBackpack(SSA_ID);
if SSA <> nil then
begin
UpdateWorld;
if Self.Amulet.ID = 0
then SSA.MoveToBody(Self.Amulet,0);
Sleep(500);
end;
else
begin
SSA := GetItemFromOpenBackpack(AOL_ID);
self.displayText('You Dont have SSA, So I will put AOL, Bye.');
if SSA <> nil then
SSA.MoveToBody(Self.Amulet,0);
else
begin
sleep(1500);
Self.Displaytext('LOL you dont even have aol! xD');
end;
break;
end;
sleep(100);
end;
Teraz mój request chce hota do elfa gdy ktos mnie zatakuje (pk) to on zaczyna go bic
Nie, to nie to -_-
Gdzie Ty tu widzisz miejsce do wpisania many?
@danon
Nie wiem czy będzie działać, bo przerobiłem trochę inny skrypt żeby działał z amuletami, ale spróbuj:
Żeby działało musisz nosić na sobie jakiś inny amulet i wpisać do skryptu jego ID.Kod PHP:Const // SSA // SSAMANA = 500 // ponizej tej many wlozy ssa SSAID = 3082 // Amulet // AmuletMANA = 5000 // powyzej tej many wlozy inny amulet AmuletID = xxxx // wpisz ID jakiegos innego amuletu, ktory masz var Amulet: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; begin while not Terminated do begin updateworld; If (Self.Mana <= SSAMANA) and (Self.Amulet.ID<>AmuletID) then begin Amulet := GetItemFromOpenBackpack(SSAID); if Amulet<>nil then Amulet.MoveToBody(Self.Amulet, 0); else Self.DisplayText('SSA not found in backpack >.<'); end; If (Self.Mana >= AmuletMANA) and (Self.Amulet.ID<>SSAID) then begin Amulet:=GetItemFromOpenBackpack(AmuletID); if Amulet<>nil then Amulet.MoveToBody(Self.Amulet, 0); else Self.DisplayText('Amulet not found in backpack >.<'); end; Sleep(1000); end; end;
Dobry :)
Czy ktoś z Was mógłby mi napisać skrypt do Elfbot NG, który:
Jeżeli ktoś by mógł to napisać - byłbym BARDZO wdzięczny^^
- Idzie w xx miejsce, gdy ma mniej SD niż 100, lub mniej GMP niż 50
- Dodatkowo zakańcza skrypt CaveBota - bo moje waypointy są na różnych piętrach, i nie chcę, żeby SD skończyły się na niewłaściwym piętrze^^
- Na końcu daje xloga.
Pozdrawiam, Visher
Jakiś skrypt, który omijałby ignorowałby danego monstera[w moim wypadku ghosta] i szedł poprostu dalej?
Żeby scrypt działał tak jak w TibiaAuto "Monsters to ignore".
TIBIA BOT NG
Dziękuję z góry.
Podsumując. Gray - świetny użytkownik, niezwykle pomocny. Dziękuję! :*
Kod PHP:Const Ignore='Ghost'; // if the creature is a Ghost, we wont attack it. var x : integer; Looting:boolean; 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 (Creatures.Creature[i].Z = Self.Z) then if (Creatures.Creature[i].NPC = true) then if (Ignore<>Creatures.Creature[i].Name) then begin closest_range := Round(Sqrt(Sqr(Self.X - Creatures.Creature[i].X)) + Sqr(Self.Y - Creatures.Creature[i].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,y : integer; begin updateworld; Bla:=Self.Containers.Count; Looting:=false; while not terminated do begin UpdateWorld; if Self.Containers.Count>Bla then begin D:=Self.Containers.Count; Looting:=true; end; if (Looting=true) then begin updateworld; Z:=self.x; y:=self.y; Self.DisplayText('Looting'); repeat sleep(200); updateworld; until (Z<>Self.x) or (y<>self.y); Looting:=false; Self.DisplayText('Finished looting'); 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;
Któryś z tych dwóch powinien zadziałać.Kod PHP:Const MonsterList = ['Ghost']; //List of monsters to not attack var x : integer; Looting:boolean; 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 IsAttackable(Name: String): Boolean; var x: integer; begin Result := False; for x := Low(MonsterList) to High(MonsterList) do begin if Name = MonsterList[x] then begin Result := True; Break; 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 (Creatures.Creature[i].Z = Self.Z) then if (Creatures.Creature[i].NPC = true) then if (IsAttackable(Creatures.Creature[i].Name) = False) then begin closest_range := Round(Sqrt(Sqr(Self.X - Creatures.Creature[i].X)) + Sqr(Self.Y - Creatures.Creature[i].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,y : integer; begin updateworld; Bla:=Self.Containers.Count; Looting:=false; while not terminated do begin UpdateWorld; if Self.Containers.Count>Bla then begin D:=Self.Containers.Count; Looting:=true; end; if (Looting=true) then begin updateworld; Z:=self.x; y:=self.y; Self.DisplayText('Looting'); repeat sleep(200); updateworld; until (Z<>Self.x) or (y<>self.y); Looting:=false; Self.DisplayText('Finished looting'); 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;
Jeśli oba nie działają, to masz jeszcze to:
W tym skrypcie wpisujesz wszystkie potwory, jakie bot ma atakować i nie zaznaczasz w cavebocie atakowania potworów.Kod PHP:Const MonsterList = ['potworek1', 'potworek2','xxxxx','yyyyyy']; //List of monsters to attack var x : integer; Looting:boolean; 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 IsAttackable(Name: String): Boolean; var x: integer; begin Result := False; for x := Low(MonsterList) to High(MonsterList) do begin if Name = MonsterList[x] then begin Result := True; Break; 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 (Creatures.Creature[i].Z = Self.Z) then if (Creatures.Creature[i].NPC = true) then if (IsAttackable(Creatures.Creature[i].Name) = True) then begin closest_range := Round(Sqrt(Sqr(Self.X - Creatures.Creature[i].X)) + Sqr(Self.Y - Creatures.Creature[i].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,y : integer; begin updateworld; Bla:=Self.Containers.Count; Looting:=false; while not terminated do begin UpdateWorld; if Self.Containers.Count>Bla then begin D:=Self.Containers.Count; Looting:=true; end; if (Looting=true) then begin updateworld; Z:=self.x; y:=self.y; Self.DisplayText('Looting'); repeat sleep(200); updateworld; until (Z<>Self.x) or (y<>self.y); Looting:=false; Self.DisplayText('Finished looting'); 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;