Пытаюсь создать скрипт, который разговаривает с игроками - по ключевым словам.
Вот мой скрипт:
Code: Select all
sub speak()
begin:
while not UO.InJournal("а") and not UO.InJournal("а") and not UO.InJournal("о") and not UO.InJournal("у") and not UO.InJournal("э") and not UO.InJournal("и") and not UO.InJournal("е") and not UO.InJournal("я") and not UO.InJournal("ю") and not UO.InJournal("ы")
UO.DeleteJournal()
wait(7000)
UO.Print("*")
wend
if UO.InJournal("poiNt_3D: ") then # Мой ник. Чтобы не болтал сам с собой :)
UO.Print("Message from self")
UO.DeleteJournal()
wait(1000)
goto begin
endif
############ KEYWORDS ##############
if UO.InJournal("Привет") or UO.InJournal("Здоров") or UO.InJournal("Здравствуй") then
UO.say("Привет")
UO.DeleteJournal()
wait(1000)
goto begin
endif
if UO.InJournal("Дурак") or UO.InJournal("лох") or UO.InJournal("тупой") or UO.InJournal("урод") then
UO.say("Сам такой")
UO.DeleteJournal()
wait(1000)
goto begin
endif
if UO.InJournal("ты тут") or UO.InJournal("ты здесь") then
UO.say("Меня нет. Это скрипт.")
UO.DeleteJournal()
wait(1000)
goto begin
endif
####################################
UO.Say("Я робот")
UO.DeleteJournal()
wait(1000)
goto begin
end sub
Проблема в том, что скрипт отреагирует только на кириллицу.
И еще несколько вопросов.
1) Можно ли преобразовывать текст в нижний регистр? Если да, то как?
2) Если запущенно несколько скриптов, использующих поиск в журнале, и очищающих его, наверное, могут возникнуть конфликты. Как их избежать?
3) Можно ли както конкретнее определить речь игроков? Например, цветом текста...
Спасибо.