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

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