Ir para conteúdo

Featured Replies

Postado

Olá pessoal tudo bem? estou fazendo um Otserver 7.72 voltado ao RPG, totalmente Oldschool. 

A distro que estou usando é "The OTX Server Version: (2.X.S - 4)"

Estou tentando implementar a seguinte função no meu código: "alavanca por tempo".

Meu código faz diversas funções, como por exemplo: o player clica em uma pedra, e essa pedra remove 4 pedras em outro lugar, cria uma alavanca em baixo das pedras que foram removidas, e depois com tempo de 10 segundos remove a alavanca criada e aparecem as 4 pedras removidas no lugar novamente. 

Até ai está tudo perfeito, mas se o player clicar várias vezes seguidas na pedra que executa essas funções, da um bug e não funciona mais. 

Eu precisava que o player clica-se na pedra, e tivesse que esperar um certo tempo para poder clicar novamente nessa pedra (que é uma espécie de "alavanca").

No caso espera-se 10 ou 15 segundos, para poder clicar novamente na pedra e ela funcionar...

Assim funcionária tudo perfeito.. espero que alguém possa me ajudar... é isso galera tamo junto!!!

 

Meu código:

 

local time = 10
local tempo = 10

local lever_pos = {x = 2730, y = 2672, z = 7, stackpos=1}

local r1_pos = {x=2731, y=2673, z=7, stackpos=1}
local r2_pos = {x=2730, y=2673, z=7, stackpos=1}
local r3_pos = {x=2730, y=2672, z=7, stackpos=1}
local r4_pos = {x=2731, y=2672, z=7, stackpos=1}

function onUse(cid, item, frompos, item2, topos)


local playerTile1 = {x=2731, y=2673, z=7}
local playerTile2 = {x=2730, y=2673, z=7}
local playerTile3 = {x=2730, y=2672, z=7}
local playerTile4 = {x=2731, y=2672, z=7}

local new = {x = 2732, y = 2672, z = 7}

getrock1 = getThingfromPos(r1_pos)
getrock2 = getThingfromPos(r2_pos)
getrock3 = getThingfromPos(r3_pos)
getrock4 = getThingfromPos(r4_pos)


    local lever = getThingfromPos(lever_pos)


    if item.uid == 60115 and item.itemid == 1304 then
 

        doRemoveItem(getrock1.uid,1303)
        doRemoveItem(getrock2.uid,1302)
        doRemoveItem(getrock3.uid,1300)
        doRemoveItem(getrock4.uid,1301)

        doSendMagicEffect(r1_pos, 2)
        doSendMagicEffect(r2_pos, 2)
        doSendMagicEffect(r3_pos, 2)
        doSendMagicEffect(r4_pos, 2)

        local lever = doCreateItem(1945, 1, lever_pos)
        doItemSetAttribute(lever, "uid", 60114)
        addEvent(function()
            if isCreature(getTopCreature(playerTile3).uid) then
            doTeleportThing(getTopCreature(playerTile3).uid, {x = 2732, y = 2672, z = 7})
            doSendMagicEffect(new, 10)
        end
            local lever = getThingfromPos(lever_pos)
            if lever then
                doRemoveItem(lever.uid, 1945)
            end
        end, time * 980)

        addEvent(function()
            if isCreature(getTopCreature(playerTile1).uid) then
            doTeleportThing(getTopCreature(playerTile1).uid, {x = 2732, y = 2673, z = 7})
        end
            local r1 = doCreateItem(1303, 1, r1_pos)
        doItemSetAttribute(r1, "aid", 60109)
        end, tempo * 1000)

        addEvent(function()
            if isCreature(getTopCreature(playerTile2).uid) then
            doTeleportThing(getTopCreature(playerTile2).uid, {x = 2732, y = 2673, z = 7})
        end
            local r2 = doCreateItem(1302, 1, r2_pos)
        doItemSetAttribute(r2, "aid", 60109)
        end, tempo * 1000)

        addEvent(function()
            if isCreature(getTopCreature(playerTile3).uid) then
            doTeleportThing(getTopCreature(playerTile3).uid, {x = 2732, y = 2672, z = 7})
        end
            local r3 = doCreateItem(1300, 1, r3_pos)
        doItemSetAttribute(r3, "aid", 60109)
        end, tempo * 1000)

        addEvent(function()
            if isCreature(getTopCreature(playerTile4).uid) then
            doTeleportThing(getTopCreature(playerTile4).uid, {x = 2732, y = 2672, z = 7})
        end
            local r4 = doCreateItem(1301, 1, r4_pos)
        doItemSetAttribute(r4, "aid", 60109)
        end, tempo * 1000)

    end

    return true
end

 

  

 

 

 

 

 

 

 

Citar

 

 

Você tem o código disponível? Se tiver publique-o aqui: 


 

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 

 

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

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.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 520.2k

Informação Importante

Confirmação de Termo