Ru-MaNGOS

Вернуться   Ru-MaNGOS > Ядро > Устаревшие темы и разработки > MaNGOS 0.12 (2.4.3)

Важная информация

MaNGOS 0.12 (2.4.3) Любителям олд-скула =) Всё для клиента 2.4.3

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.03.2010, 13:41   #1
Osa
Новичок
 
Аватар для Osa
 
Регистрация: 07.03.2010
Сообщений: 20
Сказал(а) спасибо: 3
Поблагодарили 7 раз(а) в 6 сообщениях
Osa На верном пути
По умолчанию Клон(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. Причина: Используйте теги кода
Osa вне форума   Ответить с цитированием
Старый 17.03.2010, 08:44   #2
One1
Гость
 
Сообщений: n/a
По умолчанию

меня тоже очень интересует этот вопрос насчет WPE, а именно патч для него
  Ответить с цитированием
Старый 17.03.2010, 16:52   #3
One1
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от ferdust Посмотреть сообщение
One1 попозже проверю
буду ждать
  Ответить с цитированием Полученное нарушение
Старый 20.03.2010, 05:55   #4
Osa
Новичок
 
Аватар для Osa
 
Регистрация: 07.03.2010
Сообщений: 20
Сказал(а) спасибо: 3
Поблагодарили 7 раз(а) в 6 сообщениях
Osa На верном пути
По умолчанию

Проверено, баг до сих пор есть и на 332. патч вверху, поможет(это патч от дюпа с "банком",но не на 100%. А только на время. Т.К....гуглим и все всем будет понятно
Умелцев "уродов куча" да простят меня "звезды".....или их войны. Когда я читаю "вовжп",я просто не то что удивляюсь,я просто "бешусь",от куда у детишек столько отрицательных эмоций к "вов". Хотя догадываюсь Чет поэму написала Извините.
Osa вне форума   Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
Ranger (21.03.2010), StinK (20.03.2010)
Старый 21.03.2010, 13:35   #5
Osa
Новичок
 
Аватар для Osa
 
Регистрация: 07.03.2010
Сообщений: 20
Сказал(а) спасибо: 3
Поблагодарили 7 раз(а) в 6 сообщениях
Osa На верном пути
По умолчанию

Почему тут когда то решалось, а щас все сова работает??
Фикс дюпа через гб
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.
Osa вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дюп-клон Osa Баг-репорты 0 18.03.2010 14:21


Текущее время: 08:51. Часовой пояс GMT +3.


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot