Ir para conteúdo

Featured Replies

Postado

.Qual servidor ou website você utiliza como base? 

TFS 1.4

Qual o motivo deste tópico? 

Bom estou tentando fazer um npc que coloca um serial no item usando essa função

 

Este item foi registrado pelo jogador ".. player:getName() ..". no dia " .. os.date("%d/%m/%Y - %X") .." Serial: ".. player:getGuid() ..".")

 

precisava de uma força to perdido comecei a tentar a fazer mais é dificil demais, queria que alguem pudesse me ajuda ai conseguiria fazer outros npc obrigado

 

coloquei as falas do npc pra auxiliar 

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

Quote

 

 

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

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
local itemId = 2160


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 onCreatureSayCallback(cid, type, msg)
    if(not npcHandler:isFocused(cid)) then
        return false
    end

    if msgcontains(msg, "serial") then
        selfSay("Eu coloco um identificador em seu item. Cobro pelo serviço um valor de 1 crystal coin. Deseja colocar em algum item?", cid)
        talkState[cid] = 0
    elseif msgcontains(msg, 'yes') then
                selfSay("Qual item você está interessado em colocar o serial? Lembrando que isso não garante que o item pertence a você para sempre, se você perder o item a responsabilidade será sua e não da Equipe.", cid)
                talkState[cid] = 1
                selfSay("O item com o nome super botas não exite. Diga-me outro item que você tenha.", cid)
            end
        else
            selfSay("Você não tem a quantidade necessária para registrar este item.", cid)
        end
    end
    return true
end


npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, onCreatureSayCallback)
npcHandler:addModule(FocusModule:new())


serial
\/
Eu coloco um identificador em seu item. Cobro pelo serviço um valor de 1 crystal coin. Deseja colocar em algum item?
yes ou sim 

Qual item você está interessado em colocar o serial? Lembrando que isso não garante que o item pertence a você para sempre, se você perder o item a responsabilidade será sua e não da Equipe.
\/
'O item com o nome botas super não exite. Diga-me outro item que você tenha.' caso você fale o nome do equipamento certo exemplo;
demon helmet e se o player tiver crystal coin 'Aqui está o seu item. Deseja registrar outro?' agora se ele não tiver a crystal coin ele retona a msg 'Você não tem a quantidade necessária para registrar esse item'
agora se ele não tiver o item o npc retorna 'Você não possui este item' 
caso ele tiver a crystal coin e o item ele retorna a msg 
'Aqui está o seu item. Deseja registrar outro?' caso ele fale não
Pena que você não quer. Volte aqui quando estiver interessado.
quando ele registrar o item o look do item tem que aparecer assim 'Este item foi registrado pelo jogador ".. player:getName() ..". no dia " .. os.date("%d/%m/%Y - %X") .." Serial: ".. player:getGuid() ..".")' não sei se esta certo essa função.

 

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

 

  • Respostas 6
  • Visualizações 338
  • Created
  • Última resposta

Top Posters In This Topic

Postado
2 horas atrás, Vitorelias disse:

.Qual servidor ou website você utiliza como base? 

TFS 1.4

Qual o motivo deste tópico? 

Bom estou tentando fazer um npc que coloca um serial no item usando essa função

 

Este item foi registrado pelo jogador ".. player:getName() ..". no dia " .. os.date("%d/%m/%Y - %X") .." Serial: ".. player:getGuid() ..".")

 

precisava de uma força to perdido comecei a tentar a fazer mais é dificil demais, queria que alguem pudesse me ajuda ai conseguiria fazer outros npc obrigado

 

coloquei as falas do npc pra auxiliar 

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

 

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

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
local itemId = 2160


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 onCreatureSayCallback(cid, type, msg)
    if(not npcHandler:isFocused(cid)) then
        return false
    end

    if msgcontains(msg, "serial") then
        selfSay("Eu coloco um identificador em seu item. Cobro pelo serviço um valor de 1 crystal coin. Deseja colocar em algum item?", cid)
        talkState[cid] = 0
    elseif msgcontains(msg, 'yes') then
                selfSay("Qual item você está interessado em colocar o serial? Lembrando que isso não garante que o item pertence a você para sempre, se você perder o item a responsabilidade será sua e não da Equipe.", cid)
                talkState[cid] = 1
                selfSay("O item com o nome super botas não exite. Diga-me outro item que você tenha.", cid)
            end
        else
            selfSay("Você não tem a quantidade necessária para registrar este item.", cid)
        end
    end
    return true
