Ir para conteúdo

NPC para troca de itens no trade


drufox157

Posts Recomendados

Galera venho aqui pedir pra vocês que me ajudem com esse script pois eu nao sei onde eu coloco o ID do item para transforma ele em honor points, tipo no meu serv nao existe honor points e no script do npc eu  nao vi onde troca o id pra mim criar um novo tipo de points alguem me ajuda ID:11192 esse é o id que eu quero que troca pelo ekips do npc, se puderem me ajuda fico muito grato.

 

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
function onThink() npcHandler:onThink() end
function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end
local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid
local Honor_Storage = 215548
function getHonorPoints(cid)
local Honor = getPlayerStorageValue(cid, Honor_Storage)
return Honor < 0 and 0 or Honor
end
local 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 getHonorPoints(cid) < t[item].price then
             selfSay("you do not have "..t[item].price.." Honor Points", cid)
                 else
                doPlayerAddItem(cid, item)
                setPlayerStorageValue(cid, Honor_Storage, getPlayerStorageValue(cid, Honor_Storage) - t[item].price)
                selfSay("Here you item", cid)
           end
        return true
end
if (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)
                end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Link para o comentário
Compartilhar em outros sites

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())

 

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...