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

Autolumber - ламбер с автопоиском деревьев

Only working scripts
olimpik
Neophyte
Neophyte
Posts: 26
Joined: 07.11.2016 13:34

Re: Autolumber - ламбер с автопоиском деревьев

Post by olimpik »

Vitalius wrote:
drabadan wrote: шард? а он вообще ходит? а деревьев сколько собирает?
шард ZHR
Он сначала обходит все точки, собирает координаты деревьев (получается 40+). Потом идёт к первому, вырубает его полностью. Дальше, как я понимаю, он начинает перебирать остальные деревья, стоя на месте и пишет, что они далеко. После того как переберет все, снова рубит первое.
ты можешь кусок скрипта где он должен идти выложить? что бы посмотреть и если что поправить эту часть?
Vitalius
Posts: 5
Joined: 12.12.2016 18:51

Re: Autolumber - ламбер с автопоиском деревьев

Post by Vitalius »

olimpik wrote:ты можешь кусок скрипта где он должен идти выложить? что бы посмотреть и если что поправить эту часть?

Code: Select all

// Рубим дерево (Edred)
function LumbCurTree(tile,x,y,z : Integer) : Boolean;
  // рубим указанный тайл. Возвращаем false если перевес или чар мертв.
  var
  q, m1, m2, m3, m4, m5, m6, m7, m8, CountFizzle, NextTree : integer;
 
  begin
   UseSkill('Arms Lore');  
   waittargetobject(findtype($0F51,backpack));
   Hungry(1,backpack);
   wait(000)
    
    Result := true;
    CountFizzle := 0;
    repeat
      if WarMode = true then SetWarMode(false);
      if TargetPresent then CancelTarget;
      ctime := Now;
      if (ObjAtLayer(LHandLayer) = 0) then
equipt(LHandLayer,Hatchet1);
wait(250);
      if Dead then begin Result := false; exit; end;
      if UseType(Hatchet1,$FFFF) = 0 then
        begin
          if UseType(Hatchet2,$FFFF) = 0 then
            begin
              Result := false;
              exit;
            end;
        end;
      WaitForTarget(500);
      If TargetPresent then TargetToTile(tile, x, y, z);
      q := 0;
      repeat
        wait(100);
        q := q + 1;
        checksave;
        m1 := InJournalBetweenTimes(Msg1, ctime, Now);
        m2 := InJournalBetweenTimes(Msg2, ctime, Now);
        m3 := InJournalBetweenTimes(Msg3, ctime, Now);
        m4 := InJournalBetweenTimes(Msg4, ctime, Now);
        m5 := InJournalBetweenTimes(Msg5, ctime, Now);
        m6 := InJournalBetweenTimes(Msg6, ctime, Now);
        m7 := InJournalBetweenTimes(Msg7, ctime, Now);
        m8 := InJournalBetweenTimes(Msg8, ctime, Now);
      until (m1<>-1) or (m2<>-1) or (m3<>-1) or (m4<>-1) or (m5<>-1) or (m6<>-1) or (m7<>-1) or (m8<>-1) or Dead or (q > 150);
      if (m2<>-1) or (m3<>-1) or (m4<>-1) then CountFizzle := CountFizzle + 1;
      if Dead or (Weight > MyMaxWeight) then begin Result := false; exit; end;
      if (q > 150) then NextTree := NextTree + 1;
    until (m5<>-1) OR (m6<>-1) OR (m7<>-1) OR (m8<>-1) OR (CountFizzle = 10) OR (NextTree > 3);
    if NextTree >= 3 then NextTree := 0;
  end;
 
       
// Главная функция       
Begin   
  InitTTilesArray;
  InitCTilesArray;
  InitSystem;
  InitReg;
  MarkTrees;
 
  repeat
    for i:= 0 to Length(ChopTilesArray) - 1 do
      begin
        NewMoveXY(ChopTilesArray[i].x, ChopTilesArray[i].y, false, 1, false);
        if not LumbCurTree(ChopTilesArray[i].tile, ChopTilesArray[i].x, ChopTilesArray[i].y, ChopTilesArray[i].z) then UnloadOrDead;
      end;
  until Dead;
End.SetGlobal
Оно?
edur0x
Posts: 9
Joined: 24.12.2013 7:51

Re: Autolumber - ламбер с автопоиском деревьев

Post by edur0x »

I need help to fix this script for this new Lumberjacking 2.0

http://www.dailymotion.com/video/x2vztu ... videogames
Vitalius
Posts: 5
Joined: 12.12.2016 18:51

Re: Autolumber - ламбер с автопоиском деревьев

Post by Vitalius »

Ребят, как лечится проблема когда перс пытается рубить деревья с тайла около сундука? То есть он подходит к сундуку, набирает топоры и никуда не идет, а пытается рубить деревье с этого тайла.
Unum
Posts: 1
Joined: 12.03.2019 8:56

Re: Autolumber - ламбер с автопоиском деревьев

Post by Unum »

Cпасибо большое за скрипт.
Очень простой в освоении... для новичков всё доступно, а главное рубит без запинок.

Скажу сразу, в плане написания скриптов я, полный колхозник.

Решил попробовать заменить тайлы дерева на тайлы камней... принцип тот же, ходим по лесу, ищем горочки, камушки и начинаем копать.
Заменил топоры на кирки, тайлы, системные сообщения... запускаю скрипт, он начинает ходить по заданным точкам, в конце обхода точек, выдаёт ошибку насчёт координат, а во время подсчёта найденных тайлов только нули, дубликаты тоже по нолям.
Играю на сфере, тайлы камней дефолтные, вписывал их через _infotile (координаты и сундуки всё изменил)

Надеюсь остались ещё добрые люди, кто сможет помочь... подсказать.
Скрипт понравился, что не надо рельсу писать под каждое дерево. Теперь думаю, как изменить скрипт с Автолумбера на Автомининг.
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Autolumber - ламбер с автопоиском деревьев

Post by Vizit0r »

ошибку в студию
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
kraft
Posts: 3
Joined: 09.12.2019 9:35

Re: Autolumber - ламбер с автопоиском деревьев

Post by kraft »

Несколько раз вопрос поднимался по поводу хайда перед рубкой - никто так и не ответил.
Ап!
Как добавить хайд перед рубкой деревьев?
Спасибо!
Post Reply