• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [Pedido] Sistema para robar vida usando algunas armas.

    Compartir:

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

    Este pequeño sistema de life leech compatible con TFS 0.4 y OTX 2.9
    lo cree a peticion de un usuario de tibiaface llamado: (Osvaldo Escobedo Luque)! bueno aqui esta el script.

    Primero que nada deben crear un archivo.lua en la direccion (data/creaturescripts/scripts/...) con el nombre (onExecuteLifeLeech.lua),,, y pegan este codigo dentro de ese archivo.
    Código:
    --[[SevuEntertainment(c)]]--
    local onExecuteLifeLeech = true
    local acceptDamageTypes = { STATSCHANGE_HEALTHLOSS } --STATSCHANGE_MANALOSS
    local _weaponIdsExtraChance = {
     [2182] = { chance = 100, amount = 0.25 }, -- max chance 100, amount 1 = 100%
     [2190] = { chance = 10, amount = 0.25 }
    }

    function onStatsChange(cid, attacker, type, combat, value)
     local player = attacker
     local target = cid
     local deny = true
     if not onExecuteLifeLeech then
     return true
     end
     if not isInArray(acceptDamageTypes, type) then
     return true
     end
     if isPlayer(player) and isCreature(target) then
     deny = false
     end
     local tool = getPlayerWeapon(player).itemid
     local extraInfo = _weaponIdsExtraChance[tool]
     if deny or not extraInfo then
     return true
     end
     local random = math.random(0, 100)
     if extraInfo.chance >= random then
     local absorb = value * extraInfo.amount
     doCreatureAddHealth(player, absorb)
     doSendAnimatedText(getCreaturePos(player), "Absorb", 250)
     end
    return true
    end

    Hay tienen varias configuraciones y agregan el ID del arma con su respectivo chance y la cantidad de amount, que seria el porcentaje que roba de tu propio ataque.

    Luego tienen que registrar el evento en (creaturescripts.xml)
    Código:
    <event type="statschange" name="onExecuteLifeLeech" event="script" value="onExecuteLifeLeech.lua"/>

    al igual en su (login.lua)
    despues de onLogin(cid)...
    Código:
    registerCreatureEvent(cid, 'onExecuteLifeLeech')
    registerCreatureEvent(cid, 'sendRegisterMonster')

    Esto funciona de player vs player!
    para que funcione con los mostros, tienes que añadir esto en tu (creaturescripts.xml)
    Código:
    <event type="combat" name="sendRegisterMonster" event="script" value="sendRegisterMonster.lua"/>

    Despues crean un archivo.lua en (creaturescripts/scripts/...) con el nombre sendRegisterMonster.lua y pegan este codigo dentro de ese archivo:
    Código:
    function onCombat(cid, target)
     if not isPlayer(cid) and not isCreature(target) then
     return true
     end
     registerCreatureEvent(target, 'onExecuteLifeLeech')
     return true
    end



    Si necesitas hospedaje para tu servidor usa este enlace y mira las buenos planes de Windows y Linux:

    SevuOT Online, Version:10 and Custom.

    Ver perfil de usuario

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