Показать сообщение отдельно
Старый 11.11.2008, 17:39   #7
Новичок
 
Регистрация: 15.09.2008
Сообщений: 10
Сказал Спасибо: 1
Имеет 1 спасибку в 1 сообщении
AdDa пока неопределено
По умолчанию

Ну если h - это 4-ре байта, то всё гуд
Просто... l2phx выкидывает ошибку на русс офф, когда пытаемся просмотреть пакет BuyList. Обработка идёт в цикле (от кол-ва итемов в листе) и как я понимаю происходит выход за цикл.
з.ы. можно ещё и multisell листов нормальную обрабатку сделать. Вот пример с русс оффа(часть скрипта):

delphi Код:
if pck[1] = #$D0 then begin      fle := TStringList.Create;      fle.add('<?xml version=''1.0'' encoding=''utf-8''?>');      fle.add('<list>');      Position := 2;      MultisellListID := ReadD(Position);      Fake := ReadD(Position);      Fake := ReadD(Position);      Fake := ReadD(Position);      MultisellSize := ReadD(Position);      i := 0;      while (i < MultisellSize) do      begin           fle.add('<item>');           EntryID := ReadD(Position);           Fake := ReadC(Position);           Fake := ReadH(Position);           Fake := ReadD(Position);           Fake := ReadD(Position);           Fake := ReadD(Position);           Fake := ReadD(Position);           Fake := ReadD(Position);           Fake := ReadD(Position);           Fake := ReadD(Position);           Fake := ReadD(Position);           Fake := ReadD(Position);           Fake := ReadD(Position);           ProductionSize := ReadH(Position);           IngredientSize := ReadH(Position);           ProdID := 0;           while (ProdID < ProductionSize) do           begin                ItemID := ReadD(Position);                Fake := ReadD(Position);                Fake := ReadH(Position);                Count := ReadD(Position);                Fake := ReadH(Position);                Fake := ReadD(Position);                Fake := ReadD(Position);                Fake := ReadD(Position);                Fake := ReadD(Position);                Fake := ReadD(Position);                Fake := ReadD(Position);                Fake := ReadD(Position);                Fake := ReadD(Position);                Fake := ReadD(Position);                Fake := ReadD(Position);                fle.add('<production id="'+IntToStr(ItemID)+'" count="'+IntToStr(Count)+'"/>');                Inc(ProdID);           end;           IngrID := 0;           while (IngrID < IngredientSize) do           begin                ItemID := ReadD(Position);                Fake := ReadH(Position);                Count := ReadD(Position);                Fake := ReadH(Position);                Fake := ReadD(Position);                Fake := ReadD(Position);                Fake := ReadD(Position);                Fake := ReadD(Position);                Fake := ReadD(Position);                Fake := ReadD(Position);                Fake := ReadD(Position);                Fake := ReadD(Position);                Fake := ReadD(Position);                Fake := ReadD(Position);                fle.add('<ingredient id="'+IntToStr(ItemID)+'" count="'+IntToStr(Count)+'"/>');                Inc(IngrID);           end;           fle.add('</item>');           Inc(i);      end;      fle.add('</list>');      fle.SaveToFile('MultiSell/'+IntToStr(MultisellListID)+'.xml');      fle.Free; end;

Добавлено через 7 минут
А если были бы желающие - я не прочь сделать чё-нить вроде l2wh.com + hIngame.
Собирать базу русс оффа (дропа, координат мобов, buy и multisell листов ну и прочую хрень). А-ля hInGame, чтобы игроки могли иметь хоть какую-то пользу, а остальным - аналог l2wh.com (сбор данных).

Последний раз редактировалось AdDa, 11.11.2008 в 17:39. Причина: Добавлено сообщение
AdDa вне форума   Ответить с цитированием