Ir para conteúdo

Featured Replies

Postado

Olá ,

Gostaria de uma ajuda para entender melhor como funciona está script e como fazê-la funcionar.





O objetivo é o seguinte :


Fazer o NPC vender o item X por Y quantidade de diamantes.


Eu procurei alguns outros tópicos de scripts que fazem o Npc trocar o item X pelo item Y da quantidade que foi determinada na script , porém , tive problemas.


A script que eu utilizei como base foi esta do tópico abaixo :

http://www.tibiaking.com/forum/topic/35955-pedido-npc-trocando-items/


PS : Não sei se o caso de ter alterado o nome do npc fez que ela não funcionasse.  [Alterei tanto no XML como no LUA dos respectivos arquivos.]


O problema :

O Npc não responde quando eu digo Hi/Oi/Olá



Segue abaixo as scripts depois de editadas por mim :


XML

Mostrar conteúdo oculto

<?xml version="1.0"?>


<npc name="Diamond Trader" script="data/npc/scripts/diamondtrader.lua" access="5" lookdir="2" walkinterval="0">
<health now="200" max="200" />
<look type="139" head="95" body="95" legs="95" feet="95" addons="3" />
<parameters>
<parameter key="message_greet" value="Ola |PLAYERNAME|. Deseja trocar diamonds por itens ?  Diga {items}." />
</parameters>
</npc>




LUA

Mostrar conteúdo oculto

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

-- STRIKE START --
function jestervip(cid, message, keywords, parameters, node)
    if(not npcHandler:isFocused(cid)) then
        return false
    end
    
        if getPlayerItemCount(cid,2145) >= 50  then
        if doPlayerRemoveItem(cid,2145,50) then
            npcHandler:say('Aqui esta seu item!', cid)
            doPlayerAddItem(cid,12153,1)
        end
        else
            npcHandler:say('Voce nao tem diamond suficiente!', cid)
        end
end
-- STRIKE END --

keywordHandler:addKeyword({'items'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Eu troco {bag of pollem} por diamonds."})

local node1 = keywordHandler:addKeyword({'bag of pollem'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce quer trocar 50 diamonds por 1 bag of pollem?? Yes or no??'})
    node1:addChildKeyword({'yes'}, jestervip, {npcHandler = npcHandler, onlyFocus = true, reset = true})
node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Ok, volte quando quiser negociar!', reset = true})


.



 

post-73672-0-44971500-1409008907_thumb.p

post-73672-0-69689800-1409008912_thumb.p

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

Resolvido por Wend

Ir para solução
  • Respostas 19
  • Visualizações 1.1k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

Posted Images

Postado
  Em 25/08/2014 em 23:22, Born Retarded disse:

O problema :

O Npc não responde quando eu digo Hi/Oi/Olá

XML

Mostrar conteúdo oculto

<?xml version="1.0"?>

<npc name="Diamond Trader" script="data/npc/scripts/diamondtrader.lua" access="5" lookdir="2" walkinterval="0">

<parameter key="message_greet" value="Ola |PLAYERNAME|. Deseja trocar diamonds por itens ?  Diga {items}." />

LUA

Mostrar conteúdo oculto

keywordHandler:addKeyword({'items'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Eu troco {bag of pollem} por diamonds."})

local node1 = keywordHandler:addKeyword({'bag of pollem'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce quer trocar 50 diamonds por 1 bag of pollem?? Yes or no??'})

    node1:addChildKeyword({'yes'}, jestervip, {npcHandler = npcHandler, onlyFocus = true, reset = true})

node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Ok, volte quando quiser negociar!', reset = true})

.

 

no lugar de

XML

Mostrar conteúdo oculto

<?xml version="1.0"?>

<npc name="Diamond Trader" script="data/npc/scripts/diamondtrader.lua" access="5" lookdir="2" walkinterval="0">

<parameter key="message_greet" value="Ola |PLAYERNAME|. Deseja trocar diamonds por itens ?  Diga {items}." />

tente por

XML

Mostrar conteúdo oculto

<?xml version="1.0"?>

<npc name="Diamond Trader" script="data/npc/scripts/diamondtrader.lua" access="1" lookdir="2" walkinterval="0">

<parameter key="message_greet" value="Ola |PLAYERNAME|. Deseja trocar diamonds por itens ?  Diga {items}." />

 

no lugar de

LUA

Mostrar conteúdo oculto

keywordHandler:addKeyword({'items'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Eu troco {bag of pollem} por diamonds."})

local node1 = keywordHandler:addKeyword({'bag of pollem'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce quer trocar 50 diamonds por 1 bag of pollem?? Yes or no??'})

    node1:addChildKeyword({'yes'}, jestervip, {npcHandler = npcHandler, onlyFocus = true, reset = true})

node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Ok, volte quando quiser negociar!', reset = true})

tente

LUA

Mostrar conteúdo oculto

keywordHandler:addKeyword({'items'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Eu troco {bag of pollem} por {diamonds."})

local node1 = keywordHandler:addKeyword({'bag of pollem'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce quer trocar 50 diamonds por 1 bag of pollem?? {Yes} or {no} ??'})

    node1:addChildKeyword({'yes'}, jestervip, {npcHandler = npcHandler, onlyFocus = true, reset = true})

node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Ok, volte quando quiser negociar!', reset = true})

Postado
  • Autor

Os seguintes erros apareceram ao utilizar o comando /n dentro do jogo :

 

[28/08/2014 03:00:05] [Warning - Npc::loadFromXml] Cannot load npc file (data/npc/Diamond Trader.xml).
[28/08/2014 03:00:05] Info: failed to load external entity "data/npc/Diamond Trader.xml"


[28/08/2014 03:00:14] [Warning - Npc::loadFromXml] Cannot load npc file (data/npc/diamondtrader.xml).
[28/08/2014 03:00:14] Line: 3, Info: Premature end of data in tag npc line 2

[28/08/2014 03:05:07] [Error - Npc interface]
[28/08/2014 03:05:07] data/npc/scripts/default.lua:onThink
[28/08/2014 03:05:07] Description:
[28/08/2014 03:05:07] Stack size changed!
[28/08/2014 03:05:19] [Warning - Npc::loadFromXml] Cannot load npc file (data/npc/diamondtrader.xml).
[28/08/2014 03:05:19] Line: 3, Info: Premature end of data in tag npc line 2

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

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.6k

Informação Importante

Confirmação de Termo