Ir para conteúdo
  • Cadastre-se

(Resolvido)NPC de teleport


Ir para solução Resolvido por Wakon,

Posts Recomendados

preciso de um NPC que diga hi e automaticamente seja enviado a tal posição, alguém pode me ajudar?

 

AQUI ESTÁ O MEU SCRIPTS

 

local keywordHandler = KeywordHandler:new()

local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
local pos = {x=99,y=188,z=7}
 
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
 
        selfSay("SUMA!.", cid)               
        talkState[cid] = 0
     doTeleportThing(cid, pos)
     return TRUE   
     end
     
 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

Link para o post
Compartilhar em outros sites
local position = {x=652, y=1022, z=7}; -- Pra onde vai ser teleportado

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

	if msgcontains(msg:lower(), 'teleport') then
		selfSay('you are sure?', cid)
		talkState[talkUser] = 1
	elseif msgcontains(msg:lower(), 'yes') and talkState[talkUser] == 1 then
		selfSay('Suma!!', cid)
		doTeleportThing(cid, position)
		talkState[talkUser] = 0
	elseif msgcontains(msg:lower(), 'no') and talkState[talkUser] == 1 then
		selfSay('Bye!!', cid)
		talkState[talkUser] = 0
	end

	return true
end

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

hi/teleport/yes

EQD4Qy4.gif

Link para o post
Compartilhar em outros sites
local position = {x=652, y=1022, z=7}; -- Pra onde vai ser teleportado

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

	if msgcontains(msg:lower(), 'teleport') then
		selfSay('you are sure?', cid)
		talkState[talkUser] = 1
	elseif msgcontains(msg:lower(), 'yes') and talkState[talkUser] == 1 then
		selfSay('Suma!!', cid)
		doTeleportThing(cid, position)
		talkState[talkUser] = 0
	elseif msgcontains(msg:lower(), 'no') and talkState[talkUser] == 1 then
		selfSay('Bye!!', cid)
		talkState[talkUser] = 0
	end

	return true
end

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

hi/teleport/yes

 

fui seco... deu certo não brother :/ tenho que falar hi/yes do mesmo jeito... quero um script que quando falar "hi" já se teletransportar automaticamente

Link para o post
Compartilhar em outros sites

preciso de um NPC que diga hi e automaticamente seja enviado a tal posição

 

quero um script que quando falar "hi" já se teletransportar automaticamente

 

Tenta assim:

local position = {x=652, y=1022, z=7}; -- Pra onde vai ser teleportado

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)
doTeleportThing(cid, position)
return true
end

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

Te ajudei?? REP + e ficamos quites... <ahttp://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'>

Atenciosamente,

Daniel.

Abraços!

Link para o post
Compartilhar em outros sites

 

Tenta assim:

local position = {x=652, y=1022, z=7}; -- Pra onde vai ser teleportado

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)
doTeleportThing(cid, position)
return true
end

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

agora nem com o YES deu certo...

Link para o post
Compartilhar em outros sites

@36312872, não entendi o que vc quer exatamente...

 

Faz escreve: descreve extamente o diálogo que vc quer que tenha e o momento exato em que o player será teleportado.

Te ajudei?? REP + e ficamos quites... <ahttp://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'>

Atenciosamente,

Daniel.

Abraços!

Link para o post
Compartilhar em outros sites

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 onThink() npcHandler:onThink() end
function onCreatureSay(cid, type, msg)
    local toPos = {x = x, y = y, z = z}      --Para onde o jogador será teleportado.
    selfSay("Suma daqui!")
    doTeleportThing(cid, toPos)
    return true
end
npcHandler:addModule(FocusModule:new())

não respondo pms solicitando suporte em programação/scripting

Link para o post
Compartilhar em outros sites

Vllw cara, funcionou <3 


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 onThink() npcHandler:onThink() end
function onCreatureSay(cid, type, msg)
    local toPos = {x = x, y = y, z = z}      --Para onde o jogador será teleportado.
    selfSay("Suma daqui!")
    doTeleportThing(cid, toPos)
    return true
end
npcHandler:addModule(FocusModule:new())

Funcionou não, ele teleporta com tudo que eu falo:/

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

Vllw cara, funcionou <3 

Funcionou não, ele teleporta com tudo que eu falo:/

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 onThink() npcHandler:onThink() end
function onCreatureSay(cid, type, msg)
    msg = msg:lower()
    if msgcontains(msg, 'hi') then
    local toPos = {x = 160, y = 54, z = 7}      --Para onde o jogador será teleportado.
    selfSay("Suma daqui!")
    doTeleportThing(cid, toPos)
    end
    return true
end
npcHandler:addModule(FocusModule:new())
Link para o post
Compartilhar em outros sites

@36312872, não entendi o que vc quer exatamente...

Faz assim: descreve extamente o diálogo que vc quer que tenha e o momento exato em que o player será teleportado.

Te ajudei?? REP + e ficamos quites... <ahttp://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'>

Atenciosamente,

Daniel.

Abraços!

Link para o post
Compartilhar em outros sites
  • 2 weeks later...
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 onThink() npcHandler:onThink() end
function onCreatureSay(cid, type, msg)
    msg = msg:lower()
    if msgcontains(msg, 'hi') then
    local toPos = {x = 160, y = 54, z = 7}      --Para onde o jogador será teleportado.
    selfSay("Suma daqui!")
    doTeleportThing(cid, toPos)
    end
    return true
end
npcHandler:addModule(FocusModule:new())

Certo, muito obrigado e desculpe-me pela demora para responder a seu post, dessa vez funcionou na forma que eu queria ^^

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