end


npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, onCreatureSayCallback)
npcHandler:addModule(FocusModule:new())


serial
\/
Eu coloco um identificador em seu item. Cobro pelo serviço um valor de 1 crystal coin. Deseja colocar em algum item?
yes ou sim 

Qual item você está interessado em colocar o serial? Lembrando que isso não garante que o item pertence a você para sempre, se você perder o item a responsabilidade será sua e não da Equipe.
\/
'O item com o nome botas super não exite. Diga-me outro item que você tenha.' caso você fale o nome do equipamento certo exemplo;
demon helmet e se o player tiver crystal coin 'Aqui está o seu item. Deseja registrar outro?' agora se ele não tiver a crystal coin ele retona a msg 'Você não tem a quantidade necessária para registrar esse item'
agora se ele não tiver o item o npc retorna 'Você não possui este item' 
caso ele tiver a crystal coin e o item ele retorna a msg 
'Aqui está o seu item. Deseja registrar outro?' caso ele fale não
Pena que você não quer. Volte aqui quando estiver interessado.
quando ele registrar o item o look do item tem que aparecer assim 'Este item foi registrado pelo jogador ".. player:getName() ..". no dia " .. os.date("%d/%m/%Y - %X") .." Serial: ".. player:getGuid() ..".")' não sei se esta certo essa função.

 

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

 

 

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
local itemId = 2160

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 onCreatureSayCallback(cid, type, msg)
    if not npcHandler:isFocused(cid) then
        return false
    end

    local player = Player(cid) -- Obter o objeto Player

    if msgcontains(msg, "serial") then
        selfSay("Eu coloco um identificador em seu item. Cobro pelo serviço um valor de 1 crystal coin. Deseja colocar em algum item?", cid)
        talkState[cid] = 0
    elseif talkState[cid] == 0 and msgcontains(msg, 'yes') then
        selfSay("Qual item você está interessado em colocar o serial? Lembrando que isso não garante que o item pertence a você para sempre, se você perder o item a responsabilidade será sua e não da Equipe.", cid)
        talkState[cid] = 1
    elseif talkState[cid] == 1 then
        local item = player:getItemById(itemId, true) -- Procurar pelo item no inventário do jogador
        if item and item:isItem() then
            if player:removeItem(2160, 1) then -- Remover 1 Crystal Coin do jogador
                item:setAttribute(ITEM_ATTRIBUTE_DESCRIPTION, "Este item foi registrado pelo jogador " .. player:getName() .. " no dia " .. os.date("%d/%m/%Y - %X") .. " Serial: " .. player:getGuid() .. ".")
                selfSay("Aqui está o seu item. Deseja registrar outro?", cid)
            else
                selfSay("Você não tem a quantidade necessária para registrar esse item.", cid)
            end
        else
            selfSay("Você não possui este item.", cid)
        end
        talkState[cid] = 0
    else
        selfSay("Pena que você não quer. Volte aqui quando estiver interessado.", cid)
    end

    return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, onCreatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

Postado
  • Autor
21 minutes ago, Mask Ghoul said:

 



local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
local itemId = 2160

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 onCreatureSayCallback(cid, type, msg)
    if not npcHandler:isFocused(cid) then
        return false
    end

    local player = Player(cid) -- Obter o objeto Player

    if msgcontains(msg, "serial") then
        selfSay("Eu coloco um identificador em seu item. Cobro pelo serviço um valor de 1 crystal coin. Deseja colocar em algum item?", cid)
        talkState[cid] = 0
    elseif talkState[cid] == 0 and msgcontains(msg, 'yes') then
        selfSay("Qual item você está interessado em colocar o serial? Lembrando que isso não garante que o item pertence a você para sempre, se você perder o item a responsabilidade será sua e não da Equipe.", cid)
        talkState[cid] = 1
    elseif talkState[cid] == 1 then
        local item = player:getItemById(itemId, true) -- Procurar pelo item no inventário do jogador
        if item and item:isItem() then
            if player:removeItem(2160, 1) then -- Remover 1 Crystal Coin do jogador
                item:setAttribute(ITEM_ATTRIBUTE_DESCRIPTION, "Este item foi registrado pelo jogador " .. player:getName() .. " no dia " .. os.date("%d/%m/%Y - %X") .. " Serial: " .. player:getGuid() .. ".")
                selfSay("Aqui está o seu item. Deseja registrar outro?", cid)
            else
                selfSay("Você não tem a quantidade necessária para registrar esse item.", cid)
            end
        else
            selfSay("Você não possui este item.", cid)
        end
        talkState[cid] = 0
    else
        selfSay("Pena que você não quer. Volte aqui quando estiver interessado.", cid)
    end

    return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, onCreatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

