Ir para conteúdo

Featured Replies

Postado

Ai galera é o seguinte: eu tenho um script de porta só pra quem tem determinada quantidade de resets. Porem tem uma função do script que faz a porta bugar caso o player clique duas vezes estando no meio dela. Segue o script:

Spoiler

function getResets(cid)

local check = db.getResult("SELECT `reset` FROM `players` WHERE `id`= "..getPlayerGUID(cid))

return check:getDataInt("reset") <= 0 and 0 or check:getDataInt("reset") end

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

local reset_need = 5

if getResets(cid) < reset_need then

return doPlayerSendTextMessage(cid, 22, "Voce precisa de " .. reset_need .. " resets ou mais para entrar.")

end

doTransformItem(item.uid, item.itemid +1)

doTeleportThing(cid, topos, TRUE)

return true

end

No caso, essa função: doTransformItem(item.uid, item.itemid +1) transforma o id da porta no próximo id que será da porta aberta. Por exemplo: ID da porta fechada: 9179. ID da porta aberta 9180. Mas se o player clicar novamente com a porta aberta o ID vai para 9181 bugando a passagem. Alguém poderia por gentileza dar uma reparada nesse script para que não aconteça isso?

Resolvido por Vodkart

Ir para solução
Postado
  • Solução
function getResets(cid)
  local check = db.getResult("SELECT `reset` FROM `players` WHERE `id`= "..getPlayerGUID(cid))
  return check:getDataInt("reset") <= 0 and 0 or check:getDataInt("reset")
end
function onUse(cid, item, frompos, item2, topos)
  local reset_need = 5
  if getResets(cid) < reset_need then
    return doPlayerSendTextMessage(cid, 22, "Voce precisa de " .. reset_need .. " resets ou mais para entrar.")
  end
  pos = getPlayerPosition(cid)
  if pos.x == topos.x then
    if pos.y < topos.y then
      pos.y = topos.y + 1
    else
      pos.y = topos.y - 1
    end
  elseif pos.y == topos.y then
    if pos.x < topos.x then
      pos.x = topos.x + 1
    else
      pos.x = topos.x - 1
    end
  else
    doPlayerSendTextMessage(cid,22,"Fique na frente da porta.")
    return true
  end
  doTeleportThing(cid,pos)
  doSendMagicEffect(topos,12)
  return true
end

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

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