Page 1 of 1

Насчет UO.DeleteJournal

Posted: 2004-07-29 20:26:09
by Edred
Вот, может для кого это будет откровением ;) но если запускать параллельно пару или больше скриптов, причем каждый из них будет ловить в журнале нужные ему мессаги, есть вероятность, что один из скриптов не поймает нужную ему из-за того, что другой в это время вытер журнал.

Решение: вставляем в свои скрипты простенькую функцию:

Code: Select all

Sub DeleteJournal( string1 )
   VAR nom = UO.InJournal( string1 )
   If nom > 0 Then
      UO.SetJournalLine( Nom - 1, 'string replaced' )
      DeleteJournal( string1 )
   Endif
endsub



И вместо команды UO.DeleteJournal() используем команду DeleteJournal( текст ), где "текст" - это та строка, от которой вы хотите "избавиться" в журнале.

Posted: 2004-07-29 22:57:44
by Yoko
я говорил об этом всем интересовавшимся
но так как люди не склонны самомтоятельно искать информацию то наверняка для котого это откровение

Posted: 2004-07-30 09:19:50
by Savage
Из своей практики скажу, что запуск паралельных скриптов - неоправданная и ненужная нагрузка. Все необходимые действия с чаром можно сделать последовательно.

Posted: 2004-07-30 09:53:35
by Edred
Yoko wrote:я говорил об этом всем интересовавшимся
но так как люди не склонны самомтоятельно искать информацию то наверняка для котого это откровение


Правда, у меня команда SetJournalLine не перезаписывает строку, а просто стирает ее, но я склонен относить это к тому, что до сих пор сижу на версии 312.19... :D Но не принципиально. Все равно цель достигается.

Posted: 2004-07-30 09:58:12
by Edred
Savage wrote:Из своей практики скажу, что запуск паралельных скриптов - неоправданная и ненужная нагрузка. Все необходимые действия с чаром можно сделать последовательно.


Добывающие скрипты. Блок рубки/копки/ловли. Удаление журнала и цикл паузы до появления нужной мессаги. Паралельно запущен скрипт на тревогу (появление элема, ПК, рипера и т.д.) - тоже простой цикл паузы до появления сообщения. Конечно, можно все это засандалить в один скрипт, но будет очень громоздко и не очень надежно. Зачем?

Posted: 2004-07-30 20:09:37
by SVG
Yoko wrote:я говорил об этом всем интересовавшимся
но так как люди не склонны самомтоятельно искать информацию то наверняка для котого это откровение


Я уже тоже слышал где то об этом, возможно и от тебя, тогда не плохо бы тем кто еще не знает в хелп ето написать. В хелпе по описанию этой команды нет ни каких передаваемых параметров. Ну короче немного исправить хелп.

Posted: 2004-07-30 20:15:29
by Edred
SVG wrote:
Yoko wrote:я говорил об этом всем интересовавшимся
но так как люди не склонны самомтоятельно искать информацию то наверняка для котого это откровение


Я уже тоже слышал где то об этом, возможно и от тебя, тогда не плохо бы тем кто еще не знает в хелп ето написать. В хелпе по описанию этой команды нет ни каких передаваемых параметров. Ну короче немного исправить хелп.


Ты про какую команду? UO.SetJournalLine? - там есть параметры (в хелпе, имею в виду). А про DeleteJournal - читай внимательнее - это просто функция, написанная мной, а не команда инжекта UO.DeleteJournal...

Posted: 2004-07-30 20:21:53
by SVG
:lol: Значит я где то чето напутал :roll: :roll: