Page 1 of 1

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

Posted: 2009-11-12 16:58:52
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
(проверка на цвет)


подскажите .. совсем запутался.. заранее спс

Posted: 2009-11-12 17:11:38
by Nmy
Проверка персонажей?

Posted: 2009-11-12 17:28:39
by Tyoma
нет .. проверка гмов =) и других людей ) (бывает прилетают и с инвиза пишут что-то) надо чтоб запищало

Posted: 2009-11-12 19:51:41
by Mirage
чуть чуть перефразирую вопрос автора: Как проверить ЛЮБОЕ сообщение в журнале на цвет?

Posted: 2009-11-12 21:07:50
by Tyoma
Mirage wrote:чуть чуть перефразирую вопрос автора: Как проверить ЛЮБОЕ сообщение в журнале на цвет?


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

как определённое сообщение проверить то ясно ... а вот как весь поток проверять и делейтить журнал ..

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

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


вот вот =) так что жду гениев наших =)))

Posted: 2009-11-12 23:48:09
by Nmy
ГМов там наверно 2-3. Получи их сериалы. if uo.journalserial()==0x12345678 -> это гм!!
Вот и все.

Posted: 2009-11-13 00:18:27
by Tyoma
около 10-ка =) спс попробую.. но хотелось бы ещё попробывать с тем что надумали =) цвета журнала

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


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

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


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

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

Posted: 2009-11-13 13:27:59
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

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

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


ещё как прокатит ) для меня лудше варианта чем проверка по цвету не придумаеш )

Posted: 2009-11-13 19:08:50
by Mirage
не прокатит в том плане что в инжекте помоему нет возможности искать просто строку. Надо обязательно значение указывать.

Posted: 2009-12-23 16:12:06
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

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