Yoko http://forum.yoko.com.ua/ |
|
Function not found + полезности http://forum.yoko.com.ua/viewtopic.php?f=20&t=7379 |
Page 2 of 2 |
Author: | Destruction [ 2007-09-10 00:53:01 ] |
Post subject: | |
Это снова я Теперь я со скриншотами, хотя с ними я уже вроде был.. В этот раз я реализовал раскладывание скриншотов по папочкам, для наибольшего удобства. Code: ; Функция создаёт выбранную директорию, если такая ещё не существует Вроде неплохо извернулся учитывая неумение инжы работать с папками как таковыми.. Из минусов - я не помню как писать такое под вин98. Далее - две функции для определения даты / времени, вариант от mihail мне не понравился как минимум замещением стандартной ф-ции date на его: Code: ; Определение текущей даты Ну и непосредственно ф-ция создания скриншота, для которой все вышенаписанное писалось: Code: ; Destruction Примечание: при первом запуске на персонаже / шарде будет небольшая задержка перед созданием первого скриншота. PS: Injection пока не умеет сохранять скриншоты в JPG, а у меня в БМП они весят по 5мб, поэтому всем у кого проблемы с местом могу посоветовать заглянуть в гугл: http://www.google.ru/search?hl=ru&q=com ... verter&lr= и использовать для последущей конвертации одну из найденных программ (я использую ImageMagick, т.к. привык, новичкам будет непросто освоить). Но это собственно говоря сами. |
Author: | Mihail [ 2008-01-04 21:56:18 ] |
Post subject: | |
Иногда возникает проблема чистки реестра от значений EasyUO, но поскольку в инжекте такая возможность не предусмотрена приходится придумывать из раздела "сделай сам".. утилитка (зеркало) для удаления заданных ключей ИзиУО - кидаем в C:\WINDOWS\system32 и запускаем из инжекта: Code: uo.exec("launch rmEasyUO 100") ; где 100 имя ключа |
Author: | Mihail [ 2008-01-07 04:13:54 ] |
Post subject: | |
иногда в инжекте не хватает возможности передвигать курсор мыши на заданные координаты, эта улилитка вам в этом поможет. Скачиваем, кидаем в папку C:\WINDOWS\system32, далее в инжекте Code: uo.exec("launch SetCursorPos 555,444") ; где 555 - координата X, 444 - Y соответственно ВНИМАНИЕ!!! для корректной работы необходимо указывать АБСОЛЮТНЫЕ координаты (на вкладке скриптового модуля в инжекте определяются относительные), абсолютные координаты можно узнать в UOPilot'е ---- update абсолютные координаты можно так же определять утилиткой в след. посте |
Author: | Mihail [ 2008-01-07 15:54:45 ] |
Post subject: | |
утилита для определения абсолютных координат как всегда кидаем в папку c:\windows\system32 Программа при запуске копирует текущие координаты мыши в буфер обмена и вырубается Code: uo.exec("launch GetCursorPos") ; пример использования функции получения абсолютных координат далее в скрипте Ctrl+V ---- Использование: вставляем скрипт Code: sub uoCopyCursorPos() далее делаем хоткей Code: exec uoCopyCursorPos наводим мышь куда нужно и запускаем с хоткея, затем в скрипте нажимаем "Paste" или Ctrl+V |
Author: | Mihail [ 2008-01-07 16:50:06 ] |
Post subject: | |
утилита для копирования вашего текста в буфер обмена Code: uo.exec("launch ClipboardSetText йа_криведко") ; пример использования копирования текста в буфер обмена - внимание НЕЛЬЗЯ ИСПОЛЬЗОВАТЬ ПРОБЕЛЫ использование в инжекте: Code: sub uoCopy(Text) пример что с этим можно сделать: аналог uo.info, только с мелкими доработками, в числе которых автоматическое копирование в буфер типа предмета Code: sub uoInfo() |
Author: | Mihail [ 2008-01-07 21:21:58 ] |
Post subject: | |
Написал улучшенный Drag Как всегда кидаем в system32 И внимательно читаем как использовать. uo.exec("launch uoDrag x,y,x1,y1,delay,steps") x,y - координаты отправной точки (не забывает - абсолютные) x1,y1 - координаты точки прибытия так же опционально (не обязательно) можно задать: delay* - задержка после перетаскивания курсора перед "отпусканием" кнопки мыши steps - если нужно чтобы мышка перетаскивалась медленно, то задав этот параметр программа просчитает промежуточные точки остановки (вы задаете количество точек - чем больше, тем медленнее) - точки рассчитываются по кратчайшему расстоянию - тоесть по прямой. * в случае, когда задан параметр steps, delay - это время ожидания после каждой точки - оптимально 10-500 Code: uo.exec("launch uoDrag 280,740,880,350,100,10") если надо быстро переместить, то Code: uo.exec("launch uoDrag 280,740,880,350,20") Не рекоммендую совсем убирать задержку (хотя технически это можно) т.к. предмет\гамп и т.д. может просто не успеть "захватиться" Так же не забываем, что никаких пробелов в передаваемых параматрах быть не должно.. (на случай если кто невзирая на мою определялку координат будет всеравно вставлять их из пилота - он ставит пробел после запятой ) И проверок от дурака тоже не много так что если кому вдруг придет в голову указать 2 соседних пикселя и поставить интервал в 100 шагов, то 98 шагов курсор будет стоять на месте.. и все в таком духе.. |
Author: | Mihail [ 2008-01-08 00:01:08 ] |
Post subject: | |
утилитка для открытия гиперссылок (в том числе и локальных) Как всегда кидаем в C:\Windows\system32 Далее запускаем из инжекта, передавая в качестве параметров адрес ссылки. Работает аналогично проводнику. Code: uo.exec("launch OpenLink http://uo.com") Code: uo.exec("launch OpenLink C:\") send mail (mailto:123@123.com) etc. и помните - никаких пробелов в параметрах |
Author: | Mihail [ 2008-01-09 01:02:48 ] |
Post subject: | |
утилитка для запуска приложений на заданном процессоре\ядре процессора (зеркало) Если надо запустить определенное приложение на определенном ядре многоядерного процессора. Кидаем в c:\windows\system32 синтаксис использования: Code: [путь к запускаемому приложению],[номер ядра] Code: uo.exec("launch DualCore_Launcher D:\GAMES\UO\client.exe,1") Чтобы рулить двухъядерными процессорами: 1 - первое ядро, 2 - второе, 3 - оба Так же не стоит забывать что не должно быть пробелов в пути к запускаемому файлу.. |
Author: | Destruction [ 2008-02-15 01:32:22 ] |
Post subject: | |
Сортировка массива по алфавиту. Code: Sub sort( arr, len ) Пример использования: Code: sub main() |
Author: | Scripts Writer [ 2008-05-03 22:34:09 ] |
Post subject: | |
I'm wrote: Code: sub time(jor,n) Code: sub time(jor,n) |
Author: | Millerbeer [ 2008-09-27 23:55:41 ] |
Post subject: | |
I'm wrote: Время и дата в нормальном формате (inside) by Mihail в функцию time надо тоже воткнуть проверку на длину строки 5 и дописку нуля вначале, без неё часы с полуночи до10 утра не ходят Code: sub main() где jor - это время\дата в формате числа, а n - нужный вам разделитесь. Code: sub date(jor,n) Code: sub time(jor,n) Code: sub time(jor,n) вот так нормально время показывает |
Author: | Beyonder [ 2010-02-06 12:33:34 ] |
Post subject: | Re: Function not found + полезности |
Работа с наборами (Set). Отличаются от массивов тем, что намного быстрее выполняет функции add и delete (практически моментально) и хранит только уникальные значения. Code: ### SETS К примеру я применил его в скрипте на списки игноров: У меня часто бывает что два скрипта должны игнорить разные вещи, при этом иногда их резетить. К примеру скрипт на подсчёт точного количества шмоток в указанном контейнере должен игнорировать найденные шмотки, а потом их все резетить. Но он может зарезетить переменные другого скрипта, что есть плохо. Поэтому можно использовать это: Code: ### IGNORE LISTS Пример использования: Code: sub testIgnoreList() |
Author: | Beyonder [ 2010-07-10 09:59:01 ] |
Post subject: | Re: Function not found + полезности |
Улучшенный вариант explode-а, заполняет частями массив. Code: Sub explodeToArr( string, pattern, arr, arrlength ) |
Author: | Blood Slayer [ 2011-01-26 14:19:11 ] |
Post subject: | Re: |
Destruction wrote: Ещё пачка свеженаписанных полезностей с использованием недавно найденной фичи (описал в разделе FAQ). Полезности используют друг-друга, так, что с ошбками вроде "Function not found" - не приставать -) Итак, функция первая -) Проверяет - есть ли в переданном массиве переменная. Если нет - возвращает -1, если есть - порядковый номер элемента массива. Если вместо массива передать строку, а вместо строки - один символ, то функция вернёт первое вхождение символа в строке. Регистронезависимый поиск работает значительно медленее, используйте только при острой необходимости! Code: ; int inArray( string, array, bool, int ) Собственно ещё две функции - StrToUpper и StrToLower, соответсвенно переводят переданную строку в верхний или нижний регистр. Работают медленно, поэтому в режиме реального времени - не получится. Может пригодится для разовых преобразований. Функции UpperWords и LowerWords возвращают массивы с русскими и англискими буквами соответствующего регистра. Чтобы всё сработало корректно - в функцию необходимо передать массив размером не менее 59 элементов (смотри функции StrToLower и StrToUpper). Code: sub StrToLower( str ) Вот это вообще меня убило, решил переписать инжект. To Yoko Выдай исходники, будем внедрять все "важные" функции внутрь |
Author: | Mirage [ 2011-01-26 16:06:29 ] |
Post subject: | Re: Function not found + полезности |
ИМХО если выкинуть исходники то погибнет то немногое что еще хоть как то шевелится. Шарды с онлайном >300 можно пересчитать по пальцам. В основной масса от 2 (админ-игрок) до 30. А если все про инжект будет доступно всем то будет читинг и коррупция... Хотя это мое мнение. PS давно бы уже надо было выложить сурсы последнего инжекта - году в 2008 новый улучшенный инжект был бы готов. |
Page 2 of 2 | All times are UTC+02:00 |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |