Yoko

All sides of Injection
It is currently 2025-10-12 14:04:31

All times are UTC+02:00




Post new topic  This topic is locked, you cannot edit posts or make further replies.  [ 19 posts ] 
Author Message
PostPosted: 2006-06-21 07:39:40 
Offline

Joined: 2006-06-21 07:29:26
Posts: 6
Location: Middle-Earth.Ru
Возникла такая проблема, надо непрерывно контрольровать записи появляющиеся в журнале и свевременно на них реагировать.
Пытался написать скрипт типа:
Code:
while true<>false
 if uo.injournal("---") then
  [делаем что-то там]
  wait(1000)
  uо.deletejournal()
 else
  [делаем что-то там
wend

Даже при проверке журнала раз в секунду начинаются злые торможения в системе. Это как-то можно обойти?

_________________
E=mc²
[No Comments... plz]


Top
   
 
 Post subject:
PostPosted: 2006-06-21 08:41:04 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
viewtopic.php?t=3491

Quote:
В этом случае действия внутри if...endif не выполняются, и цикл while...wend становится пустым, то есть в нем не производится никаких действий. Скриптовый модуль инжекта устроен так, что в этом случае вы получите 100%-загрузку процессора вашего компьютера (зависнет) и, быстрее всего, креш игры или системы. Как избежать такого конца? Очень просто. Предусмотреть чтобы в скрипте всегда какие-нибудь действия производились. В данном случае вполне достаточно добавить Else


Проверь внимательно свой скрипт. Где-то у тебя пустой цикл.

_________________
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...


Top
   
 
 Post subject:
PostPosted: 2006-06-22 07:17:32 
Offline

Joined: 2006-06-21 07:29:26
Posts: 6
Location: Middle-Earth.Ru
Edred wrote:
http://forum.yoko.com.ua/viewtopic.php?t=3491

Проверь внимательно свой скрипт. Где-то у тебя пустой цикл.


В том-то и дело, что пустых циклов нет. Все предусмотрено. Но загрузка получается хоть и не 100%, но система тормозит порядочно.

_________________
E=mc²

[No Comments... plz]


Top
   
 
 Post subject:
PostPosted: 2006-06-22 09:22:17 
Offline

Joined: 2005-04-19 18:00:29
Posts: 2259
Location: Московская область
Code:
while true<>false 
 if uo.injournal("---") then
  [делаем что-то там]
  wait(1000)
  uо.deletejournal()
 else
  [делаем что-то там
wend


А закрыть цикл if? =\


Top
   
 
 Post subject:
PostPosted: 2006-06-22 13:58:39 
Offline
User avatar

Joined: 2006-05-23 11:48:22
Posts: 145
я делала так
Code:
repeat 
if UO.InJournal("Что ждем") then
     действия
        else
UO.DeleteJournal()
CheckLag()
endif
until Uo.Dead()       



хз работало на ура ) :wink:


Top
   
 
 Post subject:
PostPosted: 2006-06-22 14:17:29 
Offline
Expert!
User avatar

Joined: 2006-02-25 21:48:38
Posts: 1032
Хмм... ты с чеклагом стока трафа сожреш, что скрипт золотой окажется :wink:
ЗЫ: Я сам на анлиме, мне пофиг.

_________________
DerMeister сейчас на нейрале!


Top
   
 
 Post subject:
PostPosted: 2006-06-22 14:19:12 
Offline
User avatar

Joined: 2006-05-23 11:48:22
Posts: 145
DerMeister =) wrote:
Хмм... ты с чеклагом стока трафа сожреш, что скрипт золотой окажется :wink:
ЗЫ: Я сам на анлиме, мне пофиг.


ЗЫ: не на анлиме но но тариф на стока дешвевый что мне как то =)


Top
   
 
 Post subject:
PostPosted: 2006-06-22 14:20:04 
Offline
User avatar

Joined: 2006-05-23 11:48:22
Posts: 145
Code:
repeat 
if UO.InJournal("Что ждем") then
     действия
        else
UO.DeleteJournal()
wait(100)
endif
until Uo.Dead()       


если жалко денег то вот )


Top
   
 
 Post subject:
PostPosted: 2006-06-22 14:32:48 
Offline
Expert!
User avatar

Joined: 2006-02-25 21:48:38
Posts: 1032
=_)
АГА, бюджетный вариант :P :P

_________________
DerMeister сейчас на нейрале!


Top
   
 
 Post subject:
PostPosted: 2006-06-22 14:59:19 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
insider wrote:
В том-то и дело, что пустых циклов нет. Все предусмотрено. Но загрузка получается хоть и не 100%, но система тормозит порядочно.


Пустой цикл - это не цикл, в котором ничего нет. В нем вполне могут быть действия, которые не содержат внутренних пауз в инжекте. Пример таких команд - работа с журналом, использование объектов и т. д. Проверить себя просто: добавить в конец цикла wait(50) - если нагрузка на проц резко снизилась - значит был пустой цикл.

_________________
Ни один скрипт не работает? Пора обновить Инжект...

Все работает, но хочется большего? Пора переходить на стелс...


Top
   
 
 Post subject:
PostPosted: 2006-06-23 08:32:44 
Offline

Joined: 2006-06-21 07:29:26
Posts: 6
Location: Middle-Earth.Ru
Короче, скрипт вот он. Если в тределах визимости кастуют празайз, то надо жрать травленую рыбу.
Проверка журнала раз в секунду. В таком варианте он не реазирует на условные фразы. Где я туплю?
Code:
sub main()
    repeat
    if UO.Injournal("AN EX POR") then
      UO.UseType(0x097B)
                  wait(1000)
                  UO.Deletejournal();
                 else
     if UO.Injournal("VAS LOR") then   
                    UO.UseType(0x097B)
                    wait(1000)
                    UO.Deletejournal();
                   else
                    wait(1000)
                    UO.Deletejournal();
     endif
                endif
   until Uo.dead()
end sub

_________________
E=mc²

[No Comments... plz]


Top
   
 
 Post subject:
PostPosted: 2006-06-23 09:32:13 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
"Причесал":

Code:
sub main()
   msg1 = "AN EX POR"
   msg2 = "VAS LOR"
   repeat
      if UO.Injournal(msg1 + '|' + msg2) then
         UO.UseType(0x097B)
      endif
      wait(1000)
      UO.Deletejournal()
   until Uo.dead()
end sub


Если все равно не работает - проверяй написание заклов. Команды работы с журналом чувствительны к регистру. Набери
,showjournal 100
после кастов и посмотри, что именно попало в журнал.

_________________
Ни один скрипт не работает? Пора обновить Инжект...

Все работает, но хочется большего? Пора переходить на стелс...


Top
   
 
 Post subject:
PostPosted: 2006-06-25 20:45:08 
Offline

Joined: 2006-06-21 07:29:26
Posts: 6
Location: Middle-Earth.Ru
Edred wrote:
"Причесал":

Если все равно не работает - проверяй написание заклов. Команды работы с журналом чувствительны к регистру. Набери
,showjournal 100
после кастов и посмотри, что именно попало в журнал.


Регистр я с самого начала проверял. Скрипт работает, но только в том случае, если ключевые фразы были в журнале _до_ запуска скрипта. Если в процессе выполнения скрипта эти фразы появляются, то реакции никакой нету.
Жаль, что нету отладки...

_________________
E=mc²

[No Comments... plz]


Top
   
 
 Post subject:
PostPosted: 2006-06-25 20:53:14 
Offline
Expert!
User avatar

Joined: 2006-02-25 21:48:38
Posts: 1032
Edred wrote:
"Причесал":

