Postado Maio 16, 2016 9 anos Como faltou algumas informações, fiz do jeito que entendi. Crie um teleport sem coordenadas pelo remeres (os que vão teleportar para a cave). Nesses teleports, coloque um action id. movements/scripts nome_arquivo.lua function onStepIn(cid, item, position, fromPosition) local config = { storage = 789456, from = {x = 1049, y = 1051, z = 6}, -- coordenada do canto superior esquerdo da área. to = {x = 1051, y = 1053, z = 7}, -- coordenada do canto inferior direito da área. maxPlayers = 1, -- quantos jogadores poderão entrar na área ao mesmo tempo. pos = {x = 1050, y = 1056, z = 7}, -- para onde o jogador será teleportado. } local function getPlayersInArea(left, right) local playersInArea = {} for _, cid in ipairs(getPlayersOnline()) do if isInRange(getThingPos(cid), left, right) then table.insert(playersInArea, cid) end end return playersInArea end if isPlayer(cid) then if getPlayerStorageValue (cid, config.storage) < os.time() then doPlayerSendTextMessage(cid, 19, "MSG caso o player não tenha acesso.") doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT) doTeleportThing(cid, fromPosition, true) else doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT) end if table.getn(getPlayersInArea(config.from, config.to)) < config.maxPlayers and getPlayerStorageValue (cid, config.storage) > os.time() then doSendMagicEffect(fromPosition, CONST_ME_TELEPORT) doTeleportThing (cid, config.pos) doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT) elseif table.getn(getPlayersInArea(config.from, config.to)) >= config.maxPlayers and getPlayerStorageValue (cid, config.storage) > os.time() then doPlayerSendTextMessage (cid, 19, "MSG caso já tenha o limite de jogadores dentro da área.") doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT) doTeleportThing(cid, fromPosition, true) end end return true end movements.xml <movevent type="StepIn" actionid="ACTION_ID_DO_TP" event="script" value="nome_arquivo.lua" /> actions/scripts nome_arquivo.lua function onUse(cid, item, frompos, item2, topos) local config = { timeExhausted = 24, -- tempo em horas para poder usar o item novamente. timeForUse = 6, -- tempo em horas que o player poderá entrar na cave. exhausted = 456789, storage = 789456, toKnow = 123456, effect = 27, -- efeito que dará ao usar o item. } if getPlayerStorageValue(cid, config.exhausted) < os.time() then setPlayerStorageValue (cid, config.storage, config.timeForUse * 60 * 60 + os.time()) setPlayerStorageValue (cid, config.exhausted, config.timeExhausted * 60 * 60 + os.time()) setPlayerStorageValue (cid, config.toKnow, 1) doSendMagicEffect (getThingPos(cid), config.effect) doPlayerSendTextMessage (cid, 19, "MSG informando que o jogador tem acesso à área.") else doPlayerSendTextMessage (cid, 19, "MSG caso o player esteja exhaustado. (Sobre ter que esperar 24 horas)") end return true end actions.xml <action itemid="ID_DO_ITEM" event="script" value="nome_arquivo.lua"/> creaturescripts/scripts nome_arquivo.lua local config = { toKnow = 123456, storage = 789456, pos = {x = 1050, y = 1056, z = 7}, -- para onde o jogador será teleportado caso o tempo tenha acabado. } function onKill(cid, target, lastHit) if getPlayerStorageValue (cid, config.toKnow) == 1 then if getPlayerStorageValue (cid, config.storage) < os.time () then doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT) doRemoveCreature (cid) end end return true end function onLogin(cid) if getPlayerStorageValue (cid, config.toKnow) == 1 then if getPlayerStorageValue (cid, config.storage) < os.time () then doTeleportThing (cid, config.pos) setPlayerStorageValue (cid, config.toKnow, 0) end end return true end creaturescripts.xml <event type="login" name="timeAcess" event="script" value="nome_arquivo.lua"/> <event type="kill" name="timeAcessKill" event="script" value="nome_arquivo.lua"/> Em creaturescripts/login.lua procure por "registerCreatureEvent" e coloque isso embaixo: registerCreatureEvent(cid, "timeAcess") registerCreatureEvent(cid, "timeAcessKill") PS: Eu testei apenas os códigos de actions e movements. Não testei os códigos de creaturescripts, logo, são passíveis de erros. Editado Maio 18, 2016 9 anos por Talesigorvr (veja o histórico de edições) Não dou suporte via PM, crie um tópico caso tenha dúvidas. Isso previne que outras pessoas com a mesma dúvida criem tópicos desnecessários.
Postado Maio 17, 2016 9 anos @Talesigorvr Não entendi muito bem, como o player vai fazer para poder entrar nesta área ?
Postado Maio 17, 2016 9 anos Qual parte tu não entendeu? Está perguntando sobre o teleport ser sem coordenadas? Não dou suporte via PM, crie um tópico caso tenha dúvidas. Isso previne que outras pessoas com a mesma dúvida criem tópicos desnecessários.
Postado Maio 18, 2016 9 anos Tem como colocar pra quando clica no item ele ser teleporta para a area de hunt?
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.