Ir para conteúdo
  • 0

Script jogo das almofadinhas !!


rogex joyz

Pergunta

Preciso do script deste ''jogo'' que há no global (na dreams challenge quest/addon brotherhood e nightmare). Ele consiste basicamente em o player pisar nos quadrados (circulado em azul) para mover a linha de almofadinhas correspondentes, seja na horizontal ou vertical. O objetivo é deixar elas na mesma formação que mostra um pouco a cima delas (fiz 4 quadrados grandes indicando onde as almofadas devem ficar, cada quadrado com sua cor), para liberar o teleporte marcado em vermelho. (Enquanto elas não tiver alinhadas corretamente o teleporte fica inutilizavel). Resumindo tudo, o objetivo é deixar as almofadinhas igual a imagem 2 para liberar o telporte e continuar a quest. Uso tfs 0.4 8.6. (Não precisa de storage, no caso se um player fizer a ordem delas toda, outro jogador pode ''roubar'' o teleporte dele e as almofadinhas voltariam a ficar bagunçadas no mesmo instante.)

 

pillow.png

pillow2.jpg

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 2

Eu fiz esse script para meu servidor, mas como foi especifico para mim ele não tem o algorítimo para embaralhar as almofadas.

esse código é referente somente ao jogo das cores. 

PS. lembre-se de fazer as devidas alterações no script para suas exigências. 


function onStepIn(cid, item, pos, fPos)
local tabela  = {}
	if(item.actionid == 6301)then -- tiles do oeste
		-- carrega os dados do jogo
		pos.x = pos.x+1
		for x = 1,6 do
		local piece = getThingFromPos({x=pos.x+x,y=pos.y,z=pos.z,stackpos=1})
			if(piece and piece.uid > 0)then 
				tabela[x] = piece.itemid 
				doRemoveItem(piece.uid,1)
			end
		end
		-- modifica as posições
		local piece = tabela[6]
		table.remove(tabela,6)
		table.insert(tabela,1,piece)
		-- atualiza in-game os dados
		for _,piece in ipairs(tabela) do
			pos.x = pos.x+1
			doCreateItem(piece, 1, pos)
		end
	elseif(item.actionid == 6302)then -- tiles do norte
		-- carrega os dados do jogo
		pos.y = pos.y+1
		for y = 1,6 do
		local piece = getThingFromPos({x=pos.x,y=pos.y+y,z=pos.z,stackpos=1})
			if(piece and piece.uid > 0)then 
				tabela[y] = piece.itemid 
				doRemoveItem(piece.uid,1)
			end
		end
		-- modifica as posições
		local piece = tabela[6]
		table.remove(tabela,6)
		table.insert(tabela,1,piece)
		-- atualiza in-game os dados
		for _,piece in ipairs(tabela) do
			pos.y = pos.y+1
			doCreateItem(piece, 1, pos)
		end
	end
	return false
end

 

Esse código se refere ao porta, mas ele não tem o algoritmo para embaralhar as cores.
PS. não adicione ao teleporte pelo mapa editor uma posição para teleportar o player, o script faz isso. Lembre-se de fazer as devidas alterações no script para suas exigências.


	local items,pass = {1686,1687,1688,1689},true
		for X = 1,6 do
			for Y = 1,6 do
			local item = 0
			if(X < 4 and Y < 4)then
				item = items[1]
			elseif(X < 4 and Y > 3)then
				item = items[2]
			elseif(X > 3 and Y < 4)then
				item = items[3]
			elseif(X > 3 and Y > 3)then
				item = items[4]
			end
			local piece = getTileItemById({x=32817+X,y=32333+Y,z=9},item)
			if not(piece.itemid == 0)then pass = false end
			end
		end
		if(pass)then	doTeleportThing(cid,{x=32750,y=32345,z=14}) end

 

Link para o comentário
Compartilhar em outros sites

  • 0
7 horas atrás, rogex joyz disse:

seria otimo para o sistema do joguinho de almofadas

uma forma fácil de fazer isso seria randomizando a tabela contendo os ids do item na disposição correta.

-- dreamsTab seria a tabela contendo os valores na disposição correta.
-- randomTab seria uma outra tabela limpa para inserir os valores randomizados.
local lenDreamsTab = #dreamsTab -- usei variavel devido a possiveis incremento ou decremento de conteudo.
while #dreamsTab > 0 do
local random = math.random(1,lenDreamsTab) -- você pode deixar de usar a variavel e por no local o valor de conteudos da tabela dreamsTab
	table.insert(randomTab,dreamsTab[random])
	table.remove(dreamsTab,random)
end

ai é só tu percorrer a tabela colocando os items nas posições randomizadas.

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...