Ernstjan
Active Member
woot nice script keep up ur awesome scripting limos! I might actually use this for donate castles or what so ever
That doesn't matter, you can add it anywhere after the password is correct.
You could set player storage after correct password and put a tile there to check storage to keep players out
-- Passwords to doors by Limos
local uniqueids = {8050, 8051}
local passwords = {
["immortalis"] = {doorpos = {x = 953, y = 1016, z = 7}, doorid = 9165, blackboardpos = {x = 953, y = 1017, z = 7}, blackboardid = 1815, uniqueid = 8050, doorclosetime = 3},
["stars"] = {doorpos = {x = 1000, y = 1000, z = 7}, doorid = 1213, blackboardpos = {x = 1000, y = 1000, z = 7}, blackboardid = 1811, uniqueid = 8051, doorclosetime = 3}
}
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, 'La contrasena ingresada "'..newText..'" es correcta, tienes 3 segundos para ingresar.')
addEvent(onCloseDoor,x.doorclosetime*1000)
doTeleportThing(cid, x.doorpos)
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, 'La puerta se encuentra abierta, ingresa rapido o espera a que se cierre.')
end
else
doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
doPlayerSendCancel(cid, 'La contrasena ingresada "'..newText..'" es incorrecta.')
end
end
end
return true
end