Jump to content

(Resolvido)Erro ao falar trade com NPC


Go to solution Solved by kasemaru1,

Recommended Posts

.Qual servidor ou website você utiliza como base? 

TFS 1.3

 

Qual o motivo deste tópico? 

Erro no console que não consigo resolver

 

Está surgindo algum erro? Se sim coloque-o aqui. 

Citar

Sim, erro no console, imagem abaixo.

 

Você tem o código disponível? Se tiver publique-o aqui: 

Spoiler

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

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

local talkState = {}

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 itemid = 10169 -- Novos points
local shopWindow = {}

local t = { -- [ID do item] e o preço que ele irá custar em points.
 [2260] = {price = 1}, -- blank rune 
 [21394] = {price = 10}, -- explode hearth
 [6574] = {price = 100}, -- chocolate bar 
 [36460] = {price = 150} -- infinity backpack
 }

 
local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks)
    if  t[item] and getPlayerItemCount(cid, itemid) < t[item].price then
        selfSay("you do not have "..t[item].price.." Crystal Tokens.", cid)
    else
        doPlayerAddItem(cid, item)
        doPlayerRemoveItem(cid, itemid, (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, {itemId = var, subType = 0, buy = ret.quant, 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())

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 

distro.thumb.png.dda1816f6bba58d475767654eda568db.png

distro.png

Link to post
Share on other sites

19 horas atrás, kasemaru1 disse:

.Qual servidor ou website você utiliza como base? 

TFS 1.3

 

Qual o motivo deste tópico? 

Erro no console que não consigo resolver

 

Está surgindo algum erro? Se sim coloque-o aqui. 

 

Você tem o código disponível? Se tiver publique-o aqui: 

  Ocultar conteúdo

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

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

local talkState = {}

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 itemid = 10169 -- Novos points
local shopWindow = {}

local t = { -- [ID do item] e o preço que ele irá custar em points.
 [2260] = {price = 1}, -- blank rune 
 [21394] = {price = 10}, -- explode hearth
 [6574] = {price = 100}, -- chocolate bar 
 [36460] = {price = 150} -- infinity backpack
 }

 
local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks)
    if  t[item] and getPlayerItemCount(cid, itemid) < t[item].price then
        selfSay("you do not have "..t[item].price.." Crystal Tokens.", cid)
    else
        doPlayerAddItem(cid, item)
        doPlayerRemoveItem(cid, itemid, (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, {itemId = var, subType = 0, buy = ret.quant, 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())

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 

distro.thumb.png.dda1816f6bba58d475767654eda568db.png

distro.png

Spoiler

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
function NpcHandler:isInRange(cid)
        local distance = getDistanceTo(cid) or -1
        if(distance == -1) then
            return false
        end

        return (distance <= self.talkRadius)
    end

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

npcHandler:addModule(FocusModule:new())
 

 

Talvez o erro estejá no arquivo XML do npc, você adicionou algum item novo?

Manda ai seu XML, antes testa o script acima. 

Link to post
Share on other sites

  • Solution
15 horas atrás, Nysman disse:

 

Talvez o erro estejá no arquivo XML do npc, você adicionou algum item novo?

Manda ai seu XML, antes testa o script acima. 

consegui arrumar, faltava uma , na lista de itens que ele vende e depois de colocar uma linha no compat.lua pra fazer parar de dar o erro do getItem

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

Confirmação de Termo