• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    doble exp para los player (tfs 1.2 otx 3.9)

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

    1default doble exp para los player (tfs 1.2 otx 3.9) el Miér Jun 14, 2017 1:35 pm

    krozzer

    avatar
    Miembro
    Miembro
    Un usuario pidio un talkaction que active doble exp para los jugadores por cierto tiempo respetando sus stages. aqui esta.

    En talkactions/scripts copian un archivo .lua lo renombran como bonusExp.lua y pegas esto:
    Código:

    BONUS_EXP_MULT = 2 -- multiplicador de la exp
    BONUS_EXP_STORAGE = 1234 -- storage si estas usando cambialo
    time = 60 --tiempo en segundos para una hora es 1* 60* 60
    function onSay(player, words, param)
     if not player:getGroup():getAccess() then
     return true
     end
     
        if player:getStorageValue(BONUS_EXP_STORAGE) >= os.time() then
            player:say('double exp is already active!', TALKTYPE_MONSTER_SAY)
            return true
        end
     
     
     local players = Game.getPlayers()
     for k, targetPlayer in ipairs(players) do
     
        targetPlayer:setStorageValue(BONUS_EXP_STORAGE, os.time() + time)
        targetPlayer:say('Your 24 hours of double XP has started!', TALKTYPE_MONSTER_SAY)
     end
     return false
    end

    ahora en talkactions.xml agregas esta linea:
    Código:

    <talkaction words="/exp" script="bonusExp.lua" />

    en events/scripts/player.lua buscar la funcion Player:onGainExperience y pegar esto al final si no lo tienes:
    *nota arriba del (return exp)

    Código:

    if self:getStorageValue(BONUS_EXP_STORAGE) - os.time() > 0 then
          exp = exp * BONUS_EXP_MULT
       end

    activaras la doble exp usando el comando /exp si quieres cambiarlo edita esta parte en talkaction.xml:
    Código:

    words="/exp"



    Última edición por krozzer el Miér Jun 14, 2017 9:49 pm, editado 2 veces

    Ver perfil de usuario http://tibiainfinity.servegame.com/site/

    2default Re: doble exp para los player (tfs 1.2 otx 3.9) el Miér Jun 14, 2017 1:56 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    gracias por el aporte +1 (y)



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

    3default Re: doble exp para los player (tfs 1.2 otx 3.9) el Miér Jun 14, 2017 8:51 pm

    Fosfik

    avatar
    Miembro
    Miembro
    Wow! bro te la rifaste muchisimas gracias +1 (y) Very Happy

    Oye bro una cosilla mas podrias poner los pasos para poder ponerlo Razz gracias

    Ver perfil de usuario

    4default Re: doble exp para los player (tfs 1.2 otx 3.9) el Miér Jun 14, 2017 9:46 pm

    krozzer

    avatar
    Miembro
    Miembro
    Fosfik escribió:Wow! bro te la rifaste muchisimas gracias +1 (y) Very Happy

    Oye bro una cosilla mas podrias poner los pasos para poder ponerlo Razz gracias

    Claro, ya edite el tema con los pasos si tienes problemas me avisas pero es fácil su instalación

    Ver perfil de usuario http://tibiainfinity.servegame.com/site/

    5default Re: doble exp para los player (tfs 1.2 otx 3.9) el Miér Jun 14, 2017 11:57 pm

    Fosfik

    avatar
    Miembro
    Miembro
    krozzer escribió:
    Fosfik escribió:Wow! bro te la rifaste muchisimas gracias +1 (y) Very Happy

    Oye bro una cosilla mas podrias poner los pasos para poder ponerlo Razz gracias

    Claro, ya edite el tema con los pasos si tienes problemas me avisas pero es fácil su instalación

    Espectacular bro solo que no me esta funcionando, hice todos los pasos y no hay errores en consola, pero al momento de hacerle /exp no cambia la exp me queda igual, si aparece el mensaje que dice que la exp esta activada, pero no me da mas exp, me podrias ayudar porfas

    Ver perfil de usuario

    krozzer

    avatar
    Miembro
    Miembro
    if self:getStorageValue(BONUS_EXP_STORAGE) - os.time() > 0 then
          exp = exp * BONUS_EXP_MULT
       end

    instalaste correctamente esta parte en tu player.lua? debe ser en la funcion: Player:onGainExperience y si el return no dice return exp no funcionara. Si quieres pasame tu player.lua

    Ver perfil de usuario http://tibiainfinity.servegame.com/site/

    Fosfik

    avatar
    Miembro
    Miembro
    AQUI ESTA LO QUE TENGO:

    Ver perfil de usuario

    krozzer

    avatar
    Miembro
    Miembro
    quedaria asi:

    Código:

    function Player:onGainExperience(source, exp, rawExp)
       if not source or source:isPlayer() then
          return exp
       end
    if self:getStorageValue(BONUS_EXP_STORAGE) - os.time() > 0 then
          exp = exp * BONUS_EXP_MULT
    end

       return exp
    end

    Ver perfil de usuario http://tibiainfinity.servegame.com/site/

    Fosfik

    avatar
    Miembro
    Miembro
    krozzer escribió:quedaria asi:

    Código:

    function Player:onGainExperience(source, exp, rawExp)
     if not source or source:isPlayer() then
     return exp
     end
    if self:getStorageValue(BONUS_EXP_STORAGE) - os.time() > 0 then
     exp = exp * BONUS_EXP_MULT
    end

     return exp
    end


    ME SALE ERROR BRO

    Ver perfil de usuario

    krozzer

    avatar
    Miembro
    Miembro
    Fosfik escribió:
    krozzer escribió:quedaria asi:

    Código:

    function Player:onGainExperience(source, exp, rawExp)
     if not source or source:isPlayer() then
     return exp
     end
    if self:getStorageValue(BONUS_EXP_STORAGE) - os.time() > 0 then
     exp = exp * BONUS_EXP_MULT
    end

     return exp
    end


    ME SALE ERROR BRO

    Eso significa que no lo hiciste correctamente y ahora te falta o sobra un end

    Ver perfil de usuario http://tibiainfinity.servegame.com/site/

    Fosfik

    avatar
    Miembro
    Miembro
    krozzer escribió:
    Fosfik escribió:
    krozzer escribió:quedaria asi:

    Código:

    function Player:onGainExperience(source, exp, rawExp)
     if not source or source:isPlayer() then
     return exp
     end
    if self:getStorageValue(BONUS_EXP_STORAGE) - os.time() > 0 then
     exp = exp * BONUS_EXP_MULT
    end

     return exp
    end


    ME SALE ERROR BRO

    Eso significa que no lo hiciste correctamente y ahora te falta o sobra un end

    Pues lo copie exactamente como me lo diste, y le puse ends mas y le quite y actualizaba y seguia el error

    Ver perfil de usuario

    krozzer

    avatar
    Miembro
    Miembro
    Fosfik escribió:
    krozzer escribió:
    Fosfik escribió:
    krozzer escribió:quedaria asi:

    Código:

    function Player:onGainExperience(source, exp, rawExp)
     if not source or source:isPlayer() then
     return exp
     end
    if self:getStorageValue(BONUS_EXP_STORAGE) - os.time() > 0 then
     exp = exp * BONUS_EXP_MULT
    end

     return exp
    end


    ME SALE ERROR BRO

    Eso significa que no lo hiciste correctamente y ahora te falta o sobra un end

    Pues lo copie exactamente como me lo diste, y le puse ends mas y le quite y actualizaba y seguia el error

    enviame por privado tu player.lua COMPLETO y te lo arreglo

    Ver perfil de usuario http://tibiainfinity.servegame.com/site/

    krozzer

    avatar
    Miembro
    Miembro
    ubica la parte que dice -- exp card en tu player.lua
    debajo de eso pegas esto
    Código:

    -- talk exp
    if self:getStorageValue(BONUS_EXP_STORAGE2) - os.time() > 0 then
    exp = exp * BONUS_EXP_MULT2
    end
    -- talk

    y la script en talkactions cambiala por esto:
    Código:

    BONUS_EXP_MULT2 = 2 -- multiplicador de la exp
    BONUS_EXP_STORAGE2 = 1234 -- storage si estas usando cambialo
    time = 60 --tiempo en segundos para una hora es 1* 60* 60
    function onSay(player, words, param)
     if not player:getGroup():getAccess() then
     return true
     end
     
        if player:getStorageValue(BONUS_EXP_STORAGE) >= os.time() then
            player:say('double exp is already active!', TALKTYPE_MONSTER_SAY)
            return true
        end
     
     
     local players = Game.getPlayers()
     for k, targetPlayer in ipairs(players) do
     
        targetPlayer:setStorageValue(BONUS_EXP_STORAGE, os.time() + time)
        targetPlayer:say('Your 24 hours of double XP has started!', TALKTYPE_MONSTER_SAY)
     end
     return false
    end

    eso ya no deberia darte problemas ya que se veia afectado por otro sistema que tiene tu server. Me avisas si no.

    Ver perfil de usuario http://tibiainfinity.servegame.com/site/

    Fosfik

    avatar
    Miembro
    Miembro
    krozzer escribió:ubica la parte que dice -- exp card en tu player.lua
    debajo de eso pegas esto
    Código:

    -- talk exp
    if self:getStorageValue(BONUS_EXP_STORAGE2) - os.time() > 0 then
    exp = exp * BONUS_EXP_MULT2
    end
    -- talk

    y la script en talkactions cambiala por esto:
    Código:

    BONUS_EXP_MULT2 = 2 -- multiplicador de la exp
    BONUS_EXP_STORAGE2 = 1234 -- storage si estas usando cambialo
    time = 60 --tiempo en segundos para una hora es 1* 60* 60
    function onSay(player, words, param)
     if not player:getGroup():getAccess() then
     return true
     end
     
        if player:getStorageValue(BONUS_EXP_STORAGE) >= os.time() then
            player:say('double exp is already active!', TALKTYPE_MONSTER_SAY)
            return true
        end
     
     
     local players = Game.getPlayers()
     for k, targetPlayer in ipairs(players) do
     
        targetPlayer:setStorageValue(BONUS_EXP_STORAGE, os.time() + time)
        targetPlayer:say('Your 24 hours of double XP has started!', TALKTYPE_MONSTER_SAY)
     end
     return false
    end

    eso ya no deberia darte problemas ya que se veia afectado por otro sistema que tiene tu server. Me avisas si no.


    NO FUNCIONA BRO ME SALE OTRO ERROR EN CONSOLA!


    Ver perfil de usuario

    krozzer

    avatar
    Miembro
    Miembro
    Fosfik escribió:
    krozzer escribió:ubica la parte que dice -- exp card en tu player.lua
    debajo de eso pegas esto
    Código:

    -- talk exp
    if self:getStorageValue(BONUS_EXP_STORAGE2) - os.time() > 0 then
    exp = exp * BONUS_EXP_MULT2
    end
    -- talk

    y la script en talkactions cambiala por esto:
    Código:

    BONUS_EXP_MULT2 = 2 -- multiplicador de la exp
    BONUS_EXP_STORAGE2 = 1234 -- storage si estas usando cambialo
    time = 60 --tiempo en segundos para una hora es 1* 60* 60
    function onSay(player, words, param)
     if not player:getGroup():getAccess() then
     return true
     end
     
        if player:getStorageValue(BONUS_EXP_STORAGE) >= os.time() then
            player:say('double exp is already active!', TALKTYPE_MONSTER_SAY)
            return true
        end
     
     
     local players = Game.getPlayers()
     for k, targetPlayer in ipairs(players) do
     
        targetPlayer:setStorageValue(BONUS_EXP_STORAGE, os.time() + time)
        targetPlayer:say('Your 24 hours of double XP has started!', TALKTYPE_MONSTER_SAY)
     end
     return false
    end

    eso ya no deberia darte problemas ya que se veia afectado por otro sistema que tiene tu server. Me avisas si no.


    NO FUNCIONA BRO ME SALE OTRO ERROR EN CONSOLA!



    we eso es tu player.lua que te sigue faltando un end

    Ver perfil de usuario http://tibiainfinity.servegame.com/site/

    Chuymax

    avatar
    Nuevo Miembro
    Nuevo Miembro
    Alguien sabe como puedo poner esto en el Store, así como un (Xp Boost) como tibia Rl?

    Ver perfil de usuario

    17default Re: doble exp para los player (tfs 1.2 otx 3.9) el Sáb Jun 24, 2017 5:38 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    Chuymax escribió:Alguien sabe como puedo poner esto en el Store, así como un (Xp Boost) como tibia Rl?

    como es eso no tengo conocimiento de aquello



    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.

     

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