Postado Novembro 1, 2018 6 anos 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?
Postado Novembro 1, 2018 6 anos @The Ripper Você quer que a porta volte ao normal depois de um tempo? Qual sua distro?
Postado Novembro 1, 2018 6 anos 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 [*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*] DISCORD: vodkart#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.