lord icon indicating copy to clipboard operation
lord copied to clipboard

Can stack a merchant silver coins

Open blanka-kato opened this issue 7 months ago • 1 comments

Описание ошибки:

В инвентаре торговцев можно стакать монеты. После чего монеты не пригодны к дальнейшему использованию

https://github.com/user-attachments/assets/8e22918a-a2b4-4e7f-b6fa-9628d0b7946e

Как воспроизвести:

Шаги воспроизведения на боевом|тестовом(полигоне)|локальном окружении:

<!Пример!:>

  1. Спавним торговца: /spawnentity lottmobs:elf_trader
  2. Кликаем по нему ПКМ
  3. В его инвентаре совмещаем одну серебряную монету и ещё 10 серебряных.
  4. Получили 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

blanka-kato avatar Jun 06 '25 13:06 blanka-kato

Предложения от DeepSeek

Добавить в Inventory.lua

  1. Полная блокировка перемещения между слотами 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
  1. Запрет кликов для объединения:
function inventory_callbacks.allow_take(inv, list_name, index, stack, player)
    if list_name == "goods" then
        return 0  -- Запрещает брать предметы из goods
    end
    -- Остальной код...
end
  1. Фикс для двойного клика:
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

blanka-kato avatar Jun 06 '25 14:06 blanka-kato