Ir para conteúdo

Procuro um Script bem simples acesso a area por 72 horas tem que da use no item ele seria 8981 tipo acesso cave exclusiva

Featured Replies

Postado
local accessItemId = 1234 -- ID do item necessário para acessar a área
local accessAreaId = 5678 -- ID da área que será concedido acesso
local accessDuration = 72 -- Duração do acesso em horas

function onUse(cid, item, fromPosition, itemEx, toPosition)
    -- Verificar se o jogador já tem acesso à área
    if getPlayerStorageValue(cid, accessAreaId) > os.time() then
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você já tem acesso a esta área.")
        return true
    end

    -- Verificar se o jogador possui o item necessário
    if not doPlayerRemoveItem(cid, accessItemId, 1) then
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa do item necessário para acessar esta área.")
        return true
    end

    -- Calcular o tempo de expiração do acesso
    local expirationTime = os.time() + (accessDuration * 3600)

    -- Armazenar o tempo de expiração no jogador
    setPlayerStorageValue(cid, accessAreaId, expirationTime)

    -- Remover o item do inventário do jogador
    doRemoveItem(item.uid)

    -- Notificar o jogador sobre o acesso concedido
    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você recebeu acesso à área por 72 horas.")

    return true
end
<action name="accessArea" event="script" value="access.lua"/>

 

Tenta Em Actions.

Desculpa não estar testando, é que to muito ocupado.

Editado por Ruyzin Pikatxufly (veja o histórico de edições)

  • Respostas 8
  • Visualizações 270
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Ruyzin Pikatxufly
    Ruyzin Pikatxufly

    <action itemid="8981" script="access.lua"/> local storageValue = 13741 local itemID = 8981 -- Item utilizado para conceder o acesso de 72 horas local teleportPosition = {x = 154, y = 51, z = 7

Postado
  • Solução
<action itemid="8981" script="access.lua"/>
local storageValue = 13741
local itemID = 8981 -- Item utilizado para conceder o acesso de 72 horas
local teleportPosition = {x = 154, y = 51, z = 7} -- Posição de teleporte quando o tempo acabar
local timeInterval = 1 * 60 -- Intervalo de tempo em segundos (30 minutos)

function onUse(cid, item, frompos, item2, topos)
    if getPlayerStorageValue(cid, storageValue) ~= -1 then
        doPlayerSendCancel(cid, "Você já tem acesso a essa funcionalidade.")
        return true
    end

    if not doPlayerRemoveItem(cid, itemID, 1) then
        doPlayerSendCancel(cid, "Você precisa ter o item necessário para usar essa funcionalidade.")
        return true
    end

    local currentTime = os.time()
    local accessTime = 72 * 60 * 60 -- Convertendo 72 horas para segundos
    local expirationTime = currentTime + accessTime

    setPlayerStorageValue(cid, storageValue, expirationTime)
    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você ganhou acesso a essa funcionalidade por 72 horas.")

    return true
end

function onLogin(cid)
    local currentTime = os.time()
    local expirationTime = getPlayerStorageValue(cid, storageValue)

    if expirationTime ~= -1 and currentTime >= expirationTime then
        doTeleportThing(cid, teleportPosition, false)
        setPlayerStorageValue(cid, storageValue, -1)
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Seu acesso expirou. Você foi teleportado para a posição 154, 51, 7.")
    end

    local timeDifference = currentTime - getPlayerStorageValue(cid, "lastTimeCheck")

    if timeDifference >= timeInterval then
        local timeRemaining = expirationTime - currentTime
        local hours = math.floor(timeRemaining / 3600)
        local minutes = math.floor((timeRemaining % 3600) / 60)
        local seconds = timeRemaining % 60

        local timeString = string.format("%02d:%02d:%02d", hours, minutes, seconds)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Tempo restante: " .. timeString)

        setPlayerStorageValue(cid, "lastTimeCheck", currentTime)
    end

    return true
end
<movevent type="StepIn" uniqueid="18956" event="script" value="acessoTile.lua"/>
function onStepIn(cid, item, position, fromPosition)

local sto = 13741 -- storage Aqui

 if isPlayer(cid) then
   if getPlayerStorageValue(cid, sto) >= 1 then
     doPlayerSendTextMessage(cid, 25, "Seja bem vindo a area.")
       else
         doTeleportThing(cid, fromPosition, true)
       doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
      doPlayerSendTextMessage(cid, 25, "Você Não Tem Acesso!")
   end
 end
 
return true
end

 

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo