Page 1 of 1

ASM, обработчики событий.

Posted: 2007-10-27 11:06:50
by grundick
Хотелось бы поброднее узнат ьпро это...Если ли события кроме OnDeath? можно ли писать свои события и как это делать?

Posted: 2007-10-27 17:24:48
by Destruction
Ничего кроме события смерти и воскрешения нету.

Свои события можно и в обычном инжекте писать, нужно просто обладать некоторыми знания скриптинга.

Кстате события смерти и воскрешения можно отключить - на закладке скриптов есть чекбокс :)

Posted: 2007-10-27 19:38:29
by grundick
ты имеешь ввиду если вешать параллельную(основному скрипту) проверку этих событий? я пытался...анпример, проверка здоровья на время входа в хайд.если здоровье стало уменьшаться( то есть тебя бьют), пьёт инвиз. В основном работает, но и частенько глючит...

Posted: 2007-10-28 16:38:06
by Scripts Writer
Необязательно вешать параллельно-можно использовать условные операторы, или флагами пользоваться прям по ходу скрипта (если ты имел ввиду что для проверки запускать параллельно функции).

Posted: 2007-10-29 14:03:25
by Destruction
Да хотя бы так, простейшее событие - изменение хп.

Code: Select all

Sub on.hp_change()
   uo.print( "Количество жизней изменилось." )
endsub

Sub autostart()
   uo.exec( "exec events" )
endsub

Sub events()
   var hp = uo.getHP()
   repeat
      if not hp == uo.getHP() then
         uo.exec( "exec on.hp_change" )
         hp = uo.getHP()
      endif
   until false
endsub


Чем вот так например не реализация событий? Я недавно задумывался над этим посерьёзнее, реализовал альтернативную передачу аргументов и вызов функций через N секунд с нужными параметрами, этакий setTimeout.

Posted: 2007-11-09 15:52:21
by grundick
Ещё вопросик на тему обработчика событий.Чар копает руду. Хочу параллельно повесить проверку на ПК.(именно паралельно!!!) Как мне из этой проверки передать инфу в основной скрипт(копку)? То есть прилетел ПК, сработала проверка, основной скрипт (копка) тут же останавливаеться, сразу же реколл...

Posted: 2007-11-09 21:41:15
by Destruction
Глобальные переменные.

Только если он тут же останавливается, то Terminate будет эффективнее..