Замерить время между ударами

Ask for scripts here

Moderators: Murderator+, Murderator

Post Reply
ArNeithen
Posts: 10
Joined: 2005-05-13 19:59:40

Замерить время между ударами

Post by ArNeithen »

Ммм... Дело вот в чём:
нужно проверить эффективность параметра DEX > 100 в рамках шарда DRW.

Идея заключается в создании скрипта, замеряющего время между ударами (получением целью повреждений?)
и выводящего эту величину в численном виде в окне, что-то вроде

Code: Select all

uo.TextOpen() 
uo.TextPrint('Время между ударами '+ Время)


Для эффективности имело бы смысл замерять и выводить 3-4 удара подряд.



Был бы очень благодарен за подобную штуку...
Question_GimFlex
Posts: 188
Joined: 2007-03-24 08:12:51

Post by Question_GimFlex »

берем и на голом чаре (которого бьем) запускаем
погрешность 1 милисекунда ( ну еще всего полно) :)
может не пахать
первое число не считается
расчитано на то что ты всегда попадаешь по голому чару

Code: Select all

sub questiongim()
var n=0,p=0,p1=0,hepe=uo.life
uo.TextOpen()
while n<>6
 wait(1)
 p=p+1
 if uo.life<>hepe then
  hepe=uo.life
  uo.textprint(str(p-p1))
  p1=p
  n=n+1
 endif
wend
endsub
 
ArNeithen
Posts: 10
Joined: 2005-05-13 19:59:40

Post by ArNeithen »

О!! Великолепно! Огромное спасибо, похоже что работает ))

Я немного модифицировал: не всегда есть голый чар с инжектом под рукой...
Так что для работы с монстрой (кому вдруг тоже нужно будет):

Code: Select all

sub HitTime() 
var n=0,p=0,p1=0
var HP=uo.GetHP('laststatus')
uo.TextOpen()
while n<>6
 wait(1)
 p=p+1
if uo.GetHP('laststatus')<>HP then
  HP=uo.GetHP('laststatus')
  uo.textprint('время между ударами '+str(p-p1))
  p1=p
  n=n+1
 endif
wend
endsub



Ещё раз спасибо )
Ушёл тестить ловкость
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

Code: Select all

if uo.GetHP('laststatus')<>HP then 

если у моба или противника регенирируется хп, если оно поднимется хоть на 1 еденицу, то инжа это запишет как удар- некоректно
ArNeithen
Posts: 10
Joined: 2005-05-13 19:59:40

Post by ArNeithen »

Mr Nmy wrote:

Code: Select all

if uo.GetHP('laststatus')<>HP then 

если у моба или противника регенирируется хп, если оно поднимется хоть на 1 еденицу, то инжа это запишет как удар- некоректно


В принципе согласен - нужно соответствующе выбирать мобов.
Есть ли у вас предложения по оптимизации в расчёте на указанный недостаток?

Можно, например, поставить разницу при сравнении hp в несколько пунктов...


.
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

нет надо просто зделать так:

Code: Select all

if uo.GetHP('laststatus')<HP then
Sanch
Posts: 308
Joined: 2005-07-17 15:30:52
Location: www.drw.ru

Post by Sanch »

;Вилы 36, 35, 36, 36, 35, 35, 35
;Пика 28, 27, 27, 28, 27, 27, 27
;Барчич 28, 27, 26, 26, 27, 26, 28
;Викинг 27, 26, 27, 27, 27, 27, 26
;Вар Мейс 28, 26, 26, 28, 27, 26, 26
;Хелбард 35, 35, 35, 34, 34, 35, 36

;Найт 5, 5, 5, 5, 5, 4

Показатели времени удара, 1 ед. = 0.1 сек, это при 90 декс, я играю на дрв, 90 у тебя дексы или 120 значения не имеет, скорость одна и та же, при 89 скорость ниже становится.
Question_GimFlex
Posts: 188
Joined: 2007-03-24 08:12:51

Post by Question_GimFlex »

Mr Nmy wrote:

Code: Select all

if uo.GetHP('laststatus')<>HP then 

если у моба или противника регенирируется хп, если оно поднимется хоть на 1 еденицу, то инжа это запишет как удар- некоректно

