В частности на
пишем buy при открытом окне редактирования списка -- можем узнать названия.
а в verbose log'е (если его на время "buy" включить) есть всё!
и ID, и TYPE, и количество, и (дальше) цены (в HEX), и названия...
Проделал эти нехитрые манипуляции и получил заветный кусок лога:
Code: Select all
::add(Contains: 21 items) head=0 tail=47 len=47
Making 4052BED7 empty...
|0x4052BED7<0x4052BEC9:0E75*2 (0,0) 0000
|0x4052BED7<0x4052BEC8:09B0*3 (1,1) 0000
|0x4052BED7<0x4052BEC6:0E76*2 (2,2) 0000
|0x4052BED7<0x4052BEC5:0A28*18 (3,3) 0000
|0x4052BED7<0x4052BEC4:0F64*15 (4,4) 0000
|0x4052BED7<0x4052BEC3:0A18*14 (5,5) 0000
|0x4052BED7<0x4052BEBE:1C18*18 (6,6) 0000
|0x4052BED7<0x4052BEBC:14FB*34 (7,7) 0000
|0x4052BED7<0x4052BEBA:103B*22 (8,8) 0000
|0x4052BED7<0x4052BEB9:160A*27 (9,9) 0000
|0x4052BED7<0x4052BEB8:1608*31 (10,10) 0000
|0x4052BED7<0x4052BEB7:09B7*35 (11,11) 0000
|0x4052BED7<0x4052BEB4:0994*23 (12,12) 0000
|0x4052BED7<0x4052BEB3:09D0*8 (13,13) 0000
|0x4052BED7<0x4052BEB1:09AA*14 (14,14) 0000
|0x4052BED7<0x4052BEB0:100E*7 (15,15) 0000
|0x4052BED7<0x4052BEAE:0A57*5 (16,16) 0000
|0x4052BED7<0x4052BEAD:0DE1*16 (17,17) 0000
|0x4052BED7<0x4052BEAC:14EF*4 (18,18) 0000
|0x4052BED7<0x4052BEAB:14ED*14 (19,19) 0481
|0x4052BED7<0x4052BEAA:14ED*9 (20,20) 0225
- 000146547+0000 --- server Vendor Buy List
0000: 74 01 3a 40 52 be d7 15 00 00 00 42 09 62 61 63 : t.:@R......B.bac
0010: 6b 70 61 63 6b 00 00 00 00 10 0b 62 65 6c 74 20 : kpack......belt
0020: 70 6f 75 63 68 00 00 00 00 22 04 62 61 67 00 00 : pouch....".bag..
0030: 00 00 05 08 63 61 6e 64 6c 65 73 00 00 00 00 07 : ....candles.....
0040: 08 74 6f 72 63 68 65 73 00 00 00 00 2e 08 6c 61 : .torches......la
0050: 6e 74 65 72 6e 00 00 00 00 03 0b 6f 69 6c 20 66 : ntern......oil f
0060: 6c 61 73 6b 73 00 00 00 00 23 0a 6c 6f 63 6b 70 : lasks....#.lockp
0070: 69 63 6b 73 00 00 00 00 04 0d 62 72 65 61 64 20 : icks......bread
0080: 6c 6f 61 76 65 73 00 00 00 00 06 0d 6c 65 67 73 : loaves......legs
0090: 20 6f 66 20 6c 61 6d 62 00 00 00 00 02 0d 63 68 : of lamb......ch
00a0: 69 63 6b 65 6e 20 6c 65 67 73 00 00 00 00 03 0d : icken legs......
00b0: 63 6f 6f 6b 65 64 20 62 69 72 64 73 00 00 00 00 : cooked birds....
00c0: 01 06 70 65 61 72 73 00 00 00 00 02 07 61 70 70 : ..pears......app
00d0: 6c 65 73 00 00 00 00 68 0b 77 6f 6f 64 65 6e 20 : les....h.wooden
00e0: 62 6f 78 00 00 00 00 61 0b 63 6f 70 70 65 72 20 : box....a.copper
00f0: 6b 65 79 00 00 00 00 76 08 62 65 64 72 6f 6c 6c : key....v.bedroll
0100: 00 00 00 00 07 09 6b 69 6e 64 6c 69 6e 67 00 00 : ......kindling..
0110: 00 c3 50 0c 56 65 6e 64 6f 72 20 64 65 65 64 00 : ..P.Vendor deed.
0120: 00 00 00 0a 06 50 61 70 65 72 00 00 00 00 0a 0a : .....Paper......
0130: 50 61 72 63 68 6d 65 6e 74 00 -- -- -- -- -- -- : Parchment.
(дефолтный вендор с провизией)
у самого на шарде много раз подобную вещь реализовывали но на UO Script'е, который умеет нормально работать с листом покупок.
Давайте совместными услиями сделаем универсальный инструмент создания листа покупок с сервера? Начиная с обходилки\опрашивалки вендоров командой buy, заканчивая онлайн БД для обработки готовых списков?
Кто что готов на себя взвалить?:) Для приведения вышеизложенного куска кода в читабельный вид впринципе хватит и возможностей инжекта, но можно использовать и сторонние программы включая обратоку файла injection_log.txt на сервере каким-нибудь php..
Можно будет довести процесс до полной автоматизации
--
хотя может я зря тут разошелся и у всех кого надо есть прога из того топика, просто я не в теме ?:)