Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado

Bom dia!

Gostaria de pedir um NPC que teleportasse  para um local e que cobrasse 1 ou 2 itens e Crystal Coins..

Testei vários mais nada funciona, espero que alguém possa ajudar!

Obrigado.

Resolvido por SoyColombiaa

Ir para solução
  • Respostas 8
  • Visualizações 491
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • SoyColombiaa
    SoyColombiaa

    Bom dia amigo, é só pegar um script de um NPC, e executar uma ação retirando os Itens, e o crystal coin, e o teleportando, veja só:   Crie um arquivo XML na pasta data/npc/ chamado de Travel

Postado
  • Solução

Bom dia amigo, é só pegar um script de um NPC, e executar uma ação retirando os Itens, e o crystal coin, e o teleportando, veja só:

 

Crie um arquivo XML na pasta data/npc/ chamado de TravelerTK, e coloque esse código dentro do arquivo:

Spoiler

<?xml version="1.0" encoding="UTF-8"?>

<npc name="Trevor" script="travelertk.lua" walkinterval="2000" floorchange="0">

<health now="100" max="100"/>

<look type="128" head="59" body="76" legs="48" feet="48"/>

</npc>
 

 

Depois, vá na pasta data/npc/scripts e crie um arquivo denominado de travelertk.lua, e coloque esse código dentro do arquivo:

Spoiler

-- Script de Travel feito por Soy Colombia, se for usá-lo, deixe os créditos. --

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 santaNPC(cid, message, keywords, parameters, node)

if(not npcHandler:isFocused(cid)) then

return false

end

if (parameters.present == true) then

-- Não mexa em nada, em cima. --

doPlayerRemoveItem(cid, ID DO ITEM 1, QUANTIDADE)

doPlayerRemoveItem(cid, ID DO ITEM 2, QUANTIDADE)

doPlayerRemoveItem(cid, 2160, QUANTIDADE-- Crystal Coins

npcHandler:say('Voce foi teleportado para o nome do local.', cid) -- Mensagem que vai aparecer no bate papo após o player ser teletransportado.

doPlayerSendCancel("A viagem custou um item1, um item2 e x Crystal Coins.") -- Mandar uma mensagem em cima do bate papo falando quanto custou. Renomeie os nomes em laranja

elseif getPlayerItemCount(cid,2141) <= 0 then

npcHandler:say('Voce nao tem um item1, ou um item2  ou x Crystal Coins. ', cid) -- Mensagem após o player tentar ser teletransportado mas nao tiver um ou outro item solicitado

end

npcHandler:resetNpc()

return true

end

npcHandler:setMessage(MESSAGE_GREET, "Ola |PLAYERNAME|. Voce desejaria {viajar} para o nome do local?") -- Mensagem que vai aparecer após o player falar "hi"

local noNode = KeywordNode:new({'no'}, santaNPC, {present = false}) -- Não mexa.
local nooNode = KeywordNode:new({'nao'}, santaNPC, {present = false}) -- Não mexa.

local yessNode = KeywordNode:new({'sim'}, santaNPC, {present = true}) -- Não mexa.
local yesNode = KeywordNode:new({'yes'}, santaNPC, {present = true}) -- Não mexa.

local node = keywordHandler:addKeyword({'viajar'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'A viagem vai lhe custar um item1, um item2 e x Crystal Coins. Voce esta disposto a pagar por isso?'}) -- Mensagem que vai aparecer após o player falar viajar, para confirmar a viagem.

node:addChildKeywordNode(yesNode) -- Não mexa.
node:addChildKeywordNode(yessNode) -- Não mexa.

node:addChildKeywordNode(noNode) -- Não mexa.
node:addChildKeywordNode(nooNode) -- Não mexa.

npcHandler:addModule(FocusModule:new()) -- Não mexa.

 

-- Coisas que você precisa saber:

-- Se você quiser mudar o que o player precisa falar pra ser teletransportado, você deve substituir ali onde tem "Voce desejaria {viajar} para...", o {viajar} por {palavra}, assim, vai ficar destacado

-- Se voce quiser trocar as palavras ditas pra confirmar ou sair fora da viagem, mude as palavras azuis ali em "no, nao, sim e yes", tendo sempre em mente que no e não retornam falso e sim e yes retornam verdadeiro.

-- Qualquer dúvida me cite aqui no tópico. It should works.

 

 

Se eu te ajudei, não esqueça de me reputar, isto ajuda muito.

Postado
  • Autor
22 minutos atrás, SoyColombiaa disse:

Bom dia amigo, é só pegar um script de um NPC, e executar uma ação retirando os Itens, e o crystal coin, e o teleportando, veja só:

 

Crie um arquivo XML na pasta data/npc/ chamado de TravelerTK, e coloque esse código dentro do arquivo:

  Mostrar conteúdo oculto

<?xml version="1.0" encoding="UTF-8"?>

<npc name="Trevor" script="travelertk.lua" walkinterval="2000" floorchange="0">

<health now="100" max="100"/>

<look type="128" head="59" body="76" legs="48" feet="48"/>

</npc>
 

 

Depois, vá na pasta data/npc/scripts e crie um arquivo denominado de travelertk.lua, e coloque esse código dentro do arquivo:

  Mostrar conteúdo oculto

-- Script de Travel feito por Soy Colombia, se for usá-lo, deixe os créditos. --

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 santaNPC(cid, message, keywords, parameters, node)

if(not npcHandler:isFocused(cid)) then

return false

end

if (parameters.present == true) then

-- Não mexa em nada, em cima. --

doPlayerRemoveItem(cid, ID DO ITEM 1, QUANTIDADE)

doPlayerRemoveItem(cid, ID DO ITEM 2, QUANTIDADE)

doPlayerRemoveItem(cid, 2160, QUANTIDADE-- Crystal Coins

npcHandler:say('Voce foi teleportado para o nome do local.', cid) -- Mensagem que vai aparecer no bate papo após o player ser teletransportado.

doPlayerSendCancel("A viagem custou um item1, um item2 e x Crystal Coins.") -- Mandar uma mensagem em cima do bate papo falando quanto custou. Renomeie os nomes em laranja

elseif getPlayerItemCount(cid,2141) <= 0 then

npcHandler:say('Voce nao tem um item1, ou um item2  ou x Crystal Coins. ', cid) -- Mensagem após o player tentar ser teletransportado mas nao tiver um ou outro item solicitado

end

npcHandler:resetNpc()

return true

end

npcHandler:setMessage(MESSAGE_GREET, "Ola |PLAYERNAME|. Voce desejaria {viajar} para o nome do local?") -- Mensagem que vai aparecer após o player falar "hi"

local noNode = KeywordNode:new({'no'}, santaNPC, {present = false}) -- Não mexa.
local nooNode = KeywordNode:new({'nao'}, santaNPC, {present = false}) -- Não mexa.

local yessNode = KeywordNode:new({'sim'}, santaNPC, {present = true}) -- Não mexa.
local yesNode = KeywordNode:new({'yes'}, santaNPC, {present = true}) -- Não mexa.

local node = keywordHandler:addKeyword({'viajar'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'A viagem vai lhe custar um item1, um item2 e x Crystal Coins. Voce esta disposto a pagar por isso?'}) -- Mensagem que vai aparecer após o player falar viajar, para confirmar a viagem.

node:addChildKeywordNode(yesNode) -- Não mexa.
node:addChildKeywordNode(yessNode) -- Não mexa.

node:addChildKeywordNode(noNode) -- Não mexa.
node:addChildKeywordNode(nooNode) -- Não mexa.

npcHandler:addModule(FocusModule:new()) -- Não mexa.

 

-- Coisas que você precisa saber:

-- Se você quiser mudar o que o player precisa falar pra ser teletransportado, você deve substituir ali onde tem "Voce desejaria {viajar} para...", o {viajar} por {palavra}, assim, vai ficar destacado

-- Se voce quiser trocar as palavras ditas pra confirmar ou sair fora da viagem, mude as palavras azuis ali em "no, nao, sim e yes", tendo sempre em mente que no e não retornam falso e sim e yes retornam verdadeiro.

-- Qualquer dúvida me cite aqui no tópico. It should works.

 

 

Se eu te ajudei, não esqueça de me reputar, isto ajuda muito.

Olá tudo certo amigo?

Desculpe a ignorância, mais onde fica para eu por as coordenadas para o teleporte?

Postado
42 minutos atrás, tirso disse:

Olá tudo certo amigo?

Desculpe a ignorância, mais onde fica para eu por as coordenadas para o teleporte?

Que nada, eu que esqueci de por POSKAOPEKAPO, faça o seguinte, substitui o código do arquivo por este aqui:

Spoiler

-- Script de Travel feito por Soy Colombia, se for usá-lo, deixe os créditos. --

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 santaNPC(cid, message, keywords, parameters, node)

if(not npcHandler:isFocused(cid)) then

return false

end

if (parameters.present == true) then

-- Não mexa em nada, em cima. --

doPlayerRemoveItem(cid, ID DO ITEM 1, QUANTIDADE)

doPlayerRemoveItem(cid, ID DO ITEM 2, QUANTIDADE)

doPlayerRemoveItem(cid, 2160, QUANTIDADE) -- Crystal Coins

local pos = {x = 1347, y = 1210, z = 7}  -- Coloque a coordenada

doTeleportThing(cid, pos)

npcHandler:say('Voce foi teleportado para o nome do local.', cid) -- Mensagem que vai aparecer no bate papo após o player ser teletransportado.

doPlayerSendCancel("A viagem custou um item1, um item2 e x Crystal Coins.") -- Mandar uma mensagem em cima do bate papo falando quanto custou. Renomeie os nomes em laranja

elseif getPlayerItemCount(cid,2141) <= 0 then

npcHandler:say('Voce nao tem um item1, ou um item2  ou x Crystal Coins. ', cid) -- Mensagem após o player tentar ser teletransportado mas nao tiver um ou outro item solicitado

end

npcHandler:resetNpc()

return true

end

npcHandler:setMessage(MESSAGE_GREET, "Ola |PLAYERNAME|. Voce desejaria {viajar} para o nome do local?") -- Mensagem que vai aparecer após o player falar "hi"

local noNode = KeywordNode:new({'no'}, santaNPC, {present = false}) -- Não mexa.
local nooNode = KeywordNode:new({'nao'}, santaNPC, {present = false}) -- Não mexa.

local yessNode = KeywordNode:new({'sim'}, santaNPC, {present = true}) -- Não mexa.
local yesNode = KeywordNode:new({'yes'}, santaNPC, {present = true}) -- Não mexa.

local node = keywordHandler:addKeyword({'viajar'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'A viagem vai lhe custar um item1, um item2 e x Crystal Coins. Voce esta disposto a pagar por isso?'}) -- Mensagem que vai aparecer após o player falar viajar, para confirmar a viagem.

node:addChildKeywordNode(yesNode) -- Não mexa.
node:addChildKeywordNode(yessNode) -- Não mexa.

node:addChildKeywordNode(noNode) -- Não mexa.
node:addChildKeywordNode(nooNode) -- Não mexa.

npcHandler:addModule(FocusModule:new()) -- Não mexa.

 

-- Coisas que você precisa saber:

-- Se você quiser mudar o que o player precisa falar pra ser teletransportado, você deve substituir ali onde tem "Voce desejaria {viajar} para...", o {viajar} por {palavra}, assim, vai ficar destacado

-- Se voce quiser trocar as palavras ditas pra confirmar ou sair fora da viagem, mude as palavras azuis ali em "no, nao, sim e yes", tendo sempre em mente que no e não retornam falso e sim e yes retornam verdadeiro.

-- Qualquer dúvida me cite aqui no tópico. It should works.

 

Postado
  • Autor
15 minutos atrás, SoyColombiaa disse:

Que nada, eu que esqueci de por POSKAOPEKAPO, faça o seguinte, substitui o código do arquivo por este aqui:

  Mostrar conteúdo oculto

-- Script de Travel feito por Soy Colombia, se for usá-lo, deixe os créditos. --

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 santaNPC(cid, message, keywords, parameters, node)

if(not npcHandler:isFocused(cid)) then

return false

end

if (parameters.present == true) then

-- Não mexa em nada, em cima. --

doPlayerRemoveItem(cid, ID DO ITEM 1, QUANTIDADE)

doPlayerRemoveItem(cid, ID DO ITEM 2, QUANTIDADE)

doPlayerRemoveItem(cid, 2160, QUANTIDADE) -- Crystal Coins

local pos = {x = 1347, y = 1210, z = 7}  -- Coloque a coordenada

doTeleportThing(cid, pos)

npcHandler:say('Voce foi teleportado para o nome do local.', cid) -- Mensagem que vai aparecer no bate papo após o player ser teletransportado.

doPlayerSendCancel("A viagem custou um item1, um item2 e x Crystal Coins.") -- Mandar uma mensagem em cima do bate papo falando quanto custou. Renomeie os nomes em laranja

elseif getPlayerItemCount(cid,2141) <= 0 then

npcHandler:say('Voce nao tem um item1, ou um item2  ou x Crystal Coins. ', cid) -- Mensagem após o player tentar ser teletransportado mas nao tiver um ou outro item solicitado

end

npcHandler:resetNpc()

return true

end

npcHandler:setMessage(MESSAGE_GREET, "Ola |PLAYERNAME|. Voce desejaria {viajar} para o nome do local?") -- Mensagem que vai aparecer após o player falar "hi"

local noNode = KeywordNode:new({'no'}, santaNPC, {present = false}) -- Não mexa.
local nooNode = KeywordNode:new({'nao'}, santaNPC, {present = false}) -- Não mexa.

local yessNode = KeywordNode:new({'sim'}, santaNPC, {present = true}) -- Não mexa.
local yesNode = KeywordNode:new({'yes'}, santaNPC, {present = true}) -- Não mexa.

local node = keywordHandler:addKeyword({'viajar'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'A viagem vai lhe custar um item1, um item2 e x Crystal Coins. Voce esta disposto a pagar por isso?'}) -- Mensagem que vai aparecer após o player falar viajar, para confirmar a viagem.

node:addChildKeywordNode(yesNode) -- Não mexa.
node:addChildKeywordNode(yessNode) -- Não mexa.

node:addChildKeywordNode(noNode) -- Não mexa.
node:addChildKeywordNode(nooNode) -- Não mexa.

npcHandler:addModule(FocusModule:new()) -- Não mexa.

 

-- Coisas que você precisa saber:

-- Se você quiser mudar o que o player precisa falar pra ser teletransportado, você deve substituir ali onde tem "Voce desejaria {viajar} para...", o {viajar} por {palavra}, assim, vai ficar destacado

-- Se voce quiser trocar as palavras ditas pra confirmar ou sair fora da viagem, mude as palavras azuis ali em "no, nao, sim e yes", tendo sempre em mente que no e não retornam falso e sim e yes retornam verdadeiro.

-- Qualquer dúvida me cite aqui no tópico. It should works.

 

Dei um reload mais ele nao cria nem o npc :s

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.7k

Informação Importante

Confirmação de Termo