Пацантре нужна помощь)

Гости
Сообщений: 76
Рег. 15.02.2013
19 февраля 2013 18:39
Сообщение #1
реально помогите чей макрос допишите чтоб оруже брал по ид после того как отхили куклу...)

sub Sparring()
var oppHpThreshold = 50/100 #????? ?? ?????????, ??? ??????? ????????
var selfHpThreshold = 50/100 #????? ?????? ??, ??? ??????? ????????

uo.AddObject('opponent')
while uo.targeting()
wait(100)
wend

var done = 0
var oppHpLow = 0
var selfHpLow = 0
var selfX = uo.GetX()
var selfY = uo.GetY()
var oppX = uo.GetX('opponent')
var oppY = uo.GetY('opponent')
var dx = oppX - selfX
var dy = oppY - selfY

var Rhand = uo.GetGraphic(uo.ObjAtLayer('Rhand')) #??? ??????? ? ?????? ???? (0x0000 ???? ?????)
var Lhand = uo.GetGraphic(uo.ObjAtLayer('Lhand')) #??? ??????? ? ????? ???? (0x0000 ???? ?????)

uo.WarMode(1)
uo.Attack('opponent')

repeat

if (uo.GetHP('opponent') < uo.GetMaxHP('opponent') * oppHpThreshold) then
oppHpLow = 1
end if

if (uo.Life < uo.str * selfHpThreshold) then
selfHpLow = 1
end if

#???? ? ????-?? ???? ??, ?????? ? ???????
if (oppHpLow or selfHpLow) then
Step(-dx, -dy)
uo.WarMode(0)

if (oppHpLow) then
HealOpponent()
oppHpLow = 0
end if

if (selfHpLow) then
HealSelf()
selfHpLow = 0
end if

Step(dx, dy)
uo.WarMode(1)
uo.Attack('opponent')
end if

wait(500)

#?????? ?? ?????? ??????? ???
if (not uo.WarMode()) then
uo.WarMode(1)
uo.Attack('opponent')
end if

#???? ? ?????? ???? ?? ??, ??? ???? ? ????? ??????,
#? ???? ? ????? ?????? ??? ???-?? ????, ???????? ????? ???? ?????
#???? ????-?? ?????? ???, ?????? ???? ??????????

if (uo.GetGraphic(uo.ObjAtLayer('Rhand')) <> Rhand and Rhand <> '0x0000') then
uo.FindType(Rhand)
if (uo.FindCount()) then
uo.Equipt('Rhand', Rhand)
uo.print('Equip Rhand device')
else
done = 1
uo.print('no more Rhand devices')
end if
end if

#?????????? ?????? ????
if (uo.GetGraphic(uo.ObjAtLayer('Lhand')) <> Lhand and Lhand <> '0x0000') then
uo.FindType(Lhand)
if (uo.FindCount()) then
uo.Equipt('Lhand', Lhand)
uo.print('Equip Lhand device')
else
done = 1
uo.print('no more Lhand devices')
end if
end if

#???????? ?? ????????
if (uo.GetHP('opponent') == 0 or uo.Life == 0) then
done = 1
uo.print('somebody is dead')
end if
#???? ????? ?????????, ???????????
if (uo.B == 0) then
done = 1
uo.print('no more bandages')
end if

until done

Step(-dx, -dy)
uo.WarMode(0)
uo.print('Done traning')

end sub

#---------------------------------------------
#??????????????? ???????

Sub HealOpponent()
uo.print('heal opponent')
repeat
uo.waittargetobject('opponent')
uo.usetype('0x0E21') #?????
wait(5000)
until uo.getHP('opponent') == uo.getMaxHP('opponent')
uo.print('opponent heal complete')
end Sub

Sub HealSelf()
uo.print('heal self')
repeat
uo.bandageself()
wait(5100)
until uo.Life == uo.STR
uo.print('self heal complete')
uo.usetype(0x097B)
wait(100)
end Sub

Sub Step(dx, dy)
var direction
dim directions[9]
directions[1] = 8
directions[2] = 7
directions[3] = 4
directions[4] = 9
directions[5] = 5
directions[6] = 1
directions[7] = 6
directions[8] = 3
directions[9] = 2
var idx = (sign(dx) + 1) * 3 + (sign(dy) + 1) + 1

uo.AddStep(directions[idx])
end Sub

Sub sign(n)
if (n < 0) then
n = -1
end if

if (n > 0) then
n = 1
end if

return n
end Sub

Старший Лейтенант (5006416)15 лет
Администратор
Сообщений: 19675
Рег. 31.07.2009
19 февраля 2013 18:57
Сообщение #2
Не забывайте выделять скрипт тегом [code]

--------------------
Последние посетители (0):

 
Сейчас: 24 ноября 2024 10:43