Postado Dezembro 27, 2016 8 anos Autor funcionou, porem agr a parede n volta, alguem ? local uniqueids = {8049, 8050} local passwords = { ["deus do mal e do caos"] = {doorpos = {x = 16740, y = 16431, z = 7}, doorid = 5128, blackboardpos = {x = 16740, y = 16432, z = 7}, blackboardid = 1818, uniqueid = 8049, doorclosetime = 2}, ["TK"] = {doorpos = {x = 1000, y = 1000, z = 7}, doorid = 1213, blackboardpos = {x = 1000, y = 1000, z = 7}, blackboardid = 1811, uniqueid = 8050, doorclosetime = 10} } function onTextEdit(cid, item, newText) local x = passwords[newText] local function onCloseDoor() if(getTileItemById(x.doorpos,x.doorid+1).uid) > 0 then doTransformItem(getTileItemById(x.doorpos,x.doorid+1).uid, x.doorid) doSendMagicEffect(x.doorpos, CONST_ME_MAGIC_RED) end end for _, check in pairs(uniqueids) do if item.uid == check then if x and item.uid == x.uniqueid then if(getTileItemById(x.doorpos,x.doorid).uid) > 0 then doTransformItem(getTileItemById(x.doorpos,x.doorid).uid, x.doorid + 1) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_GREEN) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'Sua Senha "'..newText..'" esta correta, voce pode entrar.') addEvent(onCloseDoor,x.doorclosetime*1000) doRemoveItem(item.uid, 1) local blackboard = doCreateItem(x.blackboardid,1,x.blackboardpos) doItemSetAttribute(blackboard, "uid", x.uniqueid) else doRemoveItem(item.uid, 1) local blackboard = doCreateItem(x.blackboardid,1,x.blackboardpos) doItemSetAttribute(blackboard, "uid", x.uniqueid) doPlayerSendCancel(cid, 'A porta ja esta aberta, feche-a ou espera ela se fechar.') end else doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) doPlayerSendCancel(cid, 'Sua senha "'..newText..'" esta incorreta.') end end end return true end
Postado Dezembro 27, 2016 8 anos Mostrar conteúdo oculto local uniqueids = {8049, 8050} local passwords = { ["deus do mal e do caos"] = {doorpos = {x = 16740, y = 16431, z = 7}, doorid = 5128, blackboardpos = {x = 16740, y = 16432, z = 7}, blackboardid = 1818, uniqueid = 8049, doorclosetime = 2}, ["TK"] = {doorpos = {x = 1000, y = 1000, z = 7}, doorid = 1213, blackboardpos = {x = 1000, y = 1000, z = 7}, blackboardid = 1811, uniqueid = 8050, doorclosetime = 10} } function onTextEdit(cid, item, newText) local x = passwords[newText] local function onCloseDoor(x) if(getTileItemById(x.doorpos,x.doorid+1).uid) > 0 then doTransformItem(getTileItemById(x.doorpos,x.doorid+1).uid, x.doorid) doSendMagicEffect(x.doorpos, CONST_ME_MAGIC_RED) end end for _, check in pairs(uniqueids) do if item.uid == check then if x and item.uid == x.uniqueid then if(getTileItemById(x.doorpos,x.doorid).uid) > 0 then doTransformItem(getTileItemById(x.doorpos,x.doorid).uid, x.doorid + 1) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_GREEN) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'Sua Senha "'..newText..'" esta correta, voce pode entrar.') addEvent(onCloseDoor,x.doorclosetime*1000,x) doRemoveItem(item.uid, 1) local blackboard = doCreateItem(x.blackboardid,1,x.blackboardpos) if blackboard then doItemSetAttribute(blackboard, "uid", x.uniqueid) end else doRemoveItem(item.uid, 1) local blackboard = doCreateItem(x.blackboardid,1,x.blackboardpos) if blackboard then doItemSetAttribute(blackboard, "uid", x.uniqueid) end doPlayerSendCancel(cid, 'A porta ja esta aberta, feche-a ou espera ela se fechar.') end else doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) doPlayerSendCancel(cid, 'Sua senha "'..newText..'" esta incorreta.') end end end return true end Limpei um pouco seu script. Não precisa do for ali, já que você vai fazer a verificação do texto e do unique depois, mas você quem sabe nessa parte. Haha Editado Dezembro 28, 2016 8 anos por Redseb9 (veja o histórico de edições)
Postado Dezembro 27, 2016 8 anos Autor Em 27/12/2016 em 23:23, Redseb9 disse: Mostrar conteúdo oculto Mostrar conteúdo oculto local passwords = { ["deus do mal e do caos"] = {doorpos = {x = 16740, y = 16431, z = 7}, doorid = 5128, blackboardpos = {x = 16740, y = 16432, z = 7}, blackboardid = 1818, uniqueid = 8049, doorclosetime = 2}, ["TK"] = {doorpos = {x = 1000, y = 1000, z = 7}, doorid = 1213, blackboardpos = {x = 1000, y = 1000, z = 7}, blackboardid = 1811, uniqueid = 8050, doorclosetime = 10} } function onTextEdit(cid, item, newText) local x = passwords[newText] local function onCloseDoor() if(getTileItemById(x.doorpos,x.doorid+1).uid) > 0 then doTransformItem(getTileItemById(x.doorpos,x.doorid+1).uid, x.doorid) doSendMagicEffect(x.doorpos, CONST_ME_MAGIC_RED) end end if x and item.uid == x.uniqueid then if(getTileItemById(x.doorpos,x.doorid).uid) > 0 then doTransformItem(getTileItemById(x.doorpos,x.doorid).uid, x.doorid + 1) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_GREEN) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'Sua Senha "'..newText..'" esta correta, voce pode entrar.') addEvent(onCloseDoor,x.doorclosetime*1000) doRemoveItem(item.uid, 1) local blackboard = doCreateItem(x.blackboardid,1,x.blackboardpos) if blackboard then doItemSetAttribute(blackboard, "uid", x.uniqueid) end else doRemoveItem(item.uid, 1) local blackboard = doCreateItem(x.blackboardid,1,x.blackboardpos) if blackboard then doItemSetAttribute(blackboard, "uid", x.uniqueid) end doPlayerSendCancel(cid, 'A porta ja esta aberta, feche-a ou espera ela se fechar.') end else doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) doPlayerSendCancel(cid, 'Sua senha "'..newText..'" esta incorreta.') end return true end Limpei um pouco seu script. Não precisa do for ali, já que você vai fazer a verificação do texto e do unique depois, mas você quem sabe nessa parte. Haha a parede nao volta, tem como ver isso pra mim?
Postado Dezembro 27, 2016 8 anos Em 27/12/2016 em 23:31, Luzetti disse: a parede nao volta, tem como ver isso pra mim? Modifiquei o post para você ver se funciona. Desculpe, não conheço as funções do 0.x muito bem.
Postado Dezembro 27, 2016 8 anos Autor Em 27/12/2016 em 23:37, Redseb9 disse: Modifiquei o post para você ver se funciona. Desculpe, não conheço as funções do 0.x muito bem. agr a senha que ta no .lua, aparece que ta errada, copiei ela do arquivo e fala q ta errada
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.