Статус

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Terrible
Posts: 42
Joined: 2011-03-20 19:45:17

Статус

Post by Terrible »

sub grabStatus()
var mx,my,tx,ty,dx,dy
mx=uo.GetX("self")
my=uo.GetY("self")
tx=uo.GetX("lastattack")
ty=uo.GetY("lastattack")
if abs(mx-tx)<14 and abs(my-ty)<14 then
dx=(mx-tx)*22-(my-ty)*22
dy=(mx-tx)*22+(my-ty)*22
uo.print(str(585-dx)+" "+str(455-dy))
UO.Drag(585-dx,420-dy);
else
uo.print("цель вне экрана")
endif
endsub

вот скрипт на стягивание статуса,но он почему то не работает у меня,цель выделяет а статус не стягивает...подскажите в чем дело??
Aleppo
Posts: 27
Joined: 2009-05-01 22:58:00
Location: DRW
Contact:

Re: Статус

Post by Aleppo »

А для чего стягивать статус? это как вообше?
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Статус

Post by Mirage »

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


Гриновская работает, только условие - 400 и 300 для разрешения окна игры 800*600 (450 и 450 для 900*900). И окно обязательно должно быть расположено в верхнем левом углу экрана.
Проверяй у себя координаты и окно.

Aleppo wrote:А для чего стягивать статус? это как вообше?

Левой мышкой когда жизни оттягиваешь, многие в скриптах используют laststatus.
Irina E
Posts: 240
Joined: 2009-06-12 20:10:00
Location: Vasa Smerti(RASToMAN) DRW

Re: Статус

Post by Irina E »

чё та я хз как он должен работать этот твой скрипт (Mirage)
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Статус

Post by Mirage »

Это скрипт Грина :)
в игре стоит разрешение игрового окна 800*600, окошко игровое после запуска не двигаем (левый верхний угол игрового окна соответствует левому верхнему углу черного поля). Ищем какого нибудь стражника НПС или продавца. Смотрим чтобы он находился НА игровом экране (в любой точке но обязательно на экране). Записываем в main() его ID (впоследствии можно приворганить автоматическую искалку но щаз тестим). На хоткей назначаем exec main. Активно должно быть игровое окно. Тыкаем на кнопку - под курсором появляется статус с жизнями НПС. Элементарно 8)

Code: Select all

sub main()
var IDchara = '0x123456789'
GetStatus( IDchara )
endsub

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



У меня разрешение экрана 900*900 (модифицированный клиент) так что я вместо 400 и 300 выставлял 450 и 450. Иногда штука пикольно/полезная. Можно оттянуть статус у чара находящегося ЗА какимлибо объектом или в доме даже без тыканья "Показать имя" и судорожных движений мышкой. Но ИМХО на любителя.

PPS принцип я не очень разбирал - описания команды как бы нет. Гдето на форуме привели пример - тот что выше, я протестировал и отписался КАК именно оно работает :roll:
Irina E
Posts: 240
Joined: 2009-06-12 20:10:00
Location: Vasa Smerti(RASToMAN) DRW

Re: Статус

Post by Irina E »

а можна както по типу а не по ид
Terrible
Posts: 42
Joined: 2011-03-20 19:45:17

Re: Статус

Post by Terrible »

Работает,но не всегда.....Но всё равно скрипт очень хороший,спасибо...Единственное что,а если Игровое окно,640на480,то вместо 400 и 300 сколько писать надо??...

И еще один вопросик,дабы не создавать еще одну тему...
Вот скрипт на уход в Хайд(с доработкой)...
sub Hide()
uo.Exec('warmode 0')
uo.Exec('warmode 1')
uo.UseSkill('Hiding')
end if
end sub

Но когда ты находишься под атакой в хайд чар уходит не всегда,для этого надо "протабиться"(несколько раз самому попереключать вармод)....А как соединить это вместе??Или....Вообщем чтобы чар "табился" и уходил хайд...данный скрипт не очень работае((((
Irina E
Posts: 240
Joined: 2009-06-12 20:10:00
Location: Vasa Smerti(RASToMAN) DRW

Re: Статус

Post by Irina E »

ты тот скрипт для пвп делал у меня вапще не стягивет статус

а по повуду Этого скрипта

Code: Select all

sub Hide()
uo.Exec('warmode 0') ;ТУТ ВАР ОТКЛЮЧЁН
uo.Exec('warmode 1') ;ТУТ ВАР ВКЛЮЧЁН
uo.UseSkill('Hiding')
end if
end sub
Terrible
Posts: 42
Joined: 2011-03-20 19:45:17

Re: Статус

Post by Terrible »

И,я понимаю....так не работает он...А статус стягивает....все хорошо...
Terrible
Posts: 42
Joined: 2011-03-20 19:45:17

Re: Статус

Post by Terrible »

лана,создам отдельную тему....
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Статус

Post by Mirage »

Terrible wrote:Работает,но не всегда.....Но всё равно скрипт очень хороший,спасибо...Единственное что,а если Игровое окно,640на480,то вместо 400 и 300 сколько писать надо??...

соответственно 640/2=320 и 480/2=240 => 320 и 240 :roll:

Terrible wrote:И еще один вопросик,дабы не создавать еще одну тему...
Вот скрипт на уход в Хайд(с доработкой)...
sub Hide()
uo.Exec('warmode 0')
uo.Exec('warmode 1')
uo.UseSkill('Hiding')
end if
end sub

Ну вообще то у тебя там закрывашка endif, а if then нету - скрипт вообще не понятно как РАБОТАЕТ :roll:

То что ты хочешь выглядит вот так:

Code: Select all

sub Hide()
   If Not UO.Hidden() Then ; если не спрятанный
      if Uo.WarMode()==1 then ; если вар включен
         Uo.WarMode('0') ; отключаем вар
      endif
         UO.UseSkill("Hiding") ; прячемся
         Wait( 2000 ) ; пауза на использование скилла (изменить или удалить)
   endif
end sub
Last edited by Mirage on 2011-03-23 09:13:08, edited 1 time in total.
Terrible
Posts: 42
Joined: 2011-03-20 19:45:17

Re: Статус

Post by Terrible »

благодарю...
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Статус

Post by Mirage »

вот так получше будет (исправил вверху)
Post Reply