Yoko
http://forum.yoko.com.ua/

Просьба ... с определением появившегося чара на экране ...
http://forum.yoko.com.ua/viewtopic.php?f=20&t=7432
Page 1 of 4

Author:  Lesnik [ 2006-04-20 08:04:33 ]
Post subject:  Просьба ... с определением появившегося чара на экране ...

Умные люди ... Нужен кусок скрипта, который будет определять, что на экране появился другой чар ... и затем выполнять что то дальше ... Что то дальше я знаю ... Незнаю как определить появление чара! ...
Просьба помочь ...

Author:  Lesnik [ 2006-04-20 08:24:37 ]
Post subject: 

Просьба учесть еще то что сижу по gprs так что лагаю, и шард DRW. Заранее спасибо.

Author:  flake [ 2006-04-20 08:32:55 ]
Post subject: 

Возвращает 1 если обнаружит чара.
Code:
Sub Scan()
#################
var i
 Dim scan[2]
  scan[1] = '0x0190'   ; мужик
  scan[2] = '0x0191'   ; баба         
  uo.set( 'finddistance', '14' )
    for i = 1 to 2
       uo.findtype( scan[i], '-1', 'ground' )
           if uo.findcount() then
             return 1        
           endif
    next
  return 0
endsub


З.Ы.
Это же надо таким извращенцем быть, чтобы в УО через gprs играть :)

Author:  Lesnik [ 2006-04-20 10:03:30 ]
Post subject: 

условие в моем скрипте как прописать?

if [условие] then [следующее действие]

условие?

1 скрипт чему возвращает переменной i?

Author:  Lesnik [ 2006-04-20 10:29:48 ]
Post subject: 

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

Author:  flake [ 2006-04-20 13:10:43 ]
Post subject: 

пропиши гденить в начале основного скрипта
Code:
uo.ignore('self')

А теперь чтобы проверять наличине чаров:
Code:
 if Scan() == 1 then
    ; тут твои действия
 endif

Author:  Grin [ 2006-04-20 13:13:30 ]
Post subject: 

Code:
Sub Scan() 
#################
var i
Dim scan[2]
   scan[1] = '0x0190'   ; ìóæèê
   scan[2] = '0x0191'   ; áàáà         
   uo.set( 'finddistance', '14' )
   uo.ignore("self", "on")
   for i = 1 to 2
            uo.findtype( scan[i], '-1', 'ground' )
                 if uo.findcount() then
         uo.ignore("self", "off")
                   return 1         
                 endif
       next
   uo.ignore("self", "off")
     return 0
end sub

В случаи 1 можно воспользоватсяуказателем finditem

Author:  Lesnik [ 2006-04-20 15:35:56 ]
Post subject: 

этот скрипт не работает ... у меня был вариант с элементарным расхайдом, т.е. как токо меня расхайдили .... улетаю по рунке в дом и то под присмотром ни разу не умер ... с вашим скриптом уже 2 раза умер ... просьба предложить другие варианты .....

Суть: стою в хайде копаю .... при появлении любого чара ... улетаю по рунке ... весь скрипт писать ненадо ... нужен токо кусок отвечающий за поиск появившего чара!

Заранее спасибо! ...

P.S. желательно чтобы в момент появления чара я уже кастовал рекол ...

Author:  Grin [ 2006-04-20 15:55:57 ]
Post subject: 

Как убивают то? если чары в полиморфе то не уувидишь...
если с большой дистанции бъют то увеличь файнд дистенс...
а вообще можно превязаться к инджорналу

Author:  Lesnik [ 2006-04-20 16:13:41 ]
Post subject: 

в том то все и дело .... что убивать могут как угодно ... но перед тем как убить они же появляются на экране ... вот мне и нужет скрипт при котором при появлении кого бы то ни было мой чар срывался по рунке ...

Author:  Lesnik [ 2006-04-20 16:20:24 ]
Post subject: 

сейчас стоит элементарная привязка нa if UO.InJournal('revealed') then .... улетаю, хотел сделать на You see ... почему то не работает ... видимо эти слова не входят в инжурнал ... хотя в журнале пишуться ...

Author:  SLAK [ 2006-04-20 16:49:06 ]
Post subject: 

Lesnik wrote:
сейчас стоит элементарная привязка нa if UO.InJournal('revealed') then .... улетаю, хотел сделать на You see ... почему то не работает ... видимо эти слова не входят в инжурнал ... хотя в журнале пишуться ...

Code:
   IF Uo.InJournal(" ",1) and str(Uo.IsNPC(Uo.JournalSerial(0)))=="1" then 

Author:  Lesnik [ 2006-04-20 17:03:59 ]
Post subject: 

SLAK если не трудно поясни написанное ... что есть что ...

Author:  Grin [ 2006-04-20 17:10:58 ]
Post subject: 

Да и мне тоже интересно что за второй парамтер в InJournale...

Author:  flake [ 2006-04-20 17:46:42 ]
Post subject: 

Code:
#################
; Модуль сканирования.
Sub Scan()
#################
  var i, j, Rser
  var time = uo.time()
   var a1 = 'man'
   var a2 = 'woman'
   var a3 = 'ophidian warrior'
   var a4 = 'deamon'
   var a5 = 'dragon'
   var a6 = 'Quas' 
     Dim scan[5]
     scan[1] = '0x0190'   ; мужик
     scan[2] = '0x0191'   ; баба
     scan[3] = '0x0056'   ; орфидиан
     scan[4] = '0x0009'   ; демон
     scan[5] = '0x000C'   ; дракон
    j = 0   
      for i = 1 to 5
        uo.findtype( scan[i], '-1', 'ground' )
          if uo.findcount() then         
               Rser = uo.getserial( 'finditem' )
               uo.textprint( time, 'Нападение! Id: ' , Rser, 'Имя: ' , uo.getname(Rser))
               j = 1                  
          endif
      next     
    if j == 1 or \
      uo.injournal( a1 ) or \
      uo.injournal( a2 ) or \
      uo.injournal( a3 ) or \
      uo.injournal( a4 ) or \
      uo.injournal( a5 ) or \
      uo.injournal( a6 )    \
    then
      uo.playwav('alarm.wav')   
      uo.print( 'Alarm!!!' )   
      return 1
    else
      return 0
    endif   
endsub

Author:  SLAK [ 2006-04-20 18:31:05 ]
Post subject: 

Украл данное творение с чьегото скрипта(Дон Спила кажись). Что значит второй параметр самому интересно, но всегда работало.
Условие ищет в журнале пробел(А он наверно во всех ситемных месагах есть) и проверяет породило ли это сообщение живое существо, сюда только добавь игнорить свои месаги и всё тип-топ будит. Я использую подобную конструкцию в гвардилках обычно.
ЗЫ: Нада включить ТВИ иначе непашет :wink:

Author:  SLAK [ 2006-04-20 18:47:38 ]
Post subject: 

Нашёл тот топик, Автор Дон Спил, но он отозвал скрипт(стёр). Нашёл скрипт(выложу только интересующую нас функцию) у себя на компе(by Don SpiL):
Code:
sub Control() 
VAR Enemy,msg,Name_Of_Killer
uo.setglobal("stop","no")
While 1==1
   IF Uo.InJournal(" ",1) and str(Uo.IsNPC(Uo.JournalSerial(0)))=="1" then #
      msg=UO.Journal(0)
      Enemy=Uo.JournalSerial(0)
      Name_Of_Killer=Uo.GetName(Enemy)
   IF Uo.GetNotoriety(Enemy)==6 or Uo.GetNotoriety(Enemy)==5 or Uo.GetNotoriety(Enemy)==4 or Uo.InJournal("elemental")

or Uo.InJournal('reaper') or uo.injournal("is attacking you") then
      IF Name_Of_Killer<>Masta and Name_Of_Killer<>"Freeman" and Name_Of_Killer<>"Koldun" and

Name_Of_Killer<>"Zhoporvatel" and Name_Of_Killer<>"fG" and Name_Of_Killer<>"Flatra" then
                 Uo.deletejournal()
                  rectohome(Name_Of_Killer)#Сваливаем домой
                  else
                  uo.say(Name_Of_Killer)
                  uo.say("Privet ot"+" "+Masta)
                  Uo.deletejournal()
                  wait(200)
      end IF
   end IF
            If msg==(Masta+":"+" "+"stop makr") then
      uo.exec("terminate all")
            end if
         Uo.deletejournal()
        wait(200)
      end IF
   wait(200)
   wend
end sub

Author:  Destruction [ 2006-04-20 18:53:36 ]
Post subject: 

Меня просто поражает манера написания скрипта:
Code:
str(Uo.IsNPC(Uo.JournalSerial(0)))=="1" then#

Code:
Uo.IsNPC(Uo.JournalSerial(0)) then


Code:
IF Uo.GetNotoriety(Enemy)==6 or Uo.GetNotoriety(Enemy)==5 or Uo.GetNotoriety(Enemy)==4

Code:
IF Uo.GetNotoriety(Enemy) > 3

Author:  SLAK [ 2006-04-20 18:57:25 ]
Post subject: 

Аффтар скрипта не я, ГетНоториети я как и ты пишу :wink:
И ваще щас более интересно, что значит второй параметр в uo.InJournal(str,1)

Author:  Destruction [ 2006-04-20 21:01:16 ]
Post subject: 

SLAK wrote:
Аффтар скрипта не я, ГетНоториети я как и ты пишу :wink:
И ваще щас более интересно, что значит второй параметр в uo.InJournal(str,1)

Нету второго параметра, а его подстановка не несёт никакой пользы.

Page 1 of 4 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/