[Обновление! / Update!] Injection 2013

General Injection issues

Moderators: Murderator+, Murderator

Locked
some
Posts: 197
Joined: 2007-05-23 19:51:18

Re: [Обновление! / Update!] Injection 2013

Post by some »

стелс-инжект получается прям
Juicy Fruit
Posts: 820
Joined: 2011-06-11 19:54:23

Re: [Обновление! / Update!] Injection 2013

Post by Juicy Fruit »

VeL wrote:Очень нужные две функции для работы с журналом, неплохо было бы добавить)))

Code: Select all

function InJournalBetweenTimes(Str : String; TimeBegin,TimeEnd : TDateTime) : Integer
поиск последней строки в журнале по слову (или по словам) во временном интервале

Code: Select all

function WaitJournalLine(StartTime : TDateTime; Str : String; MaxWaitTimeMS : Integer) : Boolean
ожидание появления строки в журнале

А надо ли оно вообще?
Всегда через

Code: Select all

t=0
repeat
   wait(100)
   t=t+1
until uo.injournal(str) or t>=maxt
делали и не жаловались)
VeL
Posts: 44
Joined: 2013-08-09 00:13:57

Re: [Обновление! / Update!] Injection 2013

Post by VeL »

Зря, очень удобные штуки, во первых - не надо затирать строки в журнале, во вторых - возвращают результат...
Темболее почти во всех скриптах используется работа с журналом, а эти функции упростят и сократят скрипты...

Тогда вместо:

Code: Select all

var t
var maxt = ...
uo.deletejournal(str)
t=0
repeat
   wait(100)
   t=t+1
until uo.injournal(str) or t>=maxt
if uo.injournal(str) then
. . .
end if

будет:

Code: Select all

  if UO.WaitJournalLine(Now, str, maxt) then
  . . .
  end if

и не испортит журнал, можно будет работать с этой строкой дальше
Juicy Fruit
Posts: 820
Joined: 2011-06-11 19:54:23

Re: [Обновление! / Update!] Injection 2013

Post by Juicy Fruit »

if UO.WaitJournalLine(Now, str, maxt) then
Есть сервера, на которых сэйвы длятся по минуте, ато и больше, эта конструкция сломается во время сэйва, если задать maxt меньше 60к.
Что сократят - не спорю.
Тебе не запрещают работать со строкой после ее появления, чистишь же ты ее до цикла, а не после (это по-хорошему), да и например, где тебе нужна эта строчка в дальнейшем? Пример любой)
В крайнем случае - скопировать в буффер при появлении и дальше с ним работать...
VeL
Posts: 44
Joined: 2013-08-09 00:13:57

Re: [Обновление! / Update!] Injection 2013

Post by VeL »

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

Вот кусок из авто-стрелки, где бы пригодилась одна из функций:

Code: Select all

  . . .
  while not UO.Dead()
 
    if InJournalBetweenTimes('Des Sanct|Por Ort Grav|Ort Rel|Kal Ort Por|An Ex Por|Corp Por|Vas Ort Flam|Vas Ort Grav|Kal Vas Flam|Ort Sanct|In Vas Por', OldTime, UO.Timer()) then
      if (UO.GetGlobal('Enemy') == JournalSerial()) and (JournalColor() == '0x03B2') then
        CastMagicArrow()
        WaitForCast()
      end if
      OldTime = UO.Timer()
    else
      Wait(300)
    end if

  wend

  . . .


Начал писать макросы для ПВП, в которых постоянно приходится обращаться к журналу, но в инжекте скудный набор функций по работе с ним, приходится прикручивать костыли...

PS: Если не сложно, можно и добавить пару этих функций, я думаю против никто не будет)))
VeL
Posts: 44
Joined: 2013-08-09 00:13:57

Re: [Обновление! / Update!] Injection 2013

Post by VeL »

Если возможно, добавить проверку на парализ UO.Paralyzed()
Juicy Fruit
Posts: 820
Joined: 2011-06-11 19:54:23

Re: [Обновление! / Update!] Injection 2013

Post by Juicy Fruit »

Code: Select all

   uo.deletejournal()
   var pos=InJournal('Des Sanct|Por Ort Grav|Ort Rel|Kal Ort Por|An Ex Por|Corp Por|Vas Ort Flam|Vas Ort Grav|Kal Vas Flam|Ort Sanct|In Vas Por')
   while not UO.Dead()
      pos=InJournal('Des Sanct|Por Ort Grav|Ort Rel|Kal Ort Por|An Ex Por|Corp Por|Vas Ort Flam|Vas Ort Grav|Kal Vas Flam|Ort Sanct|In Vas Por')
      if pos then
         if (UO.GetGlobal('Enemy') == uo.JournalSerial(pos-1)) and (uo.JournalColor(pos-1) == '0x03B2') then
            CastMagicArrow()
            WaitForCast()
         end if
         uo.setjournalline(pos-1,'')
      else
         Wait(300)
      end if
   wend
Как-то так, на 2 строки больше получится, чем в инж-стелсовском варианте, добавятся uo.deletejournal() и uo.setjournalline(pos-1,'')
По-прежнему сомневаюсь в необходимости добавления этого)

UO.Paralyze() - либо скриптом костыль, либо в инжекте - тот же костыль. Сервер не шлет флаг парализа клиенту.
RL_ka
Posts: 149
Joined: 2013-05-28 13:13:02
Contact:

Re: [Обновление! / Update!] Injection 2013

Post by RL_ka »

Я тоже любил эти функции стелса :lol: если когда-нибудь пойму что там написано в script.dll то добавлю их :D
Русский Сервер Ultima Online High Seas Adventures
Legendary
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: [Обновление! / Update!] Injection 2013

Post by Mirage »

Попробуйте, если получится, следующее
1) работа с передвижением гамповых окон
2) открытие статуса персонажа.
Juicy Fruit
Posts: 820
Joined: 2011-06-11 19:54:23

Re: [Обновление! / Update!] Injection 2013

Post by Juicy Fruit »

