Ir para conteúdo
  • Cadastre-se

(Resolvido)[PEDIDO] Criar NPC com função de teletransportar [TFS 1.0]


Ir para solução Resolvido por Snowsz,

Posts Recomendados

Olá, eu gostaria de saber se é possível criar um npc que seja igual a essa estatua 3bbb82e8e9.png   ID: 9242 no RME (caso não dê certo ele pode ter esse look type:287 c9f2980920.png)
e que ele tivesse a seguinte função, toda vez que alguém falasse "hi" ele iria perguntar se vc quer ajudar ele "quest, ele iria contar uma história sobre a quest e depois ele vai perguntar se o player aceita a fazer a quest e quando o player falar "yes"  ele te teletransportaria para tal localização.

Exemplo:
NPC: Olá jogador se você deseja me ajudar? diga quest.
Player: quest
NPC: *NPC começa a contar a história da quest* e depois pergunta se o player quer aceitar a quest se "sim" (o player é teletransportado para um local configuravel) se não o npc diz goodbye.

 

Desde já agradeço.
Att Boush
 

 

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

No arquivo xml que você quer seu npc coloque isso:

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Questeiro" script="questeiro.lua" walkinterval="0" speechbubble="1" floorchange="0">
  <health now="100" max="100" />
 <look typeex="9242" head="98" body="95" legs="115" feet="114" addons="0"/>
  <parameters>
    <parameter key="message_greet" value="Ola jogador voce deseja me ajudar? Diga {quest}" />
  </parameters>
</npc>

No arquivo .lua que você vai utilizar no seu npc, coloque isso:
 

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

local config = {
pos = {x = 1020, y = 1030, z = 7},
mensagens = {
             ["quest"] = "Então, você quer saber sobre a quest eim... Bom vou lhe contar blablablablablablablabla...",
             ["yes"] = "Você foi teleportado.",
             ["no"] = "Adeus então.",
            }
}

	if msgcontains(msg, "quest") then
		npcHandler:say(config.mensagens["quest"], cid)
	elseif msgcontains(msg, "yes") then
        npcHandler:say(config.mensagens["yes"], cid)
        doTeleportThing(cid, config.pos)
    elseif msgcontains(msg, "no") then
        npcHandler:say(config.mensagens["no"], cid)
	end
	return true
end
 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Configuração:

 

Troque o nome do seu npc aqui: name="Questeiro" e aqui script="questeiro.lua" você troca para o nome do arquivo.lua que criou para seu npc, não esqueça do ".lua" no final.

 

Acho o resto está obvio não?

                              _
                          .-'` `}
                  _./)   /       }
                .'o   \ |       }
                '.___.'`.\    {`
                /`\_/  , `.    }                                      ME DA UMA NOZ!
                \=' .-'   _`\  {
                 `'`;/      `,  }
                    _\   @   ;  }
                   /__`;-...'--'

Cluck!

Link para o post
Compartilhar em outros sites

No arquivo xml que você quer seu npc coloque isso:

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Questeiro" script="questeiro.lua" walkinterval="0" speechbubble="1" floorchange="0">
  <health now="100" max="100" />
 <look typeex="9242" head="98" body="95" legs="115" feet="114" addons="0"/>
  <parameters>
    <parameter key="message_greet" value="Ola jogador voce deseja me ajudar? Diga {quest}" />
  </parameters>
</npc>

No arquivo .lua que você vai utilizar no seu npc, coloque isso:

 

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

local config = {
pos = {x = 1020, y = 1030, z = 7},
mensagens = {
             ["quest"] = "Então, você quer saber sobre a quest eim... Bom vou lhe contar blablablablablablablabla...",
             ["yes"] = "Você foi teleportado.",
             ["no"] = "Adeus então.",
            }
}

	if msgcontains(msg, "quest") then
		npcHandler:say(config.mensagens["quest"], cid)
	elseif msgcontains(msg, "yes") then
        npcHandler:say(config.mensagens["yes"], cid)
        doTeleportThing(cid, config.pos)
    elseif msgcontains(msg, "no") then
        npcHandler:say(config.mensagens["no"], cid)
	end
	return true
end
 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Configuração:

 

Troque o nome do seu npc aqui: name="Questeiro" e aqui script="questeiro.lua" você troca para o nome do arquivo.lua que criou para seu npc, não esqueça do ".lua" no final.

 

Acho o resto está obvio não?

 

Obrigado!

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