posta o script da door ai que talvez eu consiga arruma
ate
info
Grupo: Conde
Registrado: 21/03/12
Posts: 651
Reputação: +89
Char no Tibia: Pussycat !

posta o script da door ai que talvez eu consiga arruma
ate
info
Grupo: Campones
Registrado: 11/06/07
Posts: 46
Reputação: 0
Char no Tibia: Eternal Brucy

segue o script aii:
local function doorEnter(cid, uid, id, position)doTransformItem(uid, id)
doTeleportThing(cid, position)
return true
end
function onUse(cid, item, fromPosition, itemEx, toPosition)
if(fromPosition.x ~= CONTAINER_POSITION and isPlayerPzLocked(cid) and getTileInfo(fromPosition).protection) then
doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
return true
end
local locked = DOORS[item.itemid]
if(locked) then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is locked.")
return true
end
local door = getItemInfo(item.itemid)
if(door.levelDoor > 0) then
if(item.aid == 189) then
if(not isPremium(cid)) then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
return true
end
return doorEnter(cid, item.uid, door.transformUseTo, toPosition)
end
local gender = item.aid - 186
if(isInArray({PLAYERSEX_FEMALE, PLAYERSEX_MALE}, gender)) then
if(gender ~= getPlayerSex(cid)) then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
return true
end
return doorEnter(cid, item.uid, door.transformUseTo, toPosition)
end
local skull = item.aid - 180
if(skull >= SKULL_NONE and skull <= SKULL_BLACK) then
if(skull ~= getCreatureSkullType(cid)) then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
return true
end
return doorEnter(cid, item.uid, door.transformUseTo, toPosition)
end
local group = item.aid - 150
if(group >= 0 and group < 30) then
if(group > getPlayerGroupId(cid)) then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
return true
end
return doorEnter(cid, item.uid, door.transformUseTo, toPosition)
end
local vocation = item.aid - 100
if(vocation >= 0 and vocation < 50) then
local vocationEx = getVocationInfo(getPlayerVocation(cid))
if(vocationEx.id ~= vocation and vocationEx.fromVocation ~= vocation) then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
return true
end
return doorEnter(cid, item.uid, door.transformUseTo, toPosition)
end
if(item.aid == 190 or (item.aid ~= 0 and getPlayerLevel(cid) >= (item.aid - door.levelDoor))) then
return doorEnter(cid, item.uid, door.transformUseTo, toPosition)
end
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
return true
end
if(door.specialDoor) then
if(item.aid == 100 or (item.aid ~= 0 and getCreatureStorage(cid, item.aid) > 0)) then
return doorEnter(cid, item.uid, door.transformUseTo, toPosition)
end
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The door seems to be sealed against unwanted intruders.")
return true
end
toPosition.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE
local fields, thing = getTileItemsByType(fromPosition, ITEM_TYPE_MAGICFIELD), getThingFromPosition(toPosition)
if(item.uid ~= thing.uid and thing.itemid >= 100 and table.maxn(fields) ~= 0) then
return true
end
local doorCreature = getThingFromPosition(toPosition)
if(doorCreature.itemid ~= 0) then
toPosition.x = toPosition.x + 1
local query = doTileQueryAdd(doorCreature.uid, toPosition, 20) -- allow to stack outside doors, but not on teleports or floor changing tiles
if(query == RETURNVALUE_NOTPOSSIBLE) then
toPosition.x = toPosition.x - 1
toPosition.y = toPosition.y + 1
query = doTileQueryAdd(doorCreature.uid, toPosition, 20) -- repeat until found
end
if(query ~= RETURNVALUE_NOERROR) then
doPlayerSendDefaultCancel(cid, query)
return true
end
doTeleportThing(doorCreature.uid, toPosition)
if(not door.closingDoor) then
doTransformItem(item.uid, door.transformUseTo)
end
return true
end
return false
end
info
Grupo: Conde
Registrado: 21/03/12
Posts: 651
Reputação: +89
Char no Tibia: Pussycat !

teste agr ai
acho que arrumei
local function doorEnter(cid, uid, id, position)doTransformItem(uid, id)
doTeleportThing(cid, position)
return true
end
function onUse(cid, item, fromPosition, itemEx, toPosition)
if(fromPosition.x ~= CONTAINER_POSITION and isPlayerPzLocked(cid) and getTileInfo(fromPosition).protection) then
doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
return true
end
locked = DOORS[item.itemid]
if(locked) then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is locked.")
return true
end
local door = getItemInfo(item.itemid)
if(door.levelDoor > 0) then
if(item.aid == 189) then
if(not isPremium(cid)) then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
return true
end
return doorEnter(cid, item.uid, door.transformUseTo, toPosition)
end
local gender = item.aid - 186
if(isInArray({PLAYERSEX_FEMALE, PLAYERSEX_MALE}, gender)) then
if(gender ~= getPlayerSex(cid)) then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
return true
end
return doorEnter(cid, item.uid, door.transformUseTo, toPosition)
end
local skull = item.aid - 180
if(skull >= SKULL_NONE and skull <= SKULL_BLACK) then
if(skull ~= getCreatureSkullType(cid)) then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
return true
end
return doorEnter(cid, item.uid, door.transformUseTo, toPosition)
end
local group = item.aid - 150
if(group >= 0 and group < 30) then
if(group > getPlayerGroupId(cid)) then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
return true
end
return doorEnter(cid, item.uid, door.transformUseTo, toPosition)
end
local vocation = item.aid - 100
if(vocation >= 0 and vocation < 50) then
local vocationEx = getVocationInfo(getPlayerVocation(cid))
if(vocationEx.id ~= vocation and vocationEx.fromVocation ~= vocation) then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
return true
end
return doorEnter(cid, item.uid, door.transformUseTo, toPosition)
end
if(item.aid == 190 or (item.aid ~= 0 and getPlayerLevel(cid) >= (item.aid - door.levelDoor))) then
return doorEnter(cid, item.uid, door.transformUseTo, toPosition)
end
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
return true
end
if(door.specialDoor) then
if(item.aid == 100 or (item.aid ~= 0 and getCreatureStorage(cid, item.aid) > 0)) then
return doorEnter(cid, item.uid, door.transformUseTo, toPosition)
end
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The door seems to be sealed against unwanted intruders.")
return true
end
toPosition.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE
local fields, thing = getTileItemsByType(fromPosition, ITEM_TYPE_MAGICFIELD), getThingFromPosition(toPosition)
if(item.uid ~= thing.uid and thing.itemid >= 100 and table.maxn(fields) ~= 0) then
return true
end
local doorCreature = getThingFromPosition(toPosition)
if(doorCreature.itemid ~= 0) then
toPosition.x = toPosition.x + 1
local query = doTileQueryAdd(doorCreature.uid, toPosition, 20) -- allow to stack outside doors, but not on teleports or floor changing tiles
if(query == RETURNVALUE_NOTPOSSIBLE) then
toPosition.x = toPosition.x - 1
toPosition.y = toPosition.y + 1
query = doTileQueryAdd(doorCreature.uid, toPosition, 20) -- repeat until found
end
if(query ~= RETURNVALUE_NOERROR) then
doPlayerSendDefaultCancel(cid, query)
return true
end
doTeleportThing(doorCreature.uid, toPosition)
if(not door.closingDoor) then
doTransformItem(item.uid, door.transformUseTo)
end
return true
end
return false
end
info
Grupo: Campones
Registrado: 11/06/07
Posts: 46
Reputação: 0
Char no Tibia: Eternal Brucy

ta dando o mesmo erro ainda maan... que merda, pior que eu ja peguei mais uns dois scripts de outros serves de door, e continua dando a mesma coisa
info
Grupo: Conde
Registrado: 21/03/12
Posts: 651
Reputação: +89
Char no Tibia: Pussycat !

teste este script que axei
local function checkStackpos(item, position)position.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE
local thing = getThingfromPos(position)
position.stackpos = STACKPOS_TOP_FIELD
local field = getThingfromPos(position)
if(item.uid ~= thing.uid and thing.itemid >= 100 or field.itemid ~= 0) then
return FALSE
end
return TRUE
end
function onUse(cid, item, fromPosition, itemEx, toPosition)
local nuevas = {
{closed=10269, open=10270},
{closed=10272, open=10273},
{closed=10274, open=10275},
{closed=10276, open=10277},
{closed=10278, open=10279},
{closed=10280, open=10281},
{closed=10282, open=10283},
{closed=10284, open=10285},
{closed=10469, open=10470},
{closed=10471, open=10472},
{closed=10473, open=10474},
{closed=10475, open=10476},
{closed=10478, open=10479},
{closed=10480, open=10481},
{closed=10482, open=10483},
{closed=10484, open=10485},
}
for ia = 1,#nuevas do
if (item.itemid == nuevas[ia].closed) then
doTransformItem(item.uid, nuevas[ia].open)
elseif (item.itemid == nuevas[ia].open) then
doTransformItem(item.uid, nuevas[ia].closed)
end
end
if(getItemLevelDoor(item.itemid) > 0) then
if(item.actionid > 0 and getPlayerLevel(cid) >= (item.actionid - getItemLevelDoor(item.itemid))) then
doTransformItem(item.uid, item.itemid + 1)
doTeleportThing(cid, toPosition, TRUE)
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
end
return TRUE
end
if(isInArray(specialDoors, item.itemid) == TRUE) then
if(item.actionid ~= 0 and getPlayerStorageValue(cid, item.actionid) ~= -1) then
doTransformItem(item.uid, item.itemid + 1)
doTeleportThing(cid, toPosition, TRUE)
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The door seems to be sealed against unwanted intruders.")
end
return TRUE
end
if(isInArray(keys, item.itemid) == TRUE) then
if(itemEx.actionid > 0) then
if(item.actionid == itemEx.actionid) then
if doors[itemEx.itemid] ~= nil then
doTransformItem(itemEx.uid, doors[itemEx.itemid])
return TRUE
end
end
doPlayerSendCancel(cid, "The key does not match.")
return TRUE
end
return FALSE
end
if(isInArray(horizontalOpenDoors, item.itemid) == TRUE and checkStackpos(item, fromPosition) == TRUE) then
local newPosition = toPosition
newPosition.y = newPosition.y + 1
local doorPosition = fromPosition
doorPosition.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE
local doorCreature = getThingfromPos(doorPosition)
if(doorCreature.itemid ~= 0) then
if(getTilePzInfo(doorPosition) == TRUE and getTilePzInfo(newPosition) == FALSE and doorCreature.uid ~= cid) then
doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
else
doTeleportThing(doorCreature.uid, newPosition, TRUE)
if(isInArray(closingDoors, item.itemid) ~= TRUE) then
doTransformItem(item.uid, item.itemid - 1)
end
end
return TRUE
end
doTransformItem(item.uid, item.itemid - 1)
return TRUE
end
if(isInArray(verticalOpenDoors, item.itemid) == TRUE and checkStackpos(item, fromPosition) == TRUE) then
local newPosition = toPosition
newPosition.x = newPosition.x + 1
local doorPosition = fromPosition
doorPosition.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE
local doorCreature = getThingfromPos(doorPosition)
if(doorCreature.itemid ~= 0) then
if(getTilePzInfo(doorPosition) == TRUE and getTilePzInfo(newPosition) == FALSE and doorCreature.uid ~= cid) then
doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
else
doTeleportThing(doorCreature.uid, newPosition, TRUE)
if(isInArray(closingDoors, item.itemid) ~= TRUE) then
doTransformItem(item.uid, item.itemid - 1)
end
end
return TRUE
end
doTransformItem(item.uid, item.itemid - 1)
return TRUE
end
if(doors[item.itemid] ~= nil and checkStackpos(item, fromPosition) == TRUE) then
if(item.actionid == 0) then
doTransformItem(item.uid, doors[item.itemid])
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is locked.")
end
return TRUE
end
return FALSE
end
espero ter ajudado ate
info
Grupo: Campones
Registrado: 11/06/07
Posts: 46
Reputação: 0
Char no Tibia: Eternal Brucy
boa tarde galera!! Eu to com um problema nas doors do meu serv... toda vez que eu clico para abrir uma porta, no meu console aparece no meu console:
Ai algumas portas abrem, outras ja nao abrem, mas todas alertam isso ai. Eu to usando o TSF 9.52.
Agradeço desde ja!!!