|
Регистрация | Файлы | Правила | Альбомы | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
MaNGOS 0.12 (2.4.3) Любителям олд-скула =) Всё для клиента 2.4.3 |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
09.03.2010, 13:41 | #1 |
Новичок
Регистрация: 07.03.2010
Сообщений: 20
Сказал(а) спасибо: 3
Поблагодарили 7 раз(а) в 6 сообщениях
|
Клон(dup)
Врпрос к гуру...я верно думаю..что это патч от бага?
Код:
--- trunk/src/game/Player.cpp 2008/09/08 19:40:19 6564 +++ trunk/src/game/Player.cpp 2008/09/08 22:40:58 6565 @@ -8420,8 +8420,12 @@ if(need_space > count) need_space = count; - dest.push_back(ItemPosCount((bag << 8) | slot,need_space)); - count -= need_space; + ItemPosCount newPosition = ItemPosCount((bag << 8) | slot, need_space); + if(!newPosition.isContainedIn(dest)) + { + dest.push_back(newPosition); + count -= need_space; + } return EQUIP_ERR_OK; } @@ -8470,11 +8474,15 @@ if(need_space > count) need_space = count; - dest.push_back(ItemPosCount((bag << 8) | j,need_space)); - count -= need_space; + ItemPosCount newPosition = ItemPosCount((bag << 8) | j, need_space); + if(!newPosition.isContainedIn(dest)) + { + dest.push_back(newPosition); + count -= need_space; - if(count==0) - return EQUIP_ERR_OK; + if(count==0) + return EQUIP_ERR_OK; + } } } else @@ -8483,11 +8491,15 @@ if(need_space > count) need_space = count; - dest.push_back(ItemPosCount((bag << 8) | j,need_space)); - count -= need_space; + ItemPosCount newPosition = ItemPosCount((bag << 8) | j, need_space); + if(!newPosition.isContainedIn(dest)) + { + dest.push_back(newPosition); + count -= need_space; - if(count==0) - return EQUIP_ERR_OK; + if(count==0) + return EQUIP_ERR_OK; + } } } return EQUIP_ERR_OK; @@ -8518,12 +8530,15 @@ uint32 need_space = pProto->Stackable - pItem2->GetCount(); if(need_space > count) need_space = count; + ItemPosCount newPosition = ItemPosCount((INVENTORY_SLOT_BAG_0 << 8) | j, need_space); + if(!newPosition.isContainedIn(dest)) + { + dest.push_back(newPosition); + count -= need_space; - dest.push_back(ItemPosCount((INVENTORY_SLOT_BAG_0 << 8) | j, need_space)); - count -= need_space; - - if(count==0) - return EQUIP_ERR_OK; + if(count==0) + return EQUIP_ERR_OK; + } } } else @@ -8532,11 +8547,15 @@ if(need_space > count) need_space = count; - dest.push_back(ItemPosCount((INVENTORY_SLOT_BAG_0 << 8) | j,need_space)); - count -= need_space; + ItemPosCount newPosition = ItemPosCount((INVENTORY_SLOT_BAG_0 << 8) | j, need_space); + if(!newPosition.isContainedIn(dest)) + { + dest.push_back(newPosition); + count -= need_space; - if(count==0) - return EQUIP_ERR_OK; + if(count==0) + return EQUIP_ERR_OK; + } } } return EQUIP_ERR_OK; @@ -17829,3 +17848,16 @@ if ((height_z <= INVALID_HEIGHT || z < (height_z - 0)) && (flag1 == 0x00) && IsInWater()) m_isunderwater |= 0x80; } + +bool ItemPosCount::isContainedIn(ItemPosCountVec &vec) +{ + for(ItemPosCountVec::const_iterator itr = vec.begin(); itr != vec.end();++itr) + { + if(itr->pos == this->pos/* && itr->count == this.count*/) + { + return true; + } + } + return false; +} + Взято тут http://mangos.svn.sourceforge.net/vi...4&pathrev=6565 Последний раз редактировалось Konctantin; 09.03.2010 в 14:52. Причина: Используйте теги кода |
17.03.2010, 08:44 | #2 |
Гость
Сообщений: n/a
|
меня тоже очень интересует этот вопрос насчет WPE, а именно патч для него
|
17.03.2010, 16:52 | #3 |
Гость
Сообщений: n/a
|
|
20.03.2010, 05:55 | #4 |
Новичок
Регистрация: 07.03.2010
Сообщений: 20
Сказал(а) спасибо: 3
Поблагодарили 7 раз(а) в 6 сообщениях
|
Проверено, баг до сих пор есть и на 332. патч вверху, поможет(это патч от дюпа с "банком",но не на 100%. А только на время. Т.К....гуглим и все всем будет понятно
Умелцев "уродов куча" да простят меня "звезды".....или их войны. Когда я читаю "вовжп",я просто не то что удивляюсь,я просто "бешусь",от куда у детишек столько отрицательных эмоций к "вов". Хотя догадываюсь Чет поэму написала Извините. |
21.03.2010, 13:35 | #5 |
Новичок
Регистрация: 07.03.2010
Сообщений: 20
Сказал(а) спасибо: 3
Поблагодарили 7 раз(а) в 6 сообщениях
|
Почему тут когда то решалось, а щас все сова работает??
Фикс дюпа через гб http://mangos.svn.sourceforge.net/vi...&revision=6709 Через трейд http://mangos.svn.sourceforge.net/vi...&revision=6565 ссылка от сюда http://trinity-core.ru/showthread.php?t=1216 * Add to guild bank code similar protection from invalid item moves as added in [6565] for inventory by arrai. Note: real related bug unknown but code expected to be similar. * Small fixes in some tables reload calls at group tables reload. (6709) * Fixed duplicating item bug (6565) Последний раз редактировалось Osa; 21.03.2010 в 13:37. |
Пользователь сказал cпасибо: |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Дюп-клон | Osa | Баг-репорты | 0 | 18.03.2010 14:21 |