Page 5 of 19
Re: [Обновление! / Update!] Injection 2013
Posted: 2013-09-28 13:28:22
by some
стелс-инжект получается прям
Re: [Обновление! / Update!] Injection 2013
Posted: 2013-09-28 15:51:53
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
делали и не жаловались)
Re: [Обновление! / Update!] Injection 2013
Posted: 2013-09-28 17:01:01
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
и не испортит журнал, можно будет работать с этой строкой дальше
Re: [Обновление! / Update!] Injection 2013
Posted: 2013-09-28 17:09:24
by Juicy Fruit
if UO.WaitJournalLine(Now, str, maxt) then
Есть сервера, на которых сэйвы длятся по минуте, ато и больше, эта конструкция сломается во время сэйва, если задать maxt меньше 60к.
Что сократят - не спорю.
Тебе не запрещают работать со строкой после ее появления, чистишь же ты ее до цикла, а не после (это по-хорошему), да и например, где тебе нужна эта строчка в дальнейшем? Пример любой)
В крайнем случае - скопировать в буффер при появлении и дальше с ним работать...
Re: [Обновление! / Update!] Injection 2013
Posted: 2013-09-28 17:50:54
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: Если не сложно, можно и добавить пару этих функций, я думаю против никто не будет)))
Re: [Обновление! / Update!] Injection 2013
Posted: 2013-09-28 18:03:29
by VeL
Если возможно, добавить проверку на парализ UO.Paralyzed()
Re: [Обновление! / Update!] Injection 2013
Posted: 2013-09-28 18:38:41
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() - либо скриптом костыль, либо в инжекте - тот же костыль. Сервер не шлет флаг парализа клиенту.
Re: [Обновление! / Update!] Injection 2013
Posted: 2013-09-29 13:32:24
by RL_ka
Я тоже любил эти функции стелса

если когда-нибудь пойму что там написано в script.dll то добавлю их

Re: [Обновление! / Update!] Injection 2013
Posted: 2013-10-01 13:18:11
by Mirage
Попробуйте, если получится, следующее
1) работа с передвижением гамповых окон
2) открытие статуса персонажа.
Re: [Обновление! / Update!] Injection 2013
Posted: 2013-10-01 13:33:23
by Juicy Fruit
А можешь в личку скрипт на изю скинуть с передвижением гампов?
Статус бар – только если тем же костылем, который вы обсуждали в соседней теме) куда он в память клиенту пишется не нашел(
Re: [Обновление! / Update!] Injection 2013
Posted: 2013-10-01 13:39:26
by CxC
Juicy Fruit wrote:А можешь в личку скрипт на изю скинуть с передвижением гампов?
Статус бар – только если тем же костылем, который вы обсуждали в соседней теме) куда он в память клиенту пишется не нашел(
открытие гампа в определенных координатах

contPos Перемещает верхний активный гамп в указанные экранные координаты
Синтаксис:
contPos {X-Coordinate} {Y-Coordinate}
©Mirage
Re: [Обновление! / Update!] Injection 2013
Posted: 2013-10-05 14:53:28
by CxC
надоело пить рефрешку в пвп каждые 30 сек

Re: [Обновление! / Update!] Injection 2013
Posted: 2013-10-05 19:08:57
by Gatard
Один раз попробовал побегать и такая фигня получилась. Через некоторое время инжект тупо не отвечает на хоткеи, только релогин помог.
Вот еще борода вылезла: в списке скриптов висит функция, но я ее использовал 10 минут назад. Выбираю ее и нажимаю кнопку стоп, вылетает такая ошибка.
Re: [Обновление! / Update!] Injection 2013
Posted: 2013-10-12 16:22:09
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. Если установлен - кнопки запуска, остановки и паузы скриптов будут большого размера. Были пожелания
- Добавлена поддержка многомерных массивов, использование:
Объявление массива 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 installerDownload as ZIP
Re: [Обновление! / Update!] Injection 2013
Posted: 2013-10-12 20:30:49
by Stilazz
Крутяк ребята! Огромное уважение и спасибо всем кто потрудился на славу.
Re: [Обновление! / Update!] Injection 2013
Posted: 2013-10-12 21:29:51
by Gatard
RL_ka а возможно добавить, команду этой кнопке и этой кнопке тоже команду:
Добавлен чекбокс Stamina Patch, для включения/выключения патча на стамину (пробегание через других персонажей)
Кнопка Status bars fix
Чтобы можно было из скриптов включать их. По аналогии с кнопками паузы в скрипте.
Еще хотелось, чтобы можно было самим назначить в закладке дисплей, типы определенный реагентов, банок алхимии. Также добавить скролы итд. Т.е чтобы я сам мог выбрать, чтобы я хотел отображать в панели наверху.
Re: [Обновление! / Update!] Injection 2013
Posted: 2013-10-12 22:03:24
by ZeroDX
Gatard wrote:Еще хотелось, чтобы можно было самим назначить в закладке дисплей, типы определенный реагентов, банок алхимии. Также добавить скролы итд. Т.е чтобы я сам мог выбрать, чтобы я хотел отображать в панели наверху.
прям как в стелсе

очень будет удобно, если и инжект такое заимеет

Re: [Обновление! / Update!] Injection 2013
Posted: 2013-10-12 22:29:11
by admir
ФПС помедленней надо , гуд обновление.
Re: [Обновление! / Update!] Injection 2013
Posted: 2013-10-13 01:22:02
by RL_ka
Gatard wrote:Еще хотелось, чтобы можно было самим назначить в закладке дисплей, типы определенный реагентов, банок алхимии. Также добавить скролы итд. Т.е чтобы я сам мог выбрать, чтобы я хотел отображать в панели наверху.
вкладка дисплей будет переписываться полностью, и таким образом будут учтены ваши пожелания, в следующих версиях

Re: [Обновление! / Update!] Injection 2013
Posted: 2013-10-13 02:02:54
by infainfa
Спасибо большое за труды)