How do I assign a level requirement to a portal??? I don't want to use a Exp door due to people blocking it etc.
function onStepIn(cid, pos)
tp = {x=1663, y=2552, z=4} --the place where the portal takes you
bp = {x=1663, y=2552, z=4} --teleports back to somewhere close if not high enough
lvlreq = 10 --level required for
if isPlayer(cid) then
if getPlayerLevel(cid) >= lvlreq then
doTeleportThing(cid, tp)
else
doPlayerSendCancel(cid, "You don't have enough level. ("..lvlreq..")")
doTeleportThing(cid, bp)
end
end
return true
end
function onStepIn(creature, item, position, fromPosition)
local reqLevel = 10
local pLevel = creature:getLevel()
if pLevel >= reqLevel then
return true
end
player:sendTextMessage(MESSAGE_INFO_DESCR, "You must be level "..reqLevel.." to enter.")
player:teleportTo(fromPosition, true)
return false
end
which script you useIt doesn't allow lower levels to enter it which is good thank you for that I will rep+ but now I have a different problem when a player with the required level "enters the portal" I get this
[Error - MoveEvent::executeStep] Call stack overflow
no. just add the movement script.The first script by Siegh , ill try yours but do I need portal position in your script?
I tried yours and its allowing me to walk into the portal on a lower lvl and then it sends this msg after I enter the portal on the low lvl.
data/movements/scripts/bglvltp.luanStepIn
data/movements/scripts/bglvltp.lua:9: attempt to index global 'player' (a nil value)
stack traceback:
[C]: in function '__index'
data/movements/scripts/bglvltp.lua:9: in function <data/movements/scripts/bglvltp.lua:1>
function onStepIn(creature, item, position, fromPosition)
local reqLevel = 10
local pLevel = creature:getLevel()
if pLevel >= reqLevel then
return true
end
creature:sendTextMessage(MESSAGE_INFO_DESCR, "You must be level "..reqLevel.." to enter.")
creature:teleportTo(fromPosition, true)
return false
end
cant be the same message player doesn't exist anymore lol i suggest you try again and remember to reload =)Still not working :/ same message.
There is no more 'rep' as per the rules. but you can mark my post as the best solution. =)TYYYY you were right its working!!! now how do I ++ rep do I just hit the like button on ur page? or what
If any creature that is not player will enter this scripted tile it will throw error in console, because only player has levels.Code:function onStepIn(creature, item, position, fromPosition) local reqLevel = 10 local pLevel = creature:getLevel() if pLevel >= reqLevel then return true end creature:sendTextMessage(MESSAGE_INFO_DESCR, "You must be level "..reqLevel.." to enter.") creature:teleportTo(fromPosition, true) return false end
function onStepIn(creature, item, position, fromPosition)
local player = creature:getPlayer()
if not player then
return true
end
if player:getLevel() >= 8 then -- if player got higher or equal level to the required level it will let him pass
return true
end
player:teleportTo(fromPosition, true)
player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Your level is too low to enter.")
return true
end