Author Topic: Lineage God  (Read 7264 times)

0 Members and 2 Guests are viewing this topic.

Majestio

  • Зашел в гости
  • *
  • Posts: 8
    • View Profile
    • Сетевой уголок Majestio
Lineage God
« on: December 03, 2012, 12:27:16 AM »
Решил вот по доброте душевной вылить на паблик свое детище :)

Этим скриптом и Кликерманом 4.5 откачано 3 персонажа с 1 по 86 лвл на руофе, пока фрост вусмерть не задолбал. Да и запал немного пропал ... а так ваще ниче, бодрячком.

Скрипт тут:

Code: [Select]
// ====================================================================
//  Супер-cкрипт божественного фарма v.1.947 epsilon
//  Копировать Направо (С) Majestio (majestio@ya.ru)
// 
//  Скрипт для автоматического фарма в игрухе LINEAGE используя
//  замечательный движок Clickermann v.4.5 (http://clickermann.tk)
//
//  Пользуйтесь, если сможете ... скрипт бесплатен!
//  Техподдержка бесплатна только для участников ВОВ и боевых действий
// ====================================================================

// ********************************************************************
// НАСТРОЙКИ Использования:
// ********************************************************************

// Макросы таргета прописываются в ячейках панелей:
// 4-1/12  - бафы
// 3-10-12 - бафы с предварительным выбором таргета (3-8,3-9)
// 3-1/4   - таргеты на монстров монстры
// 3-5     - next target
// 1-1     - атакующий скилл
// 1-8     - обычная атака
// 1-2     - свип
// 1-9     - поднять дроп
// 1-10    - баночка с хилом, или баф хила (см. IsaHeal)

// --------------------------------------------------------------------

$Count     = 1   // Кол-во перебираемых таргетов (макросы на мобов из 3-1/4)
$Sweep     = 0   // Нужен ли свип
$Bow       = 0   // Нужно ли перекидывать лук, если моб х3 где-то вверху
$Skil      = 0   // Бить только скилом (1-1)
$Delay     = 0   // Задержка на респ мобов
$CastDelay = 0   // Задержка между кастами
$Drop      = 0   // Нужно ли подбегать к дропу
$IsaHeal   = 0   // Сперва таргет на себя, потом хил
$Run       = 25  // Количество полу-секунд добежать до монстра и нанести удар
$WaitSkil  = 0   // Ждать каста 1-го скила (секунд, если 0 - не ждать)

// ********************************************************************
// НАСТРОЙКИ Бафа:
// ********************************************************************

$Buf1      = 1200
$Buf2      = 1200
$Buf3      = 1200
$Buf4      = 1200
$Buf5      = 1200      // 1100 карамелька
$Buf6      = 1200      // 75 карамелька
$Buf7      = 1200
$Buf8      = 1200
$Buf9      = 1200
$BufA      = 150
$BufB      = 150
$BufC      = 150
$Har11     = 0
$Har12     = 1200     // 1100 карамелька
$Har13     = 0
$Har21     = 0
$Har22     = 0
$Har23     = 0

// ********************************************************************
// Дальше настроек нет и править только с разрешения Папы Римского!
// ********************************************************************

$Attack     = 0 // Вид атаки
$Target     = 0 // Текущий номер таргета
$Next       = 0 // Нужна ли атака ближайшего?
$TargetOk   = 0 // До цели добежали?

$LastBuff1  = $_time_t
$LastBuff2  = $LastBuff1
$LastBuff3  = $LastBuff1
$LastBuff4  = $LastBuff1
$LastBuff5  = $LastBuff1
$LastBuff6  = $LastBuff1
$LastBuff7  = $LastBuff1
$LastBuff8  = $LastBuff1
$LastBuff9  = $LastBuff1
$LastBuffA  = $LastBuff1
$LastBuffB  = $LastBuff1
$LastBuffC  = $LastBuff1
$LastHarm11 = $LastBuff1
$LastHarm12 = $LastBuff1
$LastHarm13 = $LastBuff1
$LastHarm21 = $LastBuff1
$LastHarm22 = $LastBuff1
$LastHarm23 = $LastBuff1

// ********************************************************************
// Алгоритм
// ********************************************************************
// 1. Выбираем очередной таргет (ближайший, потом по списку)
// 2. Выбираем вид атаки
// 3. Атакуем
// 4. Определяем достижимость (добежали и стукнули)
// 5. Определяем убийство (добили до минимума)
// 6. Свип и дроп
// 7. Прыг в п.1
// ********************************************************************

MOVE(534,68)
WAITMS(500)
LCLICK(534,68)
WAITMS(1000)
LCLICK(534,68)
WAITMS(1000)

GETSCREEN
$Col_1 = PXL(549,54)
$Col_2 = PXL(549,52)
$Col_3 = PXL(54,82)
$Col_4 = PXL(54,84)
$Col_5 = PXL(691,54)
$Col_6 = PXL(691,52)
$Col_7 = PXL(152,72)
$Col_8 = PXL(152,74)
$Col_S = PXL(407,754)

Begin:

// 1. Выбираем очередной таргет

GOSUB(SelectTarget)

// 2. Выбираем вид атаки

GOSUB(SelectAttack)

// 3. Атакуем

GOSUB(Attack)

// 4. Определяем достижимость

GOSUB(AttackOk)

if ($TargetOk = 0)
  GOTO(Begin)
end_if

// 5. Определяем убийство

GOSUB(DeathOk)

// 6. Свип и дроп

GOSUB(SweepDrop)

// 7. По циклу

GOTO(Begin)

// --------------------------------------------------------------
// SUB: SelectTarget - Выбор цели атаки
// --------------------------------------------------------------

sub(SelectTarget)
  $CountPause = 0
  loop1:
  GOSUB(Heal)
  GOSUB(Buff)
  GOSUB(Heal)
  // проверка наличия достижимого ближайшего
  if (($Next=1) & ($TargetOk=0))
    $Next = 0
    MOVE(855,380)
    WAITMS(500)
    RDOWN(855,380)
    MOVE(700,380)
    WAITMS(500)
    MOVE(600,380)
    WAITMS(500)
    MOVE(500,380)
    WAITMS(500)
    MOVE(400,380)
    WAITMS(500)
    RUP(400,380)
    MOVE(245,445)
    WAITMS(500)   
    LCLICK(245,445)
    WAITMS(1500)
    MOVE(550,139)
    WAITMS(500)
    LCLICK(550,139)
    WAITMS(3700)
    MOVE(700,160)
    WAITMS(500)
    LCLICK(700,160)
    WAITMS(3700)
    MOVE(688,39)
    WAITMS(500)
    LCLICK(688,39)
    WAITMS(700)
  end_if
  WAITMS(700)
  MOVE(555,660)
  WAITMS(500)
  LCLICK(555,660)
  WAITMS(800)
  GETSCREEN
  if( (PXL(549,54)=$Col_1) & (PXL(549,52)=$Col_2))
    $Next = 1
    GOTO(ret1)
  end_if
  // проверка следующего ------------------------------------------------------
  proc1:
  WAITMS($Delay+10) // проверка задержки на респ 
  INC($CountPause)
  if ($CountPause>10)
    $CountPause = 0
    WAITMS(1500)
  end_if

  INC($Target)
  if($Target>$Count)
    $Target = 1
  end_if
  $x = 400+($Target-1)*36
  MOVE($x,660)
  WAITMS(500)
  LCLICK($x,660)
  WAITMS(800)
  GETSCREEN
  if( (PXL(549,54)!$Col_1) | (PXL(549,52)!$Col_2))
    GOTO(loop1)
  end_if
  ret1:
end_sub

// --------------------------------------------------------------
// SUB : SelectAttack - Определение режима атаки
// --------------------------------------------------------------

sub(SelectAttack)
  $Attack = 0
  GETSCREEN
  if( (PXL(54,82)=$Col_3) & (PXL(54,84)=$Col_4))
    $Attack = 1
  end_if
end_sub

// --------------------------------------------------------------
// SUB: Attack - Выбор режима атаки и атака
// --------------------------------------------------------------

sub(Attack)
  if (($Attack = 1) | ($Skil = 1))
    $Attack = 0
    MOVE(400,748)
    WAITMS(200)
    LCLICK(400,748)
    WAITMS(300)
    GOSUB(WaitAttack)
  else
    MOVE(664,748)
    WAITMS(200)
    LCLICK(664,748)
    WAITMS(300)
  end_if
  if ($CastDelay > 0)
    WAITMS(($CastDelay+1)*1000)
  end_if
end_sub

// --------------------------------------------------------------
// SUB: AttackОк - Проверка первой атаки, прошла или нет
// --------------------------------------------------------------

sub(AttackOk)
  $TargetOk = 0
  $Cnt = $Run
  GOSUB(Heal)
  loop2:
  if ($Cnt<1)
    GOTO(ret2)
  end_if
  GETSCREEN
  if( (PXL(691,54)!$Col_5) | (PXL(691,52)!$Col_6))
    $TargetOk = 1
    GOTO(ret2)
  else
    WAITMS(500)
    $Cnt = $Cnt - 1
    if ($Bow = 1)
      if ($Cnt=5)
        MOVE(436,704) // включили лук
        WAITMS(500)
        LCLICK(436,704)
        WAITMS(500)
        MOVE(664,748) // атаковали из лука
        WAITMS(500)
        LCLICK(664,748)
        WAITMS(2000)
        MOVE(400,704) // включили оружие
        WAITMS(500)
        LCLICK(400,704)
        WAITMS(500)
        MOVE(400,748) // атака1
        WAITMS(500)
        LCLICK(400,748)
        WAITMS(500)
      end_if
    end_if
    GOSUB(Attack)
    GOTO(loop2)
  end_if
  ret2:
end_sub

// --------------------------------------------------------------
// SUB: DeathОк - Определяем убийство монстра + 1сек
// --------------------------------------------------------------

sub(DeathOk)
  $CntDeath = 0
  loop3:
  GOSUB(Attack)
  GETSCREEN
  if( (PXL(549,54)!$Col_1) | (PXL(549,52)!$Col_2))
    WAITMS(500)
    GOSUB(Attack)
    GOTO(ret3)
  else
    WAITMS(500)
    INC($CntDeath)
    if ($CntDeath>30)
      GOTO(ret3)
    end_if
    GOTO(loop3)
  end_if
  ret3:
end_sub

// --------------------------------------------------------------
// SUB: SweepDrop - Свип и дроп с монстров
// --------------------------------------------------------------

sub(SweepDrop)
  if ($Drop = 1)
    MOVE(664,748)
    WAITMS(500)
    LCLICK(664,748)
    WAITMS(3000)
  end_if
  if ($Sweep = 1)
    MOVE(436,748)
    WAITMS(500)
    LCLICK(436,748)
    WAITMS(500)
  end_if
  MOVE(711,748)
  WAITMS(100)
  LCLICK(711,748)
  WAITMS(400)
  LCLICK(711,748)
  WAITMS(400)
  LCLICK(711,748)
  WAITMS(400)
  LCLICK(711,748)
  WAITMS(400)
  WAITMS(400)
  LCLICK(711,748)
  WAITMS(400)
  LCLICK(711,748)
  WAITMS(400)
  LCLICK(711,748)
  WAITMS(400)
end_sub

sub(Heal)
  GETSCREEN
  if( (PXL(152,72)!$Col_7) | (PXL(152,74)!$Col_8))
    if ($IsaHeal = 1)
      MOVE(47,41)
      WAITMS(500)
      LCLICK(47,41)
      WAITMS(500)
    end_if
    MOVE(750,750)
    WAITMS(500)
    LCLICK(750,750)
    WAITMS(500)
    if ($IsaHeal = 1)
      MOVE(558,662)
      WAITMS(500)
      LCLICK(558,662)
      WAITMS(500)
    end_if
  end_if
end_sub

