Сьогодні: 04 червня 2025 08:01

Часовий пояс UTC+03:00




Створити нову тему  Відповісти  [ 1 повідомлення ] 
Автор Повідомлення
 Тема повідомлення: Защита от нпц на макросе
ПовідомленняДодано: 18 жовтня 2004 16:41 
Начинающий
Начинающий
Аватар користувача

З нами з: 20 квітня 2001 00:00
Повідомлень: 48
Звідки: Киев
Может чем-то и поможет :)
Код:
Sub Defend
  set %Start_Defend_Position_X #CHARPOSX
  set %Start_Defend_Position_Y #CHARPOSY
  set %Archer_Defend #false
  set %Monster_Type_Attack %Monster_Type
  set %Monster_Type_Attack %Monster_Type_Attack  , %Monster_Type_Archer
moveandattack:
  finditem %Monster_Type_Attack G_15
  If #FindKind = -1
  {
    finditem %Monster_Type_Lesser G_4
    if #FINDKIND = -1
      return
  }
  if #FINDTYPE in IS_HS
  {
    if ( #FINDREP = 1 || #FINDREP = 2 || #FINDREP = 3 || #FINDREP = 7 )
    {
      ignoreitem #FINDID
      goto moveandattack
    }
  }
  set %EnemyID #FINDID
  set %EnemyDist #FINDDIST
  set %EnemyType #FINDTYPE
  set %EnemyX #FINDX
  set %EnemyY #FINDY
  if %Archer_Mode = #true
  {
    if ( %EnemyType in %Monster_Type_Archer && %EnemyDist > 1 )
    {
      set %Archer_Defend #true
    }
  }
  set %Victim %EnemyID
  if  ( %Archer_Defend <> #true && %EnemyDist > 1 )
  {
    gosub movingr %EnemyX %EnemyY 1
  }
defendarcherwear:
  gosub CheckGhost
  if ( %Archer_Defend = #true && %EnemyDist > 1 )
  {
    gosub Check_Archer_Equip
    if %check_result <> 1
    {
      msg $,disarm$
      wait 20
    }
    gosub Equip_Archer
    gosub Check_Archer_Equip
    if %check_result <> 1
      goto defendarcherwear
  }
  if ( %EnemyDist = 1 && %Archer_Defend = #true )
  {
    set %Archer_Defend #false
    finditem %Archer_Weapon_Type C_ , #CHARID
    if #FINDKIND <> -1
    {
      finditem %Archer_Melee_Type C_ , %Backpack_ID
      if #FINDKIND <> -1
      {
        set %Temp #FINDTYPE
        finditem %Archer_Shield_Type C_ , %Backpack_ID
        if #FINDKIND <> -1
        {
          msg $,disarm$
          wait 12
          msg $,equipt Rhand %Temp $
          set %Temp #FINDTYPE
          wait 12
          msg $,equipt Lhand %Temp $
        }
      }
    }
  }
attackvictim:
  set #LTARGETID %victim
  set #ENEMYID %victim
  event macro 27
  set #scnt 7
victimnotdead:
  finditem %victim
  if #FINDKIND = 1
  {
    set %EnemyID #FINDID
    set %EnemyDist #FINDDIST
    set %EnemyType #FINDTYPE
    set %EnemyX #FINDX
    set %EnemyY #FINDY
    gosub CheckDefendDistance %Defend_Distance %Start_Defend_Position_X %Start_Defend_Position_Y
    if %check_dist_defend_result = 0
      return
    if ( #FINDDIST > 1 && %Archer_Defend <> #true )
      goto moveandattack
    for %s 1 3
    {
      scanjournal %s
      if @K1C in #journal
        goto combatended
      if _@K1K_745AL in #journal
        goto combatended
    }
    if %Archer_Defend <> #true
      gosub UseBandages
    else
    {
      gosub UseBandagesArcher
      if %HidingDefHeal = #true
        goto attackvictim
    }
    goto victimnotdead
  }
combatended:
  if %Archer_Defend = #true
  {
    gosub Check_Archer_Equip
    if %check_result = 1
    {
      msg $,disarm$
      wait 10
    }
    gosub Equip_Warrior
    gosub Check_Warrior_Equip
    if %check_result <> 1
      goto combatended
    gosub MovingR %EnemyX %EnemyY 1
  }
  gosub LootEnemies
Return

_________________
В былом - Hawkeye[Rain]


Догори
Показувати повідомлення за:  Сортувати за  
Створити нову тему  Відповісти  [ 1 повідомлення ] 

Часовий пояс UTC+03:00


Хто зараз онлайн

Користувачі, які зараз переглядають цей форум: Немає зареєстрованих користувачів


Ви не можете створювати нові теми у цьому форумі
Ви не можете відповідати на теми у цьому форумі
Ви не можете редагувати ваші повідомлення у цьому форумі
Ви не можете видаляти ваші повідомлення у цьому форумі
Ви не можете додавати файли у цьому форумі

Знайти: