Облегчение в ПвП
Posted: 2008-01-05 03:02:25
Можно ли сделать такой скрипт чтобы выносился статус атакующего тебя, то есть если тебя начинает атаковать кто-то чтоб автоматом выносился его статус и не надо было его полчаса ловить мышкой.
Avel Mink wrote:Можно ли сделать такой скрипт чтобы выносился статус атакующего тебя, то есть если тебя начинает атаковать кто-то чтоб автоматом выносился его статус и не надо было его полчаса ловить мышкой.
Kynep wrote:Avel Mink wrote:Можно ли сделать такой скрипт чтобы выносился статус атакующего тебя, то есть если тебя начинает атаковать кто-то чтоб автоматом выносился его статус и не надо было его полчаса ловить мышкой.
Нет, такова сделать незя, если чел тебя заатачил, мона пользовать lastattack
Destruction wrote:Kynep wrote:Avel Mink wrote:Можно ли сделать такой скрипт чтобы выносился статус атакующего тебя, то есть если тебя начинает атаковать кто-то чтоб автоматом выносился его статус и не надо было его полчаса ловить мышкой.
Нет, такова сделать незя, если чел тебя заатачил, мона пользовать lastattack
Даже через uo.drag() низя?..
Странно.. Я уже как-то раз предлагал использовать такой подход, но никто ничего конкретного не сказал..
Лично я не вижу ни одной причины, почему функция не должна работать.
На крайний случай - можно добавить к этим фокусам UoPilot, с ним точно получится.
Kynep wrote:***
ХЗ нада пробовать, щас нет возможности, я на работе )
Code: Select all
uo.drag(x1,y1,x2,y2) ; где x и y числовые значения пунктов начала и конца соответственно, курсор должен находиться в районе где совершается действие
Code: Select all
Sub getStatusBar( obj )
uo.setEasyUO( 1000, str( uo.getX( obj ) - uo.getX() ) )
uo.setEasyUO( 1001, str( uo.getY( obj ) - uo.getY() ) )
uo.setEasyUO( 1234, "1" )
endsub
Code: Select all
set #tile_size = 22
set #bar_x 100 // нужно вбить координаты куда тащить статус-бар
set #bar_y 100 // нужно вбить координаты куда тащить статус-бар
set #char_x 111 // нужно вбить координаты клетки с персонажем
set #char_y 222 // нужно вбить координаты клетки с персонажем
get EasyUO*1234 #check
while_not #check = 1
get EasyUO*1234 #check
end_while
get EasyUO*1000 #attacker_x
get EasyUO*1001 #attacker_y
set #click_x #char_x
set #click_y #char_y
while_not #attacker_x = 0 AND #attacker_y = 0
if #attacker_x < 0
set #click_x #click_x + #tile_size
set #click_y #click_y - #tile_size
set #attacker_x #attacker_x + 1
end_if
if #attacker_x > 0
set #click_x #click_x - #tile_size
set #click_y #click_y + #tile_size
set #attacker_x #attacker_x - 1
end_if
if #attacker_y < 0
set #click_x #click_x - #tile_size
set #click_y #click_y - #tile_size
set #attacker_y #attacker_y + 1
end_if
if #attacker_y > 0
set #click_x #click_x + #tile_size
set #click_y #click_y + #tile_size
set #attacker_y #attacker_y - 1
end_if
end_while
drag #click_x, #click_y #bar_x, #bar_y
set EasyUO*1234 0
Mihail wrote:можно было просто сказать фразу "относительные координаты"
да, про это как-то не пришло в голову.. можно вобщем-то заморочиться, но пилот в пвп действительно неудобен.. к примеру чтобы статус стянулся тебе придется отпусть мышку, - мелочи конечно, а неприятные
Code: Select all
uo.exec("launch rundll32 user,SetCursorPos")
Code: Select all
uo.exec("launch rundll32 user32,SetCursorPos")
Code: Select all
uo.exec("launch SetCursorPos 245,539") ; пример использования
Code: Select all
uo.exec("launch GetCursorPos")
Code: Select all
uo.exec("launch ClipboardSetText йа_криведко") ; пример использования функции копирования текста в буфер обмена - внимание!! нельзя использовать пробелы
Code: Select all
uo.exec("launch uoDrag 280,740,880,350,100,10")
Code: Select all
sub GetStatus(serial)
var dx = uo.GetX(serial)-uo.GetX()
var dy = uo.GetY(serial)-uo.GetY()
var dz = uo.GetZ(serial)-uo.GetZ()
var x = 400+22*(dx-dy)
var y = 300+22*(dx+dy)-dz*4-20
UO.Drag(x, y, x+44, y)
end sub
Code: Select all
uo.exec("launch uoDrag "+str(x)+","+str(y)+","+str(x+44)+","+str(y)+",100")