• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [Spells] [Spells] [1.X] Como conectar HealthChange en un spell

    Compartir:

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

    samsung123

    samsung123
    Miembro
    Miembro
    Descripcion escribió:Quiero hacer un spells o talkations.
    en el cual te hace inmune a ataque melee o distance por 3 segundos


    supongo que es con un onHealthChange



    Código:
    onHealthChange(creature, attacker, primaryDamage, primaryType, secondaryDamage, secondaryType, origin)



    Código:
    if origin == ORIGIN_MELEE and ORIGIN_RANGED then
    FUNCION ¿¿¿???
    else
    return true
    end



    1) no como emplear funciones primary damage o secundary damage

    2) como conecto un spells con un onHealthChange. con un storage?
    Imagen Explicativa escribió:Imagen Explicativa: [Spells] [Spells] [1.X] Como conectar HealthChange en un spell No aplica
    Version del Scripts: TFs 1.x

    2 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Código:

    function onHealthChange(creature, attacker, primaryDamage, primaryType, secondaryDamage, secondaryType, origin)

        if primaryType == COMBAT_HEALING or secondaryType == COMBAT_HEALING then
            return primaryDamage, primaryType, secondaryDamage, secondaryType
        end
     
        if creature and creature:isPlayer() then
                if creature:getCondition(CONDITION_ATTRIBUTES, CONDITIONID_COMBAT, 56) then
                    creature:getPosition():sendMagicEffect(CONST_ME_YELLOWENERGY)
                    primaryDamage = 0
                    secondaryDamage = 0
                end
        end
    return primaryDamage, primaryType, secondaryDamage, secondaryType
    end


    Código:

    local combat = Combat()
    combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN)
    combat:setParameter(COMBAT_PARAM_AGGRESSIVE, 0)

    local protect = Condition(CONDITION_ATTRIBUTES, CONDITIONID_COMBAT)
    protect:setParameter(CONDITION_PARAM_SUBID, 56)
    protect:setParameter(CONDITION_PARAM_BUFF_SPELL, true)
    protect:setParameter(CONDITION_PARAM_TICKS, 10 * 1000)
    combat:setCondition(protect)

    function onCastSpell(creature, var)
        return combat:execute(creature, var)
    end


    (no olvides registrarlo también en login.lua)


    pruedes probar algo como pero que hace que se vincule son estas dos lineas


    en creature scripts

    if creature:getCondition(CONDITION_ATTRIBUTES, CONDITIONID_COMBAT, 56) then


    y en spells esta

    protect:setParameter(CONDITION_PARAM_SUBID, 56)


    si te fijas tienes un id 56 que es un id para verificar tanto como un actionid o un movevents



    [Spells] [Spells] [1.X] Como conectar HealthChange en un spell YNU5B25
    2 participantes
    http://www.tibiaface.com

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    daño primario como "atk: 47" del arma y el secundario sería un 10% de daño de fuego imbuido en esa arma



    [Spells] [Spells] [1.X] Como conectar HealthChange en un spell YNU5B25
    2 participantes
    http://www.tibiaface.com

    samsung123

    samsung123
    Miembro
    Miembro
    gracias por la información,  veré como sale [Spells] [Spells] [1.X] Como conectar HealthChange en un spell 1f603



    gracias me funciono perfectamente solo le hice una modificacion en el if

    ...  origin == (ORIGIN_MELEE or ORIGIN_RANGED) then ...


    gracias , cerrar tema .
    saludos

    2 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Tema Resuelto



    [Spells] [Spells] [1.X] Como conectar HealthChange en un spell YNU5B25
    2 participantes
    http://www.tibiaface.com

    Contenido patrocinado


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