Вернуться   CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг
Войти через OpenID

Скриптинг Форум посвещенный созданию скриптов для L2PacketHack

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 09.09.2013, 17:17   #1
Новичок
 
Регистрация: 04.09.2013
Сообщений: 7
Сказал Спасибо: 1
Имеет 1 спасибку в 1 сообщении
MarioUP пока неопределено
По умолчанию

Цитата:
Сообщение от SeregaZ Посмотреть сообщение
и чем там секс? тоже самое... только всего 2 варианта:
точка ушла, шмотка точнулась(сломалась)
шмотка точнулась(сломалась), точка ушла
поэтому можно даже не гонять цикл, а просто проверять эти два момента на айди предмета двумя if.
Да это то ясно секс будет со структурой пакета ее не хило потрепали)
MarioUP вне форума   Ответить с цитированием
Старый 26.04.2015, 15:08   #2
Новичок
 
Регистрация: 30.01.2011
Сообщений: 25
Сказал Спасибо: 28
Имеет 0 спасибок в 0 сообщенях
lodek пока неопределено
По умолчанию

NLObP, где в скрипте enchant_by_NLObP_09.rar строка отвечающая за распознавание предметов инвентаря? ItemsID.ini обновил под сервер и прописал к нему путь в скрипте, но всего 2 предмета из списка реально есть в инвентаре. Или в чём может быть проблема? Видит правильно первый предмет из списка и ещё пару.
Кусок из ItemList:
Код:
Type:0x11 (ItemList)
Size: 4485+2
Recive time: 14:42:32:831
0002 h  ShowWindow: 1 (0x0001)
0004 h  ItemCount: 70 (0x0046)
              [begin of repeat block  1/70]
0006 h  ItemTypeID: 4 (0x0004)
0008 d  ObjectID: 1075161562 (0x4015A9DA)
000C d  ItemID: Blessed Scroll: Enchant Armor (S) ID:6578 (0x19B2)
0010 d  LocationSlot: 50 (0x00000032)
0014 q  Amount: 1161
001C h  ItemType2: 5 (0x0005)
001E h  CustomType1: 0 (0x0000)
0020 h  isEquipped: 0 (0x0000)
0022 d  BodyPart: 0 (0x00000000)
0026 h  EnchantLevel: 0 (0x0000)
0028 h  CustType2: 0 (0x0000)
002A d  AugmentID: 0
002E d  Mana: -1 (0xFFFFFFFF)
0032 h  AttackElement: 65534 (0xFFFE)
0034 h  AttackElementPower: 0 (0x0000)
0036 h  FireDefElementPower: 0 (0x0000)
0038 h  WaterDefElementPower: 0 (0x0000)
003A h  WindDefElementPower: 0 (0x0000)
003C h  EarthDefElementPower: 0 (0x0000)
003E h  HolyDefElementPower: 0 (0x0000)
0040 h  UnholyDefElementPower: 0 (0x0000)
0042 d  RemainingTime: -9999 (0xFFFFD8F1)
              [End of repeat block  1/70]
              [begin of repeat block  2/70]
0046 h  ItemTypeID: 4 (0x0004)
0048 d  ObjectID: 1075161561 (0x4015A9D9)
004C d  ItemID: Soulshot: S-Grade ID:1467 (0x05BB)
0050 d  LocationSlot: 41 (0x00000029)
0054 q  Amount: 9800
005C h  ItemType2: 5 (0x0005)
005E h  CustomType1: 0 (0x0000)
0060 h  isEquipped: 0 (0x0000)
0062 d  BodyPart: 0 (0x00000000)
0066 h  EnchantLevel: 0 (0x0000)
0068 h  CustType2: 0 (0x0000)
006A d  AugmentID: 0
006E d  Mana: -1 (0xFFFFFFFF)
0072 h  AttackElement: 65534 (0xFFFE)
0074 h  AttackElementPower: 0 (0x0000)
0076 h  FireDefElementPower: 0 (0x0000)
0078 h  WaterDefElementPower: 0 (0x0000)
007A h  WindDefElementPower: 0 (0x0000)
007C h  EarthDefElementPower: 0 (0x0000)
007E h  HolyDefElementPower: 0 (0x0000)
0080 h  UnholyDefElementPower: 0 (0x0000)
0082 d  RemainingTime: -9999 (0xFFFFD8F1)
              [End of repeat block  2/70]
              [begin of repeat block  3/70]
0086 h  ItemTypeID: 4 (0x0004)
0088 d  ObjectID: 1075161560 (0x4015A9D8)
008C d  ItemID: Charm of Courage: S-Grade ID:8520 (0x2148)
0090 d  LocationSlot: 42 (0x0000002A)
0094 q  Amount: 3
009C h  ItemType2: 5 (0x0005)
009E h  CustomType1: 0 (0x0000)
00A0 h  isEquipped: 0 (0x0000)
00A2 d  BodyPart: 0 (0x00000000)
00A6 h  EnchantLevel: 0 (0x0000)
00A8 h  CustType2: 0 (0x0000)
00AA d  AugmentID: 0
00AE d  Mana: -1 (0xFFFFFFFF)
00B2 h  AttackElement: 65534 (0xFFFE)
00B4 h  AttackElementPower: 0 (0x0000)
00B6 h  FireDefElementPower: 0 (0x0000)
00B8 h  WaterDefElementPower: 0 (0x0000)
00BA h  WindDefElementPower: 0 (0x0000)
00BC h  EarthDefElementPower: 0 (0x0000)
00BE h  HolyDefElementPower: 0 (0x0000)
00C0 h  UnholyDefElementPower: 0 (0x0000)
00C2 d  RemainingTime: -9999 (0xFFFFD8F1)
              [End of repeat block  3/70]
Смещение поменял на 48 тут:
Код:
begin
  j:=4; //смещение для ListCount
  ListCount:=ReadH(j); //количество итемов не должно превышать max!
  for i:=1 to maxitems do
    if (i<=ListCount) then begin
      BaseItems[i,1]:=ReadH(j);  //ItemType1
      BaseItems[i,2]:=ReadD(j);  //ObjectID
      BaseItems[i,3]:=ReadD(j);  //ItemID
      BaseItems[i,4]:=ReadD(j);  //LocationSlot
      BaseItems[i,5]:=ReadD(j);  //Count
      BaseItems[i,6]:=ReadH(j);  //ItemType2
      BaseItems[i,7]:=ReadH(j);  //CustomType1
      BaseItems[i,8]:=ReadH(j);  //isEquipped
      BaseItems[i,9]:=ReadD(j);  //BodyPart
      BaseItems[i,10]:=ReadH(j); //EnchantLevel
      BaseItems[i,11]:=ReadH(j); //CustType2
      BaseItems[i,12]:=ReadD(j); //AugmentationID
      //debugmsg('OID='+inttostr(BaseItems[i,2])+' ID='+inttostr(BaseItems[i,3]));
      inc(j,48);
    end else for k:=1 to 12 do BaseItems[i,k]:=0; // забиваем нулями
InventoryUpdate заменил на 46
Миниатюры
Нажмите на изображение для увеличения
Название: Безымянный.png
Просмотров: 49
Размер:	21.1 Кб
ID:	2945  

Последний раз редактировалось lodek, 26.04.2015 в 17:23.
lodek вне форума   Ответить с цитированием
Старый 26.04.2015, 22:58   #3
Местный
 
Аватар для Breadfan
 
Регистрация: 29.04.2008
Сообщений: 830
Сказал Спасибо: 80
Имеет 230 спасибок в 169 сообщенях
Breadfan пока неопределено
По умолчанию

дело как минимум в этом -> BaseItems[i,5]:=ReadQ(j); //Count
И насколько помню - аналогично правится функция апдейта итемлиста.
__________________
На фразы в аську типа "слух карочь 1)как точить 2)как раскачаться за 5 мин" - игнор. ИМХО идиотизм
Дай голодному рыбу - он будет один день сыт. Покажи ему, как удить рыбу - он пошлёт тебя и скажет, что у него есть более интересные занятия, чем забрасывать снасти в воду
David Kastrup @ de.comp.text.tex.
"Приобретенные навыки общения с маленькими детьми - сильно упрощают взаимопонимание на форумах..."

А вы знаете, что для качественной сварки - место шва нужно протереть спиртом?
Breadfan вне форума   Ответить с цитированием
За это сообщение Breadfan нажился спасибкой от:
Старый 26.04.2015, 23:43   #4
Новичок
 
Регистрация: 30.01.2011
Сообщений: 25
Сказал Спасибо: 28
Имеет 0 спасибок в 0 сообщенях
lodek пока неопределено
По умолчанию

Цитата:
Сообщение от Breadfan Посмотреть сообщение
дело как минимум в этом -> BaseItems[i,5]:=ReadQ(j); //Count
И насколько помню - аналогично правится функция апдейта итемлиста.
Оставил в инвентаре 5 предметов (адена, заточки и 3 разных вещи, чтоб точить). Комбибокс видел правильно только заточки, они первые в списке и ещё 4 белых поля.
Попробывал заменить в нескольких местах -
BaseItems[i,5]:=ReadD(j); //Count
на
BaseItems[i,5]:=ReadQ(j); //Count
не помогло, стало показывать вещей 40 случайных, в разброс с пустями полями.
Вложения
Тип файла: rar OE L2GF from NLObP.rar (9.4 Кб, 28 просмотров)

Последний раз редактировалось lodek, 27.04.2015 в 00:00.
lodek вне форума   Ответить с цитированием
Старый 27.04.2015, 01:08   #5
Местный
 
Аватар для Breadfan
 
Регистрация: 29.04.2008
Сообщений: 830
Сказал Спасибо: 80
Имеет 230 спасибок в 169 сообщенях
Breadfan пока неопределено
По умолчанию

На твоем примере:
0002 h ShowWindow: 1 (0x0001)
0004 h ItemCount: 70 (0x0046)
[begin of repeat block 1/70]
0006 h ItemTypeID: 4 (0x0004) // отсюда начинается перебор
0008 d ObjectID: 1075161562 (0x4015A9DA)
000C d ItemID: Blessed Scroll: Enchant Armor (S) ID:6578 (0x19B2)
0010 d LocationSlot: 50 (0x00000032)
0014 q Amount: 1161
001C h ItemType2: 5 (0x0005)
001E h CustomType1: 0 (0x0000)
0020 h isEquipped: 0 (0x0000)
0022 d BodyPart: 0 (0x00000000)
0026 h EnchantLevel: 0 (0x0000)
0028 h CustType2: 0 (0x0000)
002A d AugmentID: 0 <<-- вплоть досюда считываются параметры. После ReadD(j) - j должен указывать на ItemTypeID следующего итема. И идет приращивание j (inc(j,X)), чтобы оказаться на следующем итеме. Т.е. к j надо прибавить:
002E d Mana: -1 (0xFFFFFFFF) +4
0032 h AttackElement: 65534 (0xFFFE) +2
0034 h AttackElementPower: 0 (0x0000) +2
0036 h FireDefElementPower: 0 (0x0000) +2
0038 h WaterDefElementPower: 0 (0x0000) +2
003A h WindDefElementPower: 0 (0x0000) +2
003C h EarthDefElementPower: 0 (0x0000) +2
003E h HolyDefElementPower: 0 (0x0000) +2
0040 h UnholyDefElementPower: 0 (0x0000) +2
0042 d RemainingTime: -9999 (0xFFFFD8F1) +4
[End of repeat block 1/70]
[begin of repeat block 2/70]
0046 h ItemTypeID: 4 (0x0004)
0048 d ObjectID: 1075161561 (0x4015A9D9)
004C d ItemID: Soulshot: S-Grade ID:1467 (0x05BB)
0050 d LocationSlot: 41 (0x00000029)

(или иначе $0046 - $002E = $18 = 24)
по-моему получилось - 24, если не ошибаюсь. Это для ItemList. Для апдейтитемлист там несложно пересчитать, по аналогии.
__________________
На фразы в аську типа "слух карочь 1)как точить 2)как раскачаться за 5 мин" - игнор. ИМХО идиотизм
Дай голодному рыбу - он будет один день сыт. Покажи ему, как удить рыбу - он пошлёт тебя и скажет, что у него есть более интересные занятия, чем забрасывать снасти в воду
David Kastrup @ de.comp.text.tex.
"Приобретенные навыки общения с маленькими детьми - сильно упрощают взаимопонимание на форумах..."

А вы знаете, что для качественной сварки - место шва нужно протереть спиртом?

Последний раз редактировалось Breadfan, 27.04.2015 в 02:28.
Breadfan вне форума   Ответить с цитированием
За это сообщение Breadfan нажился спасибкой от:
Старый 27.04.2015, 01:16   #6
Новичок
 
Регистрация: 30.01.2011
Сообщений: 25
Сказал Спасибо: 28
Имеет 0 спасибок в 0 сообщенях
lodek пока неопределено
По умолчанию

Не знаю, почему и как, в InventoryUpdate высчитал по методу NLObP 46 и для итемлист также считал вначале 48, но потом в ItemList методом научного перебора правильным оказалось 28, всё видит.

1. А что убрать в скрипте, чтоб надо была 1 вещь, а не 2 одинаковых для начала заточки?
2. Оставил в инвентаре 4 вещи: адена, заточки, 2 одинаковые вещи, выбираю желаемый уровень заточки 6, начинает точить и пишет, что достигнул желаемый уровень 32768 (это проблема InventoryUpdate или другая?).
Миниатюры
Нажмите на изображение для увеличения
Название: Безымянный.png
Просмотров: 40
Размер:	19.0 Кб
ID:	2949  
Вложения
Тип файла: rar OE L2GF from NLObP.rar (9.4 Кб, 28 просмотров)

Последний раз редактировалось lodek, 27.04.2015 в 01:42.
lodek вне форума   Ответить с цитированием
Старый 27.04.2015, 03:39   #7
Местный
 
Аватар для Breadfan
 
Регистрация: 29.04.2008
Сообщений: 830
Сказал Спасибо: 80
Имеет 230 спасибок в 169 сообщенях
Breadfan пока неопределено
По умолчанию

инфа 100% что указав +28 ты оставил там как есть ReadD(j)

(все рассуждения из расшифрованого куска ItemList приведенного выше)
__________________
На фразы в аську типа "слух карочь 1)как точить 2)как раскачаться за 5 мин" - игнор. ИМХО идиотизм
Дай голодному рыбу - он будет один день сыт. Покажи ему, как удить рыбу - он пошлёт тебя и скажет, что у него есть более интересные занятия, чем забрасывать снасти в воду
David Kastrup @ de.comp.text.tex.
"Приобретенные навыки общения с маленькими детьми - сильно упрощают взаимопонимание на форумах..."

А вы знаете, что для качественной сварки - место шва нужно протереть спиртом?

Последний раз редактировалось Breadfan, 27.04.2015 в 03:45.
Breadfan вне форума   Ответить с цитированием
За это сообщение Breadfan нажился спасибкой от:
Старый 11.08.2010, 00:17   #8
Новичок
 
Регистрация: 10.08.2010
Сообщений: 6
Сказал Спасибо: 1
Имеет 1 спасибку в 1 сообщении
Noctavi пока неопределено
Радость

Цитата:
Сообщение от Pilgrim Посмотреть сообщение
это в смысле... настройки перехвата чтоль?

P.s. а если между id, знаком "=" и названием итема пробелы? это ничего? или надо устранять?
вот такого типа:
12 = название итема
Да фиг его поймешь. Я выключил вообще обработку пакетов, понял что это не выход...)
Но если так по раскинуть ламмерскими мозгами. То перехват тут не причем. Название говорит само за себя. Он просто перехватывает пакеты. А обрабатывает, нечто другое. Что у нас сломанно. Типа у нас запечатаня вещь. Маммон дурак. Вот и вся проблема.
Noctavi вне форума   Ответить с цитированием
Старый 11.08.2010, 12:06   #9
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Pilgrim, на rulineage.com посылка пакета 0x14 (RequestItemList ) - вызываем инвентарь не работает! (может и на других так же). Советую в скрипте, везде где найдешь, заремить две такие строки:
Код:
    buf:=hstr('14');
    SendToServerEx(Name);
Для наполнения комбобоксов: После запуска скрипта в клиенте вручную открыть инвентарь или взять/снять оружие, после чего по идее должен прийти пакет ItemLis и скрипт сможет наполнить комбобоксы.

Еще, для правильного показа в пакетхаке содержимого пакета, например ItemList, требуется правильное его описание в файле packetst2.ini
Код:
11=ItemList:h(ShowWindow)h(ItemCount:Loop.01.0024)d(ObjectID)d(ItemID:Get.Func01)d(LocationSlot)q(Count)h(ItemType2)h(ItemType3)h(isEquipped)d(BodyPart)h(EnchantLevel)h(ItemType3)d(AugmentID:Get.AugmentID)d(Mana)h(AttackElement)h(FreyaUnknown)h(FreyaUnknown)h(AttackElementPower)h(FireDefElementPower)h(WaterDefElementPower)h(WindDefElementPower)h(EarthDefElementPower)h(HolyDefElementPower)h(UnholyDefElementPower)d(RemainingTime)h(FreyaUnknown)
Код:
21=InventoryUpdate:h(Count:Loop.1.0025)h(UpdateType:01-add,02-mdf,03-rmv)d(ObjectID)d(ItemID:Get.Func01)d(LocationSlot)q(Quantity)h(ItemType2)h(CustomType1)h(Equipped)d(BodyPart)h(EnchantLevel)h(CustType2)d(AugmentID:Get.AugmentID)d(Mana)h(AttackElement)h(FreyaUnknown)h(FreyaUnknown)h(AttackElementPower)h(FireDefElementPower)h(WaterDefElementPower)h(WindDefElementPower)h(EarthDefElementPower)h(HolyDefElementPower)h(UnholyDefElementPower)d(RemainingTime)h(FreyaUnknown)
Вот расшифровка ItemList, первых двух предметов (ItemID расшифровывает правильно):Оффтоп
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни



Последний раз редактировалось NLObP, 11.08.2010 в 12:19.
NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился спасибкой от:
Старый 12.08.2010, 19:08   #10
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Скрипт заточки для фрейи. Требует проверки. Точит и одну вещь и несколько по очереди. При фейле точит только сфейленную вещь, пока не догонит по заточке остальные. Используется три таймера.
Вложения
Тип файла: rar Enchant_Freya.rar (8.8 Кб, 379 просмотров)
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни



Последний раз редактировалось NLObP, 14.08.2010 в 18:21.
NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился спасибкой от:
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 16:40.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!