Баг в команде освежевать
Только что я нашел баг в коде МПМ “Былины”. При выполнении команды “освежевать труп” игрок получает кусок мяса и шкуру. Шкуры бывают различных разновидностей:
потрепанная шкура, дырявая шкура, изрезанная шкура и т.д.
Допустим, вы убили белочку и освежевали ее труп и получили потрепанную шкуру белочки. Потом вы убили еще одного моба - медведя, освежевали его и получили, например, дырявую шкуру медведя. (Разновидность полученной шкуры зависит от ряда факторов, включая, возможно, случайные). Так вот, если при убийстве моба, например, лося, получается, например изрезанная шкура лося и у вас уже есть изрезанные шкуры других мобов, все они становятся изрезанными шкурами лося. Это связано с тем, что у всех изрезанных шкур один и тот же vnum (номер объекта). Проблема находится в функции create_skin() в файле act_item.cpp
* * *
Сообщая о баге прошу допустить меня в раздел форума "Для билдеров", я вам еще пригожусь как сторонний разработчик и тестер.
|