Tente assim:
Vá em data/actions/actions.xml e adicione a tag:
<action actionid="2135" event="script" value="doorItem.lua"/>Agora em data/actions/scripts crie um arquivo chamado doorItem.lua com o seguinte conteúdo:
local itemid = 2354 -- id do item
function onUse(cid, item, frompos, item2, topos)
local bp = getPlayerSlotItem(cid, CONST_SLOT_BACKPACK)
local item = getItemsInContainerById(bp.uid, itemid)
if #item > 0 then
doTransformItem(item.uid, item.itemid + 1)
local playerpos = getPlayerPosition(cid)
local doorpos = {x = frompos.x, y = frompos.y, z = frompos.z, stackpos = 253}
if playerpos.y == doorpos.y + 1 and playerpos.x == doorpos.x then
doMoveCreature(cid, 0)
elseif playerpos.x == doorpos.x - 1 and playerpos.y == doorpos.y then
doMoveCreature(cid, 1)
elseif playerpos.y == doorpos.y - 1 and playerpos.x == doorpos.x then
doMoveCreature(cid, 2)
elseif playerpos.y == doorpos.y and playerpos.x == doorpos.x + 1 then
doMoveCreature(cid, 3)
elseif playerpos.x == doorpos.x + 1 and playerpos.y == doorpos.y - 1 then
doMoveCreature(cid, 4)
elseif playerpos.x == doorpos.x - 1 and playerpos.y == doorpos.y - 1 then
doMoveCreature(cid, 5)
elseif playerpos.x == doorpos.x + 1 and playerpos.y == doorpos.y + 1 then
doMoveCreature(cid, 6)
elseif playerpos.x == doorpos.x - 1 and playerpos.y == doorpos.y + 1 then
doMoveCreature(cid, 7)
end
return true
else
doPlayerSendTextMessage(cid, 22, 'Voce precisa ter um ' .. getItemName(itemid) .. ' em sua backpack para entrar.')
end
return true
end
Agora basta colocar a action 2135 (ou outra que você configurou) na porta.




info
Grupo: Campones
Registrado: 13/06/15
Posts: 47
Reputação: +3
Olá estou precisando de um script para uma porta, que só pode passar se tiver x item na bp do player