[Обновление! / Update!] Injection 2013
Moderators: Murderator+, Murderator
Re: [Обновление! / Update!] Injection 2013
стелс-инжект получается прям
-
- Posts: 820
- Joined: 2011-06-11 19:54:23
Re: [Обновление! / Update!] Injection 2013
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
Зря, очень удобные штуки, во первых - не надо затирать строки в журнале, во вторых - возвращают результат...
Темболее почти во всех скриптах используется работа с журналом, а эти функции упростят и сократят скрипты...
Тогда вместо:
будет:
и не испортит журнал, можно будет работать с этой строкой дальше
Темболее почти во всех скриптах используется работа с журналом, а эти функции упростят и сократят скрипты...
Тогда вместо:
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
и не испортит журнал, можно будет работать с этой строкой дальше
-
- Posts: 820
- Joined: 2011-06-11 19:54:23
Re: [Обновление! / Update!] Injection 2013
Есть сервера, на которых сэйвы длятся по минуте, ато и больше, эта конструкция сломается во время сэйва, если задать maxt меньше 60к.if UO.WaitJournalLine(Now, str, maxt) then
Что сократят - не спорю.
Тебе не запрещают работать со строкой после ее появления, чистишь же ты ее до цикла, а не после (это по-хорошему), да и например, где тебе нужна эта строчка в дальнейшем? Пример любой)
В крайнем случае - скопировать в буффер при появлении и дальше с ним работать...
Re: [Обновление! / Update!] Injection 2013
Ну WaitJournalLine в основном будет использоваться без условия, просто чтобы убрать эти ненужные циклы со счетчиком...
Вот кусок из авто-стрелки, где бы пригодилась одна из функций:
Начал писать макросы для ПВП, в которых постоянно приходится обращаться к журналу, но в инжекте скудный набор функций по работе с ним, приходится прикручивать костыли...
PS: Если не сложно, можно и добавить пару этих функций, я думаю против никто не будет)))
Вот кусок из авто-стрелки, где бы пригодилась одна из функций:
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
Если возможно, добавить проверку на парализ UO.Paralyzed()
-
- Posts: 820
- Joined: 2011-06-11 19:54:23
Re: [Обновление! / Update!] Injection 2013
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
По-прежнему сомневаюсь в необходимости добавления этого)
UO.Paralyze() - либо скриптом костыль, либо в инжекте - тот же костыль. Сервер не шлет флаг парализа клиенту.
Re: [Обновление! / Update!] Injection 2013
Я тоже любил эти функции стелса
если когда-нибудь пойму что там написано в script.dll то добавлю их 


Русский Сервер Ultima Online High Seas Adventures
Legendary
Legendary
Re: [Обновление! / Update!] Injection 2013
Попробуйте, если получится, следующее
1) работа с передвижением гамповых окон
2) открытие статуса персонажа.
1) работа с передвижением гамповых окон
2) открытие статуса персонажа.
-
- Posts: 820
- Joined: 2011-06-11 19:54:23
Re: [Обновление! / Update!] Injection 2013
А можешь в личку скрипт на изю скинуть с передвижением гампов?
Статус бар – только если тем же костылем, который вы обсуждали в соседней теме) куда он в память клиенту пишется не нашел(
Статус бар – только если тем же костылем, который вы обсуждали в соседней теме) куда он в память клиенту пишется не нашел(
Re: [Обновление! / Update!] Injection 2013
Juicy Fruit wrote:А можешь в личку скрипт на изю скинуть с передвижением гампов?
Статус бар – только если тем же костылем, который вы обсуждали в соседней теме) куда он в память клиенту пишется не нашел(
открытие гампа в определенных координатах
Code: Select all
nextcpos 1420 50

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

Re: [Обновление! / Update!] Injection 2013
надоело пить рефрешку в пвп каждые 30 сек 

Re: [Обновление! / Update!] Injection 2013
Один раз попробовал побегать и такая фигня получилась. Через некоторое время инжект тупо не отвечает на хоткеи, только релогин помог.
Вот еще борода вылезла: в списке скриптов висит функция, но я ее использовал 10 минут назад. Выбираю ее и нажимаю кнопку стоп, вылетает такая ошибка.
Вот еще борода вылезла: в списке скриптов висит функция, но я ее использовал 10 минут назад. Выбираю ее и нажимаю кнопку стоп, вылетает такая ошибка.
- Attachments
-
- error.jpg (58.86 KiB) Viewed 5657 times
Re: [Обновление! / Update!] Injection 2013
Обновление (12.10.13):
Скачать полный установщик
Скачать zip архив
Update (15.09.2013):
Download full installer
Download as ZIP
- Добавлена поддержка сервера 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 installer
Download as ZIP
Русский Сервер Ultima Online High Seas Adventures
Legendary
Legendary
Re: [Обновление! / Update!] Injection 2013
Крутяк ребята! Огромное уважение и спасибо всем кто потрудился на славу.
Re: [Обновление! / Update!] Injection 2013
RL_ka а возможно добавить, команду этой кнопке и этой кнопке тоже команду:
Чтобы можно было из скриптов включать их. По аналогии с кнопками паузы в скрипте.
Еще хотелось, чтобы можно было самим назначить в закладке дисплей, типы определенный реагентов, банок алхимии. Также добавить скролы итд. Т.е чтобы я сам мог выбрать, чтобы я хотел отображать в панели наверху.
Добавлен чекбокс Stamina Patch, для включения/выключения патча на стамину (пробегание через других персонажей)
Кнопка Status bars fix
Чтобы можно было из скриптов включать их. По аналогии с кнопками паузы в скрипте.
Еще хотелось, чтобы можно было самим назначить в закладке дисплей, типы определенный реагентов, банок алхимии. Также добавить скролы итд. Т.е чтобы я сам мог выбрать, чтобы я хотел отображать в панели наверху.
Re: [Обновление! / Update!] Injection 2013
Gatard wrote:Еще хотелось, чтобы можно было самим назначить в закладке дисплей, типы определенный реагентов, банок алхимии. Также добавить скролы итд. Т.е чтобы я сам мог выбрать, чтобы я хотел отображать в панели наверху.
прям как в стелсе


Re: [Обновление! / Update!] Injection 2013
ФПС помедленней надо , гуд обновление.
все для альфы , [url=http://newvlad.nm.ru/prog]здесь[/url]
модернизация ремонт продажа игровых консолей
Sky: admirka1 Москва
модернизация ремонт продажа игровых консолей
Sky: admirka1 Москва
Re: [Обновление! / Update!] Injection 2013
Gatard wrote:Еще хотелось, чтобы можно было самим назначить в закладке дисплей, типы определенный реагентов, банок алхимии. Также добавить скролы итд. Т.е чтобы я сам мог выбрать, чтобы я хотел отображать в панели наверху.
вкладка дисплей будет переписываться полностью, и таким образом будут учтены ваши пожелания, в следующих версиях

Русский Сервер Ultima Online High Seas Adventures
Legendary
Legendary
Re: [Обновление! / Update!] Injection 2013
Спасибо большое за труды)