• 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

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

    [Admin] God Maya

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



    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



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

    jesusaron

    avatar
    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

    Ver perfil de usuario

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] 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



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

    jesusaron

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

    Ver perfil de usuario

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] 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



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

    Kuing Cristopher

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

    Ver perfil de usuario

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:oye disculpa god maya podrias volver esa vocacion pero un echizo para knigth?

    como asi explicate



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

    Shooter Mx

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

    Ver perfil de usuario

    9default si el Sáb Ago 20, 2016 8:47 pm

    jesusaron

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

    Ver perfil de usuario

    Kuing Cristopher

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

    Ver perfil de usuario

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] 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



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

    Kuing Cristopher

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

    Ver perfil de usuario

    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.

     

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