Ir para conteúdo

Featured Replies

Postado

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...

Resolvido por Adriano SwaTT

Ir para solução
Postado
  • 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.

 

cbCyOSZ.png

Postado
  • 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  :wow:  (y)

Valeu Adriano!!

 

porem desde o inicio dos testes o tile não afundou...não entendi pq... quando está sem action ele afunda :(

Editado por Prizzee (veja o histórico de edições)

Postado

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 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.

 

cbCyOSZ.png

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo