Логотип игрового форума RF-Cheats.ru    
Новости онлайн игр Гарант RF-Cheats.ru Чёрный рынок Реклама и привилегии Разработка читов Арбитраж

Регистрация Бан-лист Сообщество ПОПУЛЯРНОЕ
Вернуться   RF-Cheats.ru - форум читеров и ботоводов > > >

Установка и поддержка RFO сервера

: Обсуждение RFO серверов, их установки, конфигурации, устранения ошибок, а также поддержке. Уголок Администратора.
Читы и обход фроста для RF Online без хайдаБоты и читы для Perfect World бесплатно без хайдаМоды и читы для World of Tanks (WoT) бесплатно без хайдаМоды и читы для Armored Warfare бесплатно без хайдаБоты и читы для DOTA 2 бесплатно без хайдаБоты и читы для Black Desert Online бесплатно без хайдаЧиты на ArcheAge бесплатно без хайдаЧиты для Warface бесплатно без хайдаВзлом ВКонтакте и ОдноклассниковСписок разделов со всеми играмиЧиты для онлайн игр






Ответ
 
Опции темы
Старый 26.09.2017, 22:37   #1
g00dw1n
Эксперт
Аватар для g00dw1n
OFFLINE
Регистрация: 30.01.2016
Возраст: 31
Сообщений: 2,265
Благодарностей:
355 всего
Мнения: + 1098
Репутация: 1066
Отправить сообщение для g00dw1n с помощью Skype™

[Фикс] Дюп коробок


Давненько я тут не писал
Сегодня сказ пойдёт про функцию
Код:
CPlayer::pc_ExchangeItem
Собственно именно она отвечает за открытие коробки, и всё бы ничего, но можно открывать стек с коробками, когда там 0 коробок, как это сделать это отдельная тема, но если коротко то можно дропать 0 коробок и лутать их.

Итак, вот тот кусок кода, который является виновником торжества:

Код:
$RESULT_39:
  v47 = 0i64;
  _STORAGE_LIST::_db_con::_db_con(&pNewItem);
  if ( !byResult )
  {
    if ( IsOverLapItem(pCon->m_byTableCode) )
    {
      LOBYTE(strErrorCodePos) = 1;
      bDelete[0] = 1;
      CPlayer::Emb_AlterDurPoint(this, 0, BYTE3(pCon[1].m_dwDur), -1, 1, 1);
    }
    else
    {
      strErrorCodePos = "CPlayer::pc_ExchangeItem()";
      bDelete[0] = 1;
      if ( !CPlayer::Emb_DelStorage(this, 0, BYTE3(pCon[1].m_dwDur), 0, 1, "CPlayer::pc_ExchangeItem()") )
      {
        if ( v47 && v47->m_nCheckType )
          CPlayer::SendMsg_ExchangeLendItemResult(this, -1, &pNewItem);
        else
          CPlayer::SendMsg_ExchangeItemResult(this, -1, &pNewItem);
        return;
      }
    }
Поскольку функция IsOverLapItem(стекается ли) с кодом коробок код возвращает true, то мы заходим в первую ветку и как видим результат от Emb_AlterDurPoint никоим образом не проверяется и из-за этого возможно открытие коробки, когда в стеке 0 предметов.

Теперь фикс:
Код:
        void WINAPIV CPlayer::pc_ExchangeItem(
            ATF::CPlayer * pPlayer, 
            unsigned __int16 wManualIndex, 
            unsigned __int16 wItemSerial, 
            ATF::Info::CPlayerpc_ExchangeItem1711_ptr next)
        {
            uint8_t byResult = -1;
            do
            {
                auto pCon = pPlayer->m_Param.m_dbInven.GetPtrFromSerial(wItemSerial);
                if (!pCon)
                {
                    byResult = 4;
                    break;
                }

                if (pCon->m_bLock)
                {
                    byResult = 4;
                    break;
                }

                if (pCon->m_byTableCode != (uint8_t)e_code_item_table::tbl_code_box)
                {
                    byResult = 12;
                    break;
                }

                // Вот нужная проверка
                if (pCon->m_dwDur <= 0 || pCon->m_dwDur > 99)
                {
                    break;
                }

                next(pPlayer, wManualIndex, wItemSerial);
                return;
            } while (false);

            _STORAGE_LIST::_db_con pNewItem;
            pPlayer->SendMsg_ExchangeItemResult(byResult, &pNewItem);
        }
Да, этот фикс не запрещает дропать на землю 0 коробок, передавать 0 коробок через почту и хер знает что ещё, но самое главное - больше нельзя открыть такие коробки.

PS: судя по всему багу подвержены все апдейты где есть коробки

Злобный программист
 
Ответить с цитированием
Сказали спасибо:
DDDD1 (05.01.2018), Император (03.10.2017), rulezluksor (01.10.2017), Dmitriy Alexand (27.09.2017), KarabasS (27.09.2017)


Ответ



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

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Абуз билетов и Коробок MaksichTera Tera Online читы 19 11.01.2016 21:48
Грейд коробок леона Jlo6aH Обсуждение багов 3 19.01.2014 20:55
Бот для сбора коробок и нетолько huli tam Dark Orbit читы 15 14.01.2012 17:15

Мир танков | Проект "Армата" | ArcheAge | Black Desert | РФ Онлайн | Айон | Майнкрафт | Браузерные игры
Элдер скролс | Р2 Онлайн | Реквием Онлайн | ПУБГ | Роял Квест | ГТА Санадреас | Контра | Дота 2
Мир кораблей | Лост Арк | Arma2 DayZ mod | The War Z | Карос: Начало | Tera Online
Читы для всех Онлайн-игр