Page 1 of 1

Помогите со скриптом на быстрое получение названия предмета

Posted: 2005-02-18 00:16:25
by Denton
Можно ли составить скрипт о быстром получении имени предмета? Я сам понимаю, что можно по нему просто щелкнуть. Но на лагах, или при некоторых обстоятельствах, нужно иногда быстро узнать название итема и впихнуть его в скрипт.
Помогите, а?

Re: Помогите со скриптом на быстрое получение названия предм

Posted: 2005-02-18 09:19:44
by Sfagnum
Denton wrote:Можно ли составить скрипт о быстром получении имени предмета? Я сам понимаю, что можно по нему просто щелкнуть. Но на лагах, или при некоторых обстоятельствах, нужно иногда быстро узнать название итема и впихнуть его в скрипт.
Помогите, а?
мдямс... не совсем понял... но думаю так
UO.GetName(idItem)

Posted: 2005-02-18 11:08:06
by Denton
Пасибо, сейчас проверю...

Posted: 2005-02-18 11:31:15
by Denton
Ну вот допустим, я стою кую бронь, плейт нагрудник. Мне нужно по инени отсортировать эксепт или нет.

uo.finditem() // ищем вещь
uo.getname // проверяем ее имя
if uo.getname == *нужное имя* then
uo.grab('item',-1,'container') // кидаем в один контейнер
else
uo.grab('item',-1,'othercontainer') // в другой

НО в документации к uo.getname пишется следующее:
Если сервер никогда не выводил имя на экран (как это делается например после одиночного щелчка click на обьекте или использования All Names в клиенте), то имя неизвестно.

Может есть какой способ это обойти?

Posted: 2005-02-18 11:35:50
by 666Man666
uo.click('finditem')

Posted: 2005-02-18 11:39:09
by Sfagnum
Denton wrote:НО в документации к uo.getname пишется следующее:
Если сервер никогда не выводил имя на экран (как это делается например после одиночного щелчка click на обьекте или использования All Names в клиенте), то имя неизвестно.

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

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

Posted: 2005-02-18 18:38:27
by Denton
Тут такая штука на моем шарде.
Во первых тут непрерывно шмотки крафтятся
Во-вторых, в журнале видно следующее: "success", т.е. имя шмотки не высвечивается.
Во-третьих, обычная шмотка имеет обычное название (a plate helm)
А эксептовая - an exceptional plate helm
Айди этих шмоток разные и, как я понял, рендомные, а типы просто одинаковые... тоесть их единственное скриптовое различие - имя.
Моя мысль такая: крафчу шлём; идет проверка finditem; до того как скрафтится следующий шлём, текущий кидается в мешок в зависимости от своего имени, и так циклично.

Но тут проблема, которую я описал выше...

2Ман666: uo.click('finditem') я думаю подошло бы, но при хорошем коннекте, на лагах скрипт не будет успевать за крафтом вещей. Или же придется крафтить не автоматом шарда, а вручную этим скриптом по одной шмотке с проверками, но это уйма времени при лагах.

Posted: 2005-02-18 18:57:20
by Sfagnum
Denton wrote:Но тут проблема, которую я описал выше...

2Ман666: uo.click('finditem') я думаю подошло бы, но при хорошем коннекте, на лагах скрипт не будет успевать за крафтом вещей. Или же придется крафтить не автоматом шарда, а вручную этим скриптом по одной шмотке с проверками, но это уйма времени при лагах.
проверка на лаг после клика без удаление журнала.

Posted: 2005-02-18 21:32:20
by Denton
Denton wrote:по одной шмотке с проверками, но это уйма времени при лагах.


Хотя, даже если так, то как сделать проверку по имени. Если можно, то помогите составить всю красную часть:

Начало крафта->Вещь попала в бекпак->
проверка по имени и расфасовка в 2 мешка
->крафт дальнейший

Posted: 2005-02-19 22:23:38
by Denton
ап

Posted: 2005-02-21 10:40:05
by Sfagnum

Code: Select all

var t
UO.FindType(...,...,'backpack')
if UO.FindCount()>0 then
UO.Click('finditem')
checklag()
if UO.GetName('finditem') == 'bla... bla...' then
UO.MoveItem('finditem','1',cont1)
else
UO.MoveItem('finditem','1',cont2)
end if
end if

1. checklag() - без удаления журнала... поищи, на форуме есть его.
2. cont2, cont1 - куда раскладываем.

Posted: 2005-02-22 18:34:08
by Denton
благодарю, будем тестить как доступ в уо откроют