• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [Mods] happy Hours (doble experiencia a cierta hora)

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

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    Hola usuarios de tibiaface


    bueno aqui les dejo el mods de doble experiencia a cierta hora o mas conocido como la hora feliz.


    en su carpeta MODS copian cualquier archivo y renombran por happy Hours.xml y pegan esto dentro:

    Código:
    <?xml version='1.0' encoding='UTF-8'?>
    <mod name='HappyHours' version='1.0' author='Tomek/Xevis' contact='xevis@ovi.com' enabled='yes'>

        <config name='happyHoursConf'>
            <![CDATA[
                HH_STORAGE = 2327 -- nº storage, tenha certeza de colocar uma não usada
                HH_EXTRA_EXP_PERCENT = 10 -- porcentagem à mais de exp, caso queira double, coloque 100
           

                -- CONFIGURAR O DIA E A DURAÇÃO DO EVENTO
                -- EXEMPLO: ['DIA], from = '10:00:00', to = '11:00:00' (formato 24 horas)
                -- EXPLICAÇÃO: ocorrerá no dia tal, das 10 de manhã às 11 da manhã.

                DAYS = {
                    ['Monday'] = {
                        {from = '16:00:00', to = '22:00:00'}
                    },
                    ['Tuesday'] = {
                        {from = '16:00:00', to = '22:00:00'}
                    },
                    ['Sunday'] = {
                        {from = '16:00:00', to = '22:00:00'}
                    },
                    ['Wednesday'] = {
                        {from = '16:00:00', to = '22:00:00'}
                    },
                    ['Thursday'] = {
                        {from = '16:00:00', to = '22:00:00'}
                    },
                    ['Friday'] = {
                        {from = '16:00:00', to = '22:00:00'}
                    },
                    ['Saturday'] = {
                        {from = '16:00:00', to = '22:00:00'}
                    },
                    ['Sunday'] = {
                        {from = '16:00:00', to = '22:00:00'}
                    }
                }
           
            ]]>
        </config>

        <lib name='happyHoursLib'>
            <![CDATA[
                function doPlayerSetSkills(cid, value)
                    for i = 0, 8 do
                        doPlayerSetRate(cid, i, value)
                    end
                end

                function stopNewWorld()
                    doSetStorage(HH_STORAGE, -1)

                    for _, cid in ipairs(getPlayersOnline()) do
                        doPlayerSetSkills(cid, 1)
                    end

                    doBroadcastMessage('MSG QUANDO ACABAR')
                end
            ]]>
        </lib>
     
        <globalevent name="happyHoursStop" interval="1000" event="script">
            <![CDATA[
                domodlib('happyHoursConf')
                domodlib('happyHoursLib')

                local daysOpen = {}
           
                for k, v in pairs(DAYS) do
                    table.insert(daysOpen, k)
                end
           
                function onThink(interval)
                    if isInArray(daysOpen, os.date('%A')) then
                        for k, v in pairs(DAYS[os.date('%A')]) do
                            if isInArray(v.to, os.date('%X', os.time())) then
                                    stopNewWorld()
                                break
                            end
                        end
                    end
                    return true
                end
            ]]>
        </globalevent>
     
        <globalevent name="happyHoursStart" interval="1000" event="script">
            <![CDATA[
                domodlib('happyHoursConf')
                domodlib('happyHoursLib')

                local daysOpen = {}
           
                for k, v in pairs(DAYS) do
                    table.insert(daysOpen, k)
                end
           
                function onThink(cid, interval)
                    if isInArray(daysOpen, os.date('%A')) then
                        for _, d in pairs(DAYS[os.date('%A')]) do
                            if isInArray(d.from, os.date('%X', os.time())) then
                                local newRate = 1 + (HH_EXTRA_EXP_PERCENT/100)

                                for _, cid in ipairs(getPlayersOnline()) do
                                    doPlayerSetSkills(cid, newRate)
                                end
                           
                                doSetStorage(HH_STORAGE, 1)
                           
                                doBroadcastMessage('MSG À TODOS DO SERVIDOR', MESSAGE_STATUS_WARNING)
                                break
                            end
                        end
                    end
                    return true
                end
            ]]>
        </globalevent>

        <event type='login' name='happyHoursLogin' event='script'>
            <![CDATA[
                domodlib('happyHoursConf')
                domodlib('happyHoursLib')

                function onLogin(cid)
                    if getStorage(HH_STORAGE) == 1 then
                        local newRate = 1 + (HH_EXTRA_EXP_PERCENT/100)
                        doPlayerSetSkills(cid, newRate)
                        doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'MSG QUANDO O PLAYER LOGAR')
                    else
                        doPlayerSetSkills(cid, 1)               
                    end
                    return true
                end
            ]]>
        </event>
    </mod>

    y listo a disfrutarlo en el archivo estan la configuraciones.



    Ver perfil de usuario http://www.tibiaface.com

    Krapula

    avatar
    Donador User
    Donador User
    Gracias Maya trabaja para Otx 2?

    Buen aporte Maya

    Ver perfil de usuario http://www.facebook.com

    gafogafo

    avatar
    Miembro
    Miembro
    no sirve maya


    local daysOpen = {}

    for k, v in pairs(DAYS) do
    table.insert(daysOpen, k)
    end

    function onThink(interval)
    if isInArray(daysOpen, os.date('%A')) then
    for k, v in pairs(DAYS[os.date('%A')]) do
    if isInArray(v.to, os.date('%X', os.time())) then
    stopNewWorld()
    break
    end
    end
    end
    return true
    end
    :onThink
    Description:
    data/lib/050-function.lua:4: bad argument #1 to 'ipairs' (table expected, got string)
    stack traceback:
    [C]: in function 'ipairs'
    data/lib/050-function.lua:4: in function 'isInArray'
    [string "LuaInterface::loadBuffer"]:13: in function <[string "LuaInterface::loadBuffer"]:10>
    [Error - GlobalEvents::think] Couldn't execute event: happyHoursStop

    Ver perfil de usuario

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:no sirve maya


           local daysOpen = {}
           
               for k, v in pairs(DAYS) do
                   table.insert(daysOpen, k)
               end
           
               function onThink(interval)
                   if isInArray(daysOpen, os.date('%A')) then
                       for k, v in pairs(DAYS[os.date('%A')]) do
                           if isInArray(v.to, os.date('%X', os.time())) then
                                   stopNewWorld()
                               break
                           end
                       end
                   end
                   return true
               end
    :onThink
    Description:
    data/lib/050-function.lua:4: bad argument #1 to 'ipairs' (table expected, got string)
    stack traceback:
    [C]: in function 'ipairs'
    data/lib/050-function.lua:4: in function 'isInArray'
    [string "LuaInterfaceBuffer"]:13: in function <[string "LuaInterfaceBuffer"]:10>
    [Error - GlobalEvents] Couldn't execute event: happyHoursStop


    solo es para tfs 0.4.0/0.3.7/ y posible que funcione en otx



    Ver perfil de usuario http://www.tibiaface.com

    gafogafo

    avatar
    Miembro
    Miembro
    no podrias crear uno para versiones otx 9x

    Ver perfil de usuario

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:no podrias crear uno para versiones otx 9x

    lo lamento no tengo tiempo en estos momentos



    Ver perfil de usuario http://www.tibiaface.com

    gafogafo

    avatar
    Miembro
    Miembro
    Sad ok bueno sera para luego gracias por tu esfuerzo en crear un scrypt asi Smile

    Ver perfil de usuario

    Krapula

    avatar
    Donador User
    Donador User
    hmmm no funciona para otx me carga un sin fin de error pero creo q es un problema de funtiones podrias ayudar maya?
    Me Carga el Stack traceback algo asi q ya me tiene verde me sale en otros script y es un problema de compatibilidad y no se como solucionarlo Very Happy



    Ver perfil de usuario http://www.facebook.com

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:hmmm no funciona para otx me carga un sin fin de error pero creo q es un problema de funtiones podrias ayudar maya?
    Me Carga el Stack traceback algo asi q ya me tiene verde me sale en otros script y es un problema de compatibilidad y no se como solucionarlo Very Happy




    en data/lib/050-functions.lua



    Código:

    function isInArray(array, value, caseSensitive)
    if(caseSensitive == nil or caseSensitive == false) and type(value) == "string" then
    local lowerValue = value:lower()
    for _, _value in ipairs(array) do
    if type(_value) == "string" and lowerValue == _value:lower() then
    return true
    end
    end
    else
    for _, _value in ipairs(array) do
    if (value == _value) then return true end
    end
    end

    return false
    end

    añades esto y veamos como funciona el scripts



    Ver perfil de usuario http://www.tibiaface.com

    dubujaba

    avatar
    Nuevo Miembro
    Nuevo Miembro
    Que tal Maya! Oye, hay alguna forma de modificar el script para que te avise 5 min antes de que empiece el evento, cada minuto? Por ejemplo:
    Evento de doble experiencia en 5 minutos
    Evento de doble experiencia en 4 minutos
    Evento de doble experiencia en 3 minutos
    Evento de doble experiencia en 2 minutos
    Evento de doble experiencia en 1 minuto
    Evento de doble experiencia iniciado

    y lo mismo para cuando acabe? Saludos!

    Ver perfil de usuario

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:Que tal Maya! Oye, hay alguna forma de modificar el script para que te avise 5 min antes de que empiece el evento, cada minuto? Por ejemplo:
    Evento de doble experiencia en 5 minutos
    Evento de doble experiencia en 4 minutos
    Evento de doble experiencia en 3 minutos
    Evento de doble experiencia en 2 minutos
    Evento de doble experiencia en 1 minuto
    Evento de doble experiencia iniciado

    y lo mismo para cuando acabe? Saludos!



    no la hay



    Ver perfil de usuario http://www.tibiaface.com

    Contenido patrocinado


    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.