Ir para conteúdo
  • 0

Alavanca


xmaster0

Pergunta

Preciso de um script de uma alavanca que quando o player usar ela quebre uma pedra e a pedra e depois de 20 segundos a pedra voltar. quem me ajudar rep ++ o mes inteiro direto me ensinem a usar porfavor,, rep ++ o mes interio'

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

Em actions/scripts crie um arquivo.lua e cole isto dentro:

 

pedra = {x=1,y=1,z=1, stackpos = 1}  --- a posição da pedra // nao mexa no stackpos
idpedra = 1111  -- coloque o id da pedra
time = 20 -- tempo em segundos para a pedra aparecer

function onUse(cid, item, fromPosition, itemEx, toPosition)
doRemoveItem(getThingfromPos(pedra).uid, 1)
doPlayerSendTextMessage(cid, 18, "Você tem ".. time .." segundos para passar antes que a pedra volte!")
addEvent(createPedra, time*1000)
doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)
return true
end


function createPedra(pos)
pos = {x=1,y=1,z=1,stackpos=1} --- posicao da pedra
idpedra = 1111	   --- id da pedra
doCreateItem(idpedra, 1, pos)
end

 

O script é autoexplicativo, é só editar as posições e o id da pedra. Em actions.xml cole a tag: <action actionid="XXXX" script="NOMEDOSEUARQUIVO.lua"/>

Você deve trocar o XXXX pelo actionid da a alavanca que você colocou pelo seu map editor. Vlw, espero ter ajudado, abraços!</action>

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

  • 0

Devido a um outro pedido, eu incrementei o script, impedindo que usem a alavanca enquanto a pedra não estiver lá.

 

 

pedra = {x=1,y=1,z=1, stackpos = 1} --- a posição da pedra // nao mexa no stackpos
idpedra = 1111 -- coloque o id da pedra
time = 20 -- tempo em segundos para a pedra aparecer

local storage = 5931
local time_now = os.time()

function onUse(cid, item, fromPosition, itemEx, toPosition)
if getGlobalStorageValue(storage) - time_now >= 0 then
  doPlayerSendTextMessage(cid, 18, "A passagem já está liberada!")
else
  doRemoveItem(getThingfromPos(pedra).uid, 1)
  doPlayerSendTextMessage(cid, 18, "Você tem ".. time .." segundos para passar antes que a pedra volte!")
  addEvent(createPedra, time*1000)
  doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)
  setGlobalStorageValue(storage, time_now+time)
end
return true
end
function createPedra(pos)
pos = {x=1,y=1,z=1,stackpos=1} --- posicao da pedra
idpedra = 1111 --- id da pedra
doCreateItem(idpedra, 1, pos)
end

Link para o comentário
Compartilhar em outros sites

  • 0

Devido a um outro pedido, eu incrementei o script, impedindo que usem a alavanca enquanto a pedra não estiver lá.

 

 

pedra = {x=1,y=1,z=1, stackpos = 1} --- a posição da pedra // nao mexa no stackpos
idpedra = 1111 -- coloque o id da pedra
time = 20 -- tempo em segundos para a pedra aparecer

local storage = 5931
local time_now = os.time()

function onUse(cid, item, fromPosition, itemEx, toPosition)
if getGlobalStorageValue(storage) - time_now >= 0 then
  doPlayerSendTextMessage(cid, 18, "A passagem já está liberada!")
else
  doRemoveItem(getThingfromPos(pedra).uid, 1)
  doPlayerSendTextMessage(cid, 18, "Você tem ".. time .." segundos para passar antes que a pedra volte!")
  addEvent(createPedra, time*1000)
  doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)
  setGlobalStorageValue(storage, time_now+time)
end
return true
end
function createPedra(pos)
pos = {x=1,y=1,z=1,stackpos=1} --- posicao da pedra
idpedra = 1111 --- id da pedra
doCreateItem(idpedra, 1, pos)
end

 

Ei pow deu um bug quando o player clica na alavanca a pedra some.... mas depois que a pedra nasce denovo nao da pra clicar denovo na alavanca.... o que será???

Link para o comentário
Compartilhar em outros sites

  • 0

ok, tenta assim

pedra = {x=1,y=1,z=1, stackpos = 1} --- a posição da pedra // nao mexa no stackpos
idpedra = 1111 -- coloque o id da pedra
time = 20 -- tempo em segundos para a pedra aparecer
local storage = 5931
local time_now = os.time()
function onUse(cid, item, fromPosition, itemEx, toPosition)
if getGlobalStorageValue(storage) - time_now >= 0 then
  doPlayerSendTextMessage(cid, 18, "A passagem já está liberada!")
else
  doRemoveItem(getTileItemById(pedra, idpedra).uid, 1)
  doPlayerSendTextMessage(cid, 18, "Você tem ".. time .." segundos para passar antes que a pedra volte!")
  addEvent(createPedra, time*1000, pos, idpedra)
  doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)
  setGlobalStorageValue(storage, time_now+time)
end
return true
end
function createPedra(pos, id)
doCreateItem(id, 1, pos)
end

Link para o comentário
Compartilhar em outros sites

  • 0

ok, tenta assim

pedra = {x=1,y=1,z=1, stackpos = 1} --- a posição da pedra // nao mexa no stackpos
idpedra = 1111 -- coloque o id da pedra
time = 20 -- tempo em segundos para a pedra aparecer
local storage = 5931
local time_now = os.time()
function onUse(cid, item, fromPosition, itemEx, toPosition)
if getGlobalStorageValue(storage) - time_now >= 0 then
  doPlayerSendTextMessage(cid, 18, "A passagem já está liberada!")
else
  doRemoveItem(getTileItemById(pedra, idpedra).uid, 1)
  doPlayerSendTextMessage(cid, 18, "Você tem ".. time .." segundos para passar antes que a pedra volte!")
  addEvent(createPedra, time*1000, pos, idpedra)
  doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)
  setGlobalStorageValue(storage, time_now+time)
end
return true
end
function createPedra(pos, id)
doCreateItem(id, 1, pos)
end

 

ei pow a pedra nao voltou....

Link para o comentário
Compartilhar em outros sites

  • 0

vdd, desculpa, foi pq eu nao testei

 

ta aí

 

pedra = {x=1,y=1,z=1, stackpos = 1} --- a posição da pedra // nao mexa no stackpos
idpedra = 1111 -- coloque o id da pedra
time = 20 -- tempo em segundos para a pedra aparecer
local storage = 5931
local time_now = os.time()
function onUse(cid, item, fromPosition, itemEx, toPosition)
if getGlobalStorageValue(storage) - time_now >= 0 then
  doPlayerSendTextMessage(cid, 18, "A passagem já está liberada!")
else
  doRemoveItem(getTileItemById(pedra, idpedra).uid, 1)
  doPlayerSendTextMessage(cid, 18, "Você tem ".. time .." segundos para passar antes que a pedra volte!")
  addEvent(createPedra, time*1000, pedra, idpedra)
  doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)
  setGlobalStorageValue(storage, time_now+time)
end
return true
end
function createPedra(pos, id)
doCreateItem(id, 1, pos)
end

só configurar as 3 linahs de cima e pa

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...