Ir para conteúdo
  • Cadastre-se

(Resolvido)Bug de Alavanca com tempo!


Ir para solução Resolvido por Cerberus,

Posts Recomendados

Olá pessoal, estava atrás de um Script de Alavanca que fizesse uma pedra sumir e depois de um tempo ela voltasse. Procurei em vários locais e encontrei alguns Scripts, porém todos tinham algum bug, fiz algumas modificações mas permaneceu um bug no qual aparece um Alavanca no local onde a pedra deveria aparecer. O Script é esse:

 

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

piece1pos = {x=3905, y=3369, z=10, stackpos=1}
getpiece1 = getThingfromPos(piece1pos)
if item.uid == 60307 and item.itemid == 1945 and getpiece1.itemid == 1353 then
doRemoveItem(getpiece1.uid,1)
doTransformItem(item.uid,item.itemid+1)
addEvent(doCreateItem, 2*60*1000, item.itemid, piece1pos)
elseif item.uid == 1353 and item.itemid == 1946 then
doCreateItem(1353,1,piece1pos)
doTransformItem(item.uid,item.itemid-1)
addEvent(doCreateItem, 2*60*1000, item.itemid, piece1pos)
else
doPlayerSendTextMessage(cid,22,"Sorry, not possible.")
end
return 1
end
 
Ficarei muito grato se alguém poder me ajudar.
Editado por jonathangm15 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Teste assim:

Coloque a ID da Pedra no "local rock = xxxx", substitua os "xxxx" pela id e teste.

local piece1pos = {x=3905, y=3369, z=10, stackpos=1}
local rock = xxxx -- id da pedra

        function onUse(cid, item, fromPosition, itemEx, toPosition)
local getpiece1 = getThingfromPos(piece1pos)
    if item.uid == 60307 and item.itemid == 1945 and getpiece1.itemid == 1353 then
        doRemoveItem(getpiece1.uid,1)
        doTransformItem(item.uid,item.itemid+1)
        addEvent(doCreateItem, 2*60*1000, rock, piece1pos)
    elseif item.uid == 1353 and item.itemid == 1946 then
        doCreateItem(1353,1,piece1pos)
        doTransformItem(item.uid,item.itemid-1)
        addEvent(doCreateItem, 2*60*1000, rock, piece1pos)
    else
        doPlayerSendTextMessage(cid,22,"Sorry, not possible.")
    end
return true
end

Boa sorte.

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

Link para o post
Compartilhar em outros sites
  • Solução
local config = {
   pos = {x=3905, y=3369, z=10},
   stoneid = 1353,
   time = 60 -- 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("Sua msg", 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, "The stone is already gone.")
     end
     return true
end

tirei seu unique id do script pq e so encheção de linguiça nao serve muito pois Unique e unique como nome diz e 1 unico numero que não se repete

mais se quiser por ele ta ae. so add isso no script meu acima.

if item.uid == 60307 and (stone > 0) then

Tag 

<action uniqueid="60307" event="script" value="pedra.lua"/>
Editado por kbpaulo (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Obrigado Adriano SwaTT e Kbpaulo deu certinho aqui, desculpe pelo erro ViitinG, pois este foi meu primeiro tópico e não sabia qual seria a área certa. +Rep pra vocês pessoal e obrigado novamente pela ajuda![

Link para o post
Compartilhar em outros sites

Bom dia.

Que bom que funcionou.

Faça bom aproveito do script.

Obs: Escolha um dos dois scripts e clique em "Melhor Resposta" para acusar como Tópico Resolvido.

 

E é claro, seja bem-vindo ao fórum.

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

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo