Сайт Антареса Сайт Антареса Форум Антарес
> >

Здравствуйте, гость ( Вход | Регистрация )


> > CheckLag, Правильно сделано? >
Кряк
сообщение 18.11.2006, 17:29
Сообщение #1


Guild Master [Necro Support]
Group Icon

Группа: Пользователи
Сообщений: 7 474
Регистрация: 20.4.2005
Из: ::: Honduras :::::::::::: Вендор: Abran [Ice Sector]
Пользователь №: 853
Спасибо сказали: 41 раз(а)
Класс: Друид



Код
sub CheckLag()
   DeleteJournal("Backpack")
   UO.Click('backpack')
   repeat
      wait(100)
   until UO.InJournal("Backpack")
end sub

sub DeleteJournal(msg)  
   var nom=UO.InJournal(msg)  
   if nom>0 then
      UO.SetJournalLine(Nom - 1," ----- 8< ----- ")
      DeleteJournal(msg)
   endif
endsub



Вот вроде правильно, да? h1.gif

Сообщение отредактировал [POD]™0r@№Ge™ - 18.11.2006, 17:30
Пользователь в офлайнеКарточкаОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
 
Ответить в эту темуОткрыть новую тему
> > Ответов(1 - 2) >
pikachu
сообщение 18.11.2006, 18:48
Сообщение #2


Ступивший на тропу
Group Icon

Группа: Пользователи
Сообщений: 770
Регистрация: 4.3.2006
Из: Москва, ЗАО
Пользователь №: 2 884
Спасибо сказали: 15 раз(а)
Класс: Человек



Цитата
™0r@№Ge™' date='18.11.2006, 17:29' post='245390']
Код
sub CheckLag()
   DeleteJournal("Backpack")
   UO.Click('backpack')
   repeat
      wait(100)
   until UO.InJournal("Backpack")
end sub

sub DeleteJournal(msg)  
   var nom=UO.InJournal(msg)  
   if nom>0 then
      UO.SetJournalLine(Nom - 1," ----- 8< ----- ")
      DeleteJournal(msg)
   endif
endsub

Вот вроде правильно, да? h1.gif

нет, не правильно и даже не вроде.
можно сказать процедура "DeleteJournal(msg)" работает только из-за того, что ее возбудитель глохнет до того, как она запускает себя повторно. в противном случае она была бы похожа на что-то типа саморазрушающегося вечного двигателя.

осмелюсь предположить, что вы не понимаете суть строки "UO.SetJournalLine(Nom - 1," ----- 8< ----- ")".
короче:
Код
sub DeleteJournal(msg);"msg" является обязательной переменной, которую необходимо вводить при обращении к процедуре.
   var nom=UO.InJournal(msg);переменной "nom" задается значение номера строки журнала (+1), содержащей "msg".
   if nom>0 then;вот это называется извращением.
      UO.SetJournalLine(Nom - 1," ----- 8< ----- ");содержимое строки "nom" (-1) заменяется фразой " ----- 8< ----- ".
      DeleteJournal(msg);процедура на кой-то хер запускает себя повторно.
   endif;соответственно конец извращения.
endsub

в общем объяснением команд я хотел показать:
1) не обязательно вводить переменную "nom" в виду того, что она является ничем иным как процедурой "UO.InJournal(msg)", которая без этого вполне способна хранить значение нужной строки;
2) проверка "if nom>0 then ... endif" вообще не несет в себе никакой полезной нагрузки;
3) примерно представляю себе возможный смысл повторного запуска процедуры самой в себе. это должно быть своего рода цикл типа "repeat ... until not uo.injournal(msg)" или же "while uo.injournal(msg) ... wend".

так вот все на много проще:
Код
sub checklag()
deljournal("a Backpack")
uo.click("backpack")
  repeat
  wait(50)
  until uo.injournal("a Backpack")
endsub

sub deljournal(msg)
  while uo.injournal(msg)
  uo.setjournalline(uo.injournal(msg)-1,"")
  wend
endsub


Сообщение отредактировал pikachu - 18.11.2006, 18:50
Пользователь в офлайнеКарточкаОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Кряк
сообщение 18.11.2006, 19:20
Сообщение #3


Guild Master [Necro Support]
Group Icon

Группа: Пользователи
Сообщений: 7 474
Регистрация: 20.4.2005
Из: ::: Honduras :::::::::::: Вендор: Abran [Ice Sector]
Пользователь №: 853
Спасибо сказали: 41 раз(а)
Класс: Друид



Спасибо. agree.gif
Пользователь в офлайнеКарточкаОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 

Ответить в эту темуОткрыть новую тему
> >
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия Сейчас: 20.11.2018, 5:26
Design: Fisana  © 2005-2006 IBR Team