Суббота, 25.01.2025, 02:45 Приветствую Вас Гость


Ultima-Online (AoP)

Главная | Регистрация | Вход | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Спаринг(прокачка варов)
imbaqДата: Пятница, 14.03.2008, 03:43 | Сообщение # 1
Admin
Группа: Администраторы
Сообщений: 52
Репутация: 1
Статус: Offline
Про макрос:
Макрос автоматически запоминает всё, что одето на чаре во время начала спаринга, и если что-то ломается - ищет в сумке(%equipBag), которую вы укажите. Если в паке заканчиваются бинты - он берёт их из сумки (%equipBag). Если их не осталось и в сумке - чар отходит и макрос останавливается.
Если стамина меньше 2 - чар отходит и пьёт ТР. Если нету ТР в паке - берёт из сумки(%equipBag). Если нету и в сумке, ждёт некоторое время для восстановления части стамины - и возвращается в спаринг.
Настройка макроса:

set %healWho lt ;; self or lt (lasttarget)
set %way E ;; E(east) S(south) W(west) N(north)
set %critHP 40 ;; number of hitpoints when to move back
set %healTo 120 ;; number of hitpoints when to move to opponent
set %equipBag WZONOUE ;; bag with equipment
set %time 18 ;; time to wait before next heal

Это все переменные, которые вы должны настроить под определённого чара.
Краткое объяснение на русском:
%healWho - указываете кого лечить во время спаринга: себя или противника.(self or lt) При лечении противника - до макроса нужно сделать его последней целью
%way - сторона света, в которую чар будет отходить при критическом кол-ве жизни, или при заканчивающейся стамине, или когда закончаться бинты.
%critHP - кол-во ХП когда чар отходит и отхиливается до определённого кол-ва жизней - %healTo
%equipBag - сюда вставте ИзиУошное АйДи сумки с армором, щитами, оружием, ГХ, бинтами.
%time - промежуток времени между лечением. Указывать одно число без милисекунд и без буквы s

;============Training Macro by Arkvil v.1.02================
;tested on EasyUO 1.5 - Test Verion 39
;Client 3.0.0c injection&newMap patch
;shard - AoP

InitEvents
set %healWho lt ;; self or lt (lasttarget)
set %way E ;; E(east) S(south) W(west) N(north)
set %critHP 40 ;; number of hitpoints when to move back
set %healTo 120 ;; number of hitpoints when to move to opponent
set %equipBag WZONOUE ;; bag with equipment
set %time 18 ;; time to wait before next heal
goSub cordinates
goSub setArmour
goSub prepare
wait 1s
msg ,useobject %equipBag $
enemyset:
if #enemyid = N/A
{
wait 500ms
goto enemyset
}
set %enemy #EnemyID
set #LTargetID %enemy
goto mainPro

mainPro:
msg ,attack %enemy $
wait 1s
msg 'pc heal %healWho $
set #SCNT 0
wait 1s
if #hits < %critHP
{
move %x %y %mainz
goSub heal
move %mainx %mainy %mainz
goto mainPro
}
if #stamina < 2
{
move %x %y %mainz
FindItem ZUF C_ , %backP
if #findKind = -1
{
FindItem ZUF C_ , %equipBag
if #findKind = -1
{
wait 25s
move %mainx %mainy %mainz
goto mainPro
}
msg ,moveitem #FindID 1 %backP $
wait 1s
}
set #LObjectID #FindID
if #SCNT < 9
set %wtime2 9 - #SCNT
wait %witime2 , s
event macro 17 0
wait 7s
move %mainx %mainy %mainz
goto mainPro
}
goSub ghost
goSub check
if #hits < %critHP
{
move %x %y %mainz
goSub heal
move %mainx %mainy %mainz
goto mainPro
}
if #SCNT > %timetoheal
{
goto mainPro
}
set %wtime %timetoheal - #SCNT
wait %wtime , s
goto mainPro

sub check
findItem ZLF C_ , %backP
if #findKind = -1
{
findItem ZLF C_ , %equipBag
if #findKind <> -1
{
if #FindStack < 300
{
msg ,moveitem #FindID #FindStack %backP $
wait 1s
goto weapon
}
msg ,moveitem #FindID 300 %backP $
wait 1s
goto weapon
}
event sysmessage End of Bandages
move %x %y %mainz
halt
}
weapon:
wait 2s
set %e 0
findItem %weapon C_ , #CharID
if #findKind = -1
{
finditem %weapon C_ , %equipBag
if #findKind = -1
{
goto pc
}
msg ,equip Rhand #FindID $
wait 1s
goto pc
}
shield:
findItem %shield C_ , #CharID
if #findKind = -1
{
finditem %shield C_ , %equipBag
if #findKind = -1
{
Return
}
msg ,equip Lhand #FindID $
wait 1s
Return
}
Return
pc:
goSub ghost
set %e %e + 1
if %e > %emax
{
set %e 0
goto shield
}
findItem %equip . %e C_ , #charID
if #findkind = -1
{
finditem %equip . %e C_ , %equipBag
if #findkind = -1
{
goto pc
}
if #findtype in %gloves
{
msg ,equip Gloves #FindID $
wait 1s
goto pc
}
if #findtype in %hat
{
msg ,equip Hat #FindID $
wait 1s
goto pc
}
if #findtype in %pants
{
msg ,equip Pants #FindID $
wait 1s
goto pc
}
if #findtype in %neck
{
msg ,equip Neck #FindID $
wait 1s
goto pc
}
if #findtype in %torso
{
msg ,equip Torso #FindID $
wait 1s
goto pc
}
if #findtype in %arms
{
msg ,equip Arms #FindID $
wait 1s
goto pc
}
msg ,equip Legs #FindID $
wait 1s
goto pc
}
goto pc

sub prepare
set %e 0
set %timetoheal %time - 1
event macro 8 1
event macro 8 2
event macro 8 7
findItem ZJF C_ , #charID
if #findkind = -1
{
event sysmessage Wrong backpack setting
Halt
}
set %backP #findID
; ===Weapons===
finditem TSF_CNF_IFF_TSF C_ , #charID
if #findKind <> -1
{
set %weapon #findType
}
; ===Shields===
findItem FIK_NIK_GIK_AIK_CIK_GFF_PMH_CQF C_ , #charID
if #findkind <> -1
{
set %shield #findType
}
; ===Armour===
armour:
wait 1s
findItem %armour C_ , #charID
if #findkind <> -1
{
set %e %e + 1
set %equip . %e #findType
ignoreItem #findID
goto armour
}
set %emax %e
ignoreItem reset
Return

sub setArmour
set %chainArmour IKH_DPH_NKH_
set %plateArmour KSH_WSH_MSH_ISH_OSH_NSH_MSK_CSH_ESH_GSH_ASH_
set %leather OSK_SKH_JKH_PKH_DLH_ELH_QJL_
set %stleather RLH_ULH_ALH_FLH_YKH_
set %ringmail XLH_KMH_HMH_VLH
set %armour %chainArmour , %plateArmour , %leather , %stleather , %ringmail
set %gloves KMH_FLH_SKH_ISH
set %hat DPH_GSH_ASH_ESH_CSH_NSH_QJL
set %pants NKH_HMH_RLH_ELH
set %neck ALH_JKH_NSH
set %torso IKH_VKH_ULH_KSH_DLH
set %arms YKH_XLH_MSH_PKH
set %legs WSH

Return
sub cordinates
set %mainx #charposX
set %mainY #charposY
set %mainZ 0
if %way = N
{
set %x %mainX
set %y %mainY - 1
Return
}
if %way = S
{
set %x %mainX
set %y %mainY + 1
Return
}
if %way = W
{
set %x %mainX - 1
set %y %mainY
Return
}
set %x %mainX + 1
set %y %mainY
Return
sub ghost
if #charghost = YES
{
halt
}
return
sub heal
heal1:
if #hits < %healTo
{
msg 'pc heal self $
wait 8s 400ms
goto heal1
}
return

 
  • Страница 1 из 1
  • 1
Поиск: