• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [undefined] Tier Scroll :(

    Compartir:

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

    1[undefined] Tier Scroll :( Empty [undefined] Tier Scroll :( Mar Mar 05, 2024 6:46 am

    kyubinhok

    kyubinhok
    Nuevo Miembro
    Nuevo Miembro
    Hola, necesito ayuda con un script
    He pedido ayuda en 2 foros distintos y nadie me ha logrado ayudar, espero que aquí alguien me ayude
    Se los ruego

    Necesito este script:
    Un script que cuando haga clic en algún objeto ya sea un scroll o algo así, y le pueda dar "use with"

    Al usarlo sobre:
    algún arma,
    casco
    o armor

    Se consuma y le incremente el tier +1

    Por ejemplo
    Si uso ese "item" llamemoslo "tier scroll" sobre una terra rod tier 0, cambia a tier 1 y consume el scroll

    Si es tier 2 y usa el scroll en el objeto, cambia a tier 3.

    Y los artículos se pueden aumentar al nivel máximo (10), por ejemplo...

    Al intentar usar el scroll en un arma, casco o armadura tier 10, nos marque error
    Y diga, lo siento tu objeto no puede forjarse más.
    estoy usando
    Servidor Canary 13.21​

    Se los agradeceré eternamente si me ayudan con eso

    3 participantes

    2[undefined] Tier Scroll :( Empty Re: [undefined] Tier Scroll :( Mar Mar 05, 2024 12:38 pm

    akane

    akane
    Miembro
    Miembro
    primero, lo del item con la propiedad use with puedes buscar tanto un item en tu ot o agregar un item, campiarles las propiedades tanto del spr como el item editor, luego creas un script en actions basandote en le sistema de forge, tengo entendido que hay una especie de "maquina" que va aumentando los tiers, toma como ejemplo ese sistema creando un archivo nuevo indicando el item (en este caso el scroll)

    3 participantes

    3[undefined] Tier Scroll :( Empty Re: [undefined] Tier Scroll :( Mar Mar 05, 2024 7:19 pm

    kyubinhok

    kyubinhok
    Nuevo Miembro
    Nuevo Miembro
    akane escribió:primero, lo del item con la propiedad use with puedes buscar tanto un item en tu ot o agregar un item, campiarles las propiedades tanto del spr como el item editor, luego creas un script en actions basandote en le sistema de forge, tengo entendido que hay una especie de "maquina" que va aumentando los tiers, toma como ejemplo ese sistema creando un archivo nuevo indicando el item (en este caso el scroll)

    Me podrías ayuda un poco? Pense lo mismo que tú pero la verdad no aprendo muy bien acerca de hacer scripts...

    Mira, este es el comando del God para crear items...
    Y te permite crear objetos con tier incluido

    Ejemplo: si escribo /i terra rod, tier, 5
    Crea una terra rod con tier 5
    _____________________________________________________
    local createItem = TalkAction("/i")

    function createItem.onSay(player, words, param)
    -- create log
    logCommand(player, words, param)

    local split = param:split(",")

    local itemType = ItemType(split[1])
    if itemType:getId() == 0 then
    itemType = ItemType(tonumber(split[1]))
    if not tonumber(split[1]) or itemType:getId() == 0 then
    player:sendCancelMessage("There is no item with that id or name.")
    return true
    end
    end

    if itemType:getId() < 100 then
    return true
    end

    local charges = itemType:getCharges()
    local count = tonumber(split[2])
    if count then
    if itemType:isStackable() then
    local mainContainer = player:getSlotItem(CONST_SLOT_BACKPACK)
    if not mainContainer then
    player:addItemEx(Game.createItem(2854), CONST_SLOT_BACKPACK)
    mainContainer = player:getSlotItem(CONST_SLOT_BACKPACK)
    end
    local remainingCount = count
    local stackSize = itemType:getStackSize()

    while remainingCount > 0 do
    local freeSlots = mainContainer and (mainContainer:getCapacity() - mainContainer:getSize()) or 0
    if freeSlots <= 1 and mainContainer:getSize() ~= 0 then
    mainContainer = Game.createItem(2854)
    player:addItemEx(mainContainer)
    end

    local countToAdd = math.min(remainingCount, stackSize)
    local tmpItem = mainContainer:addItem(itemType:getId(), countToAdd)
    if tmpItem then
    remainingCount = remainingCount - countToAdd
    else
    logger.warn("Failed to add item: {}, to container", itemType:getName())
    break
    end
    end

    player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN)
    return true
    elseif not itemType:isFluidContainer() then
    local min = 100
    if charges > 0 then
    min = charges
    end
    count = math.min(min, math.max(1, count))
    else
    count = math.max(0, count)
    end
    else
    if not itemType:isFluidContainer() then
    if charges > 0 then
    player:addItem(itemType:getId(), 0)
    return true
    else
    count = 1
    end
    else
    count = 0
    end
    end

    local result
    local tier = tonumber(split[3])
    if not tier then
    result = player:addItem(itemType:getId(), count)
    else
    if tier <= 0 or tier > 15 then
    player:sendCancelMessage("Invalid tier count.")
    return true
    else
    result = player:addItem(itemType:getId(), count, true, 0, CONST_SLOT_WHEREEVER, tier)
    end
    end

    if result then
    if not itemType:isStackable() then
    if type(result) == "table" then
    for _, item in ipairs(result) do
    item:decay()
    end
    else
    result:decay()
    end
    end
    player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN)
    end
    return true
    end

    createItem:separator(" ")
    createItem:groupType("god")
    createItem:register()
    ____________________________________

    3 participantes

    4[undefined] Tier Scroll :( Empty Re: [undefined] Tier Scroll :( Mar Mar 05, 2024 7:45 pm

    SoyFabi

    SoyFabi
    Miembro
    Miembro
    la cuestión es saber cual es la función del tier:

    tengo esto
    Código:
    local it = ItemType(target:getId())
    local currentTier = it:getTier()
     
     local tierValue = target:getAttribute(ITEM_ATTRIBUTE_TIER)
     if currentTier ~= 0 then
     target:setAttribute(ITEM_ATTRIBUTE_TIER, tierValue + 1)
     player:say("TIER AUMENTADO!")
     end

    colocalo en un item que tenga "useWith" y le das encima del item que quieres que aumente de tier.

    3 participantes

    5[undefined] Tier Scroll :( Empty Re: [undefined] Tier Scroll :( Mar Mar 05, 2024 8:07 pm

    akane

    akane
    Miembro
    Miembro
    SoyFabi escribió:la cuestión es saber cual es la función del tier:

    tengo esto
    Código:
    local it = ItemType(target:getId())
    local currentTier = it:getTier()
     
     local tierValue = target:getAttribute(ITEM_ATTRIBUTE_TIER)
     if currentTier ~= 0 then
     target:setAttribute(ITEM_ATTRIBUTE_TIER, tierValue + 1)
     player:say("TIER AUMENTADO!")
     end

    colocalo en un item que tenga "useWith" y le das encima del item que quieres que aumente de tier.

    por eso le recomendé que revisara el sistema de forge, porque realmente no sé si hay un atributo como para aumentar tiers. Ahora tal vez si ocuparan un sistema de refinación o de upgrade para esa consola, tal vez se pueda crear un sistema como el que pide kyubinhok.

    Es lo unico que se me ocurre, ya que nunca he ocupado canary (con suerte estoy aprendiendo a usar tfs 1.3)

    3 participantes

    6[undefined] Tier Scroll :( Empty Re: [undefined] Tier Scroll :( Mar Mar 05, 2024 9:28 pm

    kyubinhok

    kyubinhok
    Nuevo Miembro
    Nuevo Miembro
    akane escribió:
    SoyFabi escribió:la cuestión es saber cual es la función del tier:

    tengo esto
    Código:
    local it = ItemType(target:getId())
    local currentTier = it:getTier()
     
     local tierValue = target:getAttribute(ITEM_ATTRIBUTE_TIER)
     if currentTier ~= 0 then
     target:setAttribute(ITEM_ATTRIBUTE_TIER, tierValue + 1)
     player:say("TIER AUMENTADO!")
     end

    colocalo en un item que tenga "useWith" y le das encima del item que quieres que aumente de tier.

    por eso le recomendé que revisara el sistema de forge, porque realmente no sé si hay un atributo como para aumentar tiers. Ahora tal vez si ocuparan un sistema de refinación o de upgrade para esa consola, tal vez se pueda crear un sistema como el que pide kyubinhok.

    Es lo unico que se me ocurre, ya que nunca he ocupado canary (con suerte estoy aprendiendo a usar tfs 1.3)

    Tengo estos scripts referentes a "tier" en mi servidor, no se si alguno de esos sea el que necesitan para ayudarme

    ___________________________________________________________________________
    El primero se llama "item_tiers"
    Y está ubicado en: canary-3.1.2\data-otservbr-global\scripts\item_classification

    local itemTierClassifications = {
    -- Upgrade classification 1
    [1] = {
    -- Update tier 0
    [1] = { price = 25000, core = 1 },
    },
    -- Upgrade classification 2
    [2] = {
    -- Update tier 0
    [1] = { price = 750000, core = 1 },
    -- Update tier 1
    [2] = { price = 5000000, core = 1 },
    },
    -- Upgrade classification 3
    [3] = {
    [1] = { price = 4000000, core = 1 },
    [2] = { price = 10000000, core = 1 },
    [3] = { price = 20000000, core = 2 },
    },
    -- Upgrade classification 4
    [4] = {
    [1] = { price = 8000000, core = 1 },
    [2] = { price = 20000000, core = 1 },
    [3] = { price = 40000000, core = 2 },
    [4] = { price = 65000000, core = 5 },
    [5] = { price = 100000000, core = 10 },
    [6] = { price = 250000000, core = 15 },
    [7] = { price = 750000000, core = 25 },
    [8] = { price = 2500000000, core = 35 },
    [9] = { price = 8000000000, core = 50 },
    [10] = { price = 15000000000, core = 65 },
    },
    }

    -- Item tier with gold price for uprading it
    for classificationId, classificationTable in ipairs(itemTierClassifications) do
    local itemClassification = Game.createItemClassification(classificationId)
    local classification = {}

    -- Registers table for register_item_tier.lua interface
    classification.Upgrades = {}
    for tierId, tierTable in ipairs(classificationTable) do
    if tierId and tierTable.price and tierTable.core ~= nil then
    table.insert(classification.Upgrades, { TierId = tierId - 1, Price = tierTable.price, Core = tierTable.core })
    end
    end
    -- Create item classification and register classification table
    itemClassification:register(classification)
    end

    3 participantes

    7[undefined] Tier Scroll :( Empty Re: [undefined] Tier Scroll :( Mar Mar 05, 2024 9:30 pm

    kyubinhok

    kyubinhok
    Nuevo Miembro
    Nuevo Miembro
    El segundo se llama: register_item_tier
    Y está ubicado en: canary-3.1.2\data-otservbr-global\scripts\lib

    registerItemClassification = {}
    setmetatable(registerItemClassification, {
    __call = function(self, itemClass, mask)
    for _, parse in pairs(self) do
    parse(itemClass, mask)
    end
    end,
    })

    ItemClassification.register = function(self, mask)
    return registerItemClassification(self, mask)
    end

    registerItemClassification.Upgrades = function(itemClassification, mask)
    if mask.Upgrades then
    for _, value in ipairs(mask.Upgrades) do
    if value.TierId and value.Price then
    itemClassification:addTier(value.TierId, value.Price, value.Core)
    else
    logger.warn("[registerItemClassification.Upgrades] - Item classification failed on adquire TierID or Price attribute.")
    end
    end
    end
    end

    3 participantes

    8[undefined] Tier Scroll :( Empty Re: [undefined] Tier Scroll :( Mar Mar 05, 2024 11:39 pm

    akane

    akane
    Miembro
    Miembro
    prueba si esta es la función "itemClassification:addTier"

    3 participantes

    9[undefined] Tier Scroll :( Empty Re: [undefined] Tier Scroll :( Miér Mar 06, 2024 12:35 am

    kyubinhok

    kyubinhok
    Nuevo Miembro
    Nuevo Miembro
    itemClassification:addTier

    Encontré aquí:
    canary-3.1.2\src\lua\functions\items


    este otro script:

    /**
    * Canary - A free and open-source MMORPG server emulator
    * Copyright (©) 2019-2022 OpenTibiaBR <opentibiabr@outlook.com>
    * Repository: [Tienes que estar registrado y conectado para ver este vínculo]
    * License: [Tienes que estar registrado y conectado para ver este vínculo]
    * Contributors: [Tienes que estar registrado y conectado para ver este vínculo]
    * Website: [Tienes que estar registrado y conectado para ver este vínculo]
    */

    #include "pch.hpp"

    #include "game/game.hpp"
    #include "lua/functions/items/item_classification_functions.hpp"

    int ItemClassificationFunctions::luaItemClassificationCreate(lua_State* L) {
    // ItemClassification(id)
    if (isNumber(L, 2)) {
    const ItemClassification* itemClassification = g_game().getItemsClassification(getNumber<uint8_t>(L, 2), false);
    if (itemClassification) {
    pushUserdata<const ItemClassification>(L, itemClassification);
    setMetatable(L, -1, "ItemClassification");
    pushBoolean(L, true);
    }
    }

    lua_pushnil(L);
    return 1;
    }

    int ItemClassificationFunctions::luaItemClassificationAddTier(lua_State* L) {
    // itemClassification:addTier(id, gold[, core = 0])
    ItemClassification* itemClassification = getUserdata<ItemClassification>(L, 1);
    if (itemClassification) {
    itemClassification->addTier(getNumber<uint8_t>(L, 2), getNumber<uint64_t>(L, 3), getNumber<uint8_t>(L, 4, 0));
    pushBoolean(L, true);
    } else {
    lua_pushnil(L);
    }

    return 1;
    }
    _______________________________________________________________
    No se si puedas ayudarme

    3 participantes

    10[undefined] Tier Scroll :( Empty Re: [undefined] Tier Scroll :( Miér Mar 06, 2024 12:50 am

    akane

    akane
    Miembro
    Miembro
    tal vez prueba con esto:

    Código:
    local it = ItemType(target:getId())
    local currentTier = it:getTier()

    local tierValue = target:getAttribute(ITEM_ATTRIBUTE_TIER)
    if currentTier ~= 0 then
       target:addTier(1)
       player:say("¡TIER AUMENTADO!")
    end


    o con este:

    Código:
    -- Definición de la acción "forge"
    local forge = Action()

    function forge.onUse(player, item, fromPosition, target, toPosition, isHotkey)
        player:openForge()
        return true
    end

    -- Definición de los ítems que activan la acción "forge"
    forge:id(37122, 37128, 37129, 37131, 37132, 37133, 37153, 37157)
    forge:register()

    -- Tabla de clasificaciones de actualización de tier
    local itemTierClassifications = {
        -- Upgrade classification 1
        [1] = {
            -- Update tier 0
            [1] = {price = 25000, core = 1}
        },
        -- Upgrade classification 2
        [2] = {
            -- Update tier 0
            [1] = {price = 750000, core = 1},
            -- Update tier 1
            [2] = {price = 5000000, core = 1}
        },
        -- Upgrade classification 3
        [3] = {
            [1] = {price = 4000000, core = 1},
            [2] = {price = 10000000, core = 1},
            [3] = {price = 20000000, core = 2}
        },
        -- Upgrade classification 4
        [4] = {
            [1] = {price = 8000000, core = 1},
            [2] = {price = 20000000, core = 1},
            [3] = {price = 40000000, core = 2},
            [4] = {price = 65000000, core = 5},
            [5] = {price = 100000000, core = 10},
            [6] = {price = 250000000, core = 15},
            [7] = {price = 750000000, core = 25},
            [8] = {price = 2500000000, core = 35},
            [9] = {price = 8000000000, core = 50},
            [10] = {price = 15000000000, core = 65}
        }
    }

    -- Función para aumentar el tier de un ítem de equipo
    function increaseTier(player, item)
        local itemId = item:getId()
        local itemTier = item:getTier()

        if itemTier then
            local classification = Game.getItemClassification(itemId)
            local upgrades = classification:getUpgrades()

            if upgrades[itemTier + 1] then
                local upgradeInfo = upgrades[itemTier + 1]
                local price = upgradeInfo.Price
                local core = upgradeInfo.Core

                if player:removeMoney(price) then
                    item:addTier(1)
                    player:say("¡Tier aumentado!")
                else
                    player:say("No tienes suficiente dinero para mejorar este ítem.")
                end
            else
                player:say("Este ítem ya está en su tier máximo.")
            end
        else
            player:say("Este ítem no puede ser mejorado.")
        end
    end

    -- Registro del evento de uso del ítem de equipo para aumentar su tier
    function onUseItem(player, item)
        increaseTier(player, item)
        return true
    end

    3 participantes

    11[undefined] Tier Scroll :( Empty Re: [undefined] Tier Scroll :( Miér Mar 06, 2024 5:18 am

    kyubinhok

    kyubinhok
    Nuevo Miembro
    Nuevo Miembro
    akane escribió:tal vez prueba con esto:

    Código:
    local it = ItemType(target:getId())
    local currentTier = it:getTier()

    local tierValue = target:getAttribute(ITEM_ATTRIBUTE_TIER)
    if currentTier ~= 0 then
       target:addTier(1)
       player:say("¡TIER AUMENTADO!")
    end


    o con este:

    Código:
    -- Definición de la acción "forge"
    local forge = Action()

    function forge.onUse(player, item, fromPosition, target, toPosition, isHotkey)
        player:openForge()
        return true
    end

    -- Definición de los ítems que activan la acción "forge"
    forge:id(37122, 37128, 37129, 37131, 37132, 37133, 37153, 37157)
    forge:register()

    -- Tabla de clasificaciones de actualización de tier
    local itemTierClassifications = {
        -- Upgrade classification 1
        [1] = {
            -- Update tier 0
            [1] = {price = 25000, core = 1}
        },
        -- Upgrade classification 2
        [2] = {
            -- Update tier 0
            [1] = {price = 750000, core = 1},
            -- Update tier 1
            [2] = {price = 5000000, core = 1}
        },
        -- Upgrade classification 3
        [3] = {
            [1] = {price = 4000000, core = 1},
            [2] = {price = 10000000, core = 1},
            [3] = {price = 20000000, core = 2}
        },
        -- Upgrade classification 4
        [4] = {
            [1] = {price = 8000000, core = 1},
            [2] = {price = 20000000, core = 1},
            [3] = {price = 40000000, core = 2},
            [4] = {price = 65000000, core = 5},
            [5] = {price = 100000000, core = 10},
            [6] = {price = 250000000, core = 15},
            [7] = {price = 750000000, core = 25},
            [8] = {price = 2500000000, core = 35},
            [9] = {price = 8000000000, core = 50},
            [10] = {price = 15000000000, core = 65}
        }
    }

    -- Función para aumentar el tier de un ítem de equipo
    function increaseTier(player, item)
        local itemId = item:getId()
        local itemTier = item:getTier()

        if itemTier then
            local classification = Game.getItemClassification(itemId)
            local upgrades = classification:getUpgrades()

            if upgrades[itemTier + 1] then
                local upgradeInfo = upgrades[itemTier + 1]
                local price = upgradeInfo.Price
                local core = upgradeInfo.Core

                if player:removeMoney(price) then
                    item:addTier(1)
                    player:say("¡Tier aumentado!")
                else
                    player:say("No tienes suficiente dinero para mejorar este ítem.")
                end
            else
                player:say("Este ítem ya está en su tier máximo.")
            end
        else
            player:say("Este ítem no puede ser mejorado.")
        end
    end

    -- Registro del evento de uso del ítem de equipo para aumentar su tier
    function onUseItem(player, item)
        increaseTier(player, item)
        return true
    end

    Muchas gracias bro de verdad!
    Honestamente soy nuevo en esto y apenas quiero aprender...
    Espero funcione

    Por cierto
    El id del item que usare en que parte del código va?
    Disculpa mi enorme ignorancia

    Ambos los agregaria aquí:??
    canary-3.1.2\data-otservbr-global\scripts\item_classification

    3 participantes

    12[undefined] Tier Scroll :( Empty Re: [undefined] Tier Scroll :( Miér Mar 06, 2024 1:42 pm

    akane

    akane
    Miembro
    Miembro
    kyubinhok escribió:
    akane escribió:tal vez prueba con esto:

    Código:
    local it = ItemType(target:getId())
    local currentTier = it:getTier()

    local tierValue = target:getAttribute(ITEM_ATTRIBUTE_TIER)
    if currentTier ~= 0 then
       target:addTier(1)
       player:say("¡TIER AUMENTADO!")
    end


    o con este:

    Código:
    -- Definición de la acción "forge"
    local forge = Action()

    function forge.onUse(player, item, fromPosition, target, toPosition, isHotkey)
        player:openForge()
        return true
    end

    -- Definición de los ítems que activan la acción "forge"
    forge:id(37122, 37128, 37129, 37131, 37132, 37133, 37153, 37157)
    forge:register()

    -- Tabla de clasificaciones de actualización de tier
    local itemTierClassifications = {
        -- Upgrade classification 1
        [1] = {
            -- Update tier 0
            [1] = {price = 25000, core = 1}
        },
        -- Upgrade classification 2
        [2] = {
            -- Update tier 0
            [1] = {price = 750000, core = 1},
            -- Update tier 1
            [2] = {price = 5000000, core = 1}
        },
        -- Upgrade classification 3
        [3] = {
            [1] = {price = 4000000, core = 1},
            [2] = {price = 10000000, core = 1},
            [3] = {price = 20000000, core = 2}
        },
        -- Upgrade classification 4
        [4] = {
            [1] = {price = 8000000, core = 1},
            [2] = {price = 20000000, core = 1},
            [3] = {price = 40000000, core = 2},
            [4] = {price = 65000000, core = 5},
            [5] = {price = 100000000, core = 10},
            [6] = {price = 250000000, core = 15},
            [7] = {price = 750000000, core = 25},
            [8] = {price = 2500000000, core = 35},
            [9] = {price = 8000000000, core = 50},
            [10] = {price = 15000000000, core = 65}
        }
    }

    -- Función para aumentar el tier de un ítem de equipo
    function increaseTier(player, item)
        local itemId = item:getId()
        local itemTier = item:getTier()

        if itemTier then
            local classification = Game.getItemClassification(itemId)
            local upgrades = classification:getUpgrades()

            if upgrades[itemTier + 1] then
                local upgradeInfo = upgrades[itemTier + 1]
                local price = upgradeInfo.Price
                local core = upgradeInfo.Core

                if player:removeMoney(price) then
                    item:addTier(1)
                    player:say("¡Tier aumentado!")
                else
                    player:say("No tienes suficiente dinero para mejorar este ítem.")
                end
            else
                player:say("Este ítem ya está en su tier máximo.")
            end
        else
            player:say("Este ítem no puede ser mejorado.")
        end
    end

    -- Registro del evento de uso del ítem de equipo para aumentar su tier
    function onUseItem(player, item)
        increaseTier(player, item)
        return true
    end

    Muchas gracias bro de verdad!
    Honestamente soy nuevo en esto y apenas quiero aprender...
    Espero funcione

    Por cierto
    El id del item que usare en que parte del código va?
    Disculpa mi enorme ignorancia

    Ambos los agregaria aquí:??
    canary-3.1.2\data-otservbr-global\scripts\item_classification

    prueba dejandolo en la carpeta de data-otservbr-global\scripts\actions, y si nó en scripts\item_classification

    el item lo cambias aquí

    Código:
    forge:id(37122, 37128, 37129, 37131, 37132, 37133, 37153, 37157)

    ahí borras los que ya están y colocas la id del item que quieres usar

    3 participantes

    13[undefined] Tier Scroll :( Empty Re: [undefined] Tier Scroll :( Miér Mar 06, 2024 4:19 pm

    kyubinhok

    kyubinhok
    Nuevo Miembro
    Nuevo Miembro
    37122
    Hola Akane, ya puse el código que me comentas, y agregue este item ID:
    _______________________________________________________
    You see a tier scroll.
    It weighs 4.00 oz.
    Incrementa un tier a un item.
    Client ID: 12540
    ______________________________________________________________

    Quedando así:
    Código:
    -- Definición de la acción "forge"
    local forge = Action()

    function forge.onUse(player, item, fromPosition, target, toPosition, isHotkey)
        player:openForge()
        return true
    end

    -- Definición de los ítems que activan la acción "forge"
    forge:id(12540)
    forge:register()

    -- Tabla de clasificaciones de actualización de tier
    local itemTierClassifications = {
        -- Upgrade classification 1
        [1] = {
            -- Update tier 0
            [1] = {price = 25000, core = 1}
        },
        -- Upgrade classification 2
        [2] = {
            -- Update tier 0
            [1] = {price = 750000, core = 1},
            -- Update tier 1
            [2] = {price = 5000000, core = 1}
        },
        -- Upgrade classification 3
        [3] = {
            [1] = {price = 4000000, core = 1},
            [2] = {price = 10000000, core = 1},
            [3] = {price = 20000000, core = 2}
        },
        -- Upgrade classification 4
        [4] = {
            [1] = {price = 8000000, core = 1},
            [2] = {price = 20000000, core = 1},
            [3] = {price = 40000000, core = 2},
            [4] = {price = 65000000, core = 5},
            [5] = {price = 100000000, core = 10},
            [6] = {price = 250000000, core = 15},
            [7] = {price = 750000000, core = 25},
            [8] = {price = 2500000000, core = 35},
            [9] = {price = 8000000000, core = 50},
            [10] = {price = 15000000000, core = 65}
        }
    }

    -- Función para aumentar el tier de un ítem de equipo
    function increaseTier(player, item)
        local itemId = item:getId()
        local itemTier = item:getTier()

        if itemTier then
            local classification = Game.getItemClassification(itemId)
            local upgrades = classification:getUpgrades()

            if upgrades[itemTier + 1] then
                local upgradeInfo = upgrades[itemTier + 1]
                local price = upgradeInfo.Price
                local core = upgradeInfo.Core

                if player:removeMoney(price) then
                    item:addTier(1)
                    player:say("¡Tier aumentado!")
                else
                    player:say("No tienes suficiente dinero para mejorar este ítem.")
                end
            else
                player:say("Este ítem ya está en su tier máximo.")
            end
        else
            player:say("Este ítem no puede ser mejorado.")
        end
    end

    -- Registro del evento de uso del ítem de equipo para aumentar su tier
    function onUseItem(player, item)
        increaseTier(player, item)
        return true
    end

    Pero lo unico que hace es que al darle click en USE, me abre la ventana de la exaltation forge (como si fuera a la adventurer guild y le diera click., pero igual me sigue pidiendo los 100 dusts

    3 participantes

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