Ir para conteúdo
  • 0

Completar Um Script


Pergunta

com base nesse script

 

 

local leversPositions = { -- tabela com posições de todas as alavancas

{x = 1172, y = 1143, z = 6},

{x = 1, y = 1, z = 1},

{x = 1, y = 1, z = 1},

{x = 1, y = 1, z = 1},

{x = 1, y = 1, z = 1},

{x = 1, y = 1, z = 1},

{x = 1, y = 1, z = 1},

}

local wallId = 1113 -- id da parede que vai ser criada/removida

local wallPositions = { -- tabela com posições de todas as paredes a serem criadas/removidas

{x = 1, y = 1, z = 1},

}

local MOSTRAR_MSG = true -- true/false, se true informa ao player quantas alavancas faltam pro caminho ser aberto

local ABRIR_CAMINHO_QUANDO_ID = 1946 -- abre o caminho quando todas as levers estiverem com id 1946 (direita)

local EFFECT_AO_REMOVER_PAREDE = CONST_ME_POFF -- efeito que aparece nas paredes ao remover elas

local EFFECT_AO_CRIAR_PAREDE = CONST_ME_POFF -- efeito que aparece nas paredes ao serem recriadas

local EFFECT_AO_PUXAR_ALAVANCA_PARA_O_LADO_CERTO = CONST_ME_MAGIC_BLUE -- efeito que aparece no player ao puxar a alavanca pro lado que abre o caminho

 

function onUse(cid, item, frompos, item2, topos)

 

local right, left, newId = 0, 0, item.itemid == 1945 and 1946 or 1945

doTransformItem(item.uid, newId)

local isTryingToOpen = newId == ABRIR_CAMINHO_QUANDO_ID

 

for _, lPos in pairs (leversPositions) do

local lever = getTileItemById(lPos, 1945).uid

if lever > 1 then left = left + 1 end

lever = getTileItemById(lPos, 1946).uid

if lever > 1 then right = right + 1 end

end

 

local check = ABRIR_CAMINHO_QUANDO_ID == 1946 and right or left

local openPath = check == #leversPositions

 

if isTryingToOpen and MOSTRAR_MSG then

local returnMsg = "Você puxou uma alavanca para abrir um caminho secreto!"

local m = #leversPositions - check ~= 1 and "m" or ""

local s = #leversPositions - check ~= 1 and "s" or ""

returnMsg = returnMsg.." Agora falta"..m.." "..(#leversPositions - check).." alavanca"..s.." para abrir o caminho."

if #leversPositions - check == 0 then

returnMsg = "O caminho secreto foi aberto!"

end

doPlayerSendTextMessage(cid, 27, returnMsg)

doSendMagicEffect(getThingPos(cid), EFFECT_AO_PUXAR_ALAVANCA_PARA_O_LADO_CERTO)

end

 

 

for _, wPos in pairs (wallPositions) do

local wall = getTileItemById(wPos, wallId).uid

if openPath and wall > 1 then doRemoveItem(wall) doSendMagicEffect(wPos, EFFECT_AO_REMOVER_PAREDE)

elseif not openPath and wall <= 1 then doCreateItem(wallId, 1, wPos) doSendMagicEffect(wPos, EFFECT_AO_CRIAR_PAREDE)

end

end

 

return true

end

 

ele fuciona assim: tem 7 alavancas ai o player tem que bota um item em cima de um balcão ei clica na alavanca ai some uma parede abrindo um caminho.

 

blz queria que ficasse assim 8 alavancas podendo escolher o item de cada uma e ao clicar na alavanca o item sumir e abri a parede la que da caiminho na passagem secreta. se o item n tiver em cima do balcao vai abri uma msg "vc tem que por o item acima do balcão"

 

 

valendo rep ^^

Link para o comentário
https://xtibia.com/forum/topic/194837-completar-um-script/
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...