-------- ZAKLADANIE RINGA --------- Const Ring_ID = 3049 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.Ring.ID = 0 then begin Ring := GetItemFromOpenBackpack(Ring_ID); if Ring <> nil then Ring.MoveToBody(Self.Ring,0); else Self.Displaytext('The wanted ring wasnt found in backpack!'); end; sleep(100); end; ------------- ANTY PARAL ------------ const minMana = 30; while not Terminated do begin UpdateWorld; if Self.Mana > minMana then begin if Self.Slowed then Self.Say('utani hur'); end; Sleep(300); end; ------------- ATAKUJ NAJPIERW ------------ Const Name=['Elf Arcanist']; // Tu zmieniacie nazwÄ™ potworka SwitchAt=10;// 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) <= 6) and (abs(c.Y-self.Y) <= 6) 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= 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; ------------- AUTO LOGIN ------------ const Account = 'NUMER'; Password = 'HASLO'; Character = 'NICK'; World = 'Spox OTS'; while not Terminated do begin UpdateWorld; if not Self.Connected then begin Self.Login(Account, Password, Character, World); Sleep(7000); if Self.Connected then begin Self.Backpack.Open; end; end; Sleep(100); end; ------------ UTANI GRAN HUR ----------- while not terminated do begin UpdateWorld; if not Self.hasting then begin Self.Say('Utani Gran Hur'); Sleep(2000); end; sleep(100); end; ----------- MANARUNE ----------- const minMana = 9000 // Change this to when you want it to heal. while not terminated do begin UpdateWorld; if Self.Mana < minMana then Self.Containers.UseItemWithSelf(3157); Sleep(500); end; ------------- MANASOWANIE ---------- Const Hmm=3157; // enter the ID of HMM rune. MiniHealth=0;// enter the minimum hp valuse so if your hp is lower then that, //it wont shoot hmm so you wont get exusted and will be able to auto uh. var Creature:TCreature; 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; 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('Joker') or GetCreatureByName(''); if Creature<>nil then begin LOCKID:=Creature.ID; While Creature <> nil do begin If self.Health>MiniHealth then Self.Containers.UseItemWithCreature(Hmm, Creature); Sleep(100); updateworld; Creature:=GetCreatureByID(LOCKID); end; end; Sleep(100); end; end; ---------------- MWALL NA KRATKE ---------------- // Script by Kylu =) Const PoyzcjaX = 1510 PoyzcjaY = 1460 while not terminated do begin UpdateWorld; Self.Containers.UseItemWithGround(3180, PoyzcjaX, PoyzcjaY, Self.Z); sleep(100); end; ----------------- OTWIERANIE DRZWI ----------------- Const X1 = 32319 Y1 = 32253 Var Tile:TTile; 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; while not terminated do begin UpdateWorld; Tile := GetTileFromXYZ(X1,Y1,Self.Z); if Tile <> nil then if tile.count > 1 then if Tile.Item[1].Properties.door then if not tile.item[1].properties.walkable then Tile.Item[1].Use; sleep(1000); end; ------------------------ SD ---------------------- // By Kylu const Czas = 0.1 // Co ile ma walic w potwora z sd (dla otsow 0.1 best) Potwory = ['Ferumbras', 'Demon', 'Warlock', 'Hydra', 'Dragon Lord', 'Hero', 'Black Knight' , 'Giant Spider' , 'Poison Spider'] // Tablica potworow ID_Runy = 3155 // ID Runki Function PlayeronScreen : boolean; var x: integer; begin Result := nil; updateworld; 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].Id = Self.Id then Continue; if Creatures.Creature[x].Npc = False then begin Result := True; Exit; end; end; Result := False; 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].Z <> Self.Z then Continue; if Creatures.Creature[x].Name = Name then begin Result := Creatures.Creature[x]; Exit; end; end; end; procedure Attack(Name:string); begin updateworld; Monster :=GetCreatureByName(Name); If Not PlayeronScreen then begin if monster <> nil then begin Self.Containers.UseItemWithCreature(ID_Runy, Monster); updateworld; end end; end; var Z:integer; i:integer; j:integer; while not terminated do begin Yes := false; UpdateWorld; for i := 0 to creatures.Count - 1 do for j := Low(Potwory) to High(Potwory) do begin if creatures.Creature[i].Z <> Self.Z then Continue; If Creatures.Creature[i].Name = Potwory[j] then begin Yes := true; repeat Attack(Potwory[j]); Sleep(Czas * 1000); UpdateWorld; for g := 0 to creatures.Count -1 do begin if creatures.Creature[g].Z = Self.Z then If Creatures.Creature[g].Name = Potwory[j] then Yes := True else Yes := false; else Yes := false; end; until Yes = false; end; sleep(10); end; Sleep(10); end; ----------------------- UTAMO VITA ------------------ while not terminated do begin UpdateWorld; if not Self.MagicShield then begin Self.Say('Utamo Vita'); Sleep(2000); end; sleep(100); end; ----------------- WRACANIE NA MIEJSCE ------------------ const StandX = 32326; Standy = 31116; StandZ = 7; while not terminated do begin updateworld; if ((StandX <> Self.X) or (StandY <> Self.Y)) then Self.MoveTo(StandX, StandY, StandZ); sleep(500); end; ----------------- ZAKLADANIE RIGNA (NIE POTRZEBNE) ------------------------- Const Ring_ID = 3049 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.Ring.ID = 0 then begin Ring := GetItemFromOpenBackpack(Ring_ID); if Ring <> nil then Ring.MoveToBody(Self.Ring,0); else Self.Displaytext('The wanted ring wasnt found in backpack!'); end; sleep(100); end;