sub(Buff)
  $Flag = 0 
  if ($Buf1 > 0)
    if (($_time_t - $LastBuff1) > $Buf1)
      $LastBuff1 = $_time_t
      MOVE(404,615)
      WAITMS(100)
      LCLICK(404,615)
      WAITMS(700)
      $Flag = 1
    end_if
  end_if
  if ($Buf2 > 0)
    if (($_time_t - $LastBuff2) > $Buf2)
      $LastBuff2 = $_time_t
      MOVE(440,615)
      WAITMS(100)
      LCLICK(440,615)
      WAITMS(700)
      $Flag = 1
    end_if
  end_if
  if ($Buf3 > 0)
    if (($_time_t - $LastBuff3) > $Buf3)
      $LastBuff3 = $_time_t
      MOVE(476,615)
      WAITMS(100)
      LCLICK(476,615)
      WAITMS(700)
      $Flag = 1
    end_if
  end_if
  if ($Buf4 > 0)
    if (($_time_t - $LastBuff4) > $Buf4)
      $LastBuff4 = $_time_t
      MOVE(512,615)
      WAITMS(100)
      LCLICK(512,615)
      WAITMS(700)
      $Flag = 1
    end_if
  end_if
  if ($Buf5 > 0)
    if (($_time_t - $LastBuff5) > $Buf5)
      $LastBuff5 = $_time_t
      MOVE(557,615)
      WAITMS(100)
      LCLICK(557,615)
      WAITMS(700)
      $Flag = 1
    end_if
  end_if
  if ($Buf6 > 0)
    if (($_time_t - $LastBuff6) > $Buf6)
      $LastBuff6 = $_time_t
      MOVE(592,615)
      WAITMS(100)
      LCLICK(592,615)
      WAITMS(700)
      $Flag = 1
    end_if
  end_if
  if ($Buf7 > 0)
    if (($_time_t - $LastBuff7) > $Buf7)
      $LastBuff7 = $_time_t
      MOVE(632,615)
      WAITMS(100)
      LCLICK(632,615)
      WAITMS(700)
      $Flag = 1
    end_if
  end_if
  if ($Buf8 > 0)
    if (($_time_t - $LastBuff8) > $Buf8)
      $LastBuff8 = $_time_t
      MOVE(670,615)
      WAITMS(100)
      LCLICK(670,615)
      WAITMS(700)
      $Flag = 1
    end_if
  end_if
  if ($Buf9 > 0)
    if (($_time_t - $LastBuff9) > $Buf9)
      $LastBuff9 = $_time_t
      MOVE(710,615)
      WAITMS(100)
      LCLICK(710,615)
      WAITMS(700)
      $Flag = 1
    end_if
  end_if
  if ($BufA > 0)
    if (($_time_t - $LastBuffA) > $BufA)
      $LastBuffA = $_time_t
      MOVE(751,615)
      WAITMS(100)
      LCLICK(751,615)
      WAITMS(700)
      $Flag = 1
    end_if
  end_if
  if ($BufB > 0)
    if (($_time_t - $LastBuffB) > $BufB)
      $LastBuffB = $_time_t
      MOVE(785,615)
      WAITMS(100)
      LCLICK(785,615)
      WAITMS(700)
      $Flag = 1
    end_if
  end_if
  if ($BufC > 0)
    if (($_time_t - $LastBuffC) > $BufC)
      $LastBuffC = $_time_t
      MOVE(823,615)
      WAITMS(100)
      LCLICK(823,615)
      WAITMS(700)
      $Flag = 1
    end_if
  end_if
  if ($Har11 > 0)     
    if (($_time_t - $LastHarm11) > $Har11)
      $LastHarm11 = $_time_t
      MOVE(670,658)
      WAITMS(100)
      LCLICK(670,658)
      WAITMS(500)
      MOVE(751,658)
      WAITMS(100)
      LCLICK(751,658)
      WAITMS(700)
      $Flag = 1
    end_if
  end_if
  if ($Har12 > 0)     
    if (($_time_t - $LastHarm12) > $Har12)
      $LastHarm12 = $_time_t
      MOVE(670,658)
      WAITMS(100)
      LCLICK(670,658)
      WAITMS(500)
      MOVE(785,658)
      WAITMS(100)
      LCLICK(785,658)
      WAITMS(700)
      $Flag = 1
    end_if
  end_if
  if ($Har13 > 0)     
    if (($_time_t - $LastHarm13) > $Har13)
      $LastHarm13 = $_time_t
      MOVE(670,658)
      WAITMS(100)
      LCLICK(670,658)
      WAITMS(500)
      MOVE(823,658)
      WAITMS(100)
      LCLICK(823,658)
      WAITMS(700)
      $Flag = 1
    end_if
  end_if
  if ($Har21 > 0)     
    if (($_time_t - $LastHarm21) > $Har21)
      $LastHarm21 = $_time_t
      MOVE(710,658)
      WAITMS(100)
      LCLICK(710,658)
      WAITMS(500)
      MOVE(751,658)
      WAITMS(100)
      LCLICK(751,658)
      WAITMS(700)
      $Flag = 1
    end_if
  end_if
  if ($Har22 > 0)     
    if (($_time_t - $LastHarm22) > $Har22)
      $LastHarm22 = $_time_t
      MOVE(710,658)
      WAITMS(100)
      LCLICK(710,658)
      WAITMS(500)
      MOVE(785,658)
      WAITMS(100)
      LCLICK(785,658)
      WAITMS(700)
      $Flag = 1
    end_if
  end_if
  if ($Har23 > 0)     
    if (($_time_t - $LastHarm23) > $Har23)
      $LastHarm23 = $_time_t
      MOVE(710,658)
      WAITMS(100)
      LCLICK(710,658)
      WAITMS(500)
      MOVE(823,658)
      WAITMS(100)
      LCLICK(823,658)
      WAITMS(700)
      $Flag = 1
    end_if
  end_if
  if ($Flag = 1)
    WAITMS(700)
    MOVE(555,660)
    WAITMS(500)
    LCLICK(555,660)
    WAITMS(800)
  end_if
end_sub

sub(WaitAttack)
  if ($WaitSkil > 0)
    $CntWait = 0
    loopwait: 
    GETSCREEN
    LOGWRITE(PXL(407,754))
    if(PXL(407,754) = $Col_S)
      WAITMS(10)
      INC($CntWait)
      if ($CntWait < $WaitSkil*100)
        GOTO(loopwait)
      end_if
    end_if   
  end_if
end_sub

Хорошо подходит для:

  • Спойла
  • Файтеров с бафами "наставника"
  • Шаманчиков на дрэйнах
  • Иса соло

В скрипте написал и тут повторюсь - бесплатной техподдержки не оказываю. Прежде чем запускать, разберитесь с настройками и геометрией игрового окна, расположением панелей и индикаторов здоровья персонажа и таргета. Читайте скрипт и осознавайте что он делает, и будет вам Благодать Божыя  ;D

ЗЫ: За подпрограмму Buff ногами не бить - знаю что криво, но работает норм. Инфа 100%
Мои программные ништяки = https://majestio.info