Ir para conteúdo
  • Cadastre-se

(Resolvido)Reparo em script porta para reset


Ir para solução Resolvido por Vodkart,

Posts Recomendados

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?

Link para o post
Compartilhar em outros sites
  • 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

 

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