• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    Premio por tiempo en linea

    Compartir:

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

    1Premio por tiempo en linea Empty Premio por tiempo en linea Mar Jun 13, 2017 10:19 pm

    krozzer

    krozzer
    Miembro
    Miembro
    Este es un script que da premio por estar en linea. para que motiven a los players a estar conectados.

    en creaturescripts/creaturescripts.xml pegan esto:

    Código:

    <event type="think" name="addpointTimer" script="addpointTimer.lua" />
    <event type="login" name="pointTimer" script="addpointTimer.lua" />

    en la carpeta scripts crean un archivo .lua ,lo nombran addpointTimer.lua y dentro pegan esto
    Código:

    local time = 20 -- tiempo en segundos(para 1 hora es 1 * 60 * 60)
    local count = 1 -- puntos que dara
    local storage = 455577 -- storage si ya lo estan usando lo cambian
    local msg = "you received 1 premium point" -- mensaje que enviara al player

    function onThink(creature, interval)
        local player = Player(creature)
        local cid = Player(creature)
        if not Player(player) then
            return creature:unregisterEvent("addpointTimer")
        end
     
        if player:getStorageValue(storage) < os.time() then
             db.query("UPDATE `accounts` SET `premium_points` = '".. getAccountPoints(cid) + count .."' WHERE `name` ='"..getPlayerAccount(cid).."'")
            player:setStorageValue(storage, os.time() + time)
     player:sendTextMessage(MESSAGE_STATUS_SMALL, msg)
        end
        local remaining = math.ceil(player:getStorageValue(storage) - os.time())
        
        return true
    end

    function onLogin(player)
                player:registerEvent("addpointTimer")
                player:setStorageValue(storage, os.time() + time)
                player:sendTextMessage(MESSAGE_EVENT_ORANGE, "Every 1 hour online you will earn a reward.")
      return true
    end

    si quieren que lugar de premium points de items:
    creaturescripts/addpointTimer.lua
    Código:

    local time = 20 -- tiempo en segundos(para 1 hora es 1 * 60 * 60)
    local count = 1 -- cantidad del item que dara
    local storage = 455577 -- storage si ya lo estan usando lo cambian
    local msg = "you received 1 premium point" -- mensaje que enviara al player
    local item = 2160 -- id del item

    function onThink(creature, interval)
        local player = Player(creature)
        local cid = Player(creature)
        if not Player(player) then
            return creature:unregisterEvent("addpointTimer")
        end
     
        if player:getStorageValue(storage) < os.time() then
            player:addItem(item, count)
            player:setStorageValue(storage, os.time() + time)
     player:sendTextMessage(MESSAGE_STATUS_SMALL, msg)
        end
        local remaining = math.ceil(player:getStorageValue(storage) - os.time())
        
        return true
    end

    function onLogin(player)
                player:registerEvent("addpointTimer")
                player:setStorageValue(storage, os.time() + time)
                player:sendTextMessage(MESSAGE_EVENT_ORANGE, "Every 1 hour online you will earn a reward.")
      return true
    end

    y eso es todo no hay que hacer nada mas

    creditos de god maya



    Última edición por krozzer el Mar Jun 13, 2017 10:34 pm, editado 2 veces (Razón : event type correccion)

    +4
    mer89
    Psycho
    [Admin] God Maya
    krozzer
    8 participantes
    http://tibiainfinity.servegame.com/site/

    2Premio por tiempo en linea Empty Re: Premio por tiempo en linea Mar Jun 13, 2017 10:31 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    gracias por el aporte +1 (y)



    Premio por tiempo en linea YNU5B25
    +4
    mer89
    Psycho
    [Admin] God Maya
    krozzer
    8 participantes
    http://www.tibiaface.com

    3Premio por tiempo en linea Empty Re: Premio por tiempo en linea Lun Jun 24, 2019 10:49 pm

    Psycho

    Psycho
    Moderador
    Moderador
    Muchas Gracias a probarlo!...



    AFC By Psycho & DMOT Server
    [Tienes que estar registrado y conectado para ver este vínculo]
    +4
    mer89
    Psycho
    [Admin] God Maya
    krozzer
    8 participantes
    http://digidarkss.com

    4Premio por tiempo en linea Empty Re: Premio por tiempo en linea Jue Ago 29, 2019 6:09 pm

    mer89

    mer89
    Miembro
    Miembro
    [Tienes que estar registrado y conectado para ver este vínculo] Hola, me da el siguiente error en consola:

    PD: USO OTSERVBR GLOBAL 10 x 11.40

    Código:
    Lua Script Error: [CreatureScript Interface]
    data/creaturescripts/scripts/fly.lua:onModalWindow
    data/creaturescripts/scripts/fly.lua:3: attempt to index field 'Exaust' (a nil value)
    stack traceback:
            [C]: in function '__index'
            data/creaturescripts/scripts/fly.lua:3: in function <data/creaturescripts/scripts/fly.lua:1>


    intente borrando el fly y sale lo siguiente:

    Código:
    Lua Script Error: [CreatureScript Interface]
    data/creaturescripts/scripts/addpointTimer.lua:onThink
    data/creaturescripts/scripts/addpointTimer.lua:15: attempt to call global 'getAccountPoints' (a nil value)
    stack traceback:
            [C]: in function 'getAccountPoints'
            data/creaturescripts/scripts/addpointTimer.lua:15: in function <data/creaturescripts/scripts/addpointTimer.lua:7>

    +4
    mer89
    Psycho
    [Admin] God Maya
    krozzer
    8 participantes

    5Premio por tiempo en linea Empty Re: Premio por tiempo en linea Jue Ago 29, 2019 8:27 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    mer89 escribió:[Tienes que estar registrado y conectado para ver este vínculo] Hola, me da el siguiente error en consola:

    PD: USO OTSERVBR GLOBAL 10 x 11.40

    Código:
    Lua Script Error: [CreatureScript Interface]
    data/creaturescripts/scripts/fly.lua:onModalWindow
    data/creaturescripts/scripts/fly.lua:3: attempt to index field 'Exaust' (a nil value)
    stack traceback:
            [C]: in function '__index'
            data/creaturescripts/scripts/fly.lua:3: in function <data/creaturescripts/scripts/fly.lua:1>


    intente borrando el fly y sale lo siguiente:

    Código:
    Lua Script Error: [CreatureScript Interface]
    data/creaturescripts/scripts/addpointTimer.lua:onThink
    data/creaturescripts/scripts/addpointTimer.lua:15: attempt to call global 'getAccountPoints' (a nil value)
    stack traceback:
            [C]: in function 'getAccountPoints'
            data/creaturescripts/scripts/addpointTimer.lua:15: in function <data/creaturescripts/scripts/addpointTimer.lua:7>


    este codigo no es para tfs 1.3



    Premio por tiempo en linea YNU5B25
    +4
    mer89
    Psycho
    [Admin] God Maya
    krozzer
    8 participantes
    http://www.tibiaface.com

    6Premio por tiempo en linea Empty Re: Premio por tiempo en linea Vie Ago 30, 2019 5:25 pm

    ralke

    ralke
    Miembro
    Miembro
    Código:
    function onLogin(player)
                player:registerEvent("addpointTimer")
                player:setStorageValue(storage, os.time() + time)
                player:sendTextMessage(MESSAGE_EVENT_ORANGE, "Every 1 hour online you will earn a reward.")
      return true

    Hola GodMaya, esta parte esta dando bug en TFS 0.4, el error:

    Código:
    attemp to index local 'player' a number value

    +4
    mer89
    Psycho
    [Admin] God Maya
    krozzer
    8 participantes
    http://greedisland.ml/index.php

    7Premio por tiempo en linea Empty Re: Premio por tiempo en linea Vie Ago 30, 2019 10:04 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    ralke escribió:
    Código:
    function onLogin(player)
                player:registerEvent("addpointTimer")
                player:setStorageValue(storage, os.time() + time)
                player:sendTextMessage(MESSAGE_EVENT_ORANGE, "Every 1 hour online you will earn a reward.")
      return true

    Hola GodMaya, esta parte esta dando bug en TFS 0.4, el error:

    Código:
    attemp to index local 'player' a number value

    este script no es para tfs 0.4



    Premio por tiempo en linea YNU5B25
    +4
    mer89
    Psycho
    [Admin] God Maya
    krozzer
    8 participantes
    http://www.tibiaface.com

    8Premio por tiempo en linea Empty Re: Premio por tiempo en linea Lun Oct 07, 2019 1:37 pm

    zerghel

    avatar
    Nuevo Miembro
    Nuevo Miembro
    Este es para Otx 3.10 podria funcionar en tfs 1.3
    y tambien evita que los players offline en trainers obtengan puntos
    ojo: que funciona por 'coins' y no 'premium_points' en la DB y es posible abusar con MC
    Código:
    local time = 5 * 60 -- tiempo en segundos(para 1 hora es 1 * 60 * 60)
    local count = 1 -- puntos que dara
    local storage = 455577 -- storage si ya lo estan usando lo cambian
    local msg = "you received 1 premium point" -- mensaje que enviara al player

    function onThink(creature, interval)
        local player = Player(creature)
        local cid = Player(creature)
        if not Player(player) then
            return creature:unregisterEvent("addpointTimer")
        end
     
        if player:getStorageValue(storage) < os.time() and player:getIp() > 0 then
          db.query('UPDATE accounts SET coins = coins+'.. count ..' WHERE id = ' .. getAccountNumberByPlayerName(getCreatureName(cid)))
            player:setStorageValue(storage, os.time() + time)
     player:sendTextMessage(MESSAGE_STATUS_SMALL, msg)
        end
        local remaining = math.ceil(player:getStorageValue(storage) - os.time())
        
        return true
    end

    function onLogin(player)
                player:registerEvent("addpointTimer")
                player:setStorageValue(storage, os.time() + time)
                player:sendTextMessage(MESSAGE_EVENT_ORANGE, "Every 5 minutes online you will earn a reward.")
      return true
    end
    P.D. perdon si algo esta mal en el codigo no soy scripter pero funciona



    Última edición por zerghel el Lun Oct 07, 2019 1:52 pm, editado 1 vez

    +4
    mer89
    Psycho
    [Admin] God Maya
    krozzer
    8 participantes

    9Premio por tiempo en linea Empty Re: Premio por tiempo en linea Lun Oct 07, 2019 1:51 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    zerghel escribió:Este es para Otx 3.10 podria funcionar en tfs 1.3
    y tambien evita que los players offline en trainers obtengan puntos
    ojo: que funciona por 'coins' y no 'premium_points' en la DB
    Código:
    local time = 5 * 60 -- tiempo en segundos(para 1 hora es 1 * 60 * 60)
    local count = 1 -- puntos que dara
    local storage = 455577 -- storage si ya lo estan usando lo cambian
    local msg = "you received 1 premium point" -- mensaje que enviara al player

    function onThink(creature, interval)
        local player = Player(creature)
        local cid = Player(creature)
        if not Player(player) then
            return creature:unregisterEvent("addpointTimer")
        end
     
        if player:getStorageValue(storage) < os.time() and player:getIp() > 0 then
          db.query('UPDATE accounts SET coins = coins+'.. count ..' WHERE id = ' .. getAccountNumberByPlayerName(getCreatureName(cid)))
            player:setStorageValue(storage, os.time() + time)
     player:sendTextMessage(MESSAGE_STATUS_SMALL, msg)
        end
        local remaining = math.ceil(player:getStorageValue(storage) - os.time())
       
        return true
    end

    function onLogin(player)
                player:registerEvent("addpointTimer")
                player:setStorageValue(storage, os.time() + time)
                player:sendTextMessage(MESSAGE_EVENT_ORANGE, "Every 5 minutes online you will earn a reward.")
      return true
    end
    P.D. perdon si algo esta mal en el codigo no soy scripter pero funciona

    gracias por el aporte +1 (y)



    Premio por tiempo en linea YNU5B25
    +4
    mer89
    Psycho
    [Admin] God Maya
    krozzer
    8 participantes
    http://www.tibiaface.com

    10Premio por tiempo en linea Empty Re: Premio por tiempo en linea Jue Sep 01, 2022 4:40 pm

    Morfar

    Morfar
    Miembro
    Miembro
    no hay uno para tfs 0.4?

    +4
    mer89
    Psycho
    [Admin] God Maya
    krozzer
    8 participantes

    11Premio por tiempo en linea Empty Re: Premio por tiempo en linea Jue Sep 01, 2022 5:47 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Morfar escribió:no hay uno para tfs 0.4?

    Código:

    local items = {
        [1] = {
            itemid = 2160,
            count = 1,
        },
        [2] = {
            itemid = 2160,
            count = 2
        }
    }

    local events = {}

    local function addReward(cid, rewardId)
        if not isPlayer(cid) then
            return
        end
        local item = items[rewardId or #items]
        doPlayerAddItem(cid, item.itemid, item.count)
        events[cid] = addEvent(addReward, 60 * 60 * 1000, cid, rewardId + 1)
    end

    function onLogin(cid)
        events[cid] = addEvent(addReward, 60 * 60 * 1000, cid, 1)
        return true
    end

    function onLogout(cid)
        if events[cid] then
            stopEvent(events[cid])
            events[cid] = nil
        end
        return true
    end

    Código:


    <event type="login" name="itemLogin" event="script" value="reward.lua"/>
    <event type="logout" name="itemLogout" event="script" value="reward.lua"/>


    Código:

    registerCreatureEvent(cid, "itemLogin")
    registerCreatureEvent(cid, "itemLogout")



    Premio por tiempo en linea YNU5B25
    +4
    mer89
    Psycho
    [Admin] God Maya
    krozzer
    8 participantes
    http://www.tibiaface.com

    12Premio por tiempo en linea Empty Re: Premio por tiempo en linea Vie Sep 02, 2022 6:37 pm

    Morfar

    Morfar
    Miembro
    Miembro
    gracias funciona perfecto, se puede la otra manera que de premium points para comprar en la web?

    +4
    mer89
    Psycho
    [Admin] God Maya
    krozzer
    8 participantes

    13Premio por tiempo en linea Empty Re: Premio por tiempo en linea Lun Feb 06, 2023 12:36 pm

    sereno6199

    sereno6199
    Nuevo Miembro
    Nuevo Miembro
    y si quiero dar tournament coins en lugar de tibia coins y e items, porque el TCoins no tiene id solo los tibia coins :/

    +4
    mer89
    Psycho
    [Admin] God Maya
    krozzer
    8 participantes

    14Premio por tiempo en linea Empty Re: Premio por tiempo en linea Lun Feb 06, 2023 10:46 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    sereno6199 escribió:y si quiero dar tournament coins en lugar de tibia coins y e items, porque el TCoins no tiene id solo los tibia coins :/

    tiene que modificar en ves que de un objeto tendra que el scripts ejecute una tabla mysql



    Premio por tiempo en linea YNU5B25
    +4
    mer89
    Psycho
    [Admin] God Maya
    krozzer
    8 participantes
    http://www.tibiaface.com

    Contenido patrocinado


    +4
    mer89
    Psycho
    [Admin] God Maya
    krozzer
    8 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).