Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Onde devo colocar os ends? o end é pra fechar apenas "function" e "if" certo? elseif não se fecha com end.

quando faço meu script desse jeito. Ele funciona perfeitamente.

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


if (msgcontains(msg, 'sim')) or (msgcontains(msg, 'yes')) then
selfSay('A primeira pergunta é: primeira pergunta?', cid)
talkState[talkUser] = 1

 

elseif (msgcontains(msg, 'primeira')) and talkState[talkUser] == 1 then
selfSay('Muito bem, essa foi facil. Vamos para a segunda pergunta: segunda pergunta?', cid)
talkState[talkUser] = 2
else
selfSay('Resposta errada, você está bom o suficiente.', cid)
doTeleportThing(cid, {x= 377, y= 183, z= 6})

 

end                         -------end que fecha o "if (msgcontains(msg, 'sim')) or (msgcontains(msg, 'yes')) then"

return true

end                        --------end que fecha "function creatureSayCallback(cid, type, msg)"

 

 

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

 

 

 

Mas quando eu acrescento mais "elseif" ele pede pra colocar "end" onde não se deve colocar bungando o npc. Alguém pode me ajudar? ta difícil pra mim não mecho com isso a muito tempo.

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


--------------------------------------------------------------------------------------------------------------------------------------------


if (msgcontains(msg, 'sim')) or (msgcontains(msg, 'yes')) then
selfSay('A primeira pergunta é: primeira pergunta?', cid)
talkState[talkUser] = 1

 

elseif (msgcontains(msg, 'primeira')) and talkState[talkUser] == 1 then
selfSay('Muito bem, essa foi facil. Vamos para a segunda pergunta: segunda pergunta?', cid)
talkState[talkUser] = 2
else
selfSay('Resposta errada, você está bom o suficiente.', cid)
doTeleportThing(cid, {x= 377, y= 183, z= 6})


elseif (msgcontains(msg, 'segunda')) and talkState[talkUser] == 2 then
selfSay('Muito bem, essa foi relativamente facil. Vamos para a terceira pergunta: Terceira pergunta?', cid)
talkState[talkUser] = 3
else
selfSay('Resposta errada, você está bom o suficiente.', cid)
doTeleportThing(cid, {x= 377, y= 183, z= 6})


elseif (msgcontains(msg, 'terceira')) and talkState[talkUser] == 3 then
selfSay('Muito bem, essa foi facil. Vamos para a segunda pergunta: fim', cid)
talkState[talkUser] = 4
else
selfSay('Resposta errada, você está bom o suficiente.', cid)
doTeleportThing(cid, {x= 377, y= 183, z= 6})


end
return true
end

 

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

Link para o post
Compartilhar em outros sites
function creatureSayCallback(cid, type, msg)
	if(not npcHandler:isFocused(cid)) then return false end
	local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

	if (msgcontains(msg, 'sim')) or (msgcontains(msg, 'yes')) then
		selfSay('A primeira pergunta é: primeira pergunta?', cid)
		talkState[talkUser] = 1
	elseif (msgcontains(msg, 'primeira')) and talkState[talkUser] == 1 then
		selfSay('Muito bem, essa foi facil. Vamos para a segunda pergunta: segunda pergunta?', cid)
		talkState[talkUser] = 2
	elseif (msgcontains(msg, 'segunda')) and talkState[talkUser] == 2 then
		selfSay('Muito bem, essa foi relativamente facil. Vamos para a terceira pergunta: Terceira pergunta?', cid)
		talkState[talkUser] = 3
	elseif (msgcontains(msg, 'terceira')) and talkState[talkUser] == 3 then
		selfSay('Muito bem, essa foi facil. Vamos para a segunda pergunta: fim', cid)
		talkState[talkUser] = 4
	else
		selfSay('Resposta errada, você está bom o suficiente.', cid)
		doTeleportThing(cid, {x= 377, y= 183, z= 6})
	end
return true
end
 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

Não dou suporte via PM, crie um tópico caso tenha dúvidas.

Isso previne que outras pessoas com a mesma dúvida criem tópicos desnecessários.

Link para o post
Compartilhar em outros sites

Hum... Entendi, Quando se tem "elseif" está sobre a ação do primeiro "if" ainda, no caso o que tava dificultando o script era o "else". Muito bom cara. Obrigado pela atenção.

Dúvida Sanada

+REP

Link para o post
Compartilhar em outros sites

Exato. O elseif seria algo como "SE não for o IF, mas for ~condição~, faça:". Ele é linkado com o if, como se fosse um else com condição. O último else seria para caso nenhuma das condições do IF/ELSEIF for verdadeira.

"Traduzindo" para português, ficaria:

 

SE verde for igual a laranja, faça:
	imprime: verde é igual a laranja.
SE verde não for igual a laranja, mas SE verde for igual a marrom, faça:
	imprime: verde é igual a marrom.
SE verde não for igual a marrom, mas SE verde for igual a vermelho, faça:
	imprime: verde é igual a vermelho.
SE verde não for igual a vermelho, mas SE verde for igual a amarelo faça:
	imprime: verde é igual a amarelo.
se não for, faça:
	imprime: verde é igual a roxo.
end
	

Verde não é igual a roxo, mas como todos os IF/ELSEIF são falsos, vai imprimir: verde é igual a roxo.

 

Espero que tenha entendido.

(:

Não dou suporte via PM, crie um tópico caso tenha dúvidas.

Isso previne que outras pessoas com a mesma dúvida criem tópicos desnecessários.

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