• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [Actions] Refinamiento de item

    Compartir:

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

    1default [Actions] Refinamiento de item el Mar Jun 03, 2014 2:56 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Hola usuarios de tibiaface


    hoy les traigo el sistema de refineria:

    muy sencillo de usar usted devn tener a la mano un iron hammer y su backpack iron ores. bueno ustede le dan use al iron hammer y le dan click a la armor o sword o escudo y con suerte el objeto suvira su defensa o ataque. bueno vamos a la instalacion:


    [Actions] Refinamiento de item 1095000_663770403683243_1204354961_n


    Nos vamos a:


    Data/actions/scripts


    copiamos cualquier archivo y renombramos por refine.lua y pegamos esto dentro

    Código:
    local vocations = {11, 16, 21}

    local ids_bloqueados = {7424}

    local controle = {
        {level = 0, quantOre = 1, chance = 45},
        {level = 1, quantOre = 2, chance = 33},
        {level = 2, quantOre = 3, chance = 28},
        {level = 3, quantOre = 4, chance = 27},
        {level = 4, quantOre = 5, chance = 24},
        {level = 5, quantOre = 6, chance = 20},
        {level = 6, quantOre = 7, chance = 10},
        {level = 7, quantOre = 8, chance = 8},
        {level = 8, quantOre = 9, chance = 5},
        {level = 9, quantOre = 10, chance = 2}
    }


    function isWeapon(uid) -- Function by Mock the bear.
        uid = uid or 0
        local f = getItemWeaponType(uid)
        if f == 1 or f == 2 or f == 3 then
            return true
        end
        return false   
    end

    function isShield(uid) -- Function by Mock the bear.
        uid = uid or 0
        if getItemWeaponType(uid) == 4 then
            return true
        end
        return false   
    end

    function getWeaponLevel(uid) -- Function by Mock the bear.
        uid = uid or 0
        local name = getItemName(uid)
        local _,_,lvl = string.find(name,'+(%d+)')
        return tonumber(lvl) or 0
    end

    function onUse(cid, item, fromPosition, itemEx, toPosition)
       
        local chan = math.random(1, 100)
       
        if isInArray(ids_bloqueados, itemEx.itemid) or not isMovable(itemEx.uid) then
            return doPlayerSendCancel(cid, "Voce nao pode refinar este item.")
        elseif not isInArray(vocations, getPlayerVocation(cid)) then
            return doPlayerSendCancel(cid, "Apenas miners podem refinar.")
        elseif isCreature(itemEx.uid) then
            return doPlayerSendCancel(cid, "Isto nao e possivel.")
        end

        local level = getWeaponLevel(itemEx.uid)

        if isWeapon(itemEx.uid) then
            for u, cont_ in pairs(controle) do
               
                local atk = getWeaponLevel(itemEx.uid) == 0 and getItemInfo(itemEx.itemid).attack or getItemAttribute(itemEx.uid,'attack')
               
                if level == cont_.level then
                    if getPlayerItemCount(cid, 12403) >= cont_.quantOre then
                        if chan <= cont_.chance then
                            doItemSetAttribute(itemEx.uid, "attack",atk + 1)
                            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você refinou com sucesso!")
                            doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_CRAPS)
                            doItemSetAttribute(itemEx.uid, 'name', getItemNameById(itemEx.itemid)..' +'..(level+1))
                            doItemSetAttribute(itemEx.uid, "description", "Este item foi refinado por " .. getCreatureName(cid) .. "")
                            doPlayerRemoveItem(cid, 12403, cont_.quantOre)
                        else
                            doTransformItem(itemEx.uid, 2256)
                            doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_CRAPS)
                            doItemSetAttribute(itemEx.uid, 'name', "metal trash")
                            doItemSetAttribute(itemEx.uid, 'attack', 0)
                            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce falhou.")
                            return true
                        end
                    else
                        doPlayerSendCancel(cid, "Voce nao tem battle stones o suficiente. Voce precisa de " .. cont_.quantOre .. " battle stones.")
                    end
                elseif level == 10 then
                    return doPlayerSendCancel(cid, "Este item ja esta no nivel maximo.")
                end
            end
           
        elseif getItemInfo(itemEx.itemid).armor > 0 then
           
            for u, cont_ in pairs(controle) do
               
                local arm = getWeaponLevel(itemEx.uid) == 0 and getItemInfo(itemEx.itemid).armor or getItemAttribute(itemEx.uid,'armor')
               
                if level == cont_.level then
                    if getPlayerItemCount(cid, 12403) >= cont_.quantOre then
                        if chan <= cont_.chance then
                            doItemSetAttribute(itemEx.uid, 'armor',arm + 1)
                            doPlayerRemoveItem(cid, 12403, cont_.quantOre)
                            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce refinou com sucesso!")
                            doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_CRAPS)
                            doItemSetAttribute(itemEx.uid, 'name', getItemNameById(itemEx.itemid)..' +'..(level+1))
                            doItemSetAttribute(itemEx.uid, "description", "Este item foi refinado por " .. getCreatureName(cid) .. "")
                            else
                            doTransformItem(itemEx.uid, 2256)
                            doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_CRAPS)
                            doItemSetAttribute(itemEx.uid, 'name', "metal trash")
                            doItemSetAttribute(itemEx.uid, 'armor', 0)
                            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce falhou.")
                        end
                    else
                        doPlayerSendCancel(cid, "Voce nao tem battle stones o suficiente. Voce precisa de " .. cont_.quantOre .. " battle stones.")
                    end
                elseif level == 10 then
                    return doPlayerSendCancel(cid, "Este item ja esta no nivel maximo.")
                end
            end
        elseif isShield(itemEx.uid) then
           
            local def = getWeaponLevel(itemEx.uid) == 0 and getItemInfo(itemEx.itemid).defense or getItemAttribute(itemEx.uid,'defense')
           
            for u, cont_ in pairs(controle) do
                if level == cont_.level then
                    if getPlayerItemCount(cid, 12403) >= cont_.quantOre then
                        if chan <= cont_.chance then
                            doItemSetAttribute(itemEx.uid, 'defense',def + 1)
                            doPlayerRemoveItem(cid, 12403, cont_.quantOre)
                            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce refinou com sucesso!")
                            doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_CRAPS)
                            doItemSetAttribute(itemEx.uid, 'name', getItemNameById(itemEx.itemid)..' +'..(level+1))
                            doItemSetAttribute(itemEx.uid, "description", "Este item foi refinado por " .. getCreatureName(cid) .. "")
                        else
                            doTransformItem(itemEx.uid, 2256)
                            doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_CRAPS)
                            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce falhou.")
                            doItemSetAttribute(itemEx.uid, 'name', "metal trash")
                            doItemSetAttribute(itemEx.uid, 'defense', 0)
                        end
                    else
                        doPlayerSendCancel(cid, "Voce nao tem battle stones o suficiente. Voce precisa de " .. cont_.quantOre .. " battle stones.")
                    end
                elseif level == 10 then
                    return doPlayerSendCancel(cid, "Este item ja esta no nivel maximo.")
                end
            end
        else
            doPlayerSendCancel(cid, "Voce nao pode refinar este item.")
        end
        return true
    end



    Luego nos vamos a:


    Data/actions/ations.xml

    y añadimos esta tag:


    Código:
    <action itemid="2422" event="script" value="refine.lua"/>



    Zona Editables


    "local vocations = {11, 16, 21}" -- vocasiones que pueden usar el item dde refinamiento



    "local ids_bloqueados = {7424}" -- item que no puede ser refinado



    "level = 0, quantOre = 1, chance = 45" -- level= level que mostrara al ser refinado; quantore= cantidad de iron ore para refinar; chance= % de exito



    nota: todos los item al ser refinado reciven +1



    Créditos:
    Killua



    [Actions] Refinamiento de item YNU5B25
    Ver perfil de usuario https://www.tibiaface.com

    2default Re: [Actions] Refinamiento de item el Sáb Ene 03, 2015 1:46 pm

    daiverbmx9

    daiverbmx9
    Nuevo Miembro
    Nuevo Miembro
    esta muy chido pero, ojala funcionara en TFS 1.0 y 1.1

    Ver perfil de usuario http://tibialol.no-ip.org

    3default Re: [Actions] Refinamiento de item el Dom Ene 04, 2015 10:41 am

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:esta muy chido pero, ojala funcionara en TFS 1.0 y 1.1

    es muy posible en el lanzamiento oficial de la otx 3 funcionen todos los script de tfs 0.3.7 para otx 3 1.0 solo hay que esperar



    [Actions] Refinamiento de item YNU5B25
    Ver perfil de usuario https://www.tibiaface.com

    4default Re: [Actions] Refinamiento de item el Vie Ago 07, 2015 7:19 pm

    Vicho17

    Vicho17
    Miembro
    Miembro
    al darle click en el item me dice que solo los mineros pueden refinar por que pasa eso?

    Ver perfil de usuario

    5default Re: [Actions] Refinamiento de item el Vie Ago 07, 2015 11:22 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:al darle click en el item me dice que solo los mineros pueden refinar por que pasa eso?

    Es por la ocasión si te fijas en local vocasion



    [Actions] Refinamiento de item YNU5B25
    Ver perfil de usuario https://www.tibiaface.com

    6default Re: [Actions] Refinamiento de item el Miér Sep 27, 2017 12:24 pm

    jepicowner

    jepicowner
    Nuevo Miembro
    Nuevo Miembro
    Disculpa Maya esto tambien Funciona en cualquier ot 8.80 ?

    Ver perfil de usuario

    7default Re: [Actions] Refinamiento de item el Miér Sep 27, 2017 5:36 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:Disculpa Maya esto tambien Funciona en cualquier ot 8.80 ?

    es muy posible



    [Actions] Refinamiento de item YNU5B25
    Ver perfil de usuario https://www.tibiaface.com

    8default Re: [Actions] Refinamiento de item el Jue Sep 28, 2017 1:56 am

    hielakorn

    hielakorn
    Nuevo Miembro
    Nuevo Miembro
    esto es lo que me dice al tratar de refinar un item, Voce nao tem battle stones o suficiente. Voce precisa de 1 battle stones, tengo eliron hammer en la mano y los iron ores en backpack.

    Ver perfil de usuario

    9default Re: [Actions] Refinamiento de item el Jue Sep 28, 2017 11:54 am

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:esto es lo que me dice al tratar de refinar un item, Voce nao tem battle stones o suficiente. Voce precisa de 1 battle stones, tengo eliron hammer en la mano y los iron ores en backpack.

    en ni un lado veo que pida iron ores el item que pide es 12403



    [Actions] Refinamiento de item YNU5B25
    Ver perfil de usuario https://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.

    Temas Recomendados×+

       

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