• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    script item when use item dissapear and add magic level for one hour

    Compartir:

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

    qwarcik

    avatar
    Miembro
    Miembro
    hello, can someone help me with script ?

    when i use id x item dissapear and and me magic level for one hour. how to create it?

    Ver perfil de usuario

    [Admin] God Maya

    avatar
    Administrador
    Administrador

    todo esto agregado a actions



    Código:
     
    BOOST_GEMS = {
       [2154] = {
          level = 5,  -----> cantidad skill
          storage = 100,  ---> storage
          time = 4 * 60 * 60, ------> time minutes
          color = 210,  ------> color efecto
          vocation = {3, 7},  ---> vocaciones
          condition = {CONDITION_PARAM_SKILL_DISTANCE}  ------> habilidad a aumentar
       },
       [2156] = {
          level = 5,
          storage = 101,
          time = 4 * 60 * 60,
          color = 180,
          vocation = {4, 8},
          condition = {CONDITION_PARAM_SKILL_CLUB, CONDITION_PARAM_SKILL_SWORD, CONDITION_PARAM_SKILL_AXE}
       },
       [2158] = {
          level = 5,
          storage = 102,
          time = 4 * 60 * 60,
          color = 143,
          vocation = {1, 2, 5, 6},
          condition = {CONDITION_PARAM_STAT_MAGICLEVEL}
       },   
    }

    BOOST_CONDITIONS = {}
    for k, v in pairs(BOOST_GEMS) do
       BOOST_CONDITIONS[k] = createConditionObject(CONDITION_ATTRIBUTES)
       setConditionParam(BOOST_CONDITIONS[k], CONDITION_PARAM_SUBID, k)
       setConditionParam(BOOST_CONDITIONS[k], CONDITION_PARAM_TICKS, -1)
       setConditionParam(BOOST_CONDITIONS[k], CONDITION_PARAM_BUFF, true)
       for _, condition in ipairs(v.condition) do
          setConditionParam(BOOST_CONDITIONS[k], condition, v.level)
       end   
    end

    function string.diff(diff)
        local format = {
            {'hour', diff / 60 / 60 % 24},
            {'minute', diff / 60 % 60},
            {'second', diff % 60}
        }

        local out = {}
        for k, t in ipairs(format) do
            local v = math.floor(t[2])
            if(v > 0) then
                table.insert(out, (k < #format and (#out > 0 and ', ' or '') or ' and ') .. v .. ' ' .. t[1] .. (v ~= 1 and 's' or ''))
            end
        end
        local ret = table.concat(out)
        if ret:len() < 16 and ret:find('second') then
            local a, b = ret:find(' and ')
            ret = ret:sub(b+1)
        end
        return ret
    end

    function onUse(cid, item, fromPosition, itemEx, toPosition)
       local g = BOOST_GEMS[item.itemid]
       if not isInArray(g.vocation, getPlayerVocation(cid)) then
          return doPlayerSendCancel(cid, "Sorry, this gem can only be eaten by another vocation.")
       end

       if exhaustion.check(cid, g.storage) then
          return doPlayerSendCancel(cid, "You still have " .. string.diff(getCreatureStorage(cid, g.storage) - os.time()) .. " left of this boost.")
       end

       doRemoveItem(item.uid)
       exhaustion.set(cid, g.storage, g.time)
       doAddCondition(cid, BOOST_CONDITIONS[item.itemid])
       return true
    end



    Código:
     <action itemid="2154;2156;2158" event="script" value="gemboost.lua"/>



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

    qwarcik

    avatar
    Miembro
    Miembro
    ok but what when i die with this boost ?

    Ver perfil de usuario

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    follow the event even if he dies



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

    qwarcik

    avatar
    Miembro
    Miembro
    when i died all bonus stats reset :/ how to save it in mysql ? or creaturescript ? hmmmm

    Ver perfil de usuario

    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).