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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 17.05.2008, 05:05   #1
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
Сообщение Алгоритмы или описания последовательности действий

Есть предложение в этой теме собирать алгоритмы или подробное описание какого нибудь полезного для реализации процесса. Предлагается формат сообщений.
Алгоритм такой то:
сам алгоритм
и всё.


Проверено на практике, в скрипте рыбалки.
продажа состоит из следующих шагов:
1. таргет на продавце, пауза, снова таргет (c04=Action, c04=Action)
2. приходит s0F=NpcHtmlMessage:d(MessageID)s(HTML)d(d)
3. шлём выбранный пункт из меню c21=RequestBypassToServer:s(Cmd)
4. приходит s10=SellList:d(Money)h(ListID)w(ListCount)w(ItemTy pe1)h(ObjectID)i(ItemID)d(Count)w(ItemType2)w(h)d( ItemBodyPart)...
5. FindItem(ID) найдем OID, Count нужной вещи по ID
6. шлем c1E=RequestSellItem:h(ListID)d(SellCount)h(ObjectI D)i(ItemID)d(Count)

покупка состоит из следующих шагов:
1. таргет на продавце, пауза, снова таргет (c04=Action, c04=Action)
2. приходит s0F=NpcHtmlMessage:d(MessageID)s(HTML)d(d)
3. шлем выбранный пункт из меню c21=RequestBypassToServer:s(Cmd)
4. приходит s11=BuyList:d(Money)h(ListID)w(ListCount)w(ItemTyp e1)h(ObjectID)i(ItemID)d(maxcnt)w(ItemType2)w(h)d( ItemBodyPart)...
5. FindItem(ID) найдем OID, Count нужной вещи по ID
6. шлем c1F=RequestBuyItem:h(ListID)d(BuyCount)i(ItemID)d( Count)i(ItemID)d(Count)

обмен состоит из следующих шагов:
1. таргет на продавце, пауза, снова таргет (c04=Action, c04=Action)
2. приходит s0F=NpcHtmlMessage:d(MessageID)s(HTML)d(d)
3. шлем выбранный пункт из меню c21=RequestBypassToServer:s(Cmd)
4. приходит sD0=MultiSellList:d(listId)d(page_beg)d(page_end)d (onpage)d(entrycount)d(EntryId)b(?)w(prodcount)w(i temcount<)w(pItemId)d(?)w(ptype2)...
5. FindItem(ID) найдем OID, Count нужной вещи по ID
6. шлем cA7=RequestMultiSellChoose:h(ListID)d(EntryID)d(Am ount)

Последний раз редактировалось NLObP, 12.06.2008 в 12:20. Причина: исправил ошибки в покупке
NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился 9 спасибками от:
Старый 19.05.2008, 11:26   #2
Новичок
 
Регистрация: 22.04.2008
Сообщений: 21
Сказал Спасибо: 8
Имеет 26 спасибок в 6 сообщенях
poizon пока неопределено
По умолчанию

встать из сидячего положения(покупка/продажа/просто сидит)interlude
1.команда подняться (если сидит то это пакет 45 00 00 00 00 00 00 00 00 00, если продаёт то это пакет 73, если покупает то это пакет 90)
2.отправить пакет validateposition 48 d(myX)d(myY)d(myZ)d(header)d(data)
myx myy myz это координаты персонажа нынешние, хеадер и дата можно получить посмотрев что отправляет клиент серверу сам.

сесть(начать продавать покупать или сесть)interlude
1.команда сесть или продавать или покупать (сесть пакет 45 00 00 00 00 00 00 00 00 00, продавать 73 покупать 90)
3.если это магазин то посылается(опционально) пакет с призывом лавочки, для покупки это buf:=#$94 WriteS(name);
для продажи это buf:=#$77 WriteS(name);
4.если это магазин то посылается пакет со списком предметов, покупаем - пакет 91 d(itemsCount) d(itemID1) d(0) d(itemCount1) d(itemPrice1) d(itemIDN) d(0) d(itemCountN) d(itemPriceN) ... ...
в пакете количество вещей на покупку далее идет повторяющаяся последовательность байтов ид вещи (не object id ) 4 байта пустых d(0) количество покупаемого, и прайс.
для продажи это пакет 74 d(0) d(listcount) d(Oid1) d(count1) d(price1) d(oidN) d(countN) d(priceN)
номер пакета(74) далее 4 пустых байта D(0) делаее количество продаваемых предметов, далее Objectid предмета(не просто ИД предмета) ну собственно далее количество и прайс, три последних d() повторяются в зависимости от количества продаваемого)
после отправки пакета с листом предметов он сам садится.
5.после того как персонаж сел(сел,покупать,продавать) посылается пакет validatepoosition (см.выше) и пакет validaterotate (или как его) вот пакет - buf:=#$4B d(degree) d(rconst).угол поворота персонажа, я беру его от клиента предварительно сев встав, и далее константа тоже беру от клиента.задержка между пакетами думаю не более 100мс.
poizon вне форума   Ответить с цитированием
За это сообщение poizon нажился 6 спасибками от:
Ответ

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



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

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


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

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

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