Неа, свое API надо писать...F1oOD писал(а):Спасибо.
может есть у кого скрипт на проверку титула соклана и замену его на нужный?)
Вопросы по скриптам
Оказываю помощь бесплатно только публично на форуме, цените свои и мое время.
AdrenalineScript.com - премиум плагины и скрипты
AdrenalineScript.com - премиум плагины и скрипты
Код: Выделить всё
var
obj: TL2Object;
begin
while true do begin delay(500);
if user.target.ByID(11111,obj) then print('ff');
end;
end.
Если ставлю просто id то пишет (5): Too many actual parameters
Подскажите в чем проблема
Никак не могу разобраться с структурой пакетов торговой лавки (классик), интересуют торгаши
Ловлю пакет A1 и BX на классике, все работает, но никак не разберу структуру пакета...
Нашел такую структуру, но она не работает (на классике, брал отсюда https://github.com/arturojosejr/L2-Adre ... etsGOD.ini
Я захардкодил свою структуру (без циклов), но она не работает для всех случаев (некоторые пакеты парсятся нормально, некоторые неоч.).
Собственно вопрос
Может есть способ попроще?) Нужно просто обходить торгашей и собирать данные. Как это сделать без пакетов, через API не нашел...
Ловлю пакет A1 и BX на классике, все работает, но никак не разберу структуру пакета...
Код: Выделить всё
A1=PrivateStoreListSell:d(PlayerObjID)d(isPackageSale)q(Money)d(ItemsCount:Loop.01.0026)d(ObjectID)d(ItemID:Get.F0)d(Slot)q(Count)h(type2)h(custType1)h(0)d(BodyPart)h(enchantLvl)h(custType2)d(augment:Get.F1)d(mana)d(remainTime)h(AttackElem)h(AttackElemPower)h(DefFire)h(DefWater)h(DefWind)h(DefEarth)h(DefHoly)h(DefUnholy)h(enchEff1)h(enchEff2)h(enchEff3)q(price)q(refPrice)
Я захардкодил свою структуру (без циклов), но она не работает для всех случаев (некоторые пакеты парсятся нормально, некоторые неоч.).
Собственно вопрос
Может есть способ попроще?) Нужно просто обходить торгашей и собирать данные. Как это сделать без пакетов, через API не нашел...
Код: Выделить всё
A1=PrivateStoreListSell:d(PlayerObjID)d(isPackageSale)q(Money)d(ObjectID)d(Count)d(ObjectID)c(wtf)d(ItemID:Get.F0)d(unknown)d(unknown)d(unknown)d(unknown)d(unknown)d(unknown)d(unknown)d(unknown)h(wtf)q(price)q(refPrice)d(ObjectID)c(wtf)d(ItemID:Get.F0)d(unknown)d(unknown)d(unknown)d(unknown)d(unknown)d(unknown)d(unknown)d(unknown)h(wtf)q(price)q(refPrice)
- IvaniuS
- Администратор
- Сообщения: 1372
- Зарегистрирован: Пн янв 12, 2015 10:58 am
- Контактная информация:
структура знгачит поменялась, изучаййте или ищите новую по форумам серверописцев.
Мой Сайт, Тут есть все скрипты: 1-85, Заточка, Аугмент и много чего другого
skype: live:ivanius51
вопросы по СКРИПТАМ, не программированию - БЕСПЛАТНО!
разобрался, там вроде с 24 байта, 1 байтовая "маска" итема идет (цикл итемов начинается с этого места). В зависимости от типа маски, идет разная длина данных итема (для каждого итема своя длина).
пару лет назад разбирал, осталось на салфетке, мб пригодится.inomoz писал(а):Что-то вроде это пытаюсь использовать =) Но оно не работает в некоторых случаях, может где-то в каком то месте указывается размер последующих данных или еще что-то... С пакетам ознакомился только вчера, никак не могу разобраться...Код: Выделить всё
A1=PrivateStoreListSell:d(PlayerObjID)d(isPackageSale)q(Money)d(ObjectID)d(Count)d(ObjectID)c(wtf)d(ItemID:Get.F0)d(unknown)d(unknown)d(unknown)d(unknown)d(unknown)d(unknown)d(unknown)d(unknown)h(wtf)q(price)q(refPrice)d(ObjectID)c(wtf)d(ItemID:Get.F0)d(unknown)d(unknown)d(unknown)d(unknown)d(unknown)d(unknown)d(unknown)d(unknown)h(wtf)q(price)q(refPrice)
A1
3B 41 C1 4A =[D] Seller OID 1254179131
00 00 00 00 =[D] Package sale: No (0) //4
2B 00 00 00 00 00 00 00 =[Q] Adena: 43 //8
15 00 00 00 =[D] Viewer's item count: 21 //16
04 00 00 00 =[D] Sellable count: 4 //20
цикл
00 =[C] Extension(s): 0 //24
A2 63 76 40 =[D] Item OID: 1081500578 //25
B9 05 00 00 =[D] Item:1465 //29
00 =[C] Slot number: 0 //33
04 23 01 00 00 00 00 00 =[Q] Amount: 74500 //34
05 =[C] Main item type: Armor/Shield/Hat/Mask (5) //42
00 =hz //43
00 00 =[H] Equipped: No (0) //44
00 00 00 00 00 00 00 00 =[Q] Used paperdoll slot(s): Hair Accessory (both) (524288) //46
00 =[C] Enchant level: 0 //54
00 =[C] Name exists: No (0) //55
FF FF FF FF =[D] Mana left: N/A (-1) //56
F1 D8 FF FF =[D] Time remaining: N/A (-9999) //60
01 =[C] Usable: Yes (1) //64
00 00 =[H] Locked: No (0) //65
30 00 00 00 00 00 00 00 =[Q] Price: 48 //67
32 00 00 00 00 00 00 00 =[Q] Reference (shop) price: 0 //75
BE
24 C3 60 4B =[D] Seller OID
2B 00 00 00 00 00 00 00 =[Q] Adena: 43 //8
15 00 00 00 =[D] Viewer's item count: 21 //16
04 00 00 00 =[D] Sellable count: 4 //20
цикл
00 =[C] Extension(s): 0 //24
D4 4A F2 40 [D] Item OID:
57 07 00 00 =[D] Item:
00 =[C] Slot number: 0 //33
00 00 00 00 00 00 00 00 =[Q] Amount:
05 =[C] Main item type: Armor/Shield/Hat/Mask (5) //42
00 =hz //43
00 00 =[H] Equipped: No (0) //44
00 00 00 00 00 00 00 00 =[Q] Used paperdoll slot(s): Hair Accessory (both) (524288) //46
00 =[C] Enchant level: 0 //54
00 =[C] Name exists: No (0) //55
FF FF FF FF =[D] Mana left: N/A (-1) //56
F1 D8 FF FF =[D] Time remaining: N/A (-9999) //60
01 =[C] Usable: Yes (1) //64
00 00 =[H] Locked: No (0) //65
01 00 00 00 //hz
E8 03 00 00 00 00 00 00 =[Q] Price:
B0 04 00 00 00 00 00 00 =[Q] Reference (shop) price:
47 00 00 00 00 00 00 00 =[Q] Amount:
p\s Вспомнил там еще цикл, может быть, если есть аугментация или руны начинается перед Ценой pbyte = кол-во эффектов, dword = ид эффектов и т.д.. обертки самой не осталось, хотя тут и так все есть, работы на 10 минут
Код: Выделить всё
function ShellExecuteW(hwnd: integer; lpOperation, lpFile, lpParameters, lpDirectory: PChar; nShowCmd: integer): integer; stdcall;
external 'Shell32.dll';
const
gamePath = 'C:\Lineage2\Scryde-Client\Scryde\L2_Lite.exe';
begin
ShellExecuteW(0, 'open', PChar(gamePath), nil, nil, 0);
end.
Вылетает ошибка - скриншот Прошу помочь решить. В файле клиента .ini менял имя с l2 на l2_lite, однако ошибка та же
Подскажите как сделать чтобы из скрипта с основного окна, процедура или функция действовала в любом другом окне?
Добрый день уважаемые скриптеры. Нужен скрипт на зарядку иконы паладина об птичку и шк об перса чтоб икону заряжал! Кто может помочь?