Yoko

All sides of Injection
It is currently 2025-12-28 01:05:42

All times are UTC+02:00




Post new topic  Reply to topic  [ 4 posts ] 
Author Message
PostPosted: 2008-03-30 11:09:50 
Offline

Joined: 2007-04-14 16:11:34
Posts: 52
Location: Москоу
итак, снова озадачил себя -)
суть проблемы:
щас бегаю на шарде, где люди активно используют скрытие каста, причем есть много вариаций
1) uo.msg(' ') три раза - самя простая.
2) uo.msg(' An Ex Por') - с разными вариациями
3) спам uo.msg(' An Ex Por') с разными цветами, которые могут совпадать с цветом обычных кастов. + с разной последовательностью.

вобщем пытался найти решение:

Code:
sub DetectCast()
uo.DeleteJournal()
var i,EnemyMag,H1,H2,EnName,color
EnemyMag = '0x0000000'
Dim Cast[39]
Cast[1]='Uus Jux'
Cast[2]='Rel Wis'
Cast[3]='In Por Ylem'
Cast[4]='Des Mani'
Cast[5]='Uus Sanct'
Cast[6]='In Nox'
Cast[7]='Rel Por'
Cast[8]='In Sanct Ylem'
Cast[9]='Vas Uus Sanct'
Cast[10]='Des Sanct'
Cast[11]='In Flam Grav'
Cast[12]='Por Ort Grav'
Cast[13]='Ort Rel'
Cast[14]='Kal Ort Por'
Cast[15]='An Grav'
Cast[16]='Kal In Ex'
Cast[17]='In Jux Sanct'
Cast[18]='Por Corp Wis'
Cast[19]='An Ex Por'
Cast[20]='In Nox Grav'
Cast[21]='Kal Xen'
Cast[22]='An Ort'
Cast[23]='Corp Por'
Cast[24]='Vas Ort Flam'
Cast[25]='An Lor Xen'
Cast[26]='In Ex Grav'
Cast[27]='Wis Quas'
Cast[28]='Vas Ort Grav'
Cast[29]='In Sanct Grav'
Cast[30]='Kal Vas Flam'
Cast[31]='Vas Rel Por'
Cast[32]='Ort Sanct'
Cast[33]='Vas An Ort'
Cast[34]='Flam Kal Des Ylem'
Cast[35]='In Vas Por'
Cast[36]='Vas Corp Por'
Cast[37]='An Corp'
Cast[38]='Agr'
While 1 > 0
 for i=1 to 38
  if UO.InJournal(Cast[i]) then
  if uo.journalcolor(uo.injournal(Cast[i]))=='0x03B2' then

   EnemyMag = UO.JournalSerial(UO.InJournal(Cast[i]))
  H1 = uo.GetSerial(EnemyMag)
  H2 = uo.GetSerial('laststatus')
  EnName = uo.GetName('laststatus')
  if H1 == H2 then
   uo.charprint('0x002d',"*" + Cast[i] + "*")
   UO.DeleteJournal()
  endif
  endif
endif
 next
 wait(100)
wend
end sub
 


но скрипт почти не выдает сообщения кастов, тоесть шансы сдетектить каст ~30% причем я так и не понял от чего это зависит.

суть проблемы : заставить скрипт выдавать сообщения произносимые именно персонажем, а не скриптами хозяина. пробовал тупо фильтровать по цвету, но получалось не эффективно.


Top
   
 Post subject:
PostPosted: 2008-03-30 15:51:47 
Offline

Joined: 2007-04-26 23:35:15
Posts: 220
Code:
  if uo.journalcolor( uo.injournal( Cast[i] ) - 1 ) == '0x03B2' then 
  EnemyMag = UO.JournalSerial( UO.InJournal( Cast[i] ) - 1 )

ЗЫ читаем хелп по команде uo.injournal()


Top
   
 Post subject:
PostPosted: 2008-04-03 07:35:31 
Offline

Joined: 2007-04-14 16:11:34
Posts: 52
Location: Москоу
почитал.. не понял.)


Top
   
 Post subject:
PostPosted: 2008-04-03 13:50:41 
Offline

Joined: 2007-04-26 23:35:15
Posts: 220
Описание: InJournal •

Синтакс: number uo.InJournal(text)
Тема: Команды скриптов Ключевые слова: uoscript, journal

Ищет в журнале Injection строку, в которой встречается text, и возвращает её номер плюс 1, или возвращает 0 если такая строка с момента последнего удаления журнала DeleteJournal не обнаружена. Номер может быть использован в дальнейшем для функций Journal, JournalSerial, SetJournalLine (не забыть отнять единицу).


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 4 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 4 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