Yoko

All sides of Injection
It is currently 2025-10-16 15:13:51

All times are UTC+02:00




Post new topic  Reply to topic  [ 589 posts ]  Go to page Previous 19 10 11 12 1330 Next
Author Message
 Post subject: Re: Injection 2014 !
PostPosted: 2014-03-02 18:10:48 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
1403.02

Список изменений:
    - Исправлена работа стрелок вверх/вниз на закладке Display
    - Исправлено добавление сообщений из FilterSpeech в журнал инжекта
    - Изменена работа uo.InJournal(Pattern,[MaxLines/IgnoreCase]). Теперь если второй параметр указан -1 ведется поиск без учета регистра
    - Добавлена возможность поиска по дистанции в uo.FindMan([Notoriety],[Distance])
    - Добавлена комманда uo.ColorPrint(color,text) - печатает в системный чат сообщение указанного цвета
    - Добавлена комманда uo.ChangeJournalLength(NewLength) - изменяет максимальное кол-во строк в журнале. При вызове этой комманды содержимое журнала удаляется
    - Добавлена комманда uo.WaitingForJournalText(MaxDelay,Text,[Equals],[IgnoreCase],[SkillName/ObjectID])
    Работает по принципу uo.WaitingForMenu()
    MaxDelay - время в мс за которое должно появиться сообщение
    Text - текст, или наборы текста, разделенные символом "|"
    Equals - 0 - поиск фрагмента в пришедшем сообщении, 1 - точное соответствие строк (стандартно 0)
    IgnoreCase - 0 поиск с учетом регистра, 1 - поиск без учета регистра (стандартно 0)
    SkillName/ObjectID - название скилла или ИД объекта для использования (если требуется)
    - Добавлены наборы типов и цветов для поиска:
    - uo.AddFindList(ListName,Graphic,[Color]) - добавляет Graphic,Color в набор с названием ListName
    - uo.DeleteFindList(ListName,Graphic,[Color]) - удаляет Graphic,Color из набора с названием ListName
    - uo.ClearFindList(ListName) - полностью очищает набор с названием ListName
    - uo.FindList(ListName,[Container],[Distance],[Notoriety],[Nearest]) - осуществляет поиск по набору. Возвращает серийник найденного объекта. Так же он доступен в finditem и кол-во найденного в uo.findcount()
    ListName - название набора
    Container - где ищем (стандартно земля)
    Distance - дистанция поиска (стандартно 15)
    Notoriety - набор "злобности" для поиска. Может принимать как отдельные значения, так и набор значений, разделенных символом "|" (стандартно -1 поиск всех злобностей)
    Nearest - 1 - остановит поиск на первом найденном объекте, 0 - произведет поиск по всему списку предметов в памяти инжекта (стандартно 0)
    - Добавлена закладка Replaces и все её действия (возможна переработка под более расширенные возможности фильтра)
    - Добавлен константный хоткей Alt+Ctrl+Shift+F5 - отображает/скрывает окно инжекта. Работает только при активном окне УО, к которому привязан инжект (глобальный хоткей не стал делать, т.к. начали бы отображаться/скрываться все инжекты)
    - Добавлена опция запуска для инжекта /hideinj - не отображает окно инжекта при старте (можно восстановить хоткеем)
    - В лаунчер добавлена возможность запуска клиента с параметрами, пока что только /hideinj и /abysst для Абиссовского клиента (Абисст блокирует доступ к инжекту, в заголовке получается каша и много чего еще не приятного, что я еще даже не пытался фиксить)
    - Изменена работа скриптовой функции uo.FindType(Graphic,[Color],[Container],[Distance],[Notoriety],[Nearest]) (то что вызывается из хоткеев или _findtype осталось без изменений)
    Notoriety и Nearest - аналогично работе в uo.FindList()
    Возвращает серийник finditem


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-03-02 18:41:29 
Offline

Joined: 2011-05-23 00:33:30
Posts: 949
uo.AddFindList(ListName,Graphic,Color) только 1 тип за раз можно указать? Как по мне удобнее было бы в условиях указать строчку с типами, не люблю эти все адд*. Сколько строк в журнале сохраняется по умолчанию?

