Ir para conteúdo

[Fechado] Portas No Rme


Killua

Posts Recomendados

  • 2 weeks later...

Em data/actions/scripts crie um arquivo e chame de doors.lua. Se já tiver atualize o que tem dentro:

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 novas = {

{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,#novas do

if (item.itemid == novas[ia].closed) then

doTransformItem(item.uid, novas[ia].open)

elseif (item.itemid == novas[ia].open) then

doTransformItem(item.uid, novas[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

 

E no actions.xml:

<action fromid="1209" toid="1214" event="script" value="other/doors.lua"/>

<action fromid="1219" toid="1262" event="script" value="other/doors.lua"/>

<action fromid="1539" toid="1542" event="script" value="other/doors.lua"/>

<action fromid="2086" toid="2092" event="script" value="other/doors.lua"/>

<action fromid="3535" toid="3552" event="script" value="other/doors.lua"/>

<action fromid="4913" toid="4918" event="script" value="other/doors.lua"/>

<action fromid="5082" toid="5085" event="script" value="other/doors.lua"/>

<action fromid="5098" toid="5145" event="script" value="other/doors.lua"/>

<action fromid="5278" toid="5295" event="script" value="other/doors.lua"/>

<action fromid="5515" toid="5518" event="script" value="other/doors.lua"/>

<action fromid="5732" toid="5737" event="script" value="other/doors.lua"/>

<action fromid="5745" toid="5749" event="script" value="other/doors.lua"/>

<action fromid="6192" toid="6209" event="script" value="other/doors.lua"/>

<action fromid="6249" toid="6266" event="script" value="other/doors.lua"/>

<action fromid="6795" toid="6802" event="script" value="other/doors.lua"/>

<action fromid="6891" toid="6908" event="script" value="other/doors.lua"/>

<action fromid="7033" toid="7050" event="script" value="other/doors.lua"/>

<action fromid="7054" toid="7057" event="script" value="other/doors.lua"/>

<action fromid="8541" toid="8558" event="script" value="other/doors.lua"/>

<action fromid="9165" toid="9184" event="script" value="other/doors.lua"/>

<action fromid="9267" toid="9186" event="script" value="other/doors.lua"/>

<action itemid="10269" script="other/doors.lua"/>

<action itemid="10270" script="other/doors.lua"/>

<action itemid="10272" script="other/doors.lua"/>

<action itemid="10273" script="other/doors.lua"/>

<action itemid="10274" script="other/doors.lua"/>

<action itemid="10275" script="other/doors.lua"/>

<action itemid="10276" script="other/doors.lua"/>

<action itemid="10277" script="other/doors.lua"/>

<action itemid="10278" script="other/doors.lua"/>

<action itemid="10279" script="other/doors.lua"/>

<action itemid="10280" script="other/doors.lua"/>

<action itemid="10281" script="other/doors.lua"/>

<action itemid="10282" script="other/doors.lua"/>

<action itemid="10283" script="other/doors.lua"/>

<action itemid="10284" script="other/doors.lua"/>

<action itemid="10285" script="other/doors.lua"/>

<action itemid="10469" script="other/doors.lua"/>

<action itemid="10470" script="other/doors.lua"/>

<action itemid="10471" script="other/doors.lua"/>

<action itemid="10472" script="other/doors.lua"/>

<action itemid="10473" script="other/doors.lua"/>

<action itemid="10474" script="other/doors.lua"/>

<action itemid="10475" script="other/doors.lua"/>

<action itemid="10476" script="other/doors.lua"/>

<action itemid="10478" script="other/doors.lua"/>

<action itemid="10480" script="other/doors.lua"/>

<action itemid="10481" script="other/doors.lua"/>

<action itemid="10482" script="other/doors.lua"/>

<action itemid="10483" script="other/doors.lua"/>

<action itemid="10484" script="other/doors.lua"/>

<action itemid="10485" script="other/doors.lua"/>

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...