Подскажите на счёт простенького ИИ
Moderators: Murderator+, Murderator
Подскажите на счёт простенького ИИ
Как сделать проверку журнала на ЛЮБУЮ месагу от плеера. тоесть зациклить скрипт допустим паузы
sub Pause()
UO.DeleteJournal()
REPEAT
WAIT(3000)
UNTIL UO.InJournal('СТСТСТСТ')
endif
end sub
Но не на конкретную фразу при выходе! а на любую!
Заранее спасибо.
sub Pause()
UO.DeleteJournal()
REPEAT
WAIT(3000)
UNTIL UO.InJournal('СТСТСТСТ')
endif
end sub
Но не на конкретную фразу при выходе! а на любую!
Заранее спасибо.
-
- Expert!
- Posts: 1032
- Joined: 2006-02-25 21:48:38
DerMeister =) wrote:От определённого плеера? Или от любого плеера любую фразу?
от любого плеера ! в том числе от себя!
а если можно то и от конкретного как поясните! желательно с возвратом в переменную его имени.
тоесть допустим к макрос чару обратился конкретный человек с фразой "привет" с ним что бы и общался не обращая внимания на вопли других! реально?
-
- Expert!
- Posts: 1032
- Joined: 2006-02-25 21:48:38
Ты "вендора" чтоле писать собралсо?
Впринципе вот проверка на конкретного плеера и конкретное слово:
Вобщем то потести какие тебе серийники возвращает uo.journalserial() при различных сообщениях (от плееров/сервера/веши/вендора) может ты найдёшь зависимость... Еще есть команда uo.isNPC(), про неё не знаю + еще есть 100% способ определить плеера, но он тока под RunUO =_(
Впринципе вот проверка на конкретного плеера и конкретное слово:
Code: Select all
if uo.journalserial(uo.injournal('PREVED')-1) == 'id' then
...
end if
Вобщем то потести какие тебе серийники возвращает uo.journalserial() при различных сообщениях (от плееров/сервера/веши/вендора) может ты найдёшь зависимость... Еще есть команда uo.isNPC(), про неё не знаю + еще есть 100% способ определить плеера, но он тока под RunUO =_(
DerMeister сейчас на нейрале!
не ранка с кликосами не подходит
а любое сообщение как ? от любых плееров без разницы.
не не вендора а крафтера с опросом
а вот ещё извини за глупые вопросы два саба
sub main()
.......
fg()
UO.Grab( '1', TEST )
end sub
sub fg()
UO.FindType bla bla bla
TEST= UO.GetSerial( 'finditem' )
end sub
вопрос если переменная будет задаваться во втором сабе(куда обращается первый) переменная что не остаётся? тоесть не может быть использована в первом? у меня чтот нехотит*(
а любое сообщение как ? от любых плееров без разницы.
не не вендора а крафтера с опросом
а вот ещё извини за глупые вопросы два саба
sub main()
.......
fg()
UO.Grab( '1', TEST )
end sub
sub fg()
UO.FindType bla bla bla
TEST= UO.GetSerial( 'finditem' )
end sub
вопрос если переменная будет задаваться во втором сабе(куда обращается первый) переменная что не остаётся? тоесть не может быть использована в первом? у меня чтот нехотит*(
Last edited by derevo on 2006-07-21 17:15:21, edited 1 time in total.
DerMeister =) wrote:Ты "вендора" чтоле писать собралсо?
Впринципе вот проверка на конкретного плеера и конкретное слово:Code: Select all
if uo.journalserial(uo.injournal('PREVED')-1) == 'id' then
...
end if
мм дай ссылку с какого скрипта выдрал. мож там что нарою
-
- Expert!
- Posts: 1032
- Joined: 2006-02-25 21:48:38
DerMeister =) wrote:Шо значет выдрал? Я тут сходу напесал =_)
Я те говорю... посматри какие серийники у сообщений сервера, какие у плееров....
Впринципе самый лучшиф вариант, это вариант с "кодовым" словом, но которое ьы срабатывал твой скрипт =_)
видел я уже где-то этот превеД )))
дык в том то и дело! прабла одна! что если он ключевое слово пишет(одно из них) то скрипт гото дальше! а если любое другое то принт " сам дурак" . нужно научить его воспринимать слова НЕ ИЗ СПИСКА и орать " я непонимаю"
и ответть пожалуста если несложно насчёт TEST выше
-
- Expert!
- Posts: 1032
- Joined: 2006-02-25 21:48:38
Насчёт TEST: в инже все переменные, обьявленные внутри саба локальны, хотя ты не сможешь создать в 2 сабах одинаковые переменные.
2 варианта:
1)задавать переменные до сабов (не очень хороший так как случаются глюки) например:
2)Используй return:
тут вообще можно очень интересно сделать... проверки всякие =_)
2 варианта:
1)задавать переменные до сабов (не очень хороший так как случаются глюки) например:
Code: Select all
var a='test'
sub main1()
uo.print('main1='+a)
main2()
a='PREVED'
main2()
endsub
sub main2()
uo.print('main2='+a)
end sub
2)Используй return:
Code: Select all
sub main()
.......
UO.Grab('1',fg())
end sub
sub fg()
UO.FindType bla bla bla
TEST= UO.GetSerial( 'finditem' )
return TEST
end sub
тут вообще можно очень интересно сделать... проверки всякие =_)
DerMeister сейчас на нейрале!