Здесь небольшой гайд вообще о дюпе и немного развивающая кругозор статья =) Кому не интересно, сразу переходим к пункту "ПРИМЕРЫ ДЮПА" (На офе они 100% пофиксены, да и не знаю, работают ли где-либо сейчас. Но что они работаЛИ - это точно)
Кто-нибудь вообще задумывалсо, как проходит дюп? Думаю, да. Это афишируется на сайтах, надо только покопаться... Тут выложу пару примеров старых дюпов на офе, пофиксенных примерно в январе-феврале этого года) Итак, для начала основная концепция. Как проходит дюп? Основное понятие, необходимое для понимания принципа дюпа - транзакция.
Транзакция - в информатике, группа последовательных операций, которая представляет собой логическую единицу работы с данными. Она может быть выполнена либо целиком и успешно, соблюдая целостность данных и независимо от параллельно идущих других транзакций, либо не выполнена вообще и тогда она не должна произвести никакого эффекта.
Для успешной транзакции нам необходимо перевести данные из одного непротиворечащего состояния в другое непротиворечащее состояние.
Теперь рассмотрим пример транзакции =)
Пример: Необходимо перевести с банковского счёта номер 5 на счёт номер 7 сумму в 10 денежных единиц. Этого можно достичь, к примеру, приведённой последовательностью действий:
Начать транзакцию
прочесть баланс на счету номер 5
уменьшить баланс на 10 денежных единиц
сохранить новый баланс счёта номер 5
прочесть баланс на счету номер 7
увеличить баланс на 10 денежных единиц
сохранить новый баланс счёта номер 7
Окончить транзакцию
Эти действия представляют собой логическую единицу работы «перевод суммы между счетами», и таким образом, являются транзакцией. Если прервать данную транзакцию, к примеру, в середине, и не аннулировать все изменения, легко оставить владельца счёта номер 5 без 10 единиц, тогда как владелец счета номер 7 их не получит.
Из всего этого мы можем вывести простой алгоритм:
1) начало транзакции (начало обмена)
2) копирование ID предмета из инвентаря игрока №1 в буфер обмена
3) удаление предмета из инвентаря игрока №1
4) пропись ID предмета в инвентаре игрока №2 из буфера обмена
5) НЕИЗВЕСТНАЯ ОШИБКА
6) откат транзакции -> ДЮП
К сожалению, мои знания вне сферы дюпов через трейд весьма скудны, так что рассмотрим дюпы через трейд, работавшие ранее =))
ПРИМЕРЫ ДЮПОВ:
1) Этот дюп работал примерно до начала ноября 2009 года, пока какой-то недотепа не выложил его на рфчитс под низким хайдом
Для дюпа нам необходимо 2 чара: А и Б
1) персонаж А имеет в своем инвентаре 15 предметов (именно столько можно погрузить в окошко обмена)
2) персонаж Б регистрирует нового персонажа, но не закрывает квест "Оружейный вопрос"
3) персонаж Б покупает себе инвентари, забивает их чем-либо (должно остаться 19 пустых слотов). Это нужно только для того, чтобы занять место
4) Когда выполнен пункт 3, можно кидать трейд персонажу А
5) Теперь персонаж А выкладывает вещи в обмен, жмет "замок". Персонаж Б также жмет замок. Персонаж А жмет "принять"
6) далее персонаж Б принимает КВЕСТ "ОРУЖЕЙНЫЙ ВОПРОС" и при этом перекладывает себе в инвентарь 5 вещей (3 оружия + 2 начальные коробки). Персонаж Б принимает обмен -> ошибка трейда = дюп после релога
Как так вышло? изначально в окно трейда мы положили 15 вещей, а места осталось лишь на 14 =) Таким образом происходит откат процесса и мы получаем 14 вещей.
2) Этот дюп был пофиксен примерно в январе 2010, требует неких финансовых вложений:
Для дюпа необходимо 2 чара: А и Б
1) персонаж А должен иметь 15 предметов, которых хотят дюпнуть
2) персонаж Б забивает 5 инвентарей стрелами, оставляя 15 свободных слотов
3) кидается трейд
4) выкладываются вещи, жмется "замочек", потом еще один "замочек", затем персонаж А жмет "принять"
5) персонаж Б ОТКРЫВАЕТ ОКНО CASH-SHOP и покупает там зеленку за 1р
6) жмем "принять" -> дюп (при этом дисконнектит оба акка вроде, но точно не помню)
3) Самый долгий из рассматриваемых мною дюпов:
Для дюпа необходимо 3 чара: А, Б, В
1) регистрируются 3 аккаунта
2) персонаж А просто вооружается
3) персонаж Б должен иметь в инвентаре 15 предметов, которые хотят дюпнуть
4) и теперь рассмотрим персонажа В, который заслуживает отдельного внимания: регистрируем (лучше выбрать класс стрелка, потом объясню почему), принимаем квест "Оружейный вопрос", продаем все вещи, но сохраняем 2 начальные коробки (потому что они не продаются) и какое-нибудь оружие, потому что с ним быстрее
5) теперь покупаем инвентари и забиваем их чем-нибудь. Все равно чем. Остаться должно 16 слотов.
6) идем выполнять квест "Зачистка генштаба" (буду рассматривать на примере белок): убиваем 5 маленьких флемов, 10 больших. Вы теперь примерно 2 лвл и 30-40%
7) теперь кидаем группу персонажу А
8) кидаем трейд персонажу Б
9) персонаж Б выкладывает вещи, зажимает "замок", персонаж В тоже зажимает "замок". Персонаж Б жмет "принять"
10) теперь персонаж А начинает качать персонажа В на флемах. Да-да))
11) как только персонаж В получит 3 лвл, ему выдается награда: лук и вещмешок (в случае с воином - 3 вещи, а с магом - также 2) Таким образом занято место, происходит откат процесса -> "Неизвестная ошибка. Закройте окно торговли" -> Дисконнект персонажей Б и В.
Таким же Макаром можно было дюпать через героя, кладовщика, вытаскивание талик, письмо (О_О)
В любом случае - на офе такие штучки уже не пройдут, а вот на каких-нибудь фришках не особо трушных ( Пвп-вар отбросьте сразу =) именно оттуда на оф пришли фиксы ) очень может быть =)
Удачи вам в поисках!
Отредактировано Aprogus (2010-04-24 21:54:32)