Code:
sub antimacro()
var x, y
while not uo.Dead()
if (uo.LastGump('replyed') == 0) and (uo.LastGump('text', 0) == 'Please choose this number:') then
x = uo.LastGump('x')
y = uo.LastGump('y')
uo.LClick(x+120, y+185+what()*35)
wait(1000)
end if
wait(100)
wend
end sub
sub what()
var i, score, index, temp, st
dim x[11], y[11]
dim nm[3]
for i = 3 to 12
st = uo.LastGump('command', i)
x[i-2] = val(mid(st, 8, 3))
y[i-2] = val(mid(st, 12, 3))
next
for i = 0 to 2
nm[i] = val(uo.LastGump('text', i+1))
next
score = 10000
index = 0
for i = 0 to 2
temp = numberscore(nm[i], x, y)
if score > temp then
score = temp
index = i
endif
next
return index
end sub
sub numberscore(num, x, y)
dim Sings[10]
var cheking = 1
var n, i, total = 0
dim xv[2], yv[2], point[3]
Sings[2] = "080910080506"
Sings[3] = "040706060708"
Sings[5] = "040506060708"
Sings[6] = "070910050608"
Sings[8] = "030506060709"
Sings[9] = "040607050807"
for n = 0 to 1
for i = 0 to 2
point[i] = val(mid(Sings[num], n*6+i*2, 2))
next
for i = 0 to 1
xv[i] = x[point[i]]-x[point[i+1]]
yv[i] = y[point[i]]-y[point[i+1]]
next
total = total+anglscore(xv, yv)
next
return total
endsub
sub anglscore(x, y)
var xy1 = x[0]*y[0]
var xy2 = x[1]*y[1]
var t = xy1+xy2
x[0] = x[0]+y[0]
x[1] = x[1]+y[1]
return 100*t*t/((x[0]*x[0]-2*xy1)*(x[1]*x[1]-2*xy2))
end sub
Вот нашол антимакро абисовское