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