_________________
CodeSweeper


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-03-02 18:45:47 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
Incorrect User wrote:
uo.AddFindList(ListName,Graphic,Color) только 1 тип за раз можно указать? Как по мне удобнее было бы в условиях указать строчку с типами, не люблю эти все адд*. Сколько строк в журнале сохраняется по умолчанию?
1 тип и соответственно его цвет.
В автостарт сунь создание листа, или при запуске скрипта 1 раз, дальше наборы будут храниться в памяти инжекта пока принудительно не очистишь их, ну или до закрытия клиента.
Умолчание 100, как и было. Дальше можно уже самому рулить ситуацией.
Минимально 10, максимально 1000 строк может хранить журнал.


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-03-02 19:14:25 
Offline

Joined: 2011-05-23 00:33:30
Posts: 949
В автостарт
Code:
uo.AddFindList("Finddanger", "0x0190")

В скрипт
Code:
uo.FindList("Finddanger", "ground", 28)

Перезахожу в уо, пишет Usage: addfindlist, Listname, color, запускаю скрипт, пишет Findlist finddanger is not found. Пробовал без кавычек делать, пишет variable undefined FINDDANGER

_________________
CodeSweeper


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-03-02 19:34:50 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
Incorrect User wrote:
uo.AddFindList("Finddanger", "0x0190")
А цвет куда дел? Все параметры обязательны. -1 для цвета задай
Incorrect User wrote:
Перестал работать findtype, рабочий скрипт теперь не срабатывает.
Кхм, я проверял - работало, скинь фрагмент скрипта в личку, где это используется.


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-03-02 19:43:46 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
Обновил ссылку.
Поправил работу uo.findtype()
Сделал Color не обязательным параметром в uo.AddFindList() и uo.DeleteFindList(). Если цвет не указан - добавляются/удаляются для поиска все цвета.


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-03-02 21:43:46 
Offline

Joined: 2011-05-23 00:33:30
Posts: 949
а кстати, msg русское до конца не довели?

_________________
CodeSweeper


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-03-02 22:12:32 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
Incorrect User wrote:
а кстати, msg русское до конца не довели?
Оу, совсем забыл про это.
На неделе или на сл. выходных фиксану.


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-03-03 11:57:35 
Offline

Joined: 2013-08-09 00:13:57
Posts: 44
Quote:
- Добавлена закладка Replaces и все её действия (возможна переработка под более расширенные возможности фильтра)

В поле Original Text не дает написать больше 6 символов(((


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-03-03 12:08:58 
Offline

Joined: 2013-08-09 00:13:57
Posts: 44
Не заменяет касты, например если написать в клиенте Kal Ort Por, то заменит, если кастануть, ничего не происходит...


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-03-03 14:48:45 
Offline

Joined: 2011-05-23 00:33:30
Posts: 949
Появилась еще потребность, например мы ищем дерево, их вокруг много, можно ли сделать опцию в findtype которая позволит, если нашли несколько искомых итемов, то в finditem выбирался тот который ближе всех к чару?

_________________
CodeSweeper


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-03-03 15:14:33 
Offline

Joined: 2011-05-23 00:33:30
Posts: 949
И ходилку сделай побыстрее, к примеру чар смотрит в одну сторону, а ему нунжо идти в противоположную, включаем ходилку и он не просто повернулся и идет, а повернулся в нужную сторону, небольшая задержка, пошел куда надо, и так при любой смене направления в принципе.

_________________
CodeSweeper


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-03-03 15:36:11 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
Incorrect User wrote:
И ходилку сделай побыстрее, к примеру чар смотрит в одну сторону, а ему нунжо идти в противоположную, включаем ходилку и он не просто повернулся и идет, а повернулся в нужную сторону, небольшая задержка, пошел куда надо, и так при любой смене направления в принципе.
И добро пожаловать в бан за СХ))
Про поиск – помудрю, было в мыслях нечто подобное уже, но как–то ушло вникуда.


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-03-03 15:42:46 
Offline

Joined: 2011-05-23 00:33:30
Posts: 949
Ну в стелсе же ходит, и никого не банят. Что там не так как инжекте?
На ровном месте, без препятствий, но вместо того чтобы идти наискосок он так бы и пришел куда надо, он пошел вверх и потом вправо.

_________________
CodeSweeper


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-03-03 16:00:04 
Offline

Joined: 2013-08-09 00:13:57
Posts: 44
Quote:
Nearest - 1 - остановит поиск на первом найденном объекте, 0 - произведет поиск по всему списку предметов в памяти инжекта (стандартно 0)

На счет поиска, надо сделать так:
Nearest - 0 - остановит поиск на первом найденном объекте, 1 - произведет поиск по всему списку предметов в памяти инжекта и вернет ближний к персонажу (стандартно 0)

И прикрутить эту штуку к UO.FindMan()


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-03-03 16:31:34 
Offline

Joined: 2013-08-09 00:13:57
Posts: 44
Incorrect User wrote:
Или uo.findman удалить вообще и использовать только findtype и findlist. Их на мой взгляд более чем достаточно и универсально.


Хочу избавиться от кучи тупых циклов.

Вот кусок из поиска чаров:
Code:
;--------------------------------------------------------
; Поиск персонажа на расстоянии "Distance"
;--------------------------------------------------------

Sub FindMan(Distance)

dim Sex[2]
    Sex[1]      = '0x0190'
    Sex[2]      = '0x0191'

var Index

  for Index = 1 to 2
    UO.FindType(Sex[Index], '-1', 'ground', Distance)
    if UO.FindCount() > 0 then
      return True
    end if
  next

  return False

end sub

Code:
  . . . .
  for Count = 0 to FindDist
    while FindMan(Count)
      if fSkipGuild and (UO.GetNotoriety('finditem') == 2) then
        UO.Ignore('finditem')
      else
        return True
      end if
    wend
  next

  return False

Все это можно заменить одной командой UO.FindMan([Notoriety], [Distance], [Nearest])


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-03-03 16:39:13 
Offline

Joined: 2013-08-09 00:13:57
Posts: 44
Code:
uo.FindType(Graphic,[Color],[Container],[Distance],[Notoriety],[Nearest])

Для правильного поиска Distance приходится ставить на 1 больше чем надо, например при Distance=1 не находит итем на соседнем тайле, при Distance=2 находит.


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-03-03 16:39:27 
Offline

Joined: 2011-05-23 00:33:30
Posts: 949
Ты кажется не понял что нового добавилось. В автостарт добавляешь
Code:
uo.AddFindList("AnyName", "0x0190")
uo.AddFindList("AnyName", "0x0191")

И в скрипте нужно всего лишь одна строка, чтобы искать сразу и man и woman а именно
Code:
uo.FindList("AnyName", "ground", 28)

И в отличии от findman функция uo.FindList не ограничена поиском исключительно людей, а ты можешь искать одновременно столько типов сколько нужно, например и людей и животных.

_________________
CodeSweeper


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-03-03 18:07:09 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
Incorrect User wrote:
Или uo.findman удалить вообще и использовать только findtype и findlist. Их на мой взгляд более чем достаточно и универсально.
Исключено. Куча скриптов используют uo.findman(), существующие функции удалять не буду, просто будет актуальная замена им, с более расширенными возможностями.
Большинство юзеров не смогут самостоятельно переписать скрипт с uo.findman() на что-то иное.
В uo.findman() может прикручу Nearest.
И в сл. релизе при Nearest равном -1 будет производиться поиск по всему списку, в finditem (как и в возвращаемом значении) будет самый ближайший предмет (если поиск производится на земле).

VeL wrote:
Code:
uo.FindType(Graphic,[Color],[Container],[Distance],[Notoriety],[Nearest])

Для правильного поиска Distance приходится ставить на 1 больше чем надо, например при Distance=1 не находит итем на соседнем тайле, при Distance=2 находит.
Проверю.


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-03-03 18:10:41 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
Incorrect User wrote:
И в скрипте нужно всего лишь одна строка, чтобы искать сразу и man и woman а именно
Code:
uo.FindList("AnyName", "ground", 28)
Две строки:
Code:
uo.ignore('self')
uo.FindList("AnyName", "ground", 28)


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 589 posts ]  Go to page Previous 19 10 11 12 1330 Next

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 17 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited