• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [CreatureEvents] Vocations al atakar recupera vida

    Compartir:

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

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Hola usuarios de tibiaface

    Este script trabaja con el skill de weapon mientras mejor es el atake mas cura claro esta que solo una vocacion tiene esta habilidad.

    [CreatureEvents] Vocations al atakar recupera vida JOIAXCm

    nos vamos a:

    Data/Creaturescripts/scripts

    copiamos cualquier archivo y renombramos por vocLifeDrain.lua y pegamos esto dentro:

    Código:
        function onAttack(cid, target)
            if isPlayer(cid) and isCreature(target) then
                registerCreatureEvent(target, "vocLifeDrain")
            end

            return true
        end

          local lifeStealvocation = {6} -- {vocation} or {vocation, promotion}
          local lifeStealPercents = 50 -- Porcentaje de vida adquirida.

        function onStatsChange(cid, attacker, type, combat, value)
          local healing = math.ceil(value * lifeStealPercents / 100)

            if isPlayer(attacker) and combat == COMBAT_PHYSICALDAMAGE then
                if getPlayerWeapon(attacker).itemid > 0 and isInArray({WEAPON_SWORD, WEAPON_CLUB, WEAPON_AXE}, getItemInfo(getPlayerWeapon(attacker).itemid).weaponType) then
                    if isInArray(lifeStealvocation, getPlayerVocation(attacker)) then

                        if getCreatureHealth(attacker) < getCreatureMaxHealth(attacker) then
                            if (value + getCreatureHealth(attacker)) > getCreatureMaxHealth(attacker) then
                                healing = getCreatureMaxHealth(attacker) - getCreatureHealth(attacker)
                            end

                            doCreatureAddHealth(attacker, healing)
                            doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_RED)
                            doSendMagicEffect(getPlayerPosition(attacker), CONST_ME_MAGIC_RED)
                            doSendAnimatedText(getPlayerPosition(attacker), "+" .. healing .. " HP", TEXTCOLOR_GREEN)
                            doPlayerSendTextMessage(attacker, MESSAGE_STATUS_DEFAULT, "You stole " .. healing .. " health from " .. getCreatureName(cid) .. ".")
                        end
                    end
                end
            end

            return true   
        end

    config:

    local lifeStealvocation = {6} -- {vocation} or {vocation, promotion}
    local lifeStealPercents = 50 -- Porcentaje de vida adquirida.

    en la misma carpeta buscamos Login.lua y registramos:

    Código:
    registerCreatureEvent(cid, "RegVocLifeDrain")

    ahora novamos a:

    Data/creaturescripts/creaturescripts.xml

    y agregamos estas tag:

    Código:
    <event type="attack" name="RegVocLifeDrain" event="script" value="vocLifeDrain.lua"/>
    <event type="statschange" name="vocLifeDrain" event="script" value="vocLifeDrain.lua"/>

    y listo.

    bueno tambien hay de otra forma que al ejecutar una spells se active esete script tendrias que cambiar el scriptt de vocLifeDrain.lua por este:

    Código:
    function onAttack(cid, target)
      if isPlayer(cid) and isCreature(target) then
          registerCreatureEvent(target, "vocLifeDrain")
      end

      return true
    end

     local key = 398728 -- Mismo storage Key que en el spell.
     local lifeStealvocation = {6} -- {"vocation"} or {"vocation", "promotion"}
     local lifeStealPercents = 50 -- Porcentaje de vida adquirida.

    function onStatsChange(cid, attacker, type, combat, value)
     local healing = math.ceil(value * lifeStealPercents / 100)

      if isPlayer(attacker) and combat == COMBAT_PHYSICALDAMAGE then
          if getPlayerWeapon(attacker).itemid > 0 and isInArray({WEAPON_SWORD, WEAPON_CLUB, WEAPON_AXE}, getItemInfo(getPlayerWeapon(attacker).itemid).weaponType) then
              if isInArray(lifeStealvocation, getPlayerVocation(attacker)) then

                  if exhaustion.get(attacker, key) ~= false then
                      if getCreatureHealth(attacker) < getCreatureMaxHealth(attacker) then
                          if (value + getCreatureHealth(attacker)) > getCreatureMaxHealth(attacker) then
                              healing = getCreatureMaxHealth(attacker) - getCreatureHealth(attacker)
                          end

                          doCreatureAddHealth(attacker, healing)
                          doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_RED)
                          doSendMagicEffect(getPlayerPosition(attacker), CONST_ME_MAGIC_RED)
                          doSendAnimatedText(getPlayerPosition(attacker), "+" .. healing .. " HP", TEXTCOLOR_GREEN)
                          doPlayerSendTextMessage(attacker, MESSAGE_STATUS_DEFAULT, "You stole " .. healing .. " health from " .. getCreatureName(cid) .. ".")
                      end
                  end

              end
          end
      end

      return true   
    end

    y crear un spells aqui les dejo la spells:

    Código:
    local key, sec = 398728, 10 -- Mismo storage Key que en vocLifeDrain, Segundos que durará.

    function onTargetTile(cid, pos)
      if isPlayer(cid) then
          if exhaustion.get(cid, key) == false then
              exhaustion.set(cid, key, sec)
            else
              doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)
              return
          end
      end
    end

     local combat = createCombatObject()
      setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)
      setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile")
      setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED)

    function onCastSpell(cid, var)
     return doCombat(cid, combat, var)
    end


    creditos: Belerofonte



    [CreatureEvents] Vocations al atakar recupera vida YNU5B25
    4 participantes
    http://www.tibiaface.com

    jesusaron

    jesusaron
    Miembro
    Miembro
    [20/07/2016 23:55:51] [Error - LuaScriptInterface::loadFile] data/creaturescripts/scripts/vocLifeDrain.lua:1: '=' expected near 'onAttack'
    [20/07/2016 23:55:51] [Warning - Event::loadScript] Cannot load script (data/creaturescripts/scripts/vocLifeDrain.lua)
    [20/07/2016 23:55:51] data/creaturescripts/scripts/vocLifeDrain.lua:1: '=' expected near 'onAttack'
    [20/07/2016 23:55:51] [Error - LuaScriptInterface::loadFile] data/creaturescripts/scripts/vocLifeDrain.lua:1: '=' expected near 'onAttack'
    [20/07/2016 23:55:51] [Warning - Event::loadScript] Cannot load script (data/creaturescripts/scripts/vocLifeDrain.lua)
    [20/07/2016 23:55:51] data/creaturescripts/scripts/vocLifeDrain.lua:1: '=' expected near 'onAttack'


    este esmi error

    4 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    jesusaron escribió:[20/07/2016 23:55:51] [Error - LuaScriptInterfaceFile] data/creaturescripts/scripts/vocLifeDrain.lua:1: '=' expected near 'onAttack'
    [20/07/2016 23:55:51] [Warning - EventScript] Cannot load script (data/creaturescripts/scripts/vocLifeDrain.lua)
    [20/07/2016 23:55:51] data/creaturescripts/scripts/vocLifeDrain.lua:1: '=' expected near 'onAttack'
    [20/07/2016 23:55:51] [Error - LuaScriptInterfaceFile] data/creaturescripts/scripts/vocLifeDrain.lua:1: '=' expected near 'onAttack'
    [20/07/2016 23:55:51] [Warning - EventScript] Cannot load script (data/creaturescripts/scripts/vocLifeDrain.lua)
    [20/07/2016 23:55:51] data/creaturescripts/scripts/vocLifeDrain.lua:1: '=' expected near 'onAttack'


    este esmi error



    pues no le veo error a los script seguramente es el tuyo por que dice que en la linea 1 tienes este erro que le añadiste un =
    Código:

    vocLifeDrain.lua:1: '=' expected



    [CreatureEvents] Vocations al atakar recupera vida YNU5B25
    4 participantes
    http://www.tibiaface.com

    jesusaron

    jesusaron
    Miembro
    Miembro
    unction onAttack(cid, target)
    esto es lo que tengo en mi promer linea nose porque lo copie de este mismo tema

    4 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    jesusaron escribió:unction onAttack(cid, target)
    esto es lo que tengo en mi promer linea nose porque lo copie de este mismo tema

    prueba

    Código:
        function onAttack(cid, target)
            if isPlayer(cid) and isCreature(target) then
                registerCreatureEvent(target, "vocLifeDrain")
            end

            return true
        end

          local lifeStealvocation = {6} -- {vocation} or {vocation, promotion}
          local lifeStealPercents = 50 -- Porcentaje de vida adquirida.

        function onStatsChange(cid, attacker, type, combat, value)
          local healing = math.ceil(value * lifeStealPercents / 100)

            if isPlayer(attacker) and combat == COMBAT_PHYSICALDAMAGE then
                if getPlayerWeapon(attacker).itemid > 0 and isInArray({WEAPON_SWORD, WEAPON_CLUB, WEAPON_AXE}, getItemInfo(getPlayerWeapon(attacker).itemid).weaponType) then
                    if isInArray(lifeStealvocation, getPlayerVocation(attacker)) then

                        if getCreatureHealth(attacker) < getCreatureMaxHealth(attacker) then
                            if (value + getCreatureHealth(attacker)) > getCreatureMaxHealth(attacker) then
                                healing = getCreatureMaxHealth(attacker) - getCreatureHealth(attacker)
                            end

                            doCreatureAddHealth(attacker, healing)
                            doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_RED)
                            doSendMagicEffect(getPlayerPosition(attacker), CONST_ME_MAGIC_RED)
                            doSendAnimatedText(getPlayerPosition(attacker), "+" .. healing .. " HP", TEXTCOLOR_GREEN)
                            doPlayerSendTextMessage(attacker, MESSAGE_STATUS_DEFAULT, "You stole " .. healing .. " health from " .. getCreatureName(cid) .. ".")
                        end
                    end
                end
            end

            return true   
        end



    [CreatureEvents] Vocations al atakar recupera vida YNU5B25
    4 participantes
    http://www.tibiaface.com

    Kuing Cristopher

    Kuing Cristopher
    Nuevo Miembro
    Nuevo Miembro
    oye disculpa god maya podrias volver esa vocacion pero un echizo para knigth?

    4 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Kuing Cristopher escribió:oye disculpa god maya podrias volver esa vocacion pero un echizo para knigth?

    como asi explicate



    [CreatureEvents] Vocations al atakar recupera vida YNU5B25
    4 participantes
    http://www.tibiaface.com

    Shooter Mx

    Shooter Mx
    Nuevo Miembro
    Nuevo Miembro
    y no se puene poner esa scrip para que cure sin tener que atakar no se si me entiendan

    4 participantes

    9[CreatureEvents] Vocations al atakar recupera vida Empty si Sáb Ago 20, 2016 8:47 pm

    jesusaron

    jesusaron
    Miembro
    Miembro
    lo eh provado y si e mirado que te regerena sin attackar pero tienes que estar en pvp zone

    4 participantes

    Kuing Cristopher

    Kuing Cristopher
    Nuevo Miembro
    Nuevo Miembro
    Si Maya me refiero a que en vez de que sea una profecion, sea un echizo que al ponertelo y al hacer daño un porcentaje de el daño que le haces al otro jugador te cure por un determinado tiempo(espero averme explicado mejor)

    4 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Kuing Cristopher escribió:Si Maya me refiero a que en vez de que sea una profecion, sea un echizo que al ponertelo y al hacer daño un porcentaje de el daño que le haces al otro jugador  te cure por un determinado tiempo(espero averme explicado mejor)

    para aquello usa exura



    [CreatureEvents] Vocations al atakar recupera vida YNU5B25
    4 participantes
    http://www.tibiaface.com

    Kuing Cristopher

    Kuing Cristopher
    Nuevo Miembro
    Nuevo Miembro
    no yo solo decia que si podias hacer un echizo asi, para cuararse y tambien usar exura

    4 participantes

    Contenido patrocinado


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