What's new

- TibiaBot NG [NG] Skrypt, zmiana atakowanego potwora, gdy ma x hp

Status
Not open for further replies.

Rock

Advanced User
Joined
Apr 12, 2009
Messages
241
Reaction score
33
Age
30
Szukam skryptu do ng, by zmienia? atakowanego potwora gdy ten ma x hp.
 

Marcinoos66

Senior User
Joined
Dec 18, 2008
Messages
1,196
Reaction score
99
Odp: [NG] Skrypt, zmiana atakowanego potwora, gdy ma x hp

Prosz?, tutaj skrypt, poustawiaj sobie jak chcesz.

PHP:
Const
Name=['Dwarf Guard', 'Dwarf Soldier'];
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;
 
Status
Not open for further replies.
Top