А можешь в личку скрипт на изю скинуть с передвижением гампов?
Статус бар – только если тем же костылем, который вы обсуждали в соседней теме) куда он в память клиенту пишется не нашел(
CxC
Posts: 93
Joined: 2012-12-31 00:17:09

Re: [Обновление! / Update!] Injection 2013

Post by CxC »

Juicy Fruit wrote:А можешь в личку скрипт на изю скинуть с передвижением гампов?
Статус бар – только если тем же костылем, который вы обсуждали в соседней теме) куда он в память клиенту пишется не нашел(

открытие гампа в определенных координатах

Code: Select all

nextcpos 1420 50

:mrgreen:

contPos Перемещает верхний активный гамп в указанные экранные координаты
Синтаксис:
contPos {X-Coordinate} {Y-Coordinate}

:roll: ©Mirage
CxC
Posts: 93
Joined: 2012-12-31 00:17:09

Re: [Обновление! / Update!] Injection 2013

Post by CxC »

надоело пить рефрешку в пвп каждые 30 сек :oops:
Gatard
Posts: 62
Joined: 2013-05-17 10:38:53

Re: [Обновление! / Update!] Injection 2013

Post by Gatard »

Один раз попробовал побегать и такая фигня получилась. Через некоторое время инжект тупо не отвечает на хоткеи, только релогин помог.

Вот еще борода вылезла: в списке скриптов висит функция, но я ее использовал 10 минут назад. Выбираю ее и нажимаю кнопку стоп, вылетает такая ошибка.
Attachments
error.jpg
error.jpg (58.86 KiB) Viewed 5657 times
RL_ka
Posts: 149
Joined: 2013-05-28 13:13:02
Contact:

Re: [Обновление! / Update!] Injection 2013

Post by RL_ka »

Обновление (12.10.13):

  • Добавлена поддержка сервера Abyss (вкладка Connection -> Encryption -> пункты Abyss и Asmut)
  • Добавлена поддержка четвертого параметра Finddistance в функцию FindType. Использование UO.FindType(Graphic, [Color], [Container], [Finddistance])
  • Добавлена функция uo.Flying() для новых клиентов >7.0.0.0, для определения статуса Гаргульи
  • Добавлен чекбокс Stamina Patch, для включения/выключения патча на стамину (пробегание через других персонажей)
  • Добавлен чекбокс FPS Patch, для ускорения анимации и увеличения ФПС клиента, аналог PvP Hardcore Mod в абиссте. Внимание, тестовая версия, имеет определённые баги!
  • Исправлена работа ilaunch при запуске через DualCore Launcher
  • Исправлена работа функции uo.Poisoned() для новых клиентов
  • Исправлен краш при установке чекбоксов Colored+Icons
  • Исправлена отрисовка заголовка окна на Win7 (больше нет необходимости включать классическую тему оформления окон)
  • Перенесены чекбоксы Pass hotkeys -> вкладка Hotkeys, Desktop Fix -> вкладка Connection
  • Удалены неиспользуемые чекбоксы Flush Log, Target XYZ fix, Permit Vars Loopback, Unset before set

    Script.dll:
  • Добавлен чекбокс Select last script at run - если галочка установлена в списке запущенных скриптов будет автоматически выбираться последний запущенный скрипт
  • Добавлен чекбокс Large Buttons. Если установлен - кнопки запуска, остановки и паузы скриптов будут большого размера. Были пожелания :D
  • Добавлена поддержка многомерных массивов, использование:
    Объявление массива mdim array_name[dim1]...[dimN]
    Передача матрицы array_name в функцию c именем sub_name: sub_name(&mdim array_name)
    Получение матрицы в качестве параметра функции sub sub_name(mdim array_name)
  • Добавлена функция SetArrayLength (var_name, length, [copy:1/0])
    Используется для копирования или изменения размеров массивов
    dim new_array = SetArrayLength(old_array, length, 1) - скопирует количество length элементов массива old_array в новый массив new_array. Элементы, которые не влезают в размер length обрезаются
    old_array = SetArrayLength(old_array, length) - изменит длину массива old_array, в случае уменьшения размера лишние элементы будут обрезаны
  • Добавлена функция ArrayContains(Array, Value). Проверяет массив Array на наличие элемента Value в нём. В случае нахождения возвращает первую найденную позицию. В случае отсутствия возвращает "-1"
  • Добавлена функция GetArrayLength(Array). Возвращает длину массива Array
  • Добавлен метод Append в класс file.
    Использование:
    f = file(Path)
    f.append()

Скачать полный установщик
Скачать zip архив


Update (15.09.2013):
  • Added "Abyss" server support (Connection tab -> Encryption -> Abyss or Asmut)
  • Added support of fourth Finddistance parameter in FindType function. usage: UO.FindType(Graphic, [Color], [Container], [Finddistance])
  • Added function uo.Flying() for new clients >7.0.0.0, to identify flying status of Gargoyle
  • Added Stamina Patch checkbox to enable/disable patch for stamina (passing through players/monsters)
  • Added FPS Patch checkbox, increases animation speed and client FPS, analogue to PvP Hardcode Mod in abysst. Warning: test version, contains several bugs!
  • Fixed ilaunch when starting through DualCore Launcher
  • Fixed uo.Poisoned() function for new clients
  • Fixed crash on "Colored+Icons" checkbox check
  • Fixed drawing in title under Windows 7 (no longer requires classic theme in system)
  • Moved Pass hotkeys checkboxes to Hotkeys tab, Desktop Fix to Connection tab
  • Deleted unused checkboxes: Flush Log, Target XYZ fix, Permit Vars Loopback, Unset before set

    Script.dll:
  • Added Select last script at run checkbox - if set, last runned script will be selected automatically
  • Added Large Buttons checkbox - if set, Run, Stop and Pause buttons will be larger in size (Was requested)
  • Added multidimensional array (matrix) support, usage:
    Array initialization: mdim array_Name[dim1]...[dimN]
    Transfer of matrix named array_name into function named sub_name: sub_name(&mdim array_name)
    Receiving of matrix as argument in function named sub_name: sub_name(mdim array_name)
  • Added SetArrayLength (var_name, length, [copy:1/0]) function
    Used for copying or change of array size
    dim new_array = SetArrayLength(old_array, length, 1) - would copy "length" elements of old_array array into new new_array array. Elements outside of length would be removed.
    old_array = SetArrayLength(old_array, length) - would change the length of the old_array array, in case of array length decrease, elements outside of length would be removed.
  • Added ArrayContains(Array,Value) function - checkes if "Array" contains element "Value" in it. Returnes index of first found element, otherwise -1
  • Added GetArrayLength(Array) function, returns length of "Array"
  • Added Append method to file class. Usage:
    f = file(Path)
    f.append()

Download full installer
Download as ZIP
Русский Сервер Ultima Online High Seas Adventures
Legendary
Stilazz
Posts: 6
Joined: 2013-07-30 19:52:11

Re: [Обновление! / Update!] Injection 2013

Post by Stilazz »

Крутяк ребята! Огромное уважение и спасибо всем кто потрудился на славу.
Gatard
Posts: 62
Joined: 2013-05-17 10:38:53

Re: [Обновление! / Update!] Injection 2013

Post by Gatard »

RL_ka а возможно добавить, команду этой кнопке и этой кнопке тоже команду:

Добавлен чекбокс Stamina Patch, для включения/выключения патча на стамину (пробегание через других персонажей)

Кнопка Status bars fix


Чтобы можно было из скриптов включать их. По аналогии с кнопками паузы в скрипте.

Еще хотелось, чтобы можно было самим назначить в закладке дисплей, типы определенный реагентов, банок алхимии. Также добавить скролы итд. Т.е чтобы я сам мог выбрать, чтобы я хотел отображать в панели наверху.
ZeroDX
Posts: 718
Joined: 2006-12-08 10:51:50
Location: Москва
Contact:

Re: [Обновление! / Update!] Injection 2013

Post by ZeroDX »

Gatard wrote:Еще хотелось, чтобы можно было самим назначить в закладке дисплей, типы определенный реагентов, банок алхимии. Также добавить скролы итд. Т.е чтобы я сам мог выбрать, чтобы я хотел отображать в панели наверху.


прям как в стелсе :roll: очень будет удобно, если и инжект такое заимеет :)
admir
Posts: 528
Joined: 2005-01-13 07:20:54

Re: [Обновление! / Update!] Injection 2013

Post by admir »

ФПС помедленней надо , гуд обновление.
все для альфы , [url=http://newvlad.nm.ru/prog]здесь[/url]
модернизация ремонт продажа игровых консолей
Sky: admirka1 Москва
RL_ka
Posts: 149
Joined: 2013-05-28 13:13:02
Contact:

Re: [Обновление! / Update!] Injection 2013

Post by RL_ka »

Gatard wrote:Еще хотелось, чтобы можно было самим назначить в закладке дисплей, типы определенный реагентов, банок алхимии. Также добавить скролы итд. Т.е чтобы я сам мог выбрать, чтобы я хотел отображать в панели наверху.


вкладка дисплей будет переписываться полностью, и таким образом будут учтены ваши пожелания, в следующих версиях 8)
Русский Сервер Ultima Online High Seas Adventures
Legendary
infainfa
Posts: 6
Joined: 2013-10-13 01:58:15

Re: [Обновление! / Update!] Injection 2013

Post by infainfa »

Спасибо большое за труды)
Locked