Yoko

All sides of Injection
It is currently 2025-10-08 19:44:42

All times are UTC+02:00




Post new topic  Reply to topic  [ 7 posts ] 
Author Message
PostPosted: 2009-10-16 15:18:26 
Offline

Joined: 2006-05-12 06:52:11
Posts: 51
Как можно получить имя предмета, который есть в УО, если знаешь только тип? Например, я знаю, что тип гориллы 0x20f5, но как мне зделать, что бы я узнал, что объект с таким типом есть горилла?


Top
   
 Post subject:
PostPosted: 2009-10-16 15:49:42 
Offline

Joined: 2006-05-12 06:52:11
Posts: 51
Собственно, почему спрашиваю. На 13 Деменшене новый антимакрос, собственно вот он сам http://boards.spot.lv/?showtopic=2159

На этом гампе меняеться картинка и ответы. Зделал несколько инфогампов :

Code:


_____infogump_______
serial   0x0007fc0f
gumpid   0x00000409
X   200
Y   100
657   packet size
0   reply packet size
Buttons: ________
Checks&Radios: __
Entryes: ________
All commands: ____
    1] omove
    2] oclose
    3] esizepic 0 0 5120 320 24
    4] age
    5] utton 120 210 239 240 1 0
    6] esizepic 015 180 5100 280 2
    7] extentry 32 180 200 20 100 0
    8] esizepic 100  20 5100 100 8
    9] esizepic 20 120 5100  90 2
   10] esizepic 120 120 5100  90 2
   11] esizepic 220 120 5100  90 2
   12] esizepic 20 150 5100  90 2
   13] esizepic 120 150 5100  90 2
   14] esizepic 220 150 5100  90 2
   15] ilepic 120 50 401
   16] ext 30 120 100
   17] ext 130 120 100
   18] ext 230 120 100
   19] ext 30 150 100
   20] ext 130 150 100
   21] ext 230 150 100
Text: ____________
    0] What is in the picture?
    1] Bottles
    2] Forge
    3] Food
    4] Everywhere
    5] Sword
    6] Need




Code:

____infogump_______
serial   0x0007fc0f
gumpid   0x00000409
X   200
Y   100
655   packet size
0   reply packet size
Buttons: ________
Checks&Radios: __
Entryes: ________
All commands: ____
    1] omove
    2] oclose
    3] esizepic 0 0 5120 320 24
    4] age
    5] utton 120 210 239 240 1 0
    6] esizepic 015 180 5100 280 2
    7] extentry 32 180 200 20 100 0
    8] esizepic 100  20 5100 100 8
    9] esizepic 20 120 5100  90 2
   10] esizepic 120 120 5100  90 2
   11] esizepic 220 120 5100  90 2
   12] esizepic 20 150 5100  90 2
   13] esizepic 120 150 5100  90 2
   14] esizepic 220 150 5100  90 2
   15] ilepic 120 50 716
   16] ext 30 120 100
   17] ext 130 120 100
   18] ext 230 120 100
   19] ext 30 150 100
   20] ext 130 150 100
   21] ext 230 150 100
Text: ____________
    0] What is in the picture?
    1] Bolts
    2] Mouse
    3] Hungry
    4] Mushroom
    5] Skirt
    6] Bolts




В первом случае это forge, во втором члучае это crossbow bolts.

как видите, в инфогампе отличаются только строчка с 15] ilepic 120 50 716, а конкретнее последнее число. Заметил закономерность: если взять тип объекта через инжект и перевести его в 10-ти ричную систему, то тогда получится это чило без последней цифры. Например: тип forge в инжекте 0x0fb1, перевлдим 0fb1 в 10-ти ричную систему, получаем 4017. Убираем последнюю цифру и получаем 401 - то самое число, которое выдаёт infogump.

Вот и сам вопрос: зная число в инфогампе, как узнать его имя и дать правельный ответ?


Top
   
 Post subject:
PostPosted: 2009-10-16 16:04:01 
Offline

Joined: 2005-04-19 18:00:29
Posts: 2259
Location: Московская область
Если я не ошибаюсь, то у инжекта нет собственной базы объектов, др. словами чтобы получить имя- по этому объекту надо предварительно сделать клик, и только потом станет доступно uo.GetName.

Как выход,- иметь массив вида "ключ" - "значение" которые используются в Вашей анти-макрос системе.

Code:
dim types[5] # массив типов
dim names[5] # массив имен

types[0]='type of gorilla' #тип1
names[0]='gorilla' #соответствующее ему имя1
types[1]='type of forge'
names[1]='forge'


Далее перебор в цикле всех значений массива типов, и когда совпадет- получение соответствующего имени из массива имен.

Code:
var CountOfArray = #длинна массивов

...

for i = 0 to CountOfArray
  if TypeFromGump == types[i] then #если нашли
    return names[i] # получаем имя
  end if
next


Top
   
 Post subject:
PostPosted: 2009-10-16 16:52:49 
Offline

Joined: 2006-05-12 06:52:11
Posts: 51
Это был бы прекрасный вариант, но проблема в том, что этих картинок около сотни, если не больше... А картинка выскакивает одна... Тогда, такой вопрос: насколько я знаю, объекты содержит файл art.mul. Есть ли какая программа, которая даёт возможность все объекты УО и их тип записать в один текстовый файл?


Top
   
 Post subject:
PostPosted: 2009-10-16 18:33:00 
Offline
Expert!
User avatar

Joined: 2005-05-04 14:05:19
Posts: 2580
Location: Москва
tiledata.mul вам нужна, там соответствие имя - тип.


Top
   
 Post subject:
PostPosted: 2009-10-16 20:48:44 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
инсайдом посмотри да все типы в файл загони.

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
 Post subject:
PostPosted: 2009-10-17 09:36:21 
Offline

Joined: 2006-05-12 06:52:11
Posts: 51
Спасибо! Уже так и зделал, работает :)


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 7 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited