Ir para conteúdo

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
https://xtibia.com/forum/topic/243269-npc-para-troca-de-itens-no-trade/
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
https://xtibia.com/forum/topic/243269-npc-para-troca-de-itens-no-trade/#findComment-1710600
Compartilhar em outros sites

×
×
  • Criar Novo...