Работа с журналом - получение информации..

General Injection issues

Moderators: Murderator+, Murderator

Post Reply
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

Работа с журналом - получение информации..

Post by Mihail »

Возможно ли получить информацию из журнала кроме как
набрав ,showjournal и вручную скопировав текст? :)
Надо чтобы выглядело примерно так:

Code: Select all

if uo.injouranal('Поздоровайся с: *тут должно быть чье-то имя - к примеру Vasya*') then 
uo.msg('привет '+*имя которое должно быть в первом сообщении - в данном случае Vasya*)
end if
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

А хелп почитать? Слабо?
http://yoko.netroof.net/help/help.php?l ... =InJournal
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

Post by Mihail »

ты не понял, мне не известно то что надо получиь из журнала..
допустим мне сказали

ПРИВЕТ МЕНЯ ЗОВУТ ВАСЯ!

вот у меня заложено

Code: Select all

if uo.injournal('ПРИВЕТ МЕНЯ ЗОВУТ') then
gname="получаем текст в журнале идущий после фразы "ПРИВЕТ МЕНЯ ЗОВУТ ")
uo.msg(gname+' ПРИВЕТ, А Я ФЕДЯ')
end if

короче надо получить инфу в журнале идущуюю после заданной фразы
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

Ну ы тчно в хелпе был?;)
Что InJournal возвращет?;)
Номер строки +1
Так теперь выдергивай строку и расчленяй;) опять такие как выдернуть всю чстроку в хелп;)
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

Post by Mihail »

фишка в том, что я не знаю какое мне имя скажут...
если не сложно напишите плиз - как это будет выглядеть?
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

InJournal ищет подстроку... тебе не надо искать строку с именем ана найти только часть ее...
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Code: Select all

if uo.injournal("Привет! Меня завут ") then
   var str = uo.journal(uo.injournal("Привет! Меня завут ")-1)
   str = left(str,18) ; примитивно выдёргиваем ник, можно и покруче.
   uo.msg("Привет "+str+", а я Петя.")
endif
admir
Posts: 528
Joined: 2005-01-13 07:20:54

Post by admir »

Если чары - люди то таким макаром не получиться ,определить имя - по гетнейму при включенном тви , а обращение на ключевое слово допустим hi
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

Почему не получится то?
Имя это часть сообщения...
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

Post by Mihail »

Почти, но не совсем :)
ладно, вобщем истиная идея была такова:
Есть 2 чара, которые состоят в пати, допустим идет бой 2 на 2, и одному из членов пати почти удалось добить соперника - нужно лишь одновременно с партнером кастануть ФС в него, но партнер естественно не в курсе.. вот поэтому нужен примерно такой скрипт:
1 чел, который почти убил противника:

Code: Select all

sub fsparty()
uo.click('lasttarget')
uo.sayu('.. FS: '+uo.getname('lasttarget')) # говорим в пати - что надо скастовать ФС по "имени противника, который у нас значится в качества ласттаргета"
end sub

2-ой чел, который, должен скастовать этот самый ФС

Code: Select all

sub iffs()
if uo.injournal('FS: ') then
uo.deletejournal()
All Names # не знаю, есть такая функция в инже или нет - но если что можно из клиента
if uo.injournal('ИМЯ ВРАГА') then
uo.getserial или uo.journalserial() #надо узнать серийник врага
uo.cast('Flamestrike',?????) #где ????? = противник
uo.deletejournal()
end if
end if
end sub


вобщем я смутно представляю себе как это выглядит, но думаю что сделать такое вполне возможно... :(
admir
Posts: 528
Joined: 2005-01-13 07:20:54

Post by admir »

:) по имени чара - ненадожно . использую getserial('lasttarget')
и передавай циферки с ключевой командой ,
чар принимает фразу и в зависимости от ключа команды делает что-то,
из фразы вырезаеться серийник и копируеться в lasttarget
set('lasttarget','my_id')

работа со строками :

Mid(строка, позиция, число букв) - позиция считается от 0 - вырезает часть из СТРОКИ начиная с ПОЗИЦИИ на КОЛИЧЕСТВО ПОЗИЦИЙ.
LTrim - убрать пробелы слева
RTrim - справа
Trim - слева и справа
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

во вы извращаетесь

Code: Select all

var Friend=''
sub SendFS()
   uo.msg('..fs'+uo.GetSerial('lasttarget')) #хз как в парти отправить(непомню)
end sub
sub SyncFS()
var n
var target
   while not uo.Dead()
       wait(100)
       n=uo.Injournal('fs')
       if n then
          if uo.JournalSerial(n-1)==Friend then
             target=right(uo.Journal(n-1), 10)
             uo.Cast('flames...', target)# вписат ьправельно спел;)
          end if
          uo.SetJournalLine(n-1, "")
       end if
   wend
end sub

Friend='' - тот кто шлет сообщение
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

Post by Mihail »

спасибо! про удалание части строки и отступы - не слышал :)
Post Reply