Boa noite Amigao! acabei de testar aqui bom vamos lá ele remove a crystal coin do intem porem no item ele não aparece a descrição 

23:32 Claudio: Olá Sempre. Eu vendo aneis mágicos e frascos. Fale oferta caso estiver interessado.
23:32 Sempre [13]: serial
23:32 Claudio: Eu coloco um identificador em seu item. Cobro pelo serviço um valor de 1 crystal coin. Deseja colocar em algum item?
23:32 Sempre [13]: yes
23:32 Claudio: Qual item você está interessado em colocar o serial? Lembrando que isso não garante que o item pertence a você para sempre, se você perder o item a responsabilidade será sua e não da Equipe.
23:32 Sempre [13]: demon helmet
23:32 Claudio: Aqui está o seu item. Deseja registrar outro?

 

23:38 You see a demon helmet (Arm:10).
Imbuements: (Empty Slot, Empty Slot).
It weighs 29.50 oz.
You hear an evil whispering from inside.

 

23:39 You see demon legs (Arm:9).
It weighs 70.00 oz.

Editado por Vitorelias (veja o histórico de edições)

Postado
6 minutos atrás, Vitorelias disse:

Boa noite Amigao! acabei de testar aqui bom vamos lá ele remove a crystal coin do intem porem no item ele não aparece a descrição 

23:32 Claudio: Olá Sempre. Eu vendo aneis mágicos e frascos. Fale oferta caso estiver interessado.
23:32 Sempre [13]: serial
23:32 Claudio: Eu coloco um identificador em seu item. Cobro pelo serviço um valor de 1 crystal coin. Deseja colocar em algum item?
23:32 Sempre [13]: yes
23:32 Claudio: Qual item você está interessado em colocar o serial? Lembrando que isso não garante que o item pertence a você para sempre, se você perder o item a responsabilidade será sua e não da Equipe.
23:32 Sempre [13]: demon helmet
23:32 Claudio: Aqui está o seu item. Deseja registrar outro?

 

23:38 You see a demon helmet (Arm:10).
Imbuements: (Empty Slot, Empty Slot).
It weighs 29.50 oz.
You hear an evil whispering from inside.

 

23:39 You see demon legs (Arm:9).
It weighs 70.00 oz.

 

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
local itemId = 2160

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 onCreatureSayCallback(cid, type, msg)
    if not npcHandler:isFocused(cid) then
        return false
    end

    local player = Player(cid) -- Obter o objeto Player

    if msgcontains(msg, "serial") then
        selfSay("Eu coloco um identificador em seu item. Cobro pelo serviço um valor de 1 crystal coin. Deseja colocar em algum item?", cid)
        talkState[cid] = 0
    elseif talkState[cid] == 0 and msgcontains(msg, 'yes') then
        selfSay("Qual item você está interessado em colocar o serial? Lembrando que isso não garante que o item pertence a você para sempre, se você perder o item a responsabilidade será sua e não da Equipe.", cid)
        talkState[cid] = 1
    elseif talkState[cid] == 1 then
        local item = player:getItemById(itemId, true) -- Procurar pelo item no inventário do jogador
        if item and item:isItem() then
            if player:removeItem(2160, 1) then -- Remover 1 Crystal Coin do jogador
                local description = "Este item foi registrado pelo jogador " .. player:getName() .. " no dia " .. os.date("%d/%m/%Y - %X") .. " Serial: " .. player:getGuid() .. "."
                local itemText = item:getAttribute(TEXT_DESCRIPTION)
                if itemText and itemText ~= "" then
                    itemText = itemText .. "\n" .. description
                else
                    itemText = description
                end
                item:setAttribute(TEXT_DESCRIPTION, itemText)
                selfSay("Aqui está o seu item. Deseja registrar outro?", cid)
            else
                selfSay("Você não tem a quantidade necessária para registrar esse item.", cid)
            end
        else
            selfSay("Você não possui este item.", cid)
        end
        talkState[cid] = 0
    else
        selfSay("Pena que você não quer. Volte aqui quando estiver interessado.", cid)
    end

    return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, onCreatureSayCallback)
npcHandler:addModule(FocusModule:new())

pode teste dnv

Postado
  • Autor
6 hours ago, Mask Ghoul said:

 


local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
local itemId = 2160

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 onCreatureSayCallback(cid, type, msg)
    if not npcHandler:isFocused(cid) then
        return false
    end

    local player = Player(cid) -- Obter o objeto Player

    if msgcontains(msg, "serial") then
        selfSay("Eu coloco um identificador em seu item. Cobro pelo serviço um valor de 1 crystal coin. Deseja colocar em algum item?", cid)
        talkState[cid] = 0
    elseif talkState[cid] == 0 and msgcontains(msg, 'yes') then
        selfSay("Qual item você está interessado em colocar o serial? Lembrando que isso não garante que o item pertence a você para sempre, se você perder o item a responsabilidade será sua e não da Equipe.", cid)
        talkState[cid] = 1
    elseif talkState[cid] == 1 then
        local item = player:getItemById(itemId, true) -- Procurar pelo item no inventário do jogador
        if item and item:isItem() then
            if player:removeItem(2160, 1) then -- Remover 1 Crystal Coin do jogador
                local description = "Este item foi registrado pelo jogador " .. player:getName() .. " no dia " .. os.date("%d/%m/%Y - %X") .. " Serial: " .. player:getGuid() .. "."
                local itemText = item:getAttribute(TEXT_DESCRIPTION)
                if itemText and itemText ~= "" then
                    itemText = itemText .. "\n" .. description
                else
                    itemText = description
                end
                item:setAttribute(TEXT_DESCRIPTION, itemText)
                selfSay("Aqui está o seu item. Deseja registrar outro?", cid)
            else
                selfSay("Você não tem a quantidade necessária para registrar esse item.", cid)
            end
        else
            selfSay("Você não possui este item.", cid)
        end
        talkState[cid] = 0
    else
        selfSay("Pena que você não quer. Volte aqui quando estiver interessado.", cid)
    end

    return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, onCreatureSayCallback)
npcHandler:addModule(FocusModule:new())

pode teste dnv

06:30 Sempre [13]: yes
06:30 Claudio: Qual item você está interessado em colocar o serial? Lembrando que isso não garante que o item pertence a você para sempre, se você perder o item a responsabilidade será sua e não da Equipe.
06:31 Sempre [13]: demon legs
06:31 Claudio: Aqui está o seu item. Deseja registrar outro?
06:31 Sempre [13]: nao
06:31 Claudio: Pena que você não quer. Volte aqui quando estiver interessado.
06:31 Sempre [13]: bye
06:31 Sempre [13]: hi
06:31 Claudio: Até mais, Sempre!
06:31 Claudio: Olá Sempre. Eu vendo aneis mágicos e frascos. Fale oferta caso estiver interessado.
06:31 Sempre [13]: trade
06:31 Claudio: Aqui esta minha oferta, Sempre
06:31 Sempre [13]: serial
06:31 Claudio: Eu coloco um identificador em seu item. Cobro pelo serviço um valor de 1 crystal coin. Deseja colocar em algum item?
06:31 Sempre [13]: yes
06:31 Claudio: Qual item você está interessado em colocar o serial? Lembrando que isso não garante que o item pertence a você para sempre, se você perder o item a responsabilidade será sua e não da Equipe.
06:31 Sempre [13]: demon helmet
06:31 Claudio: Aqui está o seu item. Deseja registrar outro?

 

 

Bom dia!, fiz o teste de novo com esse mudança do script e mesmo assim não aparece no item... eu fiz outra demon legs, ou demon helmet ou até mesmo os item que estão equipado não apareceu

obs: não da erro no console ta bom

ótimo dia

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo