• TibiaFace

    Tibiaface | Una comunidad Open Tibia donde encontras : mapas, scripts, Otserver, npc y amigos etc ...

    .
    demo menumenu

    Afiliados



    Votar:

    [Aporte] TFS 0.4 Storage al usar Item

    Compartir:

    Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje (Página 1 de 1.)

    1Thông báo [Aporte] TFS 0.4 Storage al usar Item Dom Jul 23, 2023 11:39 am

    GalaxyDev

    GalaxyDev
    Miembro
    Miembro
    Este script sirve para asigna un storage a un jugador y que pueda entrar por X tiempo a un lugar, esto lo puedes combinar con algún sistema de pisada por algún sqm etc.. espero les sirva y cualquier error lo reportar ya que no tengo tester XD

    Very Happy

    Github Click aqui para ir al codigo


    CREADO PARA TFS 0.4 8.60



    [Tienes que estar registrado y conectado para ver este vínculo] Servidor 24/7 Full Animes  Smile    MI GITHUB (REVSCRIPTS TFS 1.3-1.5))
    3 participantes

    akane

    akane
    Miembro
    Miembro
    el script dará problemas debido a que contiene funciones de tfs 1.x

    3 participantes

    GalaxyDev

    GalaxyDev
    Miembro
    Miembro
    akane escribió:el script dará problemas debido a que contiene funciones de tfs 1.x

    estoy seguro que deberia funciona podrias probar? con esta version actualizada igual esta actualizada en github

    Código:
    local siguienteTiempo = 120 -- ESTO ES EL TIEMPO QUE DURARA EL STORAGE (5 dias = 120 horas)
    local storage = 845620  --- este numero significa la identificacion que tendra el jugador por cierta cantidad de tiempo definida arriba

    function onUse(player, item, fromPos, target, toPos, isHotkey)  --- funciona USAR(hacerclick)
        local lastAccess = player:getStorageValue(storage)
        local tiempoActual = os.time()

        -- Comprobar si ya pasó el tiempo de espera
        if lastAccess == -1 or lastAccess <= tiempoActual then
            player:setStorageValue(storage, tiempoActual + (60 * 60 * siguienteTiempo))  ---- setiar el tiempo al jugador
            player:sendTextMessage(MESSAGE_INFO_DESCR, 'Has conseguido acceso a Miss Fortune Zone Tienes 5 Dias Para Farmear la Skin') --- mensaje al jugador
            player:getPosition():sendMagicEffect(CONST_ME_FIREWORK_YELLOW) --- efecto sobre el jugador
            item:remove(1)
        else
            local tiempoRestante = math.floor((lastAccess - tiempoActual) / 60) -- Convertir segundos restantes a minutos
            local horasRestantes = math.floor(tiempoRestante / 60)
            local minutosRestantes = tiempoRestante % 60
            local mensaje = 'Espera '

            if horasRestantes > 0 then
                mensaje = mensaje .. horasRestantes .. ' horas'
            end

            mensaje = mensaje .. ' ' .. minutosRestantes .. ' minutos para Poder Usar otra vez el Objeto Sagrado'
            player:sendTextMessage(MESSAGE_INFO_DESCR, mensaje)
        end

        return true
    end

    recuerda que yo me estoy basando en la version estandar de tfs 0,4 no versiones modificadas la ultima estable fue en 2022 :  https://github.com/Fir3element/3777



    [Tienes que estar registrado y conectado para ver este vínculo] Servidor 24/7 Full Animes  Smile    MI GITHUB (REVSCRIPTS TFS 1.3-1.5))
    3 participantes

    akane

    akane
    Miembro
    Miembro
    la probé en mi ot que es 0.4 y me dió error, por eso te digo, hay funciones en ese script que son de tfs 1.x hacia adelante que no las soporta el 0.4

    3 participantes

    GalaxyDev

    GalaxyDev
    Miembro
    Miembro
    akane escribió:la probé en mi ot que es 0.4 y me dió error, por eso te digo, hay funciones en ese script que son de tfs 1.x hacia adelante que no las soporta el 0.4
    podrias publicar el error?



    [Tienes que estar registrado y conectado para ver este vínculo] Servidor 24/7 Full Animes  Smile    MI GITHUB (REVSCRIPTS TFS 1.3-1.5))
    3 participantes

    zerochile

    zerochile
    Miembro
    Miembro
    GalaxyDev escribió: podrias publicar el error?
    Literalmente todo el "script" es para TFS 1.X+, para entrar mas en contexto en TFS 0.4 / TFS 0.3.7 no se usa lo que seria el separador :

    Por ejemplo, según lo que tienes en tu script proporcionado de TFS 1.X+, esto seria lo que en TFS 0.4 no funcionaria:
    player:getStorageValue
    player:setStorageValue
    player:sendTextMessage
    player:getPosition():sendMagicEffect
    item:remove

    En fin, de cierto modo no es complicado pasar este script de TFS 1.X+ a TFS 0.4... Pero bueno, la gente que no tenga mucho conocimiento se vera confundida  [Aporte] TFS 0.4 Storage al usar Item 1f605 
    Smile

    3 participantes
    http://venore-war.sytes.net

    GalaxyDev

    GalaxyDev
    Miembro
    Miembro
    zerochile escribió:
    GalaxyDev escribió: podrias publicar el error?
    Literalmente todo el "script" es para TFS 1.X+, para entrar mas en contexto en TFS 0.4 / TFS 0.3.7 no se usa lo que seria el separador :

    Por ejemplo, según lo que tienes en tu script proporcionado de TFS 1.X+, esto seria lo que en TFS 0.4 no funcionaria:
    player:getStorageValue
    player:setStorageValue
    player:sendTextMessage
    player:getPosition():sendMagicEffect
    item:remove

    En fin, de cierto modo no es complicado pasar este script de TFS 1.X+ a TFS 0.4... Pero bueno, la gente que no tenga mucho conocimiento se vera confundida  [Aporte] TFS 0.4 Storage al usar Item 1f605 
    Smile

    gracias por citar el error, no habia trabajado en tfs 0.4 y queria aportar varios scripts a esta version como no existe una fuente oficial de tfs que este disponible solo versiones modificadas es dificil basarse en alguna especifica. aplicare los cambios y los republicare saludos.



    [Tienes que estar registrado y conectado para ver este vínculo] Servidor 24/7 Full Animes  Smile    MI GITHUB (REVSCRIPTS TFS 1.3-1.5))
    3 participantes

    8Thông báo Re: [Aporte] TFS 0.4 Storage al usar Item Lun Jul 24, 2023 11:01 am

    akane

    akane
    Miembro
    Miembro
    ojo, que por mas que me di el trabajo de reemplazar las funciones, esta línea " if lastAccess == -1 or lastAccess <= tiempoActual then" seguía dando problemas.

    con respecto a las otras funciones por lo general van acompañadas del famoso do, por ejemplo:

    doCreateItem
    doRemoveItem
    doSendAnimation (creo que era así)

    etc

    3 participantes

    zerochile

    zerochile
    Miembro
    Miembro
    [Tienes que estar registrado y conectado para ver este vínculo] como te digo, eso sucede al intentar reemplazar y la gente se confunde, lo que tu dices es porque puede que se te haya olvidado cambiar el lastAccess o pusiste algo errado, y como dije anteriormente el script es bastante sencillo traspasarlo así que ahí esta:

    (lo único que hice fue traspasar las funciones)
    Código:
    local siguienteTiempo = 120 -- ESTO ES EL TIEMPO QUE DURARA EL STORAGE (5 dias = 120 horas)
    local storage = 845620  --- este numero significa la identificacion que tendra el jugador por cierta cantidad de tiempo definida arriba

    function onUse(cid, item, fromPosition, itemEx, toPosition)
        local lastAccess = getPlayerStorageValue(cid, storage)
        local tiempoActual = os.time()
     
        -- Comprobar si ya pasó el tiempo de espera
        if lastAccess == -1 or lastAccess <= tiempoActual then
            setPlayerStorageValue(cid, storage, tiempoActual + (60 * 60 * siguienteTiempo))  ---- setiar el tiempo al jugador
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'Has conseguido acceso a Miss Fortune Zone Tienes 5 Dias Para Farmear la Skin') --- mensaje al jugador
            doSendMagicEffect(getCreaturePosition(cid), CONST_ME_FIREWORK_YELLOW) --- efecto sobre el jugador
            doRemoveItem(item.uid, 1)
        else
            local tiempoRestante = math.floor((lastAccess - tiempoActual) / 60) -- Convertir segundos restantes a minutos
            local horasRestantes = math.floor(tiempoRestante / 60)
            local minutosRestantes = tiempoRestante % 60
            local mensaje = 'Espera '

            if horasRestantes > 0 then
                mensaje = mensaje .. horasRestantes .. ' horas'
            end

            mensaje = mensaje .. ' ' .. minutosRestantes .. ' minutos para Poder Usar otra vez el Objeto Sagrado'
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, mensaje)
        end

        return true
    end

    3 participantes
    http://venore-war.sytes.net

    Contenido patrocinado


    3 participantes

    Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje (Página 1 de 1.)

    Permisos de este foro:
    No puedes responder a temas en este foro.

     

    BienvenidosTibiaFace es una comunidad de Open Tibia. Para participar debes estar registrado (click para Regístrate).