- --------
- 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<Creature.Health then
- begin
- for x := 0 to Creatures.Count - 1 do
- begin
- updateworld;
- if b then break;
- if x >= 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;