Ir para conteúdo
  • 0

Alavancas que voltão para esquerda Com 5min


Gandour

Pergunta

Bom galera estou com um problema estou com um script de alavancas de uma quest só que depois que vc puxa todas elas e abre a pedra elas não voltão com determinado tempo, queria edita esse script pra dps que puxa a ultima alavanca e abri a pedra as alavancas volta-se para esquerda com 5 min.

 

 

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

{x = 46, y = 51, z = 6},

{x = 70, y = 7, z = 8},

{x = 78, y = 59, z = 8},

{x = 65, y = 83, z = 8},

{x = 117, y = 69, z = 8},

{x = 130, y = 92, z = 8},

{x = 153, y = 63, z = 8},

}

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

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

{x = 32, y = 61, z = 6},

}

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 o final da quest!"

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 = "A passagem para o final da quest 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

Editado por Gandour
Link para o comentário
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...