Ir para conteúdo
  • 0

Script de remover pedra por tempo


brendoonh

Pergunta

Boa Tarde xTibianos...

 

Estou precisando de um script que ao puxar a alavanca(9825), uma pedra seja removida por 120 segundos e uma mensagem seria enviada so pra quem puxou a alavanca..

 

 

Agradeço desde já!!!

 

REP+

Editado por brendoonh
Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0


function onUse(cid, item, fromPosition, itemEx, toPosition)

piece1pos = {x=623, y=377, z=8, stackpos=1}

local tempo = 2*60*1000 -- tempo para pedra voltar

getpiece1 = getThingfromPos(piece1pos)

if item.uid == 8107 and item.itemid == 9827 and getpiece1.itemid == 8518 then

doRemoveItem(getpiece1.uid,1)

doTransformItem(item.uid,item.itemid+1)

doPlayerSendTextMessage(cid,22,"acho que ouvi um barulho, uma passagem deve ter se aberto.")

addEvent(doCreateItem, tempo, 8518, piece1pos)

addEvent(doTransformItem, tempo, item.uid,9827)

elseif item.uid == 8107 and item.itemid == 9828 then

doTransformItem(item.uid,item.itemid-1)

addEvent(doCreateItem, 2*60*1000, item.itemid, piece1pos)

else

doPlayerSendTextMessage(cid,22,"Não é possivel realizar esta ação.")

end

return 1

end

if item.uid == 8107 >> Unique Id da Alavanca

item.itemid == 9827 >> ID da alavanca

getpiece1.itemid == 8518 then >> ID da pedra que vai ser removida

addEvent(doCreateItem, tempo, 8518, piece1pos) >> neste local você deve colocar novamente o ID da pedra q vai ser criada novamente depois de X tempo

piece1pos = {x=623, y=377, z=8, stackpos=1} >>> Posição da pedra

local tempo = 2*60*1000 -- tempo para parede voltar, neste caso, 2 minutos

addEvent(doTransformItem, tempo, item.uid,9827) << aqui você coloca novamente o id da alavanca q voltara para a posição original depois do tempo configurado.

 

Editado por Kissy
Link para o comentário
Compartilhar em outros sites

  • 0
function onUse(cid, item, fromPosition, itemEx, toPosition)
piece1pos = {x=623, y=377, z=8, stackpos=1}
local tempo = 2*60*1000 -- tempo para pedra voltar
getpiece1 = getThingfromPos(piece1pos)
if item.uid == 8107 and item.itemid == 9827 and getpiece1.itemid == 8518 then
doRemoveItem(getpiece1.uid,1)
doTransformItem(item.uid,item.itemid+1)
doPlayerSendTextMessage(cid,22,"acho que ouvi um barulho, uma passagem deve ter se aberto.")
addEvent(doCreateItem, tempo, 8518, piece1pos)
addEvent(doTransformItem, tempo, item.uid,9827)
elseif item.uid == 8107 and item.itemid == 9828 then
doTransformItem(item.uid,item.itemid-1)
addEvent(doCreateItem, 2*60*1000, item.itemid, piece1pos)
else
doPlayerSendTextMessage(cid,22,"Não é possivel realizar esta ação.")
end
return 1
end

if item.uid == 8107 >> Unique Id da Alavanca

item.itemid == 9827 >> ID da alavanca

getpiece1.itemid == 8518 then >> ID da pedra que vai ser removida

addEvent(doCreateItem, tempo, 8518, piece1pos) >> neste local você deve colocar novamente o ID da pedra q vai ser criada novamente depois de X tempo

piece1pos = {x=623, y=377, z=8, stackpos=1} >>> Posição da pedra

local tempo = 2*60*1000 -- tempo para parede voltar, neste caso, 2 minutos

addEvent(doTransformItem, tempo, item.uid,9827) << aqui você coloca novamente o id da alavanca q voltara para a posição original depois do tempo configurado.

 

Boa noite, tentei aqui com a tal alavanca que mencionei no topico, mais n consegui, tentei por a famosa alavanca de id (1945 ) e msm assim nao consegui, sempre aparece a mensagem:

"19:06 Não é possivel realizar esta ação"

 

Teria como você so alterar essa script? Ela funciona, mas, quando alguem puxa a alavanca aparece a msg para todos no jogo, teria como ajeitar e aparecer so pra qm puxou??

local config = {
   pos = {x=174, y=116, z=12},
   stoneid = 1353,
   time = 30 -- time in seconds to remove the stone
}


function onUse(cid, item, fromPosition, itemEx, toPosition)
     local stone = getTileItemById(config.pos,config.stoneid).uid
     if(stone > 0) then
       doRemoveItem(stone,1)
  broadcastMessage("A pedra foi removida.", MESSAGE_STATUS_CONSOLE_RED)
       doSendMagicEffect(config.pos, CONST_ME_MAGIC_RED)
       addEvent(doCreateItem, config.time * 1000, config.stoneid, 1, config.pos)
       doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)
     else
       doPlayerSendCancel(cid, "A pedra ja foi removida, aguarde 30 segundos para abrir novamente.")
     end
     return true
end
Editado por brendoonh
Link para o comentário
Compartilhar em outros sites

  • 0

 

Boa noite

local config = {
   pos = {x=174, y=116, z=12},
   stoneid = 1353,
   time = 30 -- time in seconds to remove the stone
}


function onUse(cid, item, fromPosition, itemEx, toPosition)
     local stone = getTileItemById(config.pos,config.stoneid).uid
     if(stone > 0) then
       doRemoveItem(stone,1)
  doPlayerSendTextMessage(cid,22,"A pedra foi removida")
       doSendMagicEffect(config.pos, CONST_ME_MAGIC_RED)
       addEvent(doCreateItem, config.time * 1000, config.stoneid, 1, config.pos)
       doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)
     else
       doPlayerSendCancel(cid, "A pedra ja foi removida, aguarde 30 segundos para abrir novamente.")
     end
     return true
end
Editado por Kissy
Link para o comentário
Compartilhar em outros sites

  • 0
local config = {
   pos = {x=174, y=116, z=12},
   stoneid = 1353,
   time = 30 -- time in seconds to remove the stone
}


function onUse(cid, item, fromPosition, itemEx, toPosition)
     local stone = getTileItemById(config.pos,config.stoneid).uid
     if(stone > 0) then
       doRemoveItem(stone,1)
  doPlayerSendTextMessage(cid,22,"A pedra foi removida")
       doSendMagicEffect(config.pos, CONST_ME_MAGIC_RED)
       addEvent(doCreateItem, config.time * 1000, config.stoneid, 1, config.pos)
       doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)
     else
       doPlayerSendCancel(cid, "A pedra ja foi removida, aguarde 30 segundos para abrir novamente.")
     end
     return true
end

Muito Obrigado!

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...