Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado
  • Este é um post popular.

Eai pessoal, vim trazer hoje um sistema de passagem secreta que um amigo viu no Baiak-wars. Não sei qual server é esse e eu não jogo tibia então pra mim tanto faz mas ele gravou um vídeo, pediu um igual e obviamente eu não fiz um igual porque o sistema dos caras era muito ruim uhauheuhauheuhauheuhuhauhe
Enfim, comecei um script do 0 pra fazer exatamente oque ele queria e foi isso daqui que eu consegui:

Explicação: Você clica em algum item escondido pelo mapa e abre uma passagem secreta que vai durar X segundos (configurável), após esse tempo a passagem se fecha; Note que nessas imagens ele não tá escondido já que tem uma FUCKING ARVORE NO MEIO DE UM DESERTO mas você pode colocar uma tocha em cima de uma parede e colocar o actionid na tocha pra ativar e vai ficar super foda e com muito rpg ;D

Ué, mas oque tem de diferente dos outros scripts?
Bem, ele é super fácil de configurar e ele dá a sensação de que o item foi arrastado :]


Bom, se isso não foi o bastante pra você entender então observe essas fotinhas 

 

Spoiler

KnTK55U.jpg

 

 

Spoiler

BRLjxQr.jpg



Tendo entendido tudo vamos à parte mais legal da coisa (SCRIPTAR!!!!)

Você vai precisar criar um arquivo em actions\scripts chamado hidden.lua com o seguinte conteúdo:

 

local positions = {
	[1] = {pos = {x=139, y=77, z=7}, id = 1718},
	[2] = {pos = {x=140, y=77, z=7}, id = 1718},
	[3] = {pos = {x=139, y=76, z=7}, id = 6855, toid = 6884},
	[4] = {pos = {x=140, y=76, z=7}, id = 6855, toid = 6884},
}

local createpos = {
	[1] = {pos = {x=138, y=77, z=7}, id = 1718},
	[2] = {pos = {x=141, y=77, z=7}, id = 1718}
}

local tempo = 5

function onUse(cid, item, frompos, item2, topos)
	if getTileItemById(positions[1].pos, positions[1].id).uid < 100 then
		doPlayerSendCancel(cid, "Is already open.")
	return true
	end

	doCreatureSay(cid, "You have ".. tempo .." seconds.", 19)
	function criar_paredes()
		for i = 1, #positions do
			if i <= (#positions/2) then
				doCreateItem(positions[i].id, 1, positions[i].pos)
				local obst = getTileItemById(createpos[i].pos, createpos[i].id).uid
				doSendMagicEffect(createpos[i].pos, 2)
				doRemoveItem(obst, 1)			
			elseif i > (#positions/2) then
				local obst = getTileItemById(positions[i].pos, positions[i].toid).uid
				doTransformItem(obst, positions[i].id)
			end
		end
		return true
	end

	for i = 1, #positions do
		local obst = getTileItemById(positions[i].pos, positions[i].id).uid
		if i <= (#positions/2) and obst ~= 0 then
			doRemoveItem(obst, 1)
			doSendMagicEffect(positions[i].pos, 2)
			doCreateItem(createpos[i].id, 1, createpos[i].pos)
		elseif i > (#positions/2) and obst ~=0 then
			doTransformItem(obst, positions[i].toid)
		end
	end
	addEvent(criar_paredes, tempo*1000)
	return true
end

Feito isso vc vai precisar declarar no actions.xml a forma que você quer utilizar o script

<action actionid="27004" script="hidden.lua"/>

note que vc pode colocar algum itemid, actionid ou uniqueid de sua escolhe, só lembre de mudar no map editor dependendo da forma que vc escolher.


Agora eu vou ensinar vocês a configurarem o meu monstrinho *-*
 

Quote
local tempo = 5

 

aqui você tem o tempo que a passagem vai ficar aberta
 

Quote
local positions = {
[1] = {pos = {x=139, y=77, z=7}, id = 1718},
[2] = {pos = {x=140, y=77, z=7}, id = 1718},
[3] = {pos = {x=139, y=76, z=7}, id = 6855, toid = 6884},
[4] = {pos = {x=140, y=76, z=7}, id = 6855, toid = 6884},
}

local createpos = {
[1] = {pos = {x=138, y=77, z=7}, id = 1718},
[2] = {pos = {x=141, y=77, z=7}, id = 1718}
}

 

aqui você vai editar o seguinte: na primeira são as posições dos itens e seus respectivos id's

 

Quote
local positions = {
[1] = {pos = {x=139, y=77, z=7}, id = 1718},
[2] = {pos = {x=140, y=77, z=7}, id = 1718},  

 

posição das duas prateleiras e seus id's
 

Quote
[3] = {pos = {x=139, y=76, z=7}, id = 6855, toid = 6884},
[4] = {pos = {x=140, y=76, z=7}, id = 6855, toid = 6884},

 

posição das paredes, id dela e pra qual id ela vai ser transformada.

 

Quote
local createpos = {
[1] = {pos = {x=138, y=77, z=7}, id = 1718},
[2] = {pos = {x=141, y=77, z=7}, id = 1718}
}

 

aqui você tem as posições que sua prateleira vai se mover e os id's dela.

Lembrando que você pode se sentir livre pra adicionar oque vc quiser e deixar do seu gosto, só lembrando que se vc quiser adicionar mais items ou diminuir itens é só alterar nas duas tabelas seguindo a mesma lógica. Metade pra prateleira, metade pra parede e uma tabela pra fazer as prateleiras se moverem.


Os créditos são 60% meus e 40% do @MaXwEllDeN por ter me dado um norte no começo do script.
Qualquer coisa comenta aí e dá aquele rep+ pra ajudar ;]
 

Editado por xWhiteWolf
melhora do código e identação. (veja o histórico de edições)

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

  • Respostas 47
  • Visualizações 6.6k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Qual o bug? Você tem que construir uma área parecida com aquela do mapa (2 paredes em cima e 2 obstáculos embaixo com espaço pra se moverem pelo menos 1 sqm pros lados) e colocar todas as posições e i

  • @Kamii, haha fico feliz que você tenha gostado e agradeço o elogio mas não posso levar todo o crédito.. a maioria das coisas que eu faço são pedidos de membros que por sua vez pegaram a ideia de outro

Postado

Nem posso testar o sistema no momento, pois estou procurando um TFS bom para o meu projeto, mas curtu demais o sistema. :)

Concerteza isso estará em meu OT.

 

REP+

Conlheça o projeto:

QtzGx2h.png

Postado
  • Autor

Qual o bug? Você tem que construir uma área parecida com aquela do mapa (2 paredes em cima e 2 obstáculos embaixo com espaço pra se moverem pelo menos 1 sqm pros lados) e colocar todas as posições e id's dos itens que você utilizou

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

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