Autor Wiadomość
jabol123
PostWysłany: Czw 21:20, 05 Mar 2009    Temat postu: wrzucanie spearow, kamykow z bp do reki

Prosil ktos o ten skrypt wiec wstawiam

musisz ustawic zeby lootowal speary dp BP i skrypt wrzuca je na prawa reke ;D

ID spera to :
Spear, 3277


Kod:

const
  WeaponID = 3285
  SpearID = 1781    <<<(to ID kamienia )  wpisz ID speara
  SpearOz = 20
  SpearAmount = 3

Procedure PickUpSpears(Spears: TItem);
begin
  if (Self.Capacity <= (Spears.Amount * SpearOz)) then
  begin
    if (Self.Capacity/SpearOz) > 1 then
      Spears.MoveToContainer(Self.Containers.Container[0], 0, Int(Self.Capacity/SpearOz));
  end else Spears.MoveToContainer(Self.Containers.Container[0], 0, 0);
  Sleep(500);
end;

Function GetItemFromOpenBackpack(ID, Index: 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;
    if x = Index then Continue;
    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 CountItemAmountFromOpenBackpack(ID: integer): integer;
var
  x: integer;
  y: integer;
begin
  Result := 0;
  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 := Result + Self.Containers.Container[x].Item[y].Amount;
      end;
    end;
  end;
end;


while not terminated do
begin
  UpdateWorld;
  Weapon := GetItemFromOpenBackpack(WeaponID, Self.Containers.Count);
  if Weapon <> nil then Weapon.MoveToBody(Self.Arrow, 0);
  Spear := GetItemFromOpenBackpack(SpearID, 0);
  if Spear <> nil then Spear.MoveToContainer(Self.Containers.Container[0], 0, 0);
  if (Self.RightHand.ID = SpearID) then
  begin
    if (Self.RightHand.Amount < 90) then
    begin
      Spear := GetItemFromOpenBackpack(SpearID, Self.Containers.Count);
      if Spear <> nil then Spear.MoveToBody(Self.RightHand, 0);
    end;
  end else begin
    SpearCount := CountItemAmountFromOpenBackpack(SpearID);
    if SpearCount >= SpearAmount then
    begin
      Self.RightHand.MoveToBody(Self.Arrow, 0);
      Sleep(500);
      Spear := GetItemFromOpenBackpack(SpearID, Self.Containers.Count);
      if Spear <> nil then Spear.MoveToBody(Self.RightHand, 0);
    end else if Self.RightHand.ID = 0 then Self.Arrow.MoveToBody(Self.RightHand, 0);
  end;
  Sleep(500);
end;

Powered by phpBB © 2001, 2005 phpBB Group