Ir para conteúdo
  • 0

Npc do Destino


Xtudomuito

Pergunta

Bom galera do tk vir atrás do npc basicamente assim. Ao player fala com o npc, esse npc escolherá uma sala aleatoriamente para o player(sala 1 ou sala 2). O player ficará nessa sala por 2 minutos. Ao acaba o templo o player que fica nas duas sala será teleportado por templo. Esse npc tem hora e dia pra fala com ele.

 

Pra quem n entendeu vou explica assim.

 

Player= hi

Npc= ola [nome do player], o que vc quer?

Player= destino

Npc= vc quer que eu escolha o seu destino.

Player= Yes

 

ao o npc escolhe aleatoriamente sala 1 ou sala 2. Aí o player passará 2 minutos nessa duas sala ao acaba o templo será teleportado por templo.

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

8.60 tfs 0.3.5

Tenta assim:

local config = {
	pos1 = {x = 1000, y = 550, z = 7},
	pos2 = {x = 1002, y = 553, z = 7},
	templo = {x = 160, y = 54, z = 7},
	tempo = 2 -- minutos para ficar na sala
}

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, 'destino')) then
		selfSay('Posso escolher seu destino?', cid)
		talkState[talkUser] = 1
	elseif ((msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) and talkState[talkUser] == 1) then
		local rand = math.random(1, 2)
		local pos = (rand == 1 and config.pos1 or config.pos2)
		doTeleportThing(cid, pos)
		addEvent(function() doTeleportThing(cid, config.templo) end, config.tempo * 60 * 1000)
		talkState[talkUser] = 0
	end
	return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())  
Link para o comentário
Compartilhar em outros sites

  • 0

Bom galera do tk vir atrás do npc basicamente assim. Ao player fala com o npc, esse npc escolherá uma sala aleatoriamente para o player(sala 1 ou sala 2). O player ficará nessa sala por 2 minutos. Ao acaba o templo o player que fica nas duas sala será teleportado por templo. Esse npc tem hora e dia pra fala com ele.

 

Pra quem n entendeu vou explica assim.

 

Player= hi

Npc= ola [nome do player], o que vc quer?

Player= destino

Npc= vc quer que eu escolha o seu destino.

Player= Yes

 

ao o npc escolhe aleatoriamente sala 1 ou sala 2. Aí o player passará 2 minutos nessa duas sala ao acaba o templo será teleportado por templo.

Qual a versão do servidor?

Link para o comentário
Compartilhar em outros sites

  • 0

 

Tenta assim:

local config = {	pos1 = {x = 1000, y = 550, z = 7},	pos2 = {x = 1002, y = 553, z = 7},	templo = {x = 160, y = 54, z = 7},	tempo = 2 -- minutos para ficar na sala}local keywordHandler = KeywordHandler:new()local npcHandler = NpcHandler:new(keywordHandler)NpcSystem.parseParameters(npcHandler)local talkState = {}function onCreatureAppear(cid)            npcHandler:onCreatureAppear(cid)        endfunction onCreatureDisappear(cid)        npcHandler:onCreatureDisappear(cid)        endfunction onCreatureSay(cid, type, msg)        npcHandler:onCreatureSay(cid, type, msg)    endfunction onThink()                npcHandler:onThink()                endfunction 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, 'destino')) then		selfSay('Posso escolher seu destino?', cid)		talkState[talkUser] = 1	elseif ((msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) and talkState[talkUser] == 1) then		local rand = math.random(1, 2)		local pos = (rand == 1 and config.pos1 or config.pos2)		doTeleportThing(cid, pos)		addEvent(function() doTeleportThing(cid, config.templo) end, config.tempo * 60 * 1000)		talkState[talkUser] = 0	end	return trueendnpcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)npcHandler:addModule(FocusModule:new())
obrigado ficou com queria.
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...