Code:
sub main()
   msg1 = "AN EX POR"
   msg2 = "VAS LOR"
   repeat
      if UO.Injournal(msg1 + '|' + msg2) then
         UO.UseType(0x097B)
      endif
      wait(1000)
      UO.Deletejournal()
   until Uo.dead()
end sub



Это не "причёска", а "полировка"...

Почему сначало ждём, а потом делетим журнал? Естессьно работать не будет...

ЗА: кароч поменяй местами:
Code:
wait(1000) 
UO.Deletejournal()

на
Code:
UO.Deletejournal()
wait(1000)

и всё будет ок... :wink:

_________________
DerMeister сейчас на нейрале!


Last edited by DerMeister =) on 2006-06-25 21:03:07, edited 2 times in total.

Top
   
 
 Post subject:
PostPosted: 2006-06-25 20:53:43 
Offline

Joined: 2006-06-21 07:29:26
Posts: 6
Location: Middle-Earth.Ru
Проблема решилась неожиданно. Пришлось делать через заднее место, а именно, использовать дополнительный флаг, который отмечал появление в журнале ключевых фраз. Финальный вариант выглядит так:
CENSORED

2 DerMeister =)
туплю. Действительно, всего-то надо было поменять ))

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

Засим прошу Модераторов закрыть тему

_________________
E=mc²

[No Comments... plz]


Last edited by insider on 2006-06-25 21:01:54, edited 1 time in total.

Top
   
 
 Post subject:
PostPosted: 2006-06-25 20:55:40 
Offline
Expert!
User avatar

Joined: 2006-02-25 21:48:38
Posts: 1032
insider wrote:
Проблема решилась неожиданно. Пришлось делать через заднее место, а именно, использовать дополнительный флаг, который отмечал появление в журнале ключевых фраз. Финальный вариант выглядит так:
Code:
sub main() 
var   msg1 = "AN EX POR"
var   msg2 = "VAS LOR"
var   tmp = False
   repeat
      if UO.Injournal(msg1 + "|" + msg2) then
         tmp = True
         if tmp then
            UO.UseType(0x097B)
            Uo.Deletejournal();
            tmp = false 
          endif
         else
          tmp = false
      endif
      wait(1000)
   until Uo.dead()
end sub


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

Засим прошу Модераторов закрыть тему


Убей ся ап стену... нахер в соседний магазин через америку ездить??? :wink: читай на 1 пост выше, я нашел в чём была фигня...

_________________
DerMeister сейчас на нейрале!


Top
   
 
 Post subject:
PostPosted: 2006-06-25 20:58:45 
Offline
Expert!
User avatar

Joined: 2005-05-04 14:05:19
Posts: 2580
Location: Москва
нее вы все кренделя...
Обхеснити за чем каждую секунду нужо чистить журнал???
Code:
sub main() 
var   msg1 = "AN EX POR"
var   msg2 = "VAS LOR"
   repeat
      if UO.Injournal(msg1 + "|" + msg2) then
         UO.UseType(0x097B)
         Uo.Deletejournal()
      endif
      wait(1000)
   until Uo.dead()
end sub


Top
   
 
 Post subject:
PostPosted: 2006-06-25 21:04:13 
Offline

Joined: 2006-06-21 07:29:26
Posts: 6
Location: Middle-Earth.Ru
Все. Закрывайте тему.
Всем спасибо за помощь. Скрипт-таки написан.
©losed

_________________
E=mc²

[No Comments... plz]


Top
   
 
 Post subject:
PostPosted: 2006-06-25 21:05:22 
Offline
Expert!
User avatar

Joined: 2006-02-25 21:48:38
Posts: 1032
Ты прав как всегда :wink:

ОФФТОП:
Когда меня на мирке разбанят то?

_________________
DerMeister сейчас на нейрале!


Top
   
 
Display posts from previous:  Sort by  
Post new topic  This topic is locked, you cannot edit posts or make further replies.  [ 19 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 6 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited