Script básico que algumas pessoas pedem no discord, como criar um piso (tile) onde somente premium account possa passar.
vá na pasta ./data/scripts/movements crie um arquivo chamado premium_tile.LUA e coloque o seguinte código nele.
local checkPremium = MoveEvent()
function checkPremium.onStepIn(creature, item, position, fromPosition)
local player = creature:getPlayer()
if not player then
return true
end
-- Check requirements
if not player:isPremium() then
player:say("Only Premium players are able to enter this portal.", TALKTYPE_MONSTER_SAY, false, player, fromPosition)
player:teleportTo(fromPosition)
fromPosition:sendMagicEffect(CONST_ME_TELEPORT)
return true
end
return true
end
checkPremium:position({x = 999, y = 999, z = 7}) -- essa será a posição que você vai colocar uma uniqueId no RME.
checkPremium:register()
Caso você vá usar vários SQM's com essa utilidade recomendo criar como actionID segue abaixo a adaptação:
local checkPremium = MoveEvent()
function checkPremium.onStepIn(creature, item, position, fromPosition)
local player = creature:getPlayer()
if not player then
return true
end
-- Check requirements
if not player:isPremium() then
player:say("Only Premium players are able to enter this portal.", TALKTYPE_MONSTER_SAY, false, player, fromPosition)
player:teleportTo(fromPosition)
fromPosition:sendMagicEffect(CONST_ME_TELEPORT)
return true
end
return true
end
checkPremium:aid(25033)
checkPremium:register()
Nesse caso ao invés de colocar a numeração '25033' em uniqueId você deverá colocar em actionId, lembrando que deve verificar antes se esse numero já está sendo usado em outro script.