Ir para conteúdo
  • Cadastre-se

(Resolvido)NPC responde antes de dizer 'hi'


Ir para solução Resolvido por Rubiano,

Posts Recomendados

Ola Pessoal, preciso de uma  ajuda com um script.

 

to fazendo npc com missão, mas quando  chego  e falo  'Tarefa', antes de dizer 'Hi' ele responde.

 

 Como faço  para impedir isso, ele só deve responde após falar 'Hi,Hello ou Hey'

uso  o  Otseve alissow , para tibia 9.83

Editado por Rubiano (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Ola, no  arquivo  xml  coloquei

[spoiler*]

<?xml version="1.0"?>
<npc name="Rauf" script="data/npc/scripts/Rauf.lua" access="5" lookdir="2" walkinterval="5">
  <health now="200" max="200" />
   <look type="62" head="79" body="96" legs="89" feet="127" addons="0" />
  <parameters>
    <parameter key="message_greet" value="Ola |PLAYERNAME|. enque posso ajuda -lo" />
  </parameters>
</npc>

[/spoiler*]

 

 

e no  arquivo  lua

[spoiler*]

local talk_state = 0

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

function creatureSayCallback(cid, type, msg)
 
                  --- vendedor-----
if msgcontains(msg, 'Parcel')or msgcontains(msg, 'Trade')then
npcHandler:say("Cara , To Indo Pra Falencia, Faz um tempão que não chega parcel, Vou ficar devendo " , cid )
end
                ---tarefa 1-----
                
                
if msgcontains(msg,'tarefa')then
 if (getPlayerStorageValue(cid, 200) < 1)then
   npcHandler:say("Não existe tarefa para você." , cid )
    
 end



   if (getPlayerStorageValue(cid, 201) < 2)and (getPlayerStorageValue(cid, 201) > 0)  then
   npcHandler:say("A Vise ao Marlon que estou  sem, que ele mande por navio os itens dele, certo? " , cid )
      setPlayerStorageValue(cid, 200, 1)
   end
end

          -----resposta 1------
  if msgcontains(msg, 'yes') and (getPlayerStorageValue(cid, 200) < 2)and (getPlayerStorageValue(cid, 200) > 0)  then
     npcHandler:say("Beleza retorne a ele, e diga o meu recado " , cid )
     setPlayerStorageValue(cid, 200, 0)
     setPlayerStorageValue(cid, 300, 0)
     setPlayerStorageValue(cid, 201, 2)
   end
    
      if msgcontains(msg, 'no') and (getPlayerStorageValue(cid, 200) < 2)and (getPlayerStorageValue(cid, 200) > 0)  then
     npcHandler:say("Somente diga a ele que não tem, que ele mando  via Barco. até mais " , cid )
     setPlayerStorageValue(cid, 200, 0)
     setPlayerStorageValue(cid, 300, 0)
     setPlayerStorageValue(cid, 201, 2)
     end
return true
end

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

[/spoiler*]

Editado por Rubiano (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Você tem que adicionar a função de falar "hi" no script do NPC (arquivo .lua).

Caso você não saiba fazer isso, espere eu chegar em casa para eu ajuda-lo.

"A alma permanece em suas criações" V89E5aN.png


142c9d3439.jpg
(Não dou suporte por mensagem privada.)

Link para o post
Compartilhar em outros sites
  • Solução

 Ai  achei a solução , coloquei  a seguinte função  no script, esta resolvido,

só para constar dou  rep +  para os dois , só pela atenção

 

function creatureSayCallback(cid, type, msg)
    if(not npcHandler:isFocused(cid)) then
        return false
    end
    
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

grato mesmo.

Link para o post
Compartilhar em outros sites

testa assim:

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
 
                  --- vendedor-----
if msgcontains(msg, 'Parcel')or msgcontains(msg, 'Trade')then
npcHandler:say("Cara , To Indo Pra Falencia, Faz um tempão que não chega parcel, Vou ficar devendo " , cid )
end
                ---tarefa 1-----
                
                
if msgcontains(msg,'tarefa')then
 if (getPlayerStorageValue(cid, 200) < 1)then
   npcHandler:say("Não existe tarefa para você." , cid )
    
 end



   if (getPlayerStorageValue(cid, 201) < 2)and (getPlayerStorageValue(cid, 201) > 0)  then
   npcHandler:say("A Vise ao Marlon que estou  sem, que ele mande por navio os itens dele, certo? " , cid )
      setPlayerStorageValue(cid, 200, 1)
   end
end

          -----resposta 1------
  if msgcontains(msg, 'yes') and (getPlayerStorageValue(cid, 200) < 2)and (getPlayerStorageValue(cid, 200) > 0)  then
     npcHandler:say("Beleza retorne a ele, e diga o meu recado " , cid )
     setPlayerStorageValue(cid, 200, 0)
     setPlayerStorageValue(cid, 300, 0)
     setPlayerStorageValue(cid, 201, 2)
   end
    
      if msgcontains(msg, 'no') and (getPlayerStorageValue(cid, 200) < 2)and (getPlayerStorageValue(cid, 200) > 0)  then
     npcHandler:say("Somente diga a ele que não tem, que ele mando  via Barco. até mais " , cid )
     setPlayerStorageValue(cid, 200, 0)
     setPlayerStorageValue(cid, 300, 0)
     setPlayerStorageValue(cid, 201, 2)
     end
return true
end

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

#EDITADO

vish, já achou a solução.

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

16/11/2014

23/11/2014

 

RIP AnneMotta 21/01/2012 - 15/01/2014

Liga das lendas: DIAMOND É A META

6qpqBbJ.png

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo