• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [Pedido] Hola, Pedido de system upgrade

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

    1Resuelto [Pedido] Hola, Pedido de system upgrade el Miér Jun 29, 2016 1:09 pm

    Adriana Abreu

    avatar
    Nuevo Miembro
    Nuevo Miembro
    HOLA MES DIRIJO A TODOS LOS QUE LEAN, DE CASUALIDAD TENDRAN EL SISTEMA DE UPGRADE ITEMS ?? EJEMPLO
    ARROW `--> ARROW +1 >>> ARROW +2 ETC ETC

    PERO QUE CUANDO SUBAS UN ITEMS QUE DA SKILL TAMBIEN SUBA SU ATRIBUTO DE SKILL EJEMPLO

    SHIELD OF CORRUPTION DEF 45 SWORD+2
    SHIELD OF CORRUPTION +1 DEF 46 SWORD+3

    LES AGRADECERIA MUCHO QUE ME LO FACILITARAN PORFA DE ANTE MANITO GRACIAS CHICOS

    Ver perfil de usuario

    2Resuelto Re: [Pedido] Hola, Pedido de system upgrade el Miér Jun 29, 2016 3:10 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    aqui los tienes

    Código:

    --- Perfect refine system by Mock the bear (MTB).
    --- Email: [email]mock_otnet@hotmail.com[/email]
    -- &a = weapon attack
    -- &d = weapon defense
    -- &s = shield defense
    -- &p = armor defense
    -- # = nivel do item
    -- @ = max level
    local gain = {
    gainArmor='&p+(1)',loseArmor='&p-(1)',
    gainShield='&s+1',loseShield='&s-(1)',
    gainAttack='&a+(1)',loseAttack='&a-(1)',
    gainDefense='&d+(1)',loseDefense='&d-(1)',
    chance='(100/math.sqrt((((@/4)+(#*2))/@)*#))',
    maxlvl = 8,
    blocked_ids = {0}
    }
    local it = {
    --[itemid] = [percent]
    [8306] = 0, -- 0% additional
    [8305] = 100, -- 50%
    }
    if not setItemName then
        function setItemName(uid,name)
                    return doItemSetAttribute(uid,'name',name)
        end
        function setItemArmor(uid,name)
                    return doItemSetAttribute(uid,'armor',name)
        end
            function setItemDefense(uid,name)
                    return doItemSetAttribute(uid,'defense',name)
            end
            function setItemAttack(uid,name)
                    return doItemSetAttribute(uid,'attack',name)
            end
            function getItemAttack(uid)
                    return getItemAttribute(uid,'attack')
            end
            function getItemDefense(uid)
                    return getItemAttribute(uid,'defense')
            end
    function getItemArmor(uid)
      if type(uid) == 'number' then
          return getItemAttribute(uid,'armor')
      else
          return getItemInfo(uid.itemid).armor
      end
    end
    end
     
    local function isArmor(uid) -- Function by Mock the bear.
        if (getItemInfo(uid.itemid).armor ~= 0) and (getItemWeaponType(uid.uid) == 0) then
                    return true
            end
            return false
    end
    local 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
    local function isShield(uid) -- Function by Mock the bear.
            uid = uid or 0
            if getItemWeaponType(uid) == 5 then
                    return true
            end
            return false
    end
    local function isBow(uid) -- Function by Mock the bear.
            uid = uid or 0
            if getItemWeaponType(uid) == 4 then
                    return true
            end
            return false
    end
    local function getWeaponLevel(uid) -- Function by Mock the bear.
      uid = uid or 0
      local name = getItemName(uid.uid) or getItemInfo(uid.itemid).name or ''
      local lvl = string.match(name,'%s%+(%d+)%s*')
      return tonumber(lvl) or 0
    end
    local function doTransform(s,i) -- Function by Mock the bear.
        local c = string.gsub(s,'@',gain.maxlvl)
        local c = string.gsub(c,'&a',(getItemAttack(i.uid) ~= 0 and getItemAttack(i.uid) or getItemInfo(i.itemid).attack))
        local c = string.gsub(c,'&d',(getItemDefense(i.uid) ~= 0 and getItemDefense(i.uid) or getItemInfo(i.itemid).defense))
        local c = string.gsub(c,'&s',(getItemDefense(i.uid) ~= 0 and getItemDefense(i.uid) or getItemInfo(i.itemid).defense))
        local c = string.gsub(c,'&p',(getItemArmor(i.uid) ~= 0 and getItemArmor(i.uid) or getItemInfo(i.itemid).armor))
        local c = string.gsub(c,'#',getWeaponLevel(i))
        local q = assert(loadstring('return '..c))
        return math.floor(assert(q()))
    end
    function onUse(cid, item, fromPosition, itemEx, toPosition)
            if item.uid == 0 or item.itemid == 0 then return false end
                    toPosition.stackpos = 255
            if isInArray(gain.blocked_ids, itemEx.itemid)
              or (not getItemWeaponType(itemEx.uid) or getItemWeaponType(itemEx.uid) > 5)
              or (getItemWeaponType(itemEx.uid) == 0 and not isArmor(itemEx))
                or itemEx.itemid == 0 or itemEx.type > 1 or isItemStackable(itemEx.uid) then
                    doPlayerSendTextMessage(cid, 14,"You cant refine this item.")
                    return TRUE
            end
            if isCreature(itemEx.uid) == TRUE then
                return FALSE
            end
            local level = getWeaponLevel(itemEx)
            local chance = doTransform(gain.chance,itemEx)
                    if level == gain.maxlvl then
                            doSendMagicEffect(toPosition, 2)
                return doPlayerSendTextMessage(cid, 14,"El Item Esta en El Maximo level ya no puedes refinarlo mas.")
                    end
                    doPlayerSendTextMessage(cid, 14,"Trying refine with "..(chance+it[item.itemid] > 100 and 100 or chance+it[item.itemid]).."% of sucess!")
            if chance+it[item.itemid] >= math.random(0,100) then
                            local nm = getItemName(itemEx.uid)
                            local slot = nm:match('(%[.+%])') or '' ---If you server use slot system dont change it ^^
                            slot = slot~='' and ' '..slot or slot
                setItemName(itemEx.uid, getItemNameById(itemEx.itemid)..' Refinado +'..(level+1)..slot)
                addEvent(doPlayerSendTextMessage,500,cid, 14,"Tu Item Esta Refinado +"..(level+1)..slot..".")
                doSendMagicEffect(toPosition, 12)
                if isArmor(itemEx) then
                                    local get = doTransform(gain.gainArmor,itemEx)
                                    setItemArmor(itemEx.uid,get)
                            elseif isBow(itemEx.uid) then
                                    setItemAttack(itemEx.uid, doTransform(gain.gainAttack,itemEx))
                            elseif isWeapon(itemEx.uid) then
                                    setItemAttack(itemEx.uid, doTransform(gain.gainAttack,itemEx))
                                    setItemDefense(itemEx.uid, doTransform(gain.gainDefense,itemEx))
                            elseif isShield(itemEx.uid) then
                                    setItemDefense(itemEx.uid, doTransform(gain.gainShield,itemEx))
                            end
            else
                            if level == 0 then
                                    addEvent(doPlayerSendTextMessage,500,cid, 14,"No effect.")
                                    doSendMagicEffect(toPosition, 2)
                            elseif level > 0 then
                            local nm = getItemName(itemEx.uid)
                            local slot = nm:match('(%[.+%])') or '' ---If you server use slot system dont change it ^^
                                    slot = slot~='' and ' '..slot or slot
                                    if level == 1 then
                                            setItemName(itemEx.uid, getItemNameById(itemEx.itemid)..slot)
                                            addEvent(doPlayerSendTextMessage,500,cid, 14,"Tu Item Volvio a la Normalidad.")
                                    else
                                            setItemName(itemEx.uid, getItemNameById(itemEx.itemid)..' Refinado +'..(level-1)..slot)
                                            addEvent(doPlayerSendTextMessage,500,cid, 14,"Tu Item Bajo a +"..(level-1)..slot..".")
                                    end
                                    if isArmor(itemEx) then
                                            setItemArmor(itemEx.uid,doTransform(gain.loseArmor  ,itemEx))
                                    elseif isWeapon(itemEx.uid) then
                                            setItemAttack(itemEx.uid, doTransform(gain.loseAttack,itemEx))
                                            setItemDefense(itemEx.uid, doTransform(gain.loseDefense,itemEx))
                                    elseif isBow(itemEx.uid) then
                                            setItemAttack(itemEx.uid, doTransform(gain.loseAttack,itemEx))
                                    elseif isShield(itemEx.uid) then
                                            setItemDefense(itemEx.uid, doTransform(gain.loseShield,itemEx))
                                    end
                            end
                            doSendMagicEffect(toPosition, 9)
            end
            doRemoveItem(item.uid,1)
            return true
    end

    y en actions.xml añadees ests lineas

    Código:

    <action itemid="8305" event="script" value="upgrade.lua"/>
    <action itemid="8306" script="upgrade.lua"/>

    8305 50% exito item que al dale user con le otro item upgrade

    8306 100% exito



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

    3Resuelto Re: [Pedido] Hola, Pedido de system upgrade el Jue Jun 30, 2016 1:16 pm

    Yoikerx

    avatar
    Nuevo Miembro
    Nuevo Miembro
    @UP
    Sólo sube 'atk, def & arm' no sube los atributos que posee el item...
    Ella pide que al subir el item si posee skillDist="1" al usarlo se aumente a "2" con la function onUse

    Ver perfil de usuario

    4Resuelto Re: [Pedido] Hola, Pedido de system upgrade el Lun Jul 04, 2016 9:34 pm

    Adriana Abreu

    avatar
    Nuevo Miembro
    Nuevo Miembro
    yoiker me entendio!! sera que alguien tiene para que me colabore?

    Ver perfil de usuario

    5Resuelto Re: [Pedido] Hola, Pedido de system upgrade el Lun Jul 04, 2016 9:39 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:yoiker me entendio!! sera que alguien tiene para que me colabore?

    no existe scripts para modificar el atributo del arma so aquel que te di ue mejora el atake del arma



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

    6Resuelto Re: [Pedido] Hola, Pedido de system upgrade el Mar Jul 12, 2016 12:02 pm

    demon088

    avatar
    Nuevo Miembro
    Nuevo Miembro
    Existe esto para TFS 1.2? Este no me funciona en TFS 1.2. :C

    Ver perfil de usuario

    7Resuelto Re: [Pedido] Hola, Pedido de system upgrade el Mar Jul 12, 2016 3:21 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:Existe esto para TFS 1.2? Este no me funciona en TFS 1.2. :C
    [Tienes que estar registrado y conectado para ver este vínculo]



    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.