Ir para conteúdo
  • Cadastre-se

(Resolvido)[PEDIDO] Sistema de RookGuard


Ir para solução Resolvido por Danihcv,

Posts Recomendados

Galera,tô criando um server bem RPG e eu queria um sistema de RookGuard!

Tipo no tibia global.

Link para o post
Compartilhar em outros sites

Tipo, uma area pra iniciantes?

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

Então vamo lá. Cria (ou escolhe) uma area no seu mapa pra ser a area de iniciantes.
Coloque caves, npc's, o que vc quiser.
Agora basta criar um npc (ou um globalevent, ou um movement, sei la) que cheque o level do player.

Diz como seria a verificação do level do player (tipo, se seria um npc, um tile, do nada, etc) que eu vejo o que posso fazer.

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

Então vamo lá. Cria (ou escolhe) uma area no seu mapa pra ser a area de iniciantes.

Coloque caves, npc's, o que vc quiser.

Agora basta criar um npc (ou um globalevent, ou um movement, sei la) que cheque o level do player.

Diz como seria a verificação do level do player (tipo, se seria um npc, um tile, do nada, etc) que eu vejo o que posso fazer.

 

De preferencia um NPC

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

Ok. Bora lá:
Vai na pasta data/npc e cria um arquivo chamado The Oracle X.xml e coloca isso dentro:

<?xml version="1.0"?>
<npc name="The Oracle X" script="data/npc/scripts/the oracle x.lua" walkinterval="0">
	<health now="100" max="100"/>
	<look typeex="1448"/>
</npc>

Agora vai na pasta data/npc/script e cria um arquivo chamado the oracle x.lua e coloca isso dentro:

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


--------------------------
----PARTE CONFIGURAVEL----
--------------------------
local level = 8 --Level minimo necessário pra poder sair
local cidade = 20 --ID da cidade
local cidadePos = {x=32091,y=32027,z=7} --Posição do piso que o player será teleportado
local msgLB = "CHILD! COME BACK WHEN YOU HAVE GROWN UP!" --Mensagem que o npc diz pro player de level baixo
local msgNT = "Vai na paz!" --Mensagem que o npc diz ao teleportar o player
local msgWL = "Welcome to real life." --Mensagem que aparece no meio da tela ao player ser teleportado
---------------------------------
----FIM DA PARTE CONFIGURAVEL----
---------------------------------


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 greetCallback(cid)
	if(getPlayerLevel(cid) < level) then
		npcHandler:say(msgLB, cid)
		return false
	else
		return true
	end
end
 
function creatureSayCallback(cid, type, msg)
	if(not npcHandler:isFocused(cid)) then
		return false
	elseif msgcontains(msg, "yes") then
		npcHandler:say(msgNT, cid)
			doPlayerSetTown(cid, cidade)
			npcHandler:releaseFocus(cid)
			doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
			doTeleportThing(cid, cidadePos)
			doSendMagicEffect(cidadePos, CONST_ME_TELEPORT)
			doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, msgWL)
		else
			npcHandler:unGreet(cid)
		end
	return TRUE
end

-------------------------------------
-----PARTE EDITAVEL DE MENSAGENS-----
-------------------------------------
npcHandler:setMessage(MESSAGE_GREET, "|PLAYERNAME|, ARE YOU PREPARED TO FACE YOUR DESTINY?")
npcHandler:setMessage(MESSAGE_WALKAWAY, "COME BACK WHEN YOU ARE PREPARED TO FACE YOUR DESTINY!")
npcHandler:setMessage(MESSAGE_FAREWELL, "COME BACK WHEN YOU ARE PREPARED TO FACE YOUR DESTINY!")
-------------------------------
-----FIM DA PARTE EDITAVEL-----
-------------------------------

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




Obs: Observe as partes configuraveis destacadas e as configure.

Se ajudei, REP+ pf ^^

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

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

Ok. Bora lá:

Vai na pasta data/npc e cria um arquivo chamado The Oracle X.xml e coloca isso dentro:

<?xml version="1.0"?>
<npc name="The Oracle X" script="data/npc/scripts/the oracle x.lua" walkinterval="0">
	<health now="100" max="100"/>
	<look typeex="1448"/>
</npc>

Agora vai na pasta data/npc/script e cria um arquivo chamado the oracle x.lua e coloca isso dentro:

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


--------------------------
----PARTE CONFIGURAVEL----
--------------------------
local level = 8 --Level minimo necessário pra poder sair
local cidade = 20 --ID da cidade
local cidadePos = {x=32091,y=32027,z=7} --Posição do piso que o player será teleportado
local msgLB = "CHILD! COME BACK WHEN YOU HAVE GROWN UP!" --Mensagem que o npc diz pro player de level baixo
local msgNT = "Vai na paz!" --Mensagem que o npc diz ao teleportar o player
local msgWL = "Welcome to real life." --Mensagem que aparece no meio da tela ao player ser teleportado
---------------------------------
----FIM DA PARTE CONFIGURAVEL----
---------------------------------


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 greetCallback(cid)
	if(getPlayerLevel(cid) < level) then
		npcHandler:say(msgLB, cid)
		return false
	else
		return true
	end
end
 
function creatureSayCallback(cid, type, msg)
	if(not npcHandler:isFocused(cid)) then
		return false
	elseif msgcontains(msg, "yes") then
		npcHandler:say(msgNT, cid)
			doPlayerSetTown(cid, cidade)
			npcHandler:releaseFocus(cid)
			doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
			doTeleportThing(cid, cidadePos)
			doSendMagicEffect(cidadePos, CONST_ME_TELEPORT)
			doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, msgWL)
		else
			npcHandler:unGreet(cid)
		end
	return TRUE
end

-------------------------------------
-----PARTE EDITAVEL DE MENSAGENS-----
-------------------------------------
npcHandler:setMessage(MESSAGE_GREET, "|PLAYERNAME|, ARE YOU PREPARED TO FACE YOUR DESTINY?")
npcHandler:setMessage(MESSAGE_WALKAWAY, "COME BACK WHEN YOU ARE PREPARED TO FACE YOUR DESTINY!")
npcHandler:setMessage(MESSAGE_FAREWELL, "COME BACK WHEN YOU ARE PREPARED TO FACE YOUR DESTINY!")
-------------------------------
-----FIM DA PARTE EDITAVEL-----
-------------------------------

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

Obs: Observe as partes configuraveis destacadas e as configure.

Se ajudei, REP+ pf ^^

 

A parte que fala do id da cidade, como eu pego o id ?

Link para o post
Compartilhar em outros sites

No seu editor de mapa. Por exemplo, no meu mapa, a cidade Thais tem o id 3, Carlin tem o id 2, etc.

 

@edit:

Se vc usa o RME, vá em:

Map -> Edit Towns

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

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

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