• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [CreatureEvents] [CreatureEvents] [CreatureEvents] Ayuda con funcion 1.5 de changehealth

    Compartir:

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

    samsung123

    samsung123
    Miembro
    Miembro
    TFS 1.5


    Contexto: changehealth que aumenta el el ataque de los spells para cada vocation.(tengo mas de 50 vocationes.xml). no funciona, el player ataca exactamente lo mismo. 

    sospecho que el problema esta aki , en el IF. 
    Código:
    attacker:getVocation():getBase():getId()
    le hice print y es como getPlayerVocation(cid) de las funciones antiguas 0.4
    regresa la id de la vocation


    no da error en cosola

    creditos :

    Karain otland

    creaturescripts.xml


    Código:
    <event type="changehealth" name="voc" script="voc.lua"/>

    Login
    Código:
      player:registerEvent("voc")


    creaturescripts/scripts/voc.lua
    Código:
    -- add vocation id and the multiplies in the array below.
    local vocsmulti = {
        [1] = {magic = 7 , healing = 1.25, melee = 0.75, distance = 0.75},            --sorcerer
        [2] = {magic = 5 , healing = 1.5, melee = 0.75, distance = 999},                --druid
        [3] = {magic = 1 , healing = 0.75, melee = 0.75, distance = 1.5},            --paladin
        [4] = {magic = 2 , healing = 0.75, melee = 1.5, distance = 0.75},        --knight
        [5] = {magic = 3 , healing = 1.5, melee = 0.5, distance = 0.5},            --master sorcerer
        [6] = {magic = 3 , healing = 2, melee = 0.5, distance = 0.5},            --elder druid
        [7] = {magic = 1 , healing = 0.5, melee = 1, distance = 2.0},    --royal paladin
        [8] = {magic = 0.5 , healing = 0.5, melee = 2, distance = 0.5}        --elite knight
    }

    function onHealthChange(creature, attacker, primaryDamage, primaryType, secondaryDamage, secondaryType, origin)
    local attacking = Creature(attacker)
    if attacking:isPlayer() then

        if origin == ORIGIN_MELEE then    --checks if damage is done by melee
            primaryDamage = primaryDamage * vocsmulti[attacker:getVocation():getBase():getId()].melee
            secondaryDamage = secondaryDamage * vocsmulti[attacker:getVocation():getBase():getId()].melee
        elseif origin == ORIGIN_RANGED then    --checks if damage is done by distance
            primaryDamage = primaryDamage * vocsmulti[attacker:getVocation():getBase():getId()].distance
            secondaryDamage = secondaryDamage * vocsmulti[attacker:getVocation():getBase():getId()].distance
          print("ASDA")
        elseif origin == ORIGIN_SPELL then    --checks if damage/healing is done by a spell
            if primaryType == COMBAT_HEALING then    --checks if healing
                primaryDamage = primaryDamage * vocsmulti[attacker:getVocation():getBase():getId()].healing
                secondaryDamage = secondaryDamage * vocsmulti[attacker:getVocation():getBase():getId()].healing
            else    --rest is damage
                primaryDamage = primaryDamage * vocsmulti[attacker:getVocation():getBase():getId()].magic
                secondaryDamage = secondaryDamage * vocsmulti[attacker:getVocation():getBase():getId()].magic
             print("estas dentro del if")
            end
        end
    end
    return primaryDamage, primaryType, secondaryDamage, secondaryType
    end


    nota 1.5 no tiene magDamage="2.0" en vocation.xml

    2 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    lo que sucede es que en lib. tiens que registrar tus nuevas vocaciones



    [CreatureEvents] [CreatureEvents] [CreatureEvents] Ayuda con funcion 1.5 de changehealth YNU5B25
    2 participantes
    http://www.tibiaface.com

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