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

General Injection issues

Moderators: Murderator+, Murderator

Juicy Fruit
Posts: 820
Joined: 2011-06-11 19:54:23

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

Post by Juicy Fruit »

Gromiz wrote:а "мультитть" клиент инжектом научите автоматом? :)

Если только кнопочку сделать в лаунчере, что–то типо «сделать мульти») это рассматривалось, но пока что не делали)
semolo13
Posts: 2
Joined: 2013-07-27 13:08:11

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

Post by semolo13 »

Вам акк мой нужен? ) Или можно забрать, бо мне крафт нужен))))))

я заберу, окей? Там все равно авторегистрация 4 акка на айпи..
Андрюха из Одессы
Posts: 164
Joined: 2009-03-21 10:03:06
Location: Одесса-Мама
Contact:

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

Post by Андрюха из Одессы »

Есть ли возможность запилить передачу информации из клиента в журнал инжекта, без костылей, как хотелось реализовать здесь?

Еще бы радовала возможность сворачивать условия, циклы, массивы или целые скрипты, если много скриптов в одном файле. Либо сделать интеграцию в notepad++ или sublime text.
Спасибо всем, у кого учился!

Меня трудно найти, легко потерять, и невозможно забыть. Я - рабочий исходник!
Juicy Fruit
Posts: 820
Joined: 2011-06-11 19:54:23

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

Post by Juicy Fruit »

Андрюха из Одессы wrote:Есть ли возможность запилить передачу информации из клиента в журнал инжекта, без костылей, как хотелось реализовать здесь?

Еще бы радовала возможность сворачивать условия, циклы, массивы или целые скрипты, если много скриптов в одном файле. Либо сделать интеграцию в notepad++ или sublime text.

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

Code: Select all

UO.SetMulPath(Path) - Установить путь к папке с *.mul файлами (map*.mul, statics*.mul, staidx*.mul, tiledata.mul). Path - строка.
UO.SetShowZ(Mode) - Установить режим отображения Z координаты в информации. 0 - отключить, 1 - включить. Mode - число.
UO.GetLandscapeTile(X, Y, Map) - Получить ИД тайла земли в координатах X,Y на карте номер Map. X, Y, Map - числа. Возвращает строку.
UO.GetStaticTiles(X, Y, Map) - Получить ИД всех тайлов статики в координатах X,Y на карте номер Map. X, Y, Map - числа. Возсращает строку.
UO.GetTileFlags(TileGroup, TileID) - Получить флаги тайла соответствующей группы (TileGroup=0 - Landscape Tile, TileGroup=1 - Static Tile). TileGroup - число, TileID - строка. Возвращает строку.
Contains(Source, Flag) - Узнать, входит ли Flag в набор Source. Source, Flag - числа. Возвращает 1 если Source содержит Flag и 0 если нет.

GetLandscapeTile возвращает информацию в формате TileID, при включенной ShowZ в формате TileID(Z)
GetStaticTiles так же, как и GetLandscapeTile, но перечисляет все тайлы статики, находящиеся в заданных координатах через запятую. Если тайлов статики не обнаружено - вернет пустую строку.
При ошибке возвращают строку -1.

Можно через эти функции сделать автомарк не сходя с места, вот пример как пользоваться:

Code: Select all

sub Test()
   uo.setmulpath('E:\Ultima Online') #Путь к мулам
   UO.SetShowZ(true)
   var tileid = uo.getstatictiles(uo.getx(), uo.gety() + 1, 0) #Сюда вписываем координаты, где искать тайлы
   uo.print('tileid='+tileid)
   if tileid=='' then
      uo.print('Тут нет статики.')
      return
   endif
   dim tiles[20] #20 хватит думаю
   dim tinfo[2] #Буффер для tile_id, tile_z
   var l=Str2Tiles(tiles,tileid)
   var i
   if l>0 then
      for i=0 to l-1
         if (tiles[i]==tree_tile) then
            Str2IDZ(tinfo,tiles[i])
            #Это тайл дерева, пишем его в файл или куда-то там в формате (tinfo[0] X Y tinfo[1])
            #tinfo[0] - это TileID, tinfo[1] - это TileZ
         endif
      next
   endif
end sub

Sub Str2Tiles(a,s)
   var i,l=len(s),b='',ptr=0
   if not l then
      return 0
   endif
   for i=0 to l-1
      if s[i]<>',' then
         b=b+s[i]
      else
         a[ptr]=b
         b=''
         ptr=ptr+1
      endif
   next
   a[ptr]=b
   ptr=ptr+1
   return ptr
end sub

Sub Str2IDZ(a,s)
   var i,l=len(s),b='',ptr=0
   if not l then
      return 0
   endif
   for i=0 to l-1
      if s[i]<>'('  and s[i]<>')' then
         b=b+s[i]
      else
         a[ptr]=b
         b=''
         ptr=ptr+1
      endif
   next
   return ptr
end sub

Не запускал, но по-идее должно работать, это всё в цикл сунь на нужную дистанцию и для каждого тайла смотри, что там есть.
Список тайлов деревьев где-то был, в скрипте вот указатель на тайл дерева tree_tile

Сворачивалку/разворачивалку сделаем когда до скрипт.дллки доберемся. Пока что инжект.длл и лаунчер насилуем)
Андрюха из Одессы
Posts: 164
Joined: 2009-03-21 10:03:06
Location: Одесса-Мама
Contact:

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

Post by Андрюха из Одессы »

Спасибо, буду разбираться с тем, что ты предложил.
Сворачивалка не к спеху, чисто в качестве косметического тюнинга будет хороша.

С sublime`ом я сам поковыряюсь. Уж очень мне запал в душу этот редактор.
Спасибо всем, у кого учился!

Меня трудно найти, легко потерять, и невозможно забыть. Я - рабочий исходник!
Gromiz
Posts: 444
Joined: 2005-02-08 18:39:50
Location: Moscow

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

Post by Gromiz »

все скачивается нормально о.О
CxC
Posts: 93
Joined: 2012-12-31 00:17:09

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

Post by CxC »

Mirage wrote:эммм парни, а куда вы дели запятую перед командами?

Juicy Fruit wrote:Ага, он теперь _
В конфиге поменяй на старый, это для новых клиентов, там с , пишет в чат))

это где что поменять? :oops:
RL_ka
Posts: 149
Joined: 2013-05-28 13:13:02
Contact:

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

Post by RL_ka »

CxC wrote:
Mirage wrote:эммм парни, а куда вы дели запятую перед командами?

Juicy Fruit wrote:Ага, он теперь _
В конфиге поменяй на старый, это для новых клиентов, там с , пишет в чат))

это где что поменять? :oops:


injection.xml
prefixchr="44"

вроде 44, забыл уже точно
Русский Сервер Ultima Online High Seas Adventures
Legendary
semolo13
Posts: 2
Joined: 2013-07-27 13:08:11

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

Post by semolo13 »

Я вас люблю! :roll:
SilverOZ
Posts: 58
Joined: 2006-05-23 08:24:24
Location: Moldova

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

Post by SilverOZ »

А в следушем релизе зделати штоб инжект сразу можна была запустити пару окон можна будит?
CxC
Posts: 93
Joined: 2012-12-31 00:17:09

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

Post by CxC »

реализуема ли функция как "On\Off Hotkeys"? Половина клавиатуры биндов, писать в игре крайне неудобно. А так бы снял галочку и пиши, поставил - бегай ) Если б еще это и через команду вкл\выкл - вообще шикарно
Last edited by CxC on 2013-08-10 15:18:37, edited 2 times in total.
RL_ka
Posts: 149
Joined: 2013-05-28 13:13:02
Contact:

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

Post by RL_ka »

CxC wrote:реализуема как "On\Off Hokeys"? Половина клавиатуры биндов, писать в игре крайне неудобно. А так бы снял галочку и пиши, поставил - бегай ) Если б еще это и через команду вкл\выкл - вообще шикарно


Когда-то, когда я ещё не занимался инжектом я делал всё намного проще.
Я биндил через опции клиента, а не через хоткеи инжекта... и кнопки работали, и макросы:)
say ,exec blablabla

А по поводу реализуемо или нет - пока еще не смотрел:)
Русский Сервер Ultima Online High Seas Adventures
Legendary
Juicy Fruit
Posts: 820
Joined: 2011-06-11 19:54:23

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

Post by Juicy Fruit »

Вполне реализуемо, может быть в сл. релизе сделаем, пока с гампами хочется соорудить конструкцию, саппорт 5 последних хотяб
VeL
Posts: 44
Joined: 2013-08-09 00:13:57

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

Post by VeL »

В версии 1308.08 появился досадный баг, после перемещения предмета из одного места в другое, через некоторое время перемещенный предмет отрисовывается на старом месте, например кидаю через massmove предметы из пака в контейнер, после переброски некоторые предметы как бы лежат в паке, но на самом деле их там нет, при повторном открытии пака они исчезают. Так же часто стало крашить...
CxC
Posts: 93
Joined: 2012-12-31 00:17:09

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

Post by CxC »

VeL wrote:В версии 1308.08 появился досадный баг, после перемещения предмета из одного места в другое, через некоторое время перемещенный предмет отрисовывается на старом месте, например кидаю через massmove предметы из пака в контейнер, после переброски некоторые предметы как бы лежат в паке, но на самом деле их там нет, при повторном открытии пака они исчезают.

да, есть такое, тоже заметил

насчет крашей - крашнуло за весь день 1 раз ни с чего. отключил TWI, пока без него пробую.
еще такой вопрос. эту версию инжекта надо пускать через совместимость и дуалкор лаунчер? )
pussaley
Posts: 1
Joined: 2013-08-04 19:53:28

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

Post by pussaley »

Придумайте что-нить, чтобы можно было с журналом работать полноценно.

Пример:

Есть строка местоположения игрока I'm in Nujelm ( координаты ). Возможно ли запилить в инжект что-нить, чтобы из этой строки убрать ненужное I'm in и координаты и оставить только Nujelm.

В прогах EasyUO и OpenEUO есть такая возможность, в инжекте что-то не знаю подобного ... возможно ли сделать такое?
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

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

Post by Mirage »

это можно сделать скриптом.

Например посмотреть конду лопате или деньги на чеке

Code: Select all

sub DeedCond()
var name, ob = '0x4036E779', X=300 ; минимальное количество
UO.TextOpen()
UO.TextClear()
uo.DeleteJournal( )
UO.Click( ob )
wait(1000)
name = UO.GetName( ob )
name = explode (name, ' Gold', 0)
name = explode (name, 'on ', 1)
if val(name) < X then
UO.Print( name )
else
UO.TextPrint( 'Чеее?!?!?!? Нет денег!!!!!' )
endif
endsub

sub ItemCond()
var name, ob = '0x40E34CC4', X=50
UO.TextOpen()
UO.TextClear()
uo.DeleteJournal( )
UO.Click( ob )
wait(1000)
name = UO.GetName( ob )
name = explode (name, '[', 1)
name = explode (name, ']', 0)
if val(name) == X then
UO.TextPrint( name )
else
UO.TextPrint( 'чё то не так' )
endif
endsub

Sub explode( string, pattern, num )
var i, counter = 0, entry = 0
for i=0 to strlen( string ) -strlen( pattern )
   if mid( string, i, strlen( pattern ) ) == pattern then
      counter = counter + 1
      if num == counter-1 then
         return mid( string, entry, i-entry )
      endif
      entry = i + strlen( pattern )
   endif
next
if entry == 0 then
   return false
endif
return mid( string, entry, strlen(string)-entry )
endsub
wap
Posts: 67
Joined: 2005-09-30 22:42:05

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

Post by wap »

Вот так сюрприз. :)


P.s. Рекомендую включить на форуме "быстрый ответ" - удобная штука и совершенно безобидная. Для включения нужно активировать опцию и в глобальных настройках, и в настройках каждого раздела в отдельности.

Опция появилась в стандартном phpbb3 в версии 3.0.6.
UORPG.net: Удачной игры!
Yoko
Site Admin
Posts: 1964
Joined: 2004-04-03 16:49:38
Contact:

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

Post by Yoko »

memberlist.php?mode=viewprofile&u=23970
Dear yoko, thankyou for you great efforts on uo and injection,

i just wanna ask you if it is possible todo or not adding fallowing function on injection.

adding a send packet command with usage scripting function thus, some servers have connector software and this software send special packets to confirmation and stay connected just after choosing character and logging into world, if adding send packet command we can write and small script and can fake this msj to use injection and its benefits.

Regards.


here is the example data sending from connector to server via client.
18:30:40.326 Client -> Server: 0x12 (Macro/Cast), frequ: 4, len: 0x6F
0000: 12 6F 00 FB 39 38 33 32 63 39 63 33 61 30 31 37 ->.o..9832c9c3a017
0010: 66 39 34 30 30 36 39 63 62 32 65 61 34 33 63 64 ->f940069cb2ea43cd
0020: 62 64 38 30 36 62 33 61 64 64 36 30 2C 32 38 37 ->bd806b3add60,287
0030: 66 37 39 38 30 62 32 39 31 64 64 37 39 39 31 35 ->f7980b291dd79915
0040: 30 62 62 62 65 64 62 33 39 62 64 30 61 31 35 66 ->0bbbedb39bd0a15f
0050: 34 34 32 61 65 2C 30 30 30 36 37 32 36 36 30 30 ->442ae,0006726600
0060: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 00 ->00000000000000.


RL_ka
Posts: 149
Joined: 2013-05-28 13:13:02
Contact:

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

Post by RL_ka »

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

  • Исправлен баг с обновлением скилла Алхимия в инжекте. Теперь он реагирует на изменения в игре
  • Исправлен/устранён лаг при использовании Buy/Sell функций инжекта
  • Исправлен баг ilaunch из-за которого у некоторых пользователей не запускался инжект
  • Исправлена команда infogump. Иногда она обрезала первый и последний символы в информации о гампе
  • Исправлен баг последней версии инжекта из-за которого он не всегда регистрировал сообщения сервера
  • Исправлен баг с "дублированием" перемещённых предметов. Временный фикс, требует дальнейших доработок
  • Ilaunch теперь имеет свой собственный номер версии, чтобы избежать путаницы в дальнейшем
  • Добавлена команда SaveHotKeys Filename или uo.savehotkeys(Filename) для сохранения настроек горячих клавиш персонажа. Настройки сохраняются в %InjectionDir%/Hotkeys/%Filename%
  • Добавлена команда LoadHotKeys Filename или uo.loadhotkeys(Filename) для загрузки настроек горячих клавиш персонажа. Настройки загружаются из %InjectionDir%/Hotkeys/%Filename%
  • Добавлена команда help или uo.help() для имитации нажатия на кнопку Help клиента
  • Добавлена команда infogumps [num]. Аналог infogump. Выводит информацию о последних 5 гампах. При использовании параметра num выводит информацию о гампе номер num
  • Добавлена команда uo.LastGumps(). Аналог uo.LastGump(). Принимает те же параметры что и LastGump, плюс несколько своих:
    uo.LastGumps('count') - возвращает количество последних гампов сохранённых в памяти инжекта.
    uo.LastGumps('text',0,4) - Вернет строку текста под индексом 4 из гампа с номером 0. Последний гамп будет всегда под номером 4.
    Порядковые номера гампов с самого старого до самого последнего {0, 1, 2, 3, 4}

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


Update (26.08.2013):
  • Fixed a bug with updating Alchemy skill inside Injection. Now it will react to in game changes.
  • Fixed a lag when using Injection Buy/Sell functionality
  • Fixed an ilaunch bug that would not start Injection in some cases
  • Fixed infogump command. It no longer truncates leading and trailing character in gump information.
  • Fixed a bug with that affected recent Injection versions when it would not always register server messages properly.
  • Fixed a bug with “doubling” items on move. Still a temporary fix that needs additional work
  • Ilaunch now has a separate revision numbering to avoid possible confusion in future
  • Added SaveHotKeys Filename / uo.savehotkeys(Filename) command for storing characters hotkey settings. Settings are written to %InjectionDir%/Hotkeys/%Filename% folder.
  • Added LoadHotKeys Filename / uo.loadhotkeys(Filename) command that loads hotkey settings for the character. Loads from %InjectionDir%/Hotkeys/%Filename%
  • Added new help or uo.help() function that imitates pushing paperdoll “Help” in the game client
  • Added infogumps [num] command similar to infogump that retrieves the information about the recent 5 gumps. If num parameter is supplied prints the information about gump number specified.
  • Added uo.LastGumps() command similar to uo.LastGump(). It accepts all LastGump arguments plus a few additional:
    uo.LastGumps('count') - returns a total number of gumps stored in Injection memory.
    uo.LastGumps('text',0,4) - would retrieve a text line with index 4 from gump number 0 with current gump always being 4.
    Gumps are ordered 0-4 from the oldest to the mosts recent.


Download full installer
Русский Сервер Ultima Online High Seas Adventures
Legendary
Locked