|
Дюп стопок - Баги и читы Lineage 2 - Уязвимости, баги и читы для Lineage 2 в этом разделе |
11.12.2010, 19:35
|
#1
|
|
|
|
Маршал
|
Регистрация: 24.01.2008
Сообщений: 891
Популярность: 123175
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 865
Поблагодарили 10,986 раз(а) в 1,314 сообщениях
|
Дюп стопок
Автор материала: mc12q
Материал перенесен из Подполья. Причина переноса: теряет актуальность. Приводится в оригинальном виде, без правок
---
На топовых серверах фикс
На тех что попроще - работает.
В сумке есть 100 кристаллов
1. Опускаем в банк 1 кристалл чтобы узнать ИД нашей стопки.
Пакет примерно должен выглядеть так:
Код:
31 01000000 0EC09608 01000000
Где 0EC09608 искомый ИД стопки
Забираем этот предмет назад.
2. Модифицируем наш пойманный пакет таким образом, чтобы он укладывал в банк 2 стопки одного итема. Одна стопка 80 другая 1 итем
(важно в сумке должен оставаться хотя бы 1 кристал)
Пакет примерно должен выглядеть так:
Код:
31 02000000 0EC09608 50000000 0EC09608 01000000
где 02000000 количество стопок
0EC09608 - ид стопки
50000000 - количество
0EC09608 - ид стопки
01000000 - количество
Должно в банке получится 2 стопки в одной 80 итемов в другой 1
3. Теперь надо снять эти две стопки только не просто, а по волшебному. Тобиш заберем 1 пакетом наши 80+1+1
Пакет должен выглядеть примерно так:
Код:
32 03000000 АЕC09608 50000000 АFC09608 01000000 АFC09608 01000000
где 32 значит что мы заберем
03000000 - количество стопок
АЕC09608 - ид стопки которою забираем
50000000 - количество
АFC09608 - ИД стопки (вторая и третя одинаковая должна быть)
01000000 - количество
АFC09608 - ИД стопки
01000000 - количество
Этот ИД АЕC09608 и АFC09608 мы берем с пакета, который нам приходит от сервера при открытии банка WareHouseWithdrawList
Ну и открываем банк, отправляем этот пакет ^^
Закрываем окно. Открываем снова и еще раз отправляем этот пакет.
Закрываем окно. Открываем банк забираем оттуда наших 80 кристаллов. (смотри в сумку сколько забралось)
Кидаем 1 кристалл в банк забираем его. И по кругу
|
|
|
6 пользователя(ей) сказали cпасибо:
|
|
15.12.2010, 14:08
|
#2
|
|
|
|
Пехотинец
|
Регистрация: 05.09.2009
Сообщений: 54
Популярность: 449
Сказал(а) спасибо: 15
Поблагодарили 159 раз(а) в 19 сообщениях
|
Re: Дюп стопок
Если фикс что нельзя положить 2 стопки с одинаковым айди - можно сделать 2 разные стопки через забирание из вх (будет 2 стопки вещей но оид будет разный).
Работало на длл вампира месяца 3 назад.
Скрипт под ХБ
Код:
var
ListSize,
ItemID,ObjectID,Count,
DBID1,DBID2,DBIDC1,DBIDC2,
j,i: integer;
Command, r: string;
CType: integer;
const
LEAVE_IN_INV = 1;
ITEM_ID = 9600;
ADENA = 57;
procedure Msg(msg:string);
begin
buf:=#$4A;
WriteD(0);
WriteD(0);
WriteS('SYS');
WriteS(msg);
SendToClient;
end;
procedure InsertClear;
begin
buf:=#$3B;
WriteD(1);
WriteD(DBID1);
WriteD(DBIDC1);
SendToServer;
end;
procedure InsertDupe;
begin
buf:=#$3B;
WriteD(2);
WriteD(DBID1);
WriteD(DBIDC1-LEAVE_IN_INV);
WriteD(DBID2);
WriteD(1);
SendToServer;
end;
procedure PrepareDupe;
begin
buf:=#$3B;
WriteD(2);
WriteD(DBID2);
WriteD(DBIDC2);
WriteD(DBID1);
WriteD(1);
SendToServer;
end;
procedure Withdraw_AfterFake;
begin
buf:=#$3C;
WriteD(1);
WriteD(DBID1);
WriteD(DBIDC1);
SendToServer;
end;
procedure Withdraw_Duped;
begin
buf:=#$3C;
WriteD(3);
WriteD(DBID1);
WriteD(DBIDC1);
WriteD(DBID2);
WriteD(1);
WriteD(DBID2);
WriteD(1);
SendToServer;
end;
procedure Withdraw_MakeFake;
begin
buf:=#$3C;
WriteD(3);
WriteD(DBID2);
WriteD(DBIDC2);
WriteD(DBID1);
WriteD(1);
WriteD(DBID1);
WriteD(1);
SendToServer;
end;
procedure Withdraw_Final;
begin
buf:=#$3C;
WriteD(1);
WriteD(DBID1);
WriteD(DBIDC1);
SendToServer;
end;
begin
if FromServer then
begin
if (pck[1]=#$41) then
begin
DBID1:=0;
DBIDC1:=0;
DBID2:=0;
DBIDC2:=0;
j:=8;
ListSize:=ReadH(j);
if (CType = 7) then
begin
Msg('Шаг 7 Ложим 1');
for i:=1 to ListSize do
begin
inc(j,6);
ItemID:=ReadD(j);
Count:=ReadD(j);
inc(j,14);
ObjectID:=ReadD(j);
inc(j,44);
if (ItemID = ITEM_ID) then
begin
DBID1:=ObjectID;
DBIDC1:=Count;
end
end;
inc(CType);
InsertClear;
end;
if (CType = 4) then
begin
Msg('Шаг 4 Ложим вещи для дюпа.');
for i:=1 to ListSize do
begin
inc(j,6);
ItemID:=ReadD(j);
Count:=ReadD(j);
inc(j,14);
ObjectID:=ReadD(j);
inc(j,44);
if (ItemID = ITEM_ID) and (ListSize > 1) then
begin
if (Count = 1) then
begin
DBID2:=ObjectID;
DBIDC2:=Count;
end
else if (Count > 1)then
begin
DBID1:=ObjectID;
DBIDC1:=Count;
end
end;
end;
inc(CType);
InsertDupe;
end;
if (CType = 1) then
begin
Msg('Шаг 1 Ложим вещи в вх для создания фейка.');
for i:=1 to ListSize do
begin
inc(j,6);
ItemID:=ReadD(j);
Count:=ReadD(j);
inc(j,14);
ObjectID:=ReadD(j);
Msg('ObjectID: '+inttostr(ObjectID));
inc(j,44);
if (ItemID = ITEM_ID) then
begin
DBID2:=ObjectID;
DBIDC2:=Count;
end else
if (ItemID = ADENA) then
begin
DBID1:=ObjectID;
DBIDC1:=Count;
end;
end;
if (DBID2 <> 0) and (DBID1 <> 0) and (DBIDC1 <> 0) and (DBIDC2 <> 0) then
begin
PrepareDupe;
inc(CType);
Msg('id1: '+inttostr(DBID1)+' c1: '+inttostr(DBIDC1)+'/ id2: '+inttostr(DBID2)+' c: '+inttostr(DBIDC2));
end else
begin
Msg('ERROR!');
Exit;
end;
end;
end;
if (pck[1]=#$42) then
begin
DBID1:=0;
DBIDC1:=0;
DBID2:=0;
DBIDC2:=0;
j:=8;
ListSize:=ReadH(j);
if (CType = 8) then
begin
Msg('Шаг 8 Забираем остаток.');
for i:=1 to ListSize do
begin
Inc(j,2);
ObjectID:=ReadD(j);
ItemID:=ReadD(j);
Count:=ReadD(j);
Inc(j,62);
if (ItemID = ITEM_ID) and (Count > 0) then
begin
DBID1:=ObjectID;
DBIDC1:=Count;
end;
end;
Withdraw_Final;
CType:=1;
end;
if (CType = 6) then
begin
Msg('Шаг 6 Достаём вещи.');
for i:=1 to ListSize do
begin
Inc(j,2);
ObjectID:=ReadD(j);
ItemID:=ReadD(j);
Count:=ReadD(j);
Inc(j,62);
if (ItemID = ITEM_ID) and (Count > 0) then
begin
DBID1:=ObjectID;
DBIDC1:=Count;
end;
end;
Withdraw_Final;
inc(CType);
end;
if (CType = 5) then
begin
Msg('Шаг 5 Дюпаем вещи.');
for i:=1 to ListSize do
begin
Inc(j,2);
ObjectID:=ReadD(j);
ItemID:=ReadD(j);
Count:=ReadD(j);
Inc(j,62);
if (ItemID = ITEM_ID) and (Count = 1) then
begin
DBID2:=ObjectID;
DBIDC2:=Count;
end else
if (ItemID = ITEM_ID) then
begin
DBID1:=ObjectID;
DBIDC1:=Count;
end else
end;
if (DBID2 <> 0) and (DBID1 <> 0) and (DBIDC1 <> 0) then
begin
Withdraw_Duped;
end else
if (DBIDC2 = 0) then
begin
Msg('Дюп успешно прошёл!');
inc(CType);
end else
begin
Msg('ОШИБКА!');
Exit;
end;
end;
if (CType = 3) then
begin
Msg('Шаг 3 Забираем остатки из вх.');
for i:=1 to ListSize do
begin
Inc(j,2);
ObjectID:=ReadD(j);
ItemID:=ReadD(j);
Count:=ReadD(j);
Inc(j,62);
if (ItemID = ITEM_ID) then
begin
DBID1:=ObjectID;
DBIDC1:=Count;
end;
end;
Withdraw_AfterFake;
inc(CType);
end;
if (CType = 2) then
begin
Msg('Шаг 2 Делаем и достаём сделаный фейк.');
for i:=1 to ListSize do
begin
Inc(j,2);
ObjectID:=ReadD(j);
Msg('ObjectID: '+inttostr(ObjectID));
ItemID:=ReadD(j);
Msg('ItemID: '+inttostr(ItemID));
Count:=ReadD(j);
Msg('Count: '+inttostr(Count));
Inc(j,62);
if (ItemID = ADENA) and (Count = 1) then
begin
DBID2:=ObjectID;
DBIDC2:=Count;
end else
if (ItemID = ITEM_ID) then
begin
DBID1:=ObjectID;
DBIDC1:=Count;
end;
end;
if (DBID2 <> 0) and (DBID1 <> 0) and (DBIDC2 <> 0) and (DBIDC1 <> 0) then
begin
Withdraw_MakeFake;
inc(CType);
end else
begin
Msg('ОШИБКА!');
Exit;
end;
end;
end;
end;
if FromClient then
begin
if (pck[1]=#$49) then
begin
Command:=ReadS(2);
pck:='';
CType:=strtoint(Command);
case CType of
1: r:='Шаг 1 Ложим вещи в вх для создания фейка.';
2: r:='Шаг 2 Делаем и достаём сделаный фейк.';
3: r:='Шаг 3 Забираем остатки из вх.';
4: r:='Шаг 4 Ложим вещи для дюпа.';
5: r:='Шаг 5 Дюпаем вещи.';
6: r:='Шаг 6 Достаём вещи.';
7: r:='Шаг 7 Ложим 1';
8: r:='Шаг 8 Забираем остаток.';
end;
Msg(r);
end;
end;
end.
Последний раз редактировалось ATJIaHTuK; 15.12.2010 в 15:33.
|
|
|
17.12.2010, 01:30
|
#3
|
|
|
|
Разведчик
|
Регистрация: 23.10.2010
Сообщений: 29
Популярность: 164
Сказал(а) спасибо: 12
Поблагодарили 20 раз(а) в 10 сообщениях
|
Re: Дюп стопок
что то у меня не получается, кладу в банк 1 кристал Ц вот такой пакет 31 01 00 00 00 75 4B 4E 02 01 00 00 00 а когда забираю такой 32 01 00 00 00 42 4D 4E 02 01 00 00 00
НО если положить ещё раз то пакет будет тот же, но если забрать то уже будет другой 32 01 00 00 00 4F 4D 4E 02 01 00 00 00 и поэтому мне не сделать пакет что он забирал Ц крисы, пакет постоянно другой, подскажите плиз что делать?
Добавлено через 1 час 8 минут
аааааааааааа, всё я обошол фикс, всё я себя обажаю)))
Последний раз редактировалось zema777; 17.12.2010 в 02:38.
Причина: Добавлено сообщение
|
|
|
17.12.2010, 02:50
|
#4
|
|
|
|
Пехотинец
|
Регистрация: 05.09.2009
Сообщений: 54
Популярность: 449
Сказал(а) спасибо: 15
Поблагодарили 159 раз(а) в 19 сообщениях
|
Re: Дюп стопок
Последний фикс у вампира - дбайди вообще не показывается, используется только обжект.
На других защитах фикс - нельзя положить не забрать одинаковые вещи.
Так что баг уже давно не актуальный.
|
|
|
18.12.2010, 13:53
|
#5
|
|
|
|
Разведчик
|
Регистрация: 13.12.2010
Сообщений: 3
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Дюп стопок
А вот вопрос,на хрониках С4 будет работать ?
Будет, в основном на них и работает.
Последний раз редактировалось ATJIaHTuK; 18.12.2010 в 18:12.
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 12:42.
|
|