-------------------------------------
-- ActionIDs:
-- 1001~1999: Level doors(level is actionID-1000)
-- 2001~2008: Vocation doors(voc is ActionID-2000. 1:Sorcerer, 2:Druid, 3:paladin, 4:Knight, 5:MS, 6:ED, 7:RP, 8:EK)
function onUse(cid, item, frompos, item2, topos)
reqlevel = item.actionid - 1000
local isLevelDoor = (item.actionid >= 1001 and item.actionid <= 1999)
local isVocationDoor = (item.actionid >= 2001 and item.actionid <= 2008)
if not(isLevelDoor or isVocationDoor) then
-- Make it a normal door
doTransformItem(item.uid, item.itemid+1)
return TRUE
end
local canEnter = true
if(isLevelDoor and getPlayerLevel(cid) < (item.actionid-1000)) then
canEnter = false
end
if(isVocationDoor) then
local doorVoc = item.actionid-2000
if (doorVoc == 1 and not(isSorcerer(cid))) or
(doorVoc == 2 and not(isDruid(cid))) or
(doorVoc == 3 and not(isPaladin(cid))) or
(doorVoc == 4 and not(isKnight(cid))) or
(doorVoc ~= getPlayerVocation(cid)) then
canEnter = false
end
end
if not(canEnter) then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
return TRUE
end
if getPlayerLevel(cid) >= reqlevel then
doTransformItem(item.uid, item.itemid+1)
local canGo = (queryTileAddThing(cid, frompos, bit.bor(2, 4)) == RETURNVALUE_NOERROR) --Veryfies if the player can go, ignoring blocking things
if not(canGo) then
return FALSE
end
local dir = getDirectionTo(getPlayerPosition(cid), frompos)
doMoveCreature(cid, dir)
return TRUE
end
end
-- ActionIDs:
-- 1001~1999: Level doors(level is actionID-1000)
-- 2001~2008: Vocation doors(voc is ActionID-2000. 1:Sorcerer, 2:Druid, 3:paladin, 4:Knight, 5:MS, 6:ED, 7:RP, 8:EK)
function onUse(cid, item, frompos, item2, topos)
local isLevelDoor = (item.actionid >= 1001 and item.actionid <= 1999)
local isVocationDoor = (item.actionid >= 2001 and item.actionid <= 2008)
if item.actionid >= 1001 and item.actionid <= 1999 then
if getPlayerLevel(cid) >= item.actionid-1000 then
doTransformItem(item.uid, item.itemid+1)
topos = {x=topos.x, y=topos.y, z=topos.z}
doTeleportThing(cid,topos)
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
end
elseif item.actionid >= 2001 and item.actionid <= 2008 then
if item.actionid == 2001 then
if getPlayerVocation(cid) == 1 or getPlayerVocation(cid) == 5 then
maypass = true
end
elseif item.actionid == 2002 then
if getPlayerVocation(cid) == 2 or getPlayerVocation(cid) == 6 then
maypass = true
end
elseif item.actionid == 2003 then
if getPlayerVocation(cid) == 3 or getPlayerVocation(cid) == 7 then
maypass = true
end
elseif item.actionid == 2004 then
if getPlayerVocation(cid) == 4 or getPlayerVocation(cid) == 8 then
maypass = true
end
elseif item.actionid == 2005 then
if getPlayerVocation(cid) == 5 then
maypass = true
end
elseif item.actionid == 2006 then
if getPlayerVocation(cid) == 6 then
maypass = true
end
elseif item.actionid == 2007 then
if getPlayerVocation(cid) == 7 then
maypass = true
end
elseif item.actionid == 2008 then
if getPlayerVocation(cid) == 8 then
maypass = true
end
else
maypass = false
end
if (maypass == true) then
doTransformItem(item.uid, item.itemid+1)
topos = {x=topos.x, y=topos.y, z=topos.z}
doTeleportThing(cid,topos)
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your vocation are not allowed to pass this door!")
end
end
local canGo = (queryTileAddThing(cid, frompos, bit.bor(2, 4)) == RETURNVALUE_NOERROR) --Veryfies if the player can go, ignoring blocking things
if not(canGo) then
return FALSE
end
return TRUE
end
-- ActionIDs:
-- 1001~1999: Level doors(level is actionID-1000)
-- 2001~2008: Vocation doors(voc is ActionID-2000. 1:Sorcerer, 2:Druid, 3:paladin, 4:Knight, 5:MS, 6:ED, 7:RP, 8:EK)
function onUse(cid, item, frompos, item2, topos)
local isLevelDoor = (item.actionid >= 1001 and item.actionid <= 1999)
local isVocationDoor = (item.actionid >= 2001 and item.actionid <= 2008)
if item.actionid >= 1001 and item.actionid <= 1999 then
if getPlayerLevel(cid) >= item.actionid-1000 then
doTransformItem(item.uid, item.itemid+1)
topos = {x=topos.x, y=topos.y, z=topos.z}
doTeleportThing(cid,topos)
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
end
elseif item.actionid >= 2001 and item.actionid <= 2008 then
if item.actionid == 2001 then
if getPlayerVocation(cid) == 1 or getPlayerVocation(cid) == 5 then
maypass = true
end
elseif item.actionid == 2002 then
if getPlayerVocation(cid) == 2 or getPlayerVocation(cid) == 6 then
maypass = true
end
elseif item.actionid == 2003 then
if getPlayerVocation(cid) == 3 or getPlayerVocation(cid) == 7 then
maypass = true
end
elseif item.actionid == 2004 then
if getPlayerVocation(cid) == 4 or getPlayerVocation(cid) == 8 then
maypass = true
end
elseif item.actionid == 2005 then
if getPlayerVocation(cid) == 5 then
maypass = true
end
elseif item.actionid == 2006 then
if getPlayerVocation(cid) == 6 then
maypass = true
end
elseif item.actionid == 2007 then
if getPlayerVocation(cid) == 7 then
maypass = true
end
elseif item.actionid == 2008 then
if getPlayerVocation(cid) == 8 then
maypass = true
end
else
maypass = false
end
the expgateclosedoor here is
if (maypass == true) then
doTransformItem(item.uid, item.itemid+1)
topos = {x=topos.x, y=topos.y, z=topos.z}
doTeleportThing(cid,topos)
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your vocation are not allowed to pass this door!")
end
end
local canGo = (queryTileAddThing(cid, frompos, bit.bor(2, 4)) == RETURNVALUE_NOERROR) --Veryfies if the player can go, ignoring blocking things
if not(canGo) then
return FALSE
end
return TRUE
end
-- ActionIDs:
-- 1001~1999: Level doors(level is actionID-1000)
-- 2001~2008: Vocation doors(voc is ActionID-2000. 1:Sorcerer, 2ruid, 3aladin, 4:Knight, 5:MS, 6:ED, 7:RP, 8:EK)
function onUse(cid, item, frompos, item2, topos)
local isLevelDoor = (item.actionid >= 1001 and item.actionid <= 1999)
local isVocationDoor = (item.actionid >= 2001 and item.actionid <= 2008)
if item.actionid >= 1001 and item.actionid <= 1999 then
if getPlayerLevel(cid) >= item.actionid-1000 then
doTransformItem(item.uid, item.itemid+1)
topos = {x=topos.x, y=topos.y, z=topos.z}
doTeleportThing(cid,topos)
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
end
elseif item.actionid >= 2001 and item.actionid <= 2008 then
if item.actionid == 2001 then
if getPlayerVocation(cid) == 1 or getPlayerVocation(cid) == 5 then
maypass = true
end
elseif item.actionid == 2002 then
if getPlayerVocation(cid) == 2 or getPlayerVocation(cid) == 6 then
maypass = true
end
elseif item.actionid == 2003 then
if getPlayerVocation(cid) == 3 or getPlayerVocation(cid) == 7 then
maypass = true
end
elseif item.actionid == 2004 then
if getPlayerVocation(cid) == 4 or getPlayerVocation(cid) == 8 then
maypass = true
end
elseif item.actionid == 2005 then
if getPlayerVocation(cid) == 5 then
maypass = true
end
elseif item.actionid == 2006 then
if getPlayerVocation(cid) == 6 then
maypass = true
end
elseif item.actionid == 2007 then
if getPlayerVocation(cid) == 7 then
maypass = true
end
elseif item.actionid == 2008 then
if getPlayerVocation(cid) == 8 then
maypass = true
end
else
maypass = false
end
the expgateclosedoor here is
if (maypass == true) then
doTransformItem(item.uid, item.itemid+1)
topos = {x=topos.x, y=topos.y, z=topos.z}
doTeleportThing(cid,topos)
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your vocation are not allowed to pass this door!")
end
end
local canGo = (queryTileAddThing(cid, frompos, bit.bor(2, 4)) == RETURNVALUE_NOERROR) --Veryfies if the player can go, ignoring blocking things
if not(canGo) then
return FALSE
end
return TRUE
end
-- ActionIDs:
-- 1001~1999: Level doors(level is actionID-1000)
-- 2001~2008: Vocation doors(voc is ActionID-2000. 1:Sorcerer, 2:Druid, 3:paladin, 4:Knight, 5:MS, 6:ED, 7:RP, 8:EK)
function onUse(cid, item, frompos, item2, topos)
local isLevelDoor = (item.actionid >= 1001 and item.actionid <= 1999)
local isVocationDoor = (item.actionid >= 2001 and item.actionid <= 2008)
if item.actionid >= 1001 and item.actionid <= 1999 then
if getPlayerLevel(cid) >= item.actionid-1000 then
doTransformItem(item.uid, item.itemid+1)
topos = {x=topos.x, y=topos.y, z=topos.z}
doTeleportThing(cid,topos)
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
end
elseif item.actionid >= 2001 and item.actionid <= 2008 then
if item.actionid == 2001 then
if getPlayerVocation(cid) == 1 or getPlayerVocation(cid) == 5 then
maypass = true
end
elseif item.actionid == 2002 then
if getPlayerVocation(cid) == 2 or getPlayerVocation(cid) == 6 then
maypass = true
end
elseif item.actionid == 2003 then
if getPlayerVocation(cid) == 3 or getPlayerVocation(cid) == 7 then
maypass = true
end
elseif item.actionid == 2004 then
if getPlayerVocation(cid) == 4 or getPlayerVocation(cid) == 8 then
maypass = true
end
elseif item.actionid == 2005 then
if getPlayerVocation(cid) == 5 then
maypass = true
end
elseif item.actionid == 2006 then
if getPlayerVocation(cid) == 6 then
maypass = true
end
elseif item.actionid == 2007 then
if getPlayerVocation(cid) == 7 then
maypass = true
end
elseif item.actionid == 2008 then
if getPlayerVocation(cid) == 8 then
maypass = true
end
else
maypass = false
end
the expgateclosedoor here is
if (maypass == true) then
doTransformItem(item.uid, item.itemid+1)
topos = {x=topos.x, y=topos.y, z=topos.z}
doTeleportThing(cid,topos)
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your vocation are not allowed to pass this door!")
end
end
local canGo = (queryTileAddThing(cid, frompos, bit.bor(2, 4)) == RETURNVALUE_NOERROR) --Veryfies if the player can go, ignoring blocking things
if not(canGo) then
return FALSE
end
return TRUE
end