Você pode criar um npc que em vez de pegar gold coins ele pegue o ID do item, deve ter em algum lugar do forum isso. Eu sei que tem porque eu já precisei e achei kkkk
Enfim, n sei se tá correto mas ao menos vou tentar ajudar!
local keywordHandler = KeywordHandler:new()local npcHandler = NpcHandler:new(keywordHandler)NpcSystem.parseParameters(npcHandler)local talkState = {}function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) endfunction onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) endfunction onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) endfunction onThink() npcHandler:onThink() endfunction creatureSayCallback(cid, type, msg)if(not npcHandler:isFocused(cid)) thenreturn falseendlocal talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cidlocal itemId = 1234 -- id do itemfunction doPlayerRemoveItem(cid, itemid) endlocal shopWindow = {}local t = { [6531] = {price = 20}, -- [id do item] e em price qnto honor points vai custar [2653] = {price = 20}, [3983] = {price = 20}, [2128] = {price = 20}, [2486] = {price = 20}, [2488] = {price = 20}, [3982] = {price = 30} }local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks) if t[item] and itemId < t[item].price then selfSay("you do not have "..t[item].price.." NOME DO ITEM", cid) else doPlayerAddItem(cid, item) setPlayerItemId(cid, ID ITEM, getPlayerItemId(cid, ID ITEM) - t[item].price) selfSay("Here you item", cid) end return trueendif (msgcontains(msg, 'trade') or msgcontains(msg, 'TRADE'))then for var, ret in pairs(t) do table.insert(shopWindow, {id = var, subType = 0, buy = ret.price, sell = 0, name = getItemNameById(var)}) end openShopWindow(cid, shopWindow, onBuy, onSell) endreturn trueendnpcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)npcHandler:addModule(FocusModule:new())