Просьба ... с определением появившегося чара на экране ...
Moderators: Murderator+, Murderator
Просьба ... с определением появившегося чара на экране ...
Умные люди ... Нужен кусок скрипта, который будет определять, что на экране появился другой чар ... и затем выполнять что то дальше ... Что то дальше я знаю ... Незнаю как определить появление чара! ...
Просьба помочь ...
Просьба помочь ...
My Game is Ultima online on DRW!
Возвращает 1 если обнаружит чара.
З.Ы.
Это же надо таким извращенцем быть, чтобы в УО через gprs играть
Code: Select all
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 играть

пропиши гденить в начале основного скрипта
А теперь чтобы проверять наличине чаров:
Code: Select all
uo.ignore('self')
А теперь чтобы проверять наличине чаров:
Code: Select all
if Scan() == 1 then
; тут твои действия
endif
Code: Select all
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
этот скрипт не работает ... у меня был вариант с элементарным расхайдом, т.е. как токо меня расхайдили .... улетаю по рунке в дом и то под присмотром ни разу не умер ... с вашим скриптом уже 2 раза умер ... просьба предложить другие варианты .....
Суть: стою в хайде копаю .... при появлении любого чара ... улетаю по рунке ... весь скрипт писать ненадо ... нужен токо кусок отвечающий за поиск появившего чара!
Заранее спасибо! ...
P.S. желательно чтобы в момент появления чара я уже кастовал рекол ...
Суть: стою в хайде копаю .... при появлении любого чара ... улетаю по рунке ... весь скрипт писать ненадо ... нужен токо кусок отвечающий за поиск появившего чара!
Заранее спасибо! ...
P.S. желательно чтобы в момент появления чара я уже кастовал рекол ...
My Game is Ultima online on DRW!
Lesnik wrote:сейчас стоит элементарная привязка нa if UO.InJournal('revealed') then .... улетаю, хотел сделать на You see ... почему то не работает ... видимо эти слова не входят в инжурнал ... хотя в журнале пишуться ...
Code: Select all
IF Uo.InJournal(" ",1) and str(Uo.IsNPC(Uo.JournalSerial(0)))=="1" then
Code: Select all
#################
; Модуль сканирования.
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
Украл данное творение с чьегото скрипта(Дон Спила кажись). Что значит второй параметр самому интересно, но всегда работало.
Условие ищет в журнале пробел(А он наверно во всех ситемных месагах есть) и проверяет породило ли это сообщение живое существо, сюда только добавь игнорить свои месаги и всё тип-топ будит. Я использую подобную конструкцию в гвардилках обычно.
ЗЫ: Нада включить ТВИ иначе непашет
Условие ищет в журнале пробел(А он наверно во всех ситемных месагах есть) и проверяет породило ли это сообщение живое существо, сюда только добавь игнорить свои месаги и всё тип-топ будит. Я использую подобную конструкцию в гвардилках обычно.
ЗЫ: Нада включить ТВИ иначе непашет

Нашёл тот топик, Автор Дон Спил, но он отозвал скрипт(стёр). Нашёл скрипт(выложу только интересующую нас функцию) у себя на компе(by Don SpiL):
Code: Select all
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
-
- Junior Expert
- Posts: 3221
- Joined: 2004-06-24 22:08:56
Меня просто поражает манера написания скрипта:
Code: Select all
str(Uo.IsNPC(Uo.JournalSerial(0)))=="1" then#
Code: Select all
Uo.IsNPC(Uo.JournalSerial(0)) then
Code: Select all
IF Uo.GetNotoriety(Enemy)==6 or Uo.GetNotoriety(Enemy)==5 or Uo.GetNotoriety(Enemy)==4
Code: Select all
IF Uo.GetNotoriety(Enemy) > 3
-
- Junior Expert
- Posts: 3221
- Joined: 2004-06-24 22:08:56