- Fórum
- OTServ
- Recursos
- Scripting
- Globalevents e Spells
- Colocando senha nas portas
LA
creatureevent
Colocando senha nas portas
Por larissaots, 29 de mai. de 2015 em Globalevents e Spells
otserv
tibia
script
1
1.3k
Por larissaots, 29 de mai. de 2015 em Globalevents e Spells
info
Grupo: Banidos
Registrado: 07/04/13
Posts: 648
Reputação: +163
Créditos a Limos.
Objetivo
Esse script se baseia em poder colocar senha em uma porta. Após a porta se abrir, depois de determinado tempo, ela se fechará novamente e só pode abri-lá com a senha.
Prévias
Tutorial
Em data/creaturescripts/creaturescripts.xml adicione essa tag:
Em data/creaturescripts/scripts/login.lua adicione esta tag no final do script:
Em data/creaturescripts/scripts/senhaporta.lua adicione isto:
local uniqueids = {8049, 8050} local passwords = { ["xTibia"] = {doorpos = {x = 163, y = 36, z = 7}, doorid = 6257, blackboardpos = {x = 162, y = 36, z = 7}, blackboardid = 1811, uniqueid = 8049, doorclosetime = 10}, ["XT"] = {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 endComo configurar
local uniqueids = {8049, 8050}
["xTibia] = {doorpos = {x = 163, y = 36, z = 7}, doorid = 6257, blackboardpos = {x = 162, y = 36, z = 7}, blackboardid = 1811, uniqueid = 8049, doorclosetime = 10},
["XT] = {doorpos = {x = 1000, y = 1000, z = 7}, doorid = 1213, blackboardpos = {x = 1000, y = 1000, z = 7}, blackboardid = 1811, uniqueid = 8050, doorclosetime = 10}
}
UniqueID que será colocado na placa que bota a senha.
Senha que bota na placa para abrir a porta.
Posição da porta.
ID da porta.
Posição da placa que bota a senha.
ID da placa que bota a senha.
Tempo para fechar a porta.