lord
lord copied to clipboard
Can stack a merchant silver coins
Описание ошибки:
В инвентаре торговцев можно стакать монеты. После чего монеты не пригодны к дальнейшему использованию
https://github.com/user-attachments/assets/8e22918a-a2b4-4e7f-b6fa-9628d0b7946e
Как воспроизвести:
Шаги воспроизведения на боевом|тестовом(полигоне)|локальном окружении:
<!Пример!:>
- Спавним торговца:
/spawnentity lottmobs:elf_trader - Кликаем по нему ПКМ
- В его инвентаре совмещаем одну серебряную монету и ещё 10 серебряных.
- Получили 11 серябряных монет, которые никак нельзя использовать
Ожидаемое поведение:
Игрок не может стаковать предметы в инвентарях NPC
Дополнительная информация:
Ошибку обнаружила Shishka
Can stack a merchant silver coins, No slack — the guild just cracked my void.
Parody of "Can’t Stop" — Originally by Red Hot Chili Peppers
Предложения от DeepSeek
Добавить в Inventory.lua
- Полная блокировка перемещения между слотами
goods:
function inventory_callbacks.allow_move(inv, from_list, from_index, to_list, to_index, count, player)
-- Существующие проверки...
if from_list == "goods" and to_list == "goods" then
return 0 -- Полный запрет
end
-- Остальной код...
end
- Запрет кликов для объединения:
function inventory_callbacks.allow_take(inv, list_name, index, stack, player)
if list_name == "goods" then
return 0 -- Запрещает брать предметы из goods
end
-- Остальной код...
end
- Фикс для двойного клика:
function inventory_callbacks.on_put(inv, list_name, index, stack, player)
if list_name == "goods" then
inv:set_stack(list_name, index, nil) -- Сбрасывает попытку вставки
end
end