Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Olá pessoal.

 

Eu quero fazer um npc que faz uma conversa continua com o jogador...Ai vai uma parte do script que to usando atualmente pro npc:

 

if msgcontains(msg, 'quest') and getPlayerStorageValue(cid, storage) == -1 then
    
       selfSay("My sword was robbed by a strange guy...I followed him until the Dragon Island's teleport. I'm too old to fight against dragons.", cid)
       selfSay("I'm sure he is still there. If you want to help an old man, please take my precious sword back! Can you do it? ", cid)
       setPlayerStorageValue(cid, storage, 1)

 

O que eu quero saber é qual estrutura/comando eu uso pra continuar a conversa após o jogador dizer "yes" e aceitar a tarefa.

 

Por exemplo: Após o jogador dizer yes o npc agradece e deseja boa sorte.

 

Obrigado e agradeço desde já.

Link para o post
Compartilhar em outros sites

Se for TFS 1.x+, geralmente se usa npcTopic que é uma tabela que fica salva no script do NPC.
Ex:

if msgcontains(msg, 'yes') and npcTopic[cid] == 1 then
    npcHandler:say('Good luck!', cid)
    npcTopic[cid] = 0
end



 

Caso seja uma versão mais antiga, se usa o talkState.
Ex:

if msgcontains(msg, 'yes') and talkState[talkUser] == 1 then
    selfSay('Boa sorte!', cid)
    talkState[talkUser] = 0
end

The corrupt fear us.

The honest support us.

The heroic join us.

Link para o post
Compartilhar em outros sites

Uso o TFS 0.3.6 e no caso o código ficou assim

 

 

if msgcontains(msg, 'quest') and getPlayerStorageValue(cid, storage) == -1 then

    
       selfSay("My sword was robbed by a strange guy...I followed him until the Dragon Island's teleport. I'm too old to fight against dragons.", cid)
       selfSay("I'm sure he is still there. If you want to help an old man, please take my precious sword back! Can you do it?", cid)
        talkState[talkUser] = 1
       if(msgcontains(msg, 'yes')) and (talkState[talkUser] == 1 )then
         selfSay('Thanks! Good luck. He is fast and strong so be careful.', cid)
         talkState[talkUser] = 0
         setPlayerStorageValue(cid, storage, 1)

 

O npc continua funcionando, porém quando eu falo o yes ele não responde nada. Preciso colocar mais alguma coisa ou tem alguma coisa errada?

Link para o post
Compartilhar em outros sites

Me informe o script completo do npc.

The corrupt fear us.

The honest support us.

The heroic join us.

Link para o post
Compartilhar em outros sites

Aí ta o script. O que tem mais abaixo disso é só o resto da minha quest, acho que não tem necessidade de por.

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

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




if msgcontains(msg, 'strange things') then
selfSay('I saw demons here! I think they wanted something with that strange pillar and those energized stones!', cid)
selfSay('But no one believed the old Trokr! Tsc tsc!', cid)
end

if msgcontains(msg, 'quest') and getPlayerStorageValue(cid, storage) == -1 then
    
       selfSay("My sword was robbed by a strange guy...I followed him until the Dragon Island's teleport. I'm too old to fight against dragons.", cid)
       selfSay("I'm sure he is still there. If you want to help an old man, please take my precious sword back! Can you do it?", cid)
        talkState[talkUser] = 1
       if(msgcontains(msg, 'yes')) and (talkState[talkUser] == 1 )then
         selfSay('Thanks! Good luck. He is fast and strong so be careful.', cid)
         talkState[talkUser] = 0
         setPlayerStorageValue(cid, storage, 1)
       
end
end    
Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo