Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7

Сбор перьев.

Only working scripts
Post Reply
nepopus
Novice
Novice
Posts: 121
Joined: 29.02.2012 23:45
Location: Москва
Contact:

Сбор перьев.

Post by nepopus »

Проверял на ДРВ.
Скрипт на скорую руку, но работает.

Code: Select all

Program killbird;

const
  chestID = $4018D2CE; // Сундук для складывания.
  buyBird = true; // true - покупать птичек у вендора и резать их. false - искать птичек вокруг.

  vendorID = $0003773C; // ИД вендора для скупки птиц.
  corpseType = $2006;
  featherType = $1BD1;
  shopBirdType = $211D;
  runebooktype = $0EFA;
  runebookcolor = $0510;

var
  birdType: array of word;
  d: integer;
  corpseID: cardinal;
  i: integer;

procedure init;

  begin
    if buyBird then begin
      setlength(birdType, 1);
      birdType[0] := $0005;

      finddistance := 10;
    end else begin
      setlength(birdType, 1);
      birdType[0] := $0006;

      finddistance := 30;
    end;

    setarstatus(true);
    setpausescriptondisconnectstatus(true);

    moveopendoor := true;
    movethroughnpc := dex;

    setrunmounttimer(100);
    setwalkmounttimer(200);
    setrununmounttimer(200);
    setwalkunmounttimer(400);

    setautobuydelay(3);
    autobuy(shopBirdType, $0000, 1);
  end;

function kill: boolean;

  begin
    result := false;
    for i := 0 to high(birdType) do
      if findtype(birdType[i], ground) > 0 then begin
        while gethp(finditem) > 0 do begin

          newmovexy(getx(finditem), gety(finditem),  false, 1, false);
          attack(finditem);
          wait(1000);

        end;
        result := true;
        exit;
      end;

  end;

procedure recall(g: integer);

  var
    cx, cy: word;
    recTime: tdatetime;

  begin
    repeat
      cx := getx(self);
      cy := gety(self);

      useobject(backpack);
      checklag(70000);
      wait(200);

      while isgump do
        closesimplegump(getgumpscount-1);

      repeat
        recTime := now;
        usetype(runebooktype, runebookcolor);
        checklag(70000);
        wait(200);
      until numgumpbutton(getgumpscount-1, g) OR (recTime+(1.0/(24*60*30)) < now);

      repeat
        wait(200);
      until ((cx <> getx(self)) AND (cy <> gety(self)) OR (recTime+(1.0/(24*60*5)) < now));
    until (cx <> getx(self)) AND (cy <> gety(self));
  end;

procedure unload;

  begin
    while NOT newmovexy(getx(chestID), gety(chestID), false, 1, false) do
      wait(1000);

    while findtype(featherType, backpack) > 0 do begin
      moveitem(finditem, 0, chestID, 0, 0, 0);
      checklag(70000);
      wait(500);
    end;
  end;

begin
  init;
  while NOT dead do begin

    if weight > str*2 then begin
      recall(21);
      unload;
      recall(33);
    end;

    if findtype(corpseType, ground) > 0 then begin
      newmovexy(getx(finditem), gety(finditem),  false, 1, false);
      d := getdistance(finditem);

      if (d >= 0) AND (d <= 1) then begin
        corpseID := finditem;

        useobject(corpseID);
        checklag(70000);
        wait(500);

        waittargetobject(corpseID);
        useobject(objatlayer(rhandlayer));
        wait(500);

        if findtype(featherType, finditem) > 0 then begin
          moveitem(finditem, 0, backpack, 0, 0, 0);
          checklag(70000);
          wait(500);

          useobject(backpack);
          checklag(70000);
          wait(500);
          findtype(featherType, backpack);
          addtosystemjournal('У меня ' + inttostr(findfullquantity) + ' перьев.');
        end;

        ignore(corpseID);
      end;
      continue;
    end;

    if kill then
      continue;

    if buyBird then begin
      newmovexy(getx(vendorID), gety(vendorID),  false, 1, false);
      d := getdistance(vendorID);

      if (d >= 0) AND (d <= 1) then begin
        wait(30000);
        uosay(getname(vendorID) + ' buy guards');
        checklag(70000);
        wait(5000);
      end;
    end;
  end;
end.
1ая руна в рунбуке домой, 2ая к вендору/к полю с птичками.
<( o_O<) <( O_O )> (>O_o )>
fank
Posts: 4
Joined: 04.11.2012 12:48

Re: Сбор перьев.

Post by fank »

А как сделать чтобы он летел и скидывал перья дома ?
На ZHR он не хочет улетать :P
nepopus
Novice
Novice
Posts: 121
Joined: 29.02.2012 23:45
Location: Москва
Contact:

Re: Сбор перьев.

Post by nepopus »

fank wrote:А как сделать чтобы он летел и скидывал перья дома ?
На ZHR он не хочет улетать :P
Значит что-то не так с рунбуками.
Может тип другой. Попробуй на нее ,info сделай и сверь.
Может вообще принцип использования другой. Тогда сложнее : )
<( o_O<) <( O_O )> (>O_o )>
Post Reply