Вернуться   CoderX :: Forums > Lineage II > L2PacketHack > Пакеты
Войти через OpenID

Пакеты Форум о форматах отдельных пакетов или групп пакетов

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 13.10.2007, 17:16   #1
Пользователь
 
Аватар для HooleeCheeter
 
Регистрация: 10.10.2007
Сообщений: 29
Сказал Спасибо: 14
Имеет 0 спасибок в 0 сообщенях
HooleeCheeter
По умолчанию [?] пакет с результатом Аугментации...

какой он? и кто знает его синтаксис?
HooleeCheeter вне форума   Ответить с цитированием
Старый 13.10.2007, 23:07   #2
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

че такое аугментация???
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
Старый 14.10.2007, 00:29   #3
Пользователь
 
Аватар для HooleeCheeter
 
Регистрация: 10.10.2007
Сообщений: 29
Сказал Спасибо: 14
Имеет 0 спасибок в 0 сообщенях
HooleeCheeter
По умолчанию Re:

Цитата:
Сообщение от xkor
че такое аугментация???
фишка интерлюда, http://forum.reborn.ru/showthread.php?t=591413
HooleeCheeter вне форума   Ответить с цитированием
Старый 14.10.2007, 01:26   #4
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию Re: [?] пакет с результатом Аугментации...

Вот что нашел
Код:
//InventoryUpdate
		writeC(0x27);
		writeH(_items.size());
		for(L2ItemInstance temp : _items)
		{
			writeH(temp.getLastChange());
			writeH(temp.getItem().getType1()); // item type1
			writeD(temp.getObjectId());
			writeD(temp.getItemId());
			writeD(temp.getCount());
			writeH(temp.getItem().getType2()); // item type2
			writeH(temp.getCustomType1());
			writeH(temp.isEquipped() ? 1 : 0);
			int t = temp.getItem().getBodyPart();
			writeD(t == L2Item.SLOT_FORMAL_WEAR ? L2Item.SLOT_FULL_ARMOR : t); // rev 415   slot    0006-lr.ear  0008-neck  0030-lr.finger  0040-head  0080-??  0100-l.hand  0200-gloves  0400-chest  0800-pants  1000-feet  2000-??  4000-r.hand  8000-r.hand
			writeH(temp.getEnchantLevel()); // enchant level
			writeH(temp.getCustomType2());
			writeD(0); //augmentation id
			writeD(temp.getLifeTimeRemaining()); // shadow weapon life time
		}
Код:
//ItemList
{
		writeC(0x1B);
		writeH(_showWindow ? 1 : 0);

		writeH(_items.length);
		for(L2ItemInstance temp : _items)
		{
			writeH(temp.getItem().getType1()); // item type1
			writeD(temp.getObjectId());
			writeD(temp.getItemId());
			writeD(temp.getCount());
			writeH(temp.getItem().getType2()); // item type2
			writeH(temp.getCustomType1()); // item type3
			writeH(temp.isEquipped() ? 1 : 0);
			writeD(temp.getItem().getBodyPart()); // rev 415  slot    0006-lr.ear  0008-neck  0030-lr.finger  0040-head  0080-??  0100-l.hand  0200-gloves  0400-chest  0800-pants  1000-feet  2000-??  4000-r.hand  8000-r.hand
			writeH(temp.getEnchantLevel()); // enchant level
			//race tickets
			writeH(temp.getCustomType2()); // item type3
			writeD(0); // augmentation id
			writeD(temp.getLifeTimeRemaining()); // shadow weapon life time
		}
}
Здесь скорее всего кроется ошибка работы скрипта заточки на Интерлюдии. Пакеты длинее на 8 байт - augmentation id и shadow weapon life time. HooleeCheeter, попробуй в скрипте поменять такими скорректированными подпрограммами.
Код:
//******************************************************************************
procedure CreateItemBase; //пакет 1B, Создает базу ObjectID по ItemID
var
  i, ss, ww, j, ObjID, ItemID, lvl, ListCount: integer;
begin
  ss:=1; //индекс в массиве скроллов
  ww:=1; //индекс в массиве предметов
  j:=4; //смещение для ListCount
  ListCount:=ReadH(j); //количество итемов не должно превышать max!
  if ListCount>max then ListCount:=max;
  j:=8; //смещение для ObjectID
  //Пробегаем по Инвентарю и сохраняем ObjectID соответствующие необходимым ItemID
  for i:=1 to ListCount do begin
     ObjID:=ReadD(j);      //ObjectID
     ItemID:=ReadD(j);    //ItemID
     j:=j+14;
     Lvl:=ReadD(j);    //Level
     case ItemID of
        scroll: begin
            ScrlBase[ss]:=ObjID;
            ss:=ss+1;
            //Say('ColvoScrl='+IntToStr(ss));
        end;
        weapon: begin
            WpnBase[1,ww]:=ObjID;
            WpnBase[2,ww]:=lvl;
            ww:=ww+1;
            //Say('ColvoWpn='+IntToStr(ww));
        end;
     end;
//    j:=j+2;
     j:=j+10;
  end;
  ColvoWpn:=ww-1;
  ColvoScrl:=ss-1;
  Say('>ColvoWpn='+IntToStr(ColvoWpn)+' ColvoScrl='+IntToStr(ColvoScrl)+' CurEnchLvl='+IntToStr(CurEnchLvl));
end;

//******************************************************************************
procedure UpdateItemBase; //пакет 27, Создает базу ObjectID по ItemID
var
  i, ii, j, ss, ww, ObjID, ItemID, Lvl, ListCount, UpdType: integer;
begin
  ListCount:=ReadH(2); //количество итемов
  //Пробегаем по Инвентарю и сохраняем пары ObjectID - Lvl
  j:=4; //смещение для действия с предметом 1-добавлен 2-изменен 3-удален
//  Say('Апдейт базы!');
  for i:=1 to ListCount do begin
    UpdType:=ReadH(j);
    j:=j+2;
    ObjID:=ReadD(j);
    ItemID:=ReadD(j);
    j:=j+14;
    Lvl:=ReadH(j);
//    Say('Предмет! ObjectID='+IntToStr(ObjID)+' ItemID='+IntToStr(ItemID));
    case UpdType of
      1:case ItemID of
          weapon: begin
            ColvoWpn:=ColvoWpn+1;
            //Say('Добавили предмет! ObjectID='+IntToStr(ObjID)+' ItemID='+IntToStr(weapon));
            for ii:=1 to max do
              if WpnBase[1,ii]=0 then begin WpnBase[1,ii]:=ObjID; WpnBase[2,ii]:=lvl; end;
          end;
          scroll: begin
            ss:=ss+1;
            //Say('Добавили скролл! ObjectID='+IntToStr(ObjID)+' ItemID='+IntToStr(scroll));
            for ii:=1 to max do
              if ScrlBase[ii]=0 then ScrlBase[ii]:=ObjID;
          end;
      end;
      2:case ItemID of
          weapon:
            for ii:=1 to max do
              if WpnBase[1,ii]=ObjID then WpnBase[2,ii]:=lvl;
          scroll:
            //Say('Внимание! Изменения в скролле!?');
      end;
      //удален
      3:case ItemID of
          weapon: begin
             ColvoWpn:=ColvoWpn-1;
             for ii:=1 to max do
              if WpnBase[1,ii]=ObjID then begin WpnBase[1,ii]:=0; WpnBase[2,ii]:=0; end;
              //Say('Удаляем предмет! ObjectID='+IntToStr(ObjID)+' ItemID='+IntToStr(weapon));
          end;
          scroll: begin
             ColvoScrl:=ColvoScrl-1;
             for ii:=1 to max do
              if ScrlBase[ii]=ObjID then ScrlBase[ii]:=0;
              //Say('Удаляем скролл! ObjectID='+IntToStr(ObjID)+' ItemID='+IntToStr(scroll));
          end;
      end;
    end;
//    j:=j+2; //следующее смещение для действия с предметом 1-добавлен 2-изменен 3-удален
    j:=j+10;
  end;
  Say('>>ColvoWpn='+IntToStr(ColvoWpn)+' ColvoScrl='+IntToStr(ColvoScrl)+' CurEnchLvl='+IntToStr(CurEnchLvl));
end;
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
Старый 14.10.2007, 02:58   #5
Пользователь
 
Аватар для HooleeCheeter
 
Регистрация: 10.10.2007
Сообщений: 29
Сказал Спасибо: 14
Имеет 0 спасибок в 0 сообщенях
HooleeCheeter
По умолчанию Re: [?] пакет с результатом Аугментации...

шя стало писать что 1 оружие (даже когда я купил 20), а количество скроллов пишет без последнего разряда, т.е. вместо 240 - 24 =/
даже не так... она пишет кол-во занятых слотов :shock:

Добавлено спустя 52 минуты 18 секунд:
ЗАРАБОТАЛО! :Yahoo!: NLoBp большуший риспегт!
HooleeCheeter вне форума   Ответить с цитированием
Старый 14.10.2007, 03:02   #6
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию Re: [?] пакет с результатом Аугментации...

Я рад. Поздравляю! :wink:
Ты заменил новыми процедурами?
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
Старый 14.10.2007, 12:56   #7
Пользователь
 
Аватар для HooleeCheeter
 
Регистрация: 10.10.2007
Сообщений: 29
Сказал Спасибо: 14
Имеет 0 спасибок в 0 сообщенях
HooleeCheeter
По умолчанию Re: [?] пакет с результатом Аугментации...

Цитата:
Сообщение от NLObP
Я рад. Поздравляю! :wink:
Ты заменил новыми процедурами?
ога, именно в них проблема была, как ты и говорил )

Добавлено спустя 45 минут 1 секунду:
NLoBp, не мог бы ты переделать этот скрипт под авто аугментацию?

пакетно это выглядит вот так :

D0 29 00 20 4A 08 10 - в окошко вставляется девайс
D0 2A 00 20 4A 08 10 8A 49 08 10 - вставляется LifeStone
D0 2B 00 20 4A 08 10 8A 49 08 10 92 4A 08 10 14 00 00 00 - за ним идут D гемстоуны в количестве 20 штук
D0 2C 00 20 4A 08 10 8A 49 08 10 92 4A 08 10 14 00 00 00 - и потверждающий пакет - нажатие кнопки "Augment"

было бы замечательно, если бы скрипт делал так, чтобы ввел ItemID девайса, потом по соц. действию YES он в базе находил LifeStone и GemStone'ы , и подсатвлял их. и на NO - снятие аугмента если не понравился, (2 пакета D0 2D 00 D6 B7 03 10 и D0 2E 00 D6 B7 03 10 где в конце ItemID).

зы: в скрпте на автоточку неудобно что когда он проходит полный цикл и переламывает все вещи, приходица перезапускать клиент чтобы опять запустить цикл =/ видимо на Procedure Init , надо сбрасывать какоето значение.
HooleeCheeter вне форума   Ответить с цитированием
Старый 14.10.2007, 18:08   #8
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию Re: [?] пакет с результатом Аугментации...

Цитата:
Сообщение от HooleeCheeter
NLoBp, не мог бы ты переделать этот скрипт под авто аугментацию?
Я попробую, но мне олаживать негде.

Цитата:
зы: в скрпте на автоточку неудобно что когда он проходит полный цикл и переламывает все вещи, приходица перезапускать клиент чтобы опять запустить цикл =/ видимо на Procedure Init , надо сбрасывать какоето значение.
Отключаешь, включаешь скрипт. Закрываешь, открываешь инвентарь. Скрипт готов к работе.
У меня такого не было. Кончались предметы, скрипт останавливался. Я креатил заточки, мечи и снова давил Yes.
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
Старый 16.10.2007, 18:33   #9
Пользователь
 
Аватар для HooleeCheeter
 
Регистрация: 10.10.2007
Сообщений: 29
Сказал Спасибо: 14
Имеет 0 спасибок в 0 сообщенях
HooleeCheeter
По умолчанию

ну скрипт я переделал, Аугментирует 1 нажатием кнопки ) сейчас разбираюсь как выключить там таймер.
NLObP, если надумаешь поставить ICQ , то велкам - 335551699
HooleeCheeter вне форума   Ответить с цитированием
Старый 05.11.2008, 11:23   #10
Пользователь
 
Регистрация: 30.07.2008
Сообщений: 52
Сказал Спасибо: 9
Имеет 2 спасибок в 2 сообщенях
Витя пока неопределено
По умолчанию

выложите плиз скрипт на авто Аугментирацию
Витя вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack > Пакеты



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

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


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

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

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