я думаю скорость регенерации равняется в среднем как минимум больше чем 3 удара с учетом быстрого оружия если оружие двуручное и долгое то серию замеров надо увеличить примерно на 10-20 тогда мы сможем исключить замеры связаные с регенерацией тут уже неважно как ты замерял на самом деле главное правильно обработать результат :wink:
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

Post by Mihail »

удары замерять по сообщениям журналы у кукулы которую бьешь
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

При бое с монстром можно ловить по звуку или анимации :)
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Rivory
Posts: 205
Joined: 2005-01-06 11:49:28

Post by Rivory »

это совсем уже для извращенцев. Зачем ? есть методы куда проще )
1a2a3a4a5a6a
Posts: 173
Joined: 2006-02-10 13:26:37

Post by 1a2a3a4a5a6a »

Sanch wrote:;Вилы 36, 35, 36, 36, 35, 35, 35
;Пика 28, 27, 27, 28, 27, 27, 27
;Барчич 28, 27, 26, 26, 27, 26, 28
;Викинг 27, 26, 27, 27, 27, 27, 26
;Вар Мейс 28, 26, 26, 28, 27, 26, 26
;Хелбард 35, 35, 35, 34, 34, 35, 36

;Найт 5, 5, 5, 5, 5, 4

Показатели времени удара, 1 ед. = 0.1 сек, это при 90 декс, я играю на дрв, 90 у тебя дексы или 120 значения не имеет, скорость одна и та же, при 89 скорость ниже становится.

А со стрелковыми оружиями как дело обстоит?
Shard: Dragon World
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Rivory wrote:это совсем уже для извращенцев. Зачем ? есть методы куда проще )

Незнаю, я получил нашару премиум на абиса - они мне убрали "флуд" во время боя.

Но сообщения о промахах - мне как бы нужны, я именно через анимацию со звуками всё и возвращал :)
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
MacTepeo
Posts: 52
Joined: 2007-04-14 16:11:34
Location: Москоу
Contact:

Post by MacTepeo »

а не проще по журналу? для тестинга сойдёт думаю.
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

MacTepeo wrote:а не проще по журналу? для тестинга сойдёт думаю.

Написал выше ведь..

На абисе не замеришь, если оплачен профпакет :)
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Haxor
Posts: 97
Joined: 2004-06-04 21:04:14

Post by Haxor »

Sanch wrote:Показатели времени удара, 1 ед. = 0.1 сек, это при 90 декс, я играю на дрв, 90 у тебя дексы или 120 значения не имеет, скорость одна и та же, при 89 скорость ниже становится.

еще актуально ?
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

Post by Mihail »

Destruction wrote:..

а инжект че умеет реагировать на звуки и анимацию? (особенно интересуют звуки)
to4a
Posts: 265
Joined: 2006-03-10 00:19:11
Location: http://drw.ru/

Post by to4a »

угу.. от звука и толку больше, просто некоторые стандартные анимации(типа шагов напр.) анимацией и не считаются.
uo.set("soundecho",1)
uo.set("animecho",1)
uo.injournal("0x0000")
DRW - Glorior Belli
Image
NiFiGaSebe
Posts: 34
Joined: 2005-05-26 22:08:18
Contact:

Post by NiFiGaSebe »

мож кому пригодится) процент попаданий вепом

Code: Select all

sub miss()
var times=0,miss=0
UO.DeleteJournal()
uo.TextOpen()
uo.TextClear()
uo.textprint(uo.getname(uo.ObjAtLayer("Rhand"))+':')
while not (UO.InJournal('You Miss') or UO.InJournal('You land') or UO.InJournal('You smash') or UO.InJournal('You knock') or UO.InJournal('You score') or UO.InJournal('You hit'))
wait(1)#чтобы не считался первый удар, на случай еси не одновременно начался бой и скрипт)
wend
UO.DeleteJournal()
while times<100
      while not (UO.InJournal('You Miss') or UO.InJournal('You land') or UO.InJournal('You smash') or UO.InJournal('You knock') or UO.InJournal('You score') or UO.InJournal('You hit'))
      wait(1)
      wend
   if UO.InJournal('You Miss') then
   miss=miss+1
   endif
   times=times+1
   uo.print(str(miss)+' промахов из '+str(times)+' ударов')
   UO.DeleteJournal()
wend
uo.textprint(str(miss)+' промахов из '+str(times)+' ударов')
uo.textprint(str(miss/times*100)+'% попаданий')
uo.print('Готово!')
end sub
Post Reply