Ir para conteúdo
  • Cadastre-se

(Resolvido)Script 3 tiles teleport


Ir para solução Resolvido por Crypter,

Posts Recomendados

Diga em poucas palavras a base utilizada (Nome do servidor ou nome do website).

0.3.6

Boa noite, eu queria muito um script onde o player teria que colocar 3 itens em 3 tiles alinhados para liberar o uso da alavanca,

eu tenho um script parecido, porém ele só serve para 1 item e eu não sei adapta-ló.

help, rep++

 

Meu script. porém so conta 1 item, queria 3

local config = {

	 posicao   = { x = 1168, y = 731, z = 13}, -- Posição em que o player deve estar no altar 
	 item      = {2140, { x = 1295, y = 719, z = 13} }, -- { id_do_item / posi onde deve colocar o item }
	 teleporte = {1387, { x = 1209, y = 818, z = 13}, { x = 1850, y = 481, z = 12} }, -- { id do Teleporte / onde será criado o teleporte / onde irá teleportar }
	 tempo     = 5000 -- Tempo para que o teleporte desapareça
}

function removeTP()
	doRemoveItem(getTileItemById(config.teleporte[2], config.teleporte[1]).uid)
end

function onUse(cid, item, fromPosition, itemEx, toPosition)
	
	local pId      = getTopCreature(config.posicao).uid
	local posiItem = getTileItemById(config.item[2], config.item[1])
	
	if ( pId == 0 or not isPlayer(pId) ) then
	doPlayerSendCancel(cid, "Posição invalida!")
	return true
	elseif ( posiItem.uid == 0 ) then
		doPlayerSendCancel(cid, "Este item nao e valido!")
		return true
	end
	
	doCreateTeleport(config.teleporte[1], config.teleporte[3], config.teleporte[2])
	doRemoveItem(posiItem.uid)
	
	doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)
	
	
	addEvent(removeTP, config.tempo)
	
	return true	
end 

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.

Link para o post
Compartilhar em outros sites
local config = {
	posicao = { x = 1168, y = 731, z = 13}, -- Posição em que o player deve estar no altar 
	item = {{2175,{x=1298, y=720, z=13}},{2455,{x=1292, y=719, z=13}},{2140,{x=1295, y=719, z=13}}},   -- id do item e pos
	teleporte = {1387, { x = 1209, y = 818, z = 13}, { x = 1850, y = 481, z = 12} }, -- { id do Teleporte / onde será criado o teleporte / onde irá teleportar }
	tempo = 5000 -- Tempo para que o teleporte desapareça
}
function removeTP()
	local t = getTileItemById(config.teleporte[2], config.teleporte[1]).uid
	return t > 0 and doRemoveItem(t) and doSendMagicEffect(config.teleporte[2], CONST_ME_POFF)
end
function onUse(cid, item, fromPosition, itemEx, toPosition)
	local items = {}	
	local pId = getTopCreature(config.posicao).uid
	if pId == 0 or not isPlayer(pId) then
		doPlayerSendCancel(cid, "Posição invalida!") return true
	end
	for _, k in ipairs(config.item) do
		local v = getTileItemById(k[2], k[1])
		if v.uid == 0 then
			doPlayerSendCancel(cid, "Todos os itens precisão estar na posição.") return true
		end
		table.insert(items, v)
	end
	for _, remove in ipairs(items) do
		doRemoveItem(remove.uid)
	end
	doCreateTeleport(config.teleporte[1], config.teleporte[3], config.teleporte[2])
	doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)
	addEvent(removeTP, config.tempo)
	return true	
end

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

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

testa ai 

local config = {

	 posicao   = { x = 1168, y = 731, z = 13}, -- Posição em que o player deve estar no altar 
	 need      = { {item=2140,p={ x = 1295, y = 719, z = 13}},{item=2140,p={ x = 1296, y = 719, z = 13}},{item=2140,p={ x = 1297, y = 719, z = 13}},{item=2140,p={ x = 1295, y = 719, z = 13}} }, 
	 teleporte = {1387, { x = 1209, y = 818, z = 13}, { x = 1850, y = 481, z = 12} }, -- { id do Teleporte / onde será criado o teleporte / onde irá teleportar }
	 tempo     = 5000 -- Tempo para que o teleporte desapareça
}

function removeTP()
	doRemoveItem(getTileItemById(config.teleporte[2], config.teleporte[1]).uid)
end

function onUse(cid, item, fromPosition, itemEx, toPosition)	
	local pId      = getTopCreature(config.posicao).uid
	if ( pId == 0 or not isPlayer(pId) ) then
		return true and doPlayerSendCancel(cid, "You need to stay on the correct floor.")
	end
	local items_check = {}
	for p, v in pairs(config.need) do
		local posiItem = getTileItemById(v.item, v.p)
		if posiItem ~= 0 then
			table.insert(items_check,posiItem.uid)
		end
	end
	if not #items_check == #config.need then
		return true and doPlayerSendCancel(cid, "You need to put all items on the floors.")
	end
	for p, v in pairs(items_check) do
		if v then
			doRemoveItem(v)
		end
	end
	doCreateTeleport(config.teleporte[1], config.teleporte[3], config.teleporte[2])
	doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)
	addEvent(removeTP, config.tempo)	
	return true	
end

 

 

Te ajudei ?? Que tal fazer uma contribuição ?

Doar

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo