помогите с проверкой

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Tyoma
Posts: 18
Joined: 2009-10-15 13:58:29

помогите с проверкой

Post by Tyoma »

вобщем нужна проверка по алгоритму
1 если цвет последнего сообщения не == 0х0340 и также не == 0х0342 then (системные цвета и т.п.)
2 кричим =)

вот что я нашол поиском ..

Code: Select all

sub main() 
   while not UO.Dead()
      if UO.InJournal("ssss") then
         uo.Print(UO.JournalColor(UO.InJournal('ssss')-1))
         uo.DeleteJournal()
         wait(500)
      end if
      wait(1000)
   wend
end sub
(проверка на цвет)


подскажите .. совсем запутался.. заранее спс
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

Проверка персонажей?
Tyoma
Posts: 18
Joined: 2009-10-15 13:58:29

Post by Tyoma »

нет .. проверка гмов =) и других людей ) (бывает прилетают и с инвиза пишут что-то) надо чтоб запищало
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Post by Mirage »

чуть чуть перефразирую вопрос автора: Как проверить ЛЮБОЕ сообщение в журнале на цвет?
Tyoma
Posts: 18
Joined: 2009-10-15 13:58:29

Post by Tyoma »

Mirage wrote:чуть чуть перефразирую вопрос автора: Как проверить ЛЮБОЕ сообщение в журнале на цвет?


ну =) надо ведь каждое сообщение проверять =)

как определённое сообщение проверить то ясно ... а вот как весь поток проверять и делейтить журнал ..
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Post by Mirage »

ты больше 1 сообщения за раз не проверишь все равно. 1 сообщение 1 строка. Надо делать чтото типо поиска -1 сообщеия. Тоесть отталкиваться не от фразы а от самого сообщения. Если так можно естественно.
PS как я уже писал ГМы захотят попалить - попалят. Но сам скрипт интересен :)
Tyoma
Posts: 18
Joined: 2009-10-15 13:58:29

Post by Tyoma »

Mirage wrote:ты больше 1 сообщения за раз не проверишь все равно. 1 сообщение 1 строка. Надо делать чтото типо поиска -1 сообщеия. Тоесть отталкиваться не от фразы а от самого сообщения. Если так можно естественно.
PS как я уже писал ГМы захотят попалить - попалят. Но сам скрипт интересен :)


вот вот =) так что жду гениев наших =)))
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

ГМов там наверно 2-3. Получи их сериалы. if uo.journalserial()==0x12345678 -> это гм!!
Вот и все.
Tyoma
Posts: 18
Joined: 2009-10-15 13:58:29

Post by Tyoma »

около 10-ка =) спс попробую.. но хотелось бы ещё попробывать с тем что надумали =) цвета журнала
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

Tyoma wrote:около 10-ка =) спс попробую.. но хотелось бы ещё попробывать с тем что надумали =) цвета журнала


системное сообщение всегда имеет сериал 0х00000000
проверка на системное сообщение или это сериал чара
вот и все
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Post by Mirage »

Nmy wrote:
Tyoma wrote:около 10-ка =) спс попробую.. но хотелось бы ещё попробывать с тем что надумали =) цвета журнала


системное сообщение всегда имеет сериал 0х00000000
проверка на системное сообщение или это сериал чара
вот и все

можно сделать проверку цвета ВМЕСТЕ с проверкой копает не копает. Но как сделать проверку КАЖДОГО сообщения на цвет. Например ГМ прилетел и спросил "Ты тут?" Как сделать чтобы скрипт аналогично проверки на ПК и элемов проверял журнал?
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

Mirage wrote:
Nmy wrote:
Tyoma wrote:около 10-ка =) спс попробую.. но хотелось бы ещё попробывать с тем что надумали =) цвета журнала


системное сообщение всегда имеет сериал 0х00000000
проверка на системное сообщение или это сериал чара
вот и все

можно сделать проверку цвета ВМЕСТЕ с проверкой копает не копает. Но как сделать проверку КАЖДОГО сообщения на цвет. Например ГМ прилетел и спросил "Ты тут?" Как сделать чтобы скрипт аналогично проверки на ПК и элемов проверял журнал?


На цвет некто нечего не проверяет. Есть TWI и есть uo.getnotoriety().
Я точно сказать не могу, но думаю что так -

Code: Select all

sub checkpk()
   var n
   var ser
   var noto
   var me=uo.getserial('self')
   for n=0 to 10
      ser=uo.journalserial(n)
      if ser<>'0x00000000' and ser<>me then
         # тут алерт ввиде uo.playwav()
         noto=uo.getnotoriety(ser)
         if noto<>0 and noto<>1 or uo.injournal('is attacking you') then
            # улетаем от пк
         endif
      endif
   next
endsub
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Post by Mirage »

Тут как бы проверка не на ПК :) На них то просто. Тут хочется попробовать сделать проверку от Гмов которые могут запалить бота.
Варианты конечно есть - сделать список возможных слов (длиннючий) и проверять их.
Либо проверять все сообщения и реагировать на сообщения цвета ГМа. Вот про второй было бы интересно. Хотя думаю так не прокатит :(
Tyoma
Posts: 18
Joined: 2009-10-15 13:58:29

Post by Tyoma »

Mirage wrote:Тут как бы проверка не на ПК :) На них то просто. Тут хочется попробовать сделать проверку от Гмов которые могут запалить бота.
Варианты конечно есть - сделать список возможных слов (длиннючий) и проверять их.
Либо проверять все сообщения и реагировать на сообщения цвета ГМа. Вот про второй было бы интересно. Хотя думаю так не прокатит :(


ещё как прокатит ) для меня лудше варианта чем проверка по цвету не придумаеш )
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Post by Mirage »

не прокатит в том плане что в инжекте помоему нет возможности искать просто строку. Надо обязательно значение указывать.
Tyoma
Posts: 18
Joined: 2009-10-15 13:58:29

Post by Tyoma »

Code: Select all

sub Alarm() 
var i
   while 1
      wait(200)
      if uo.injournal('GM') or uo.injournal('Admin') or uo.injournal('Seer') or uo.injournal('Counselor') or uo.injournal('Developer') then
         gong()
         wait (1000)
         uo.DeleteJournal()
      endif
      for i = 1 to 10
     if UO.JournalColor(i) <> '0x03B2' AND UO.JournalColor(i) <> '0x0000' AND UO.JournalColor(i) <> '0x0026' AND UO.JournalColor(i) <> '0x0022' then 
         gong()
         wait (1000)
         uo.DeleteJournal()
      endif
      next
   wend
end sub

сделали то что хотели ... но - невсегда срабатывает .. на сообщения которые пишут игроки реагирует вобще через раз .. не подскажете как исправить ?
Post Reply