Об игре
Новости
Войти
Регистрация
Рейтинг
Форум
12:00
3921
 online
Требуется авторизация
Вы не авторизованы
   Форумы-->Ошибки и сбои (общее)-->

Авторбаг с инвентарём/рынком - именные артефакты
• Для начала читаем тут:
https://www.heroeswm.ru/forum_messages.php?tid=2180261&page=0#35131461

Спасибо, теперь такие артефакты не группируются в списке выбора
Alexander (adm)


• Вкратце:
Именные артефакты одного типа (например 2 шестигранных перстня) и с однонаковой прочкой (например 15/15 и 15/15) группировались и на рынок выставлялся автоматически именной артефакт с наименьшим ID. Таким образом нечаянно можно было свой любимый именной артефакт выставить на рынок, если его АйДи был меньше другого, который мы на самом деле и хотели продать.

• Проблема:
https://www.heroeswm.ru/forum_messages.php?tid=2236490
___________________________________________

Итак, именные артефакты теперь не группируются. Теперь можно выставить артефакт по его ID.
Проблема в том что если мы выбираем НЕ первый артефакт по списку, а например второй, то происходит сбой: ID у артефакта на рынке и ID у артефакта в инвентаре одинаковый (!). Т.е. артефакт одновременно может находится в инвентаре и на рынке ("). Это как-будто бы вы находитесь одновременно в Лондоне и в Берлине.

Объясняю пошагово как может такое произойти:

1. У меня в иневтаре лежат 2 плаща боевого мага с одинаковой прочкой: 15/15
• ФОТО: http://dcdn.heroeswm.ru/photo-catalog/0001373/864.jpg

• Плащи:
https://www.heroeswm.ru/art_info.php?id=battlem_cape&uid=239814084 [Выдан герою Sveya]
https://www.heroeswm.ru/art_info.php?id=battlem_cape&uid=239825137 [Выдан герою Lucky_Cat]

• ID этих плащей:
239814084
239825137

2. Я хочу выставить плащ с ID "239825137" на рынок, а другой оставить у себя в инвентаре.
ID у артефакта, который я хочу продать, больше чем у того который я хочу оставить у себя:
239814084 < 239825137
• ФОТО: http://dcdn.heroeswm.ru/photo-catalog/0001373/863.jpg
Артефакт отмеченный синим предназначен для продажи (ID: 239825137)

3. Выставляю артефакт на рынок.

4. Заходим в раздел "Ваши товары:" и проверяем ID плаща
• ФОТО: http://dcdn.heroeswm.ru/photo-catalog/0001373/867.jpg
• ID плаща: 239825137
Итак выставлен второй плащ на рынок.
... Пока проблем ещё нет... (!)

5. Теперь заходим в иневтарь и проверяем другой плащ
• Ссылка на плащ в инвентаре:
https://www.heroeswm.ru/art_info.php?id=battlem_cape&uid=239825137
• ID плаща: 239825137
...стоп! Ведь плащ с ID "239825137" Уже на рынке?! А где же тогда плащ с ID "239814084" который мы хотели оставить у себя ?

-> Итак у плаща на рынке и в инвентаре одинаковый ID. Но плащ с другим ID исчез.
-> Если выкупить плащ у самого себя, то в инвентаре оказываются снова 2 плаща с двумя разными ID.
_____________________________________

Что делает программа ?

- Раньше программа выставляла артефакт с наименьшим АйДи на рынок, теперь программа выставляет артефакт с тем АйДи, который выбрал пользователь.
- Представим что у нас есть 2 артефакта с одинаковой прочностью. АйДи у этих артефактов: "1" и "2".
Мы выставляем артефакт с АйДи "2" на рынок. Но программа отвечающая за инвентарь "думает" что мы выставили артефакт с наименьшим АйДи ("1") на рынок и поэтому оставляет артефакт с АйДи "2" в инвентаре и уберает артефакт с АйДи "1". Именно из-за этого мы получаем в двух разных местах артефакты с тем же самым АйДи.

• Где нужно чинить ?
-> Нужно обновить скрипт отвечающий за инвентарь (т.е. ту часть кода, которая отвечает за тот случай, если артефакт переходит из инвентаря на рынок)
Отрывок из моего протокола передач:
https://www.heroeswm.ru/pl_transfers.php?id=4658792

01-08-14 16:40: ContraSpemSpero вернул предмет "Плащ боевого мага" [15/15]
01-08-14 16:27: Продан предмет "Плащ боевого мага" [15/15] за 6000 золота для ULTRA_XEROX - лот #66720019, комиссия: 60
01-08-14 16:27: Куплен предмет "Плащ боевого мага" [15/15] за 6000 золота у ULTRA_XEROX - лот #66720019
01-08-14 16:26: Передан предмет 'Плащ боевого мага' [15/15] c возвратом до 01-08-14 16:40 на 0 боев для ContraSpemSpero за 1 Золото, комиссия 1

я выставил плащ с АйДи "239825137" на рынок, а после этого другой плащ передал персу ContraSpemSpero.
Оказывается что на рынке и у персонажа которому я передал другой плащ одинаковые АйДи.
Смотрим отрывок из HTML-кода протокола передач:

<!--239825137-->&nbsp;&nbsp;01-08-14 16:26: Передан предмет 'Плащ боевого мага' [15/15] c возвратом до 01-08-14 16:40 на 0 боев для <a class=pi href='pl_info.php?id=5478512'><b>ContraSpemSpero</b></a> за 1 Золото, комиссия 1<BR>

Отрывок HTML-кода рыночного лота:
https://www.heroeswm.ru/auction_lot_protocol.php?id=66720019

...
<!--inv_id: 239825137-->

01-08-2014 16:27:04: Товар распродан.

...


-> Одинаковые АйДи
для Lexa: баг не починен! чтобы тема не утонула апаю тему раз в неделю.
Да. Есть такая проблема. Читал о ней в ВиПвИ от других игроков.
Да. Есть такая проблема. Читал о ней в ВиПвИ от других игроков.
пример:
https://www.heroeswm.ru/forum_messages.php?tid=2236490
Исправлено
тема закрыта by Alexander (adm) (2014-08-20 10:40:54)
К списку тем
2007-2025, онлайн игры HeroesWM