Bem pessoal, vocês ja tentaram usar por exemplo a porta 8544 e ela não abre e não sabe porque?
Pois bem, isso é apenas a falta de uma action da porta....
Lembrando que aqui mostrarei como se arruma este erro com a porta 8544, e com base nos exemplos, vocês poderam arrumar as outras portas (quanho houver erro)
Percebi este erro no Thyrania, espero que na proxima versão (5.0?) este erro esteja arrumado.
Então vamos la..
Primeiramente iremos pegar a porta de ID 8544 e a de 8546 como referências.
8544:

8546:

Abra o arquivo actions.xml dentro da pasta data/actions e adicione a seguinte linha:
<action fromid="8544" toid="8546" script="other/doors.lua"/>
8544 - É a porta no estado padrão dela, que no caso fechada.
8546 - É a porta aberta
Como funciona?
Simples, esta linha exemplificadamente, pega a porta padrão 8544 (fechada), e quando alguem der um USE sobre ela, atomaticamente ela ira se tranformar na porta aberta desta mesma posição, ou seja, a porta 8546
Resultado:

Agora aqui para vocês todas as portas deste estilo:
<action fromid="8544" toid="8546" script="other/doors.lua"/> --- A porta 8544 tranforma-se na porta 8546<action fromid="8463" toid="8543" script="other/doors.lua"/> --- A porta 8463 tranforma-se na porta 8543
<action fromid="8545" toid="8546" script="other/doors.lua"/> --- A porta 8545 tranforma-se na porta 8546
<action fromid="8549" toid="8550" script="other/doors.lua"/> --- A porta 8549 tranforma-se na porta 8550
<action fromid="8547" toid="8548" script="other/doors.lua"/> --- A porta 8547 tranforma-se na porta 8548
Não são exatamente todas, mais são as principais...agora é com vocês!
Agora, se o seu servidor não possui o arquivo doors.lua dentro da pasta data/actions/other, lá vai a dica:
Em seguida adicione o script abaixo no doors.lua:
function onUse(cid, item, fromPosition, itemEx, toPosition)if isInArray(questDoors, item.itemid) == TRUE then
if 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
elseif isInArray(levelDoors, item.itemid) == TRUE then
if item.actionid > 0 and getPlayerLevel(cid) >= item.actionid - 1000 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
elseif 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
elseif isInArray(horizontalOpenDoors, item.itemid) == 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
doPlayerSendCancel(cid, "Sorry, not possible.")
else
doTeleportThing(doorCreature.uid, newPosition, TRUE)
end
else
doTransformItem(item.uid, item.itemid - 1)
end
return TRUE
elseif isInArray(verticalOpenDoors, item.itemid) == 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
doPlayerSendCancel(cid, "Sorry, not possible.")
else
doTeleportThing(doorCreature.uid, newPosition, TRUE)
end
else
doTransformItem(item.uid, item.itemid - 1)
end
return TRUE
elseif doors[item.itemid] ~= nil 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
Legenda:
*FronID: DoID
*ToID: ParaID
Créditos: 100% AlissonLinneker