Visite este TÓPICO
info
Grupo: Lorde
Registrado: 22/07/12
Posts: 2.2k
Reputação: +453
Char no Tibia: Kissy

Visite este TÓPICO
Obrigado pela ajuda, mais o meu script seria um pouco diferente...
Queria como mencionei no topico.
info
Grupo: Lorde
Registrado: 22/07/12
Posts: 2.2k
Reputação: +453
Char no Tibia: Kissy

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 Outubro 14 por Kissy
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 endif 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 Outubro 14 por brendoonh
info
Grupo: Lorde
Registrado: 22/07/12
Posts: 2.2k
Reputação: +453
Char no Tibia: Kissy

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 Outubro 14 por Kissy
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!
info
Grupo: Lorde
Registrado: 22/07/12
Posts: 2.2k
Reputação: +453
Char no Tibia: Kissy

Movido para resolvidos.
Tópico Movido
Este tópico foi movido de "OTServ → Suporte OTServ → Suporte Scripting"
para "OTServ → Suporte OTServ → Suporte Scripting → Pedidos e dúvidas resolvidos - Scripting".


info
Grupo: Visconde
Registrado: 04/01/14
Posts: 320
Reputação: +15
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 Outubro 14 por brendoonh