Ir para conteúdo

Featured Replies

Postado

Olá Pessoal, Bom Procurei no TK não achei nada então resolvi criar um Topico , me Desculpe se estiver na Area Errada Favor me Mova , Vamos lá, Npc que teletransporta o Player Ida é volta  sem Cobrar Nada. Ele Apenas Pergunta " Oi "Nick do Player". Vai para o continente Hoenn?volta, / Player Diz - Yes. Pronto mas Quero que ele possa ir é volta no msm Npc Ex: o npc - Capitao Kurt do Otpokemon Obg deixarei meu +rep pra quem me ajuda ^^ :grin:

 

Capturar.PNG

Editado por franck
Falta de Informação (veja o histórico de edições)

Resolvido por Wakon

Ir para solução
Postado
  • Solução

Em "Data/npc/scripts", copie e cole um arquivo.lua e renomeie para travelNew.lua, apague tudo e cole:

local t = {
    travelGo = {pos = {x = 160, y = 54, z = 7}, key = "hoenn"}, -- Aqui você coloca a posição de hoenn.
    travelBack = {pos = {x = 162, y = 54, z = 7}, key = "saffron"} -- E aqui você coloca a posição do npc e a mensagem que irá pedir para voltar.
}

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 msg = msg:lower();
    local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid 
    if msgcontains(msg, t.travelGo.key) then
	selfSay('Deseja mesmo ir para '.. t.travelGo.key ..'?', cid)
	talkState[talkUser] = 1
    elseif msgcontains(msg, t.travelBack.key) then
	selfSay('Deseja mesmo voltar para '.. t.travelBack.key ..'?', cid)
	talkState[talkUser] = 2
    elseif msgcontains(msg, 'yes') then
	if talkState[talkUser] == 1 then
	    doTeleportThing(cid, t.travelGo.pos)
	    doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT)
	elseif talkState[talkUser] == 2 then
	    doTeleportThing(cid, t.travelBack.pos)
	    doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT)
	end
    end
end

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

Agora em "Data/npc", copie e cole um arquivo.xml e renomeie para nomedonpc.xml, apague tudo e cole:

<?xml version="1.0" encoding="UTF-8"?>
<npc name="NOMEDONPC" script="travelNew.lua" walkinterval="2000" floorchange="0">
	<health now="100" max="100"/>
	<look type="128" head="17" body="54" legs="114" feet="0" addons="2"/>
	<parameters>
		<parameter key="message_greet" value="Olá |PLAYERNAME|! Deseja ir para o continente {hoenn} ou voltar para {saffron}?"/>
	</parameters>
</npc>

Ai você configura como preferir, deixei explicações no script para você saber o que mudar.

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

Postado
  • Autor

Olá Obrigado Pela Ajuda mas não funcionou deu erro no distro -> Servidor Paraiso v2. :/ coloquei tudo certo as cordenadas , Npc. É tentei coloca no RME o Npc mas dar esse erro.

sadasd.PNG

12.PNG

Postado

Troque o XML por esse:

<?xml version="1.0" encoding="UTF-8"?>
<npc name="NOMEDONPC" script="travelNew.lua" walkinterval="2000" floorchange="0">
	<health now="100" max="100"/>
	<look type="128" head="17" body="54" legs="114" feet="0" addons="2"/>
	<parameters>
		<parameter key="message_greet" value="Ola |PLAYERNAME|! Deseja ir para o continente {hoenn} ou voltar para {saffron}?"/>
	</parameters>
</npc>

 

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