- TibiaBotting http://www.tibiabotting.pun.pl/index.php - Skrypty http://www.tibiabotting.pun.pl/viewforum.php?id=16 - Slime Trainer http://www.tibiabotting.pun.pl/viewtopic.php?id=54 |
Masterix - 2010-09-22 19:11:30 |
Slime Trainer Kod:const Spell = 'exura' Food_Id = 3582; MinMana = 78; StrongWeaponID = 3317; HealAtHp = 315; UhAtHp = 100; ITEM_RUNE_UH = 316; KillAtHp=100; 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) <(UhAtHp)) then Self.Containers.UseItemWithSelf(GetItemFromOpenBackpack(ITEM_RUNE_UH)); 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; Powinno wyglądać to tak: Kod:Spell = 'exura' Czar jaki ma bot wpisywać Kod:Food_Id = 3582; Numer ID jedzenia Kod:MinMana = 78; Minimalna ilość many do użyć Kod:StrongWeaponID = 3317; Numer ID mocniejszej broni Kod:HealAtHp = 315; Ilość hp do użycia czaru Kod:UhAtHp = 150; Ilość Hp do użycia UH'a Kod:ITEM_RUNE_UH = 316; Numer ID runy UH, oczywiście możemy to edytować na każdy pot itp. Kod:KillAtHp=100; Przy tej ilości Hp bot zabija matkę. |