Ir para conteúdo

Featured Replies

Postado

Boa noite seus lindos :wow:

 

Eu to aqui montando meu servidor e me deparei com uma coisa que eu nem sei fazer por ser mapper.

Scripts e sprites eu tou ferrado, ai eu recorro voces, mas meu mapa ta iradooo.

 

O caso eh o seguinte, eu preciso de um The Oracle que teleporte a vocation escolhida para um respectivo local ...

O cara vai la, escolhe por exemplo sorcerer, logo apos fala que ele sera teleportado para o local dos sorcerer e ele diz yes

Mesma coisa com Knight, ele escolhe ser Knight no the Oracle e o npc fala que ele sera movido para o Quartel dos Knights ...

Eu tentei mesclar umas scripts que faziam isso mas deu merda, nao sei mesmo, se tiver como me ajudar, vai ser bem legal ...

 

Oq pega tambem que ele tem que ganhar a vocation e ser teleportado na mesma hora, pq pode ocorrer dele escolher uma vocacao e ficar na ilha, ele tem que falar a vocation e ja ser teleportado para o local respectivo da sua vocation ... Amo voces! VlW!!

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

  • Respostas 5
  • Visualizações 366
  • Created
  • Última resposta

Top Posters In This Topic

Postado
  • Autor
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

local vocation = {}
local town = {}
local destination = {}

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

local function greetCallback(cid)
	local level = getPlayerLevel(cid)
	if level < 8 then
		npcHandler:say("CHILD! COME BACK WHEN YOU HAVE GROWN UP!", cid)
		return false
	elseif level > 8 then
		npcHandler:say(getCreatureName(cid) .. ", I CAN'T LET YOU LEAVE - YOU ARE TOO STRONG ALREADY! YOU CAN ONLY LEAVE WITH LEVEL 8 OR LOWER.", cid)
		return false
	elseif getPlayerVocation(cid) > 0 then
		npcHandler:say("YOU ALREADY HAVE A VOCATION!", cid)
		return false
	end
	return true
end

local function creatureSayCallback(cid, type, msg)
	if not npcHandler:isFocused(cid) then
		return false
	elseif msgcontains(msg, "yes") and npcHandler.topic[cid] == 0 then
		npcHandler:say("Your initial destination {Kaytan Island}, you will become stronger.", cid)
		npcHandler.topic[cid] = 1
	elseif npcHandler.topic[cid] == 1 then
		if msgcontains(msg, "kaytan island") then
			town[cid] = 2
			destination[cid] = {x = 159, y = 387, z = 6}
			npcHandler:say("You have to choose your vocation.: {KNIGHT}, {PALADIN}, {SORCERER}, OR {DRUID}?", cid)
			npcHandler.topic[cid] = 2
		else
			npcHandler:say("What you want?", cid)
		end
	elseif npcHandler.topic[cid] == 2 then
		if msgcontains(msg, "sorcerer") then
			npcHandler:say("A SORCERER! ARE YOU SURE? THIS DECISION IS IRREVERSIBLE!", cid)
			npcHandler.topic[cid] = 3
			vocation[cid] = 1
		elseif msgcontains(msg, "druid") then
			npcHandler:say("A DRUID! ARE YOU SURE? THIS DECISION IS IRREVERSIBLE!", cid)
			npcHandler.topic[cid] = 3
			vocation[cid] = 2
		elseif msgcontains(msg, "paladin") then
			npcHandler:say("A PALADIN! ARE YOU SURE? THIS DECISION IS IRREVERSIBLE!", cid)
			npcHandler.topic[cid] = 3
			vocation[cid] = 3
		elseif msgcontains(msg, "knight") then
			npcHandler:say("A KNIGHT! ARE YOU SURE? THIS DECISION IS IRREVERSIBLE!", cid)
			npcHandler.topic[cid] = 3
			vocation[cid] = 4
		else
			npcHandler:say("{KNIGHT}, {PALADIN}, {SORCERER}, OR {DRUID}?", cid)
		end
	elseif npcHandler.topic[cid] == 3 then
		if msgcontains(msg, "yes") then
			npcHandler:say("SO BE IT!", cid)
			doPlayerSetVocation(cid, vocation[cid])
			doPlayerSetTown(cid, town[cid])
			local destination = destination[cid]
			npcHandler:releaseFocus(cid)
			doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
			doTeleportThing(cid, destination)
			doSendMagicEffect(destination, CONST_ME_TELEPORT)
		else
			npcHandler:say("THEN WHAT? {KNIGHT}, {PALADIN}, {SORCERER}, OR {DRUID}?", cid)
			npcHandler.topic[cid] = 2
		end
	end
	return true
end

local function onAddFocus(cid)
	town[cid] = 0
	vocation[cid] = 0
	destination[cid] = 0
end

local function onReleaseFocus(cid)
	town[cid] = nil
	vocation[cid] = nil
	destination[cid] = nil
end

npcHandler:setCallback(CALLBACK_ONADDFOCUS, onAddFocus)
npcHandler:setCallback(CALLBACK_ONRELEASEFOCUS, onReleaseFocus)

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

Aquela parte ali na qual fala Kaytan Island que eu queria que nao existisse, e que fosse substutuida por uma nova coordenada de acordo com a vocation que o jogador escolher na hora.

  •  
     

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