Postado Setembro 28, 2014 10 anos Fala ai galera, tava precisando de uma ajuda não sou muito bom em scripts, alguém poderia me ajudar? Queria um script que ao player pressionar um tile (aqueles tiles pressionáveis de Depot) sumisse uma pedra em um lugar, a pedra só ficara sumida se o player continuar encima do tile...
Postado Setembro 29, 2014 10 anos Solução Bom, crie o respectivo piso com a actionID normalmente e registre a ação em movements.xml. O script lua segue abaixo: local idpedra = XXXX -- ID da pedra local pos = {x=000, y=000, z=0} -- Coordenada da pedra local msg_remover = "Pedra removida com sucesso." -- Mensagem ao remover a pedra local msg_repor = "Pedra adicionada novamente." -- Mensagem ao repor a pedra function onStepIn(cid, item, position, item2, fromPosition) local check = getTileItemById(pos, idpedra).uid if check > 0 then doRemoveItem(check, 1) doPlayerSendTextMessage(cid, 4, msg_remover) else doPlayerSendCancel(cid, "A pedra já foi removida.") end return true end function onStepOut(cid, item, position, item2, fromPosition) local check = getTileItemById(pos, idpedra).uid if check < 1 then doCreateItem(idpedra, 1, pos) doPlayerSendCancel(cid, msg_repor) end return true end Não testei, poste o resultado para que possamos resolver possíveis bugs juntos. Boa sorte. Gosta do meu trabalho? Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs. Atenciosamente,Adriano Swatt' Para ver meus tutoriais acesse meu perfil.
Postado Setembro 29, 2014 10 anos Autor Resultado inicial a pedra não sumia adicionei um stackpos no script e a pedra passou a sumir mas não reaparecia. local idpedra = 8538 -- ID da pedra local pos = {x=1335, y=1379, z=11, stackpos=1} -- Coordenada da pedra o movements.xml tava assim: <movevent event="StepIn" actionid="8000" script="tilepress1.lua"/> depois resolvi adicionar um StepOut: <movevent event="StepIn" actionid="8000" script="tilepress1.lua"/> <movevent event="StepOut" actionid="8000" script="tilepress1.lua"/> após isso a pedra passou a reaparecer Valeu Adriano!! porem desde o inicio dos testes o tile não afundou...não entendi pq... quando está sem action ele afunda Editado Setembro 29, 2014 10 anos por Prizzee (veja o histórico de edições)
Postado Outubro 6, 2014 10 anos Exatamente, precisa por StepIn e StepOut em movements. Enfim, sobre o piso não afundar e voltar ao original, creio que seja o return true para que o script padrão do item aja naturalmente. Teste assim: local idpedra = XXXX -- ID da pedra local pos = {x=000, y=000, z=0, stackpos=1} -- Coordenada da pedra local msg_remover = "Pedra removida com sucesso." -- Mensagem ao remover a pedra local msg_repor = "Pedra adicionada novamente." -- Mensagem ao repor a pedra function onStepIn(cid, item, position, item2, fromPosition) local check = getTileItemById(pos, idpedra).uid if check > 0 then doRemoveItem(check, 1) doPlayerSendTextMessage(cid, 4, msg_remover) return true else doPlayerSendCancel(cid, "A pedra já foi removida.") end return true end function onStepOut(cid, item, position, item2, fromPosition) local check = getTileItemById(pos, idpedra).uid if check < 1 then doCreateItem(idpedra, 1, pos) doPlayerSendCancel(cid, msg_repor) return true end return true end Boa sorte. Caso não funcione posso fazer para que o próprio script faça esta função. Basta me avisar. Editado Outubro 6, 2014 10 anos por Adriano SwaTT (veja o histórico de edições) Gosta do meu trabalho? Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs. Atenciosamente,Adriano Swatt' Para ver meus tutoriais acesse meu perfil.
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.