• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [CreatureEvents] Ayuda HPTICKS

    Compartir:

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

    1[CreatureEvents] Ayuda HPTICKS Empty [CreatureEvents] Ayuda HPTICKS Miér Abr 29, 2020 10:34 am

    alvaro007

    alvaro007
    Miembro
    Miembro
    Descripcion escribió:Necesito ayuda para crear una condicion en creaturescript para hacer que una vocacion en cuestion le aumente u porcentaje de hpticks, se que se puede crear dicha condicion a objetos pero no se que subfuncion usar para crearla a player.

    Gracias y un saludo
    Imagen Explicativa escribió:Imagen Explicativa: [CreatureEvents] Ayuda HPTICKS Tibiaf10
    Version del Scripts: OTx Old Version(0.3.7)

    2 participantes

    2[CreatureEvents] Ayuda HPTICKS Empty Re: [CreatureEvents] Ayuda HPTICKS Miér Abr 29, 2020 11:14 am

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    todo en creaturescripts

    Código:

    local function regenerate(cid, HP, MP)

      if isPlayer(cid) then
     
        if not getCreatureCondition(cid, CONDITION_INFIGHT) then
     
          if (getCreatureHealth(cid) < getCreatureMaxHealth(cid)) then
            doCreatureAddHealth(cid, HP)
            print('HP: '..HP)
          end
          if (getCreatureMana(cid) < getCreatureMaxMana(cid)) then
            doCreatureAddMana(cid, MP)
            print('MP: '..MP)
          end
     
        else
          print('You are not regenerating hp or mp, cuz you are in fight!')
          return false
        end

      end

      return true
    end

    local t = {
      [1] = {nr = 5, hp = 1, mp = 2}, -- MS
      [2] = {nr = 6, hp = 5, mp = 4}, -- ED
      [3] = {nr = 7, hp = 2, mp = 5}, -- RP
      [4] = {nr = 8, hp = 3, mp = 6}, -- EK
    }

    local timeBetweenAction = 3

    function onThink(cid, interval)

      if getConfigValue("autoRegeneration") == true then

        if lastinterval == nil then
          lastInterval = os.time()
        end

        if (os.time() - lastInterval) > timeBetweenAction then

          local players = getPlayersOnline()
          for i=1,#players do
            for i=1,#t do
              if getPlayerVocation(cid) == t[i].nr then
                regenerate(cid, t[i].hp, t[i].mp)
              end
            end
          end

          lastInterval = os.time()

        end

      else
        return false
      end

      return true
    end

    creaturescripts.xml

    Código:

    <event type="think" name="regenerating" event="script" value="regenerating.lua"/>

    en login.lua

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

    agregar estos en config.lua

    -- Auto regeneration HP & MP by waqmaz. Set this global variable to "false" if you want to disable auto regeneration in your Open Tibia Server

    Código:
    autoRegeneration = true



    [CreatureEvents] Ayuda HPTICKS YNU5B25
    2 participantes
    http://www.tibiaface.com

    3[CreatureEvents] Ayuda HPTICKS Empty Re: [CreatureEvents] Ayuda HPTICKS Lun Mayo 04, 2020 12:17 am

    alvaro007

    alvaro007
    Miembro
    Miembro
    El script es muy bueno, pero mi idea no es que cada X segundos, le sume X hp al hpmax que te falte, sino que dependiendo de tu vocacion pueda crearse una condicion del player en si para poder editar lo que es la condicion del healthgain con su respectivo healthtick de esa respectiva vocacion, como cuando me ayudaste con el attackspeed, que me dijiste una subfuncion de extrattackspeed para sumarsela al attackspeed base de la voc, pues con esto igual, pero claro no se crear esa condicion para un player porque al menos en otx 0.3.7 no existe editar una condicion para un player pero si para un objeto.

    Espero haberme explicado bien y haber si puedes ayudarme

    Muchas gracias aun asi, siempre eres de grandisima ayuda

    2 participantes

    4[CreatureEvents] Ayuda HPTICKS Empty Re: [CreatureEvents] Ayuda HPTICKS Lun Mayo 04, 2020 10:20 am

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    hmmmm bueno esperaremos que alguien contenga algo similar a lo que tu quieres dejare el tema abierto



    [CreatureEvents] Ayuda HPTICKS YNU5B25
    2 participantes
    http://www.tibiaface.com

    5[CreatureEvents] Ayuda HPTICKS Empty Re: [CreatureEvents] Ayuda HPTICKS Lun Mayo 04, 2020 12:39 pm

    alvaro007

    alvaro007
    Miembro
    Miembro
    Vale, vale, aun asi, el script que me pasaste antes, no funciona, en el sentido de que creo que los tiempos estan mal programdos, si pudieras explicarme como funciona, el tema de los tiempo dentro del creature script podré editarlo yo, pero no se que significa esta parte:

    Código:
        if lastinterval == nil then
          lastInterval = os.time()
        end

        if (os.time() - lastInterval) > timeBetweenAction then

    Si pudieras explicarme te lo agradeceria, asi aprendo un poquito más, gracias.

    2 participantes

    6[CreatureEvents] Ayuda HPTICKS Empty Re: [CreatureEvents] Ayuda HPTICKS Lun Mayo 04, 2020 2:08 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    alvaro007 escribió:Vale, vale, aun asi, el script que me pasaste antes, no funciona, en el sentido de que creo que los tiempos estan mal programdos, si pudieras explicarme como funciona, el tema de los tiempo dentro del creature script podré editarlo yo, pero no se que significa esta parte:

    Código:
        if lastinterval == nil then
          lastInterval = os.time()
        end

        if (os.time() - lastInterval) > timeBetweenAction then

    Si pudieras explicarme te lo agradeceria, asi aprendo un poquito más, gracias.

    esa funciones verifican la ultima ejecucion ya que como es un onthink verificara cada 3 segundo para la recuperacion de hp o ya sea de mp



    [CreatureEvents] Ayuda HPTICKS YNU5B25
    2 participantes
    http://www.tibiaface.com

    7[CreatureEvents] Ayuda HPTICKS Empty Re: [CreatureEvents] Ayuda HPTICKS Lun Mayo 04, 2020 3:47 pm

    alvaro007

    alvaro007
    Miembro
    Miembro
    Lose, lose, lo que quiero decir, es por ejemplo el os.time() son los segundos que van pasando nada mas conectarte al servidor no?, en el sentido de que es el tiempo del sistema, creo, y el lastinterval por ejemplo que es?

    2 participantes

    8[CreatureEvents] Ayuda HPTICKS Empty Re: [CreatureEvents] Ayuda HPTICKS Lun Mayo 04, 2020 4:08 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    alvaro007 escribió:Lose, lose, lo que quiero decir, es por ejemplo el os.time() son los segundos que van pasando nada mas conectarte al servidor no?, en el sentido de que es el tiempo del sistema, creo, y el lastinterval por ejemplo que es?

    significa ultimo intervalo es una consulta a la ultima ejecucion de recuperacion recuerda que los onThink se ejcutan cuando el player esta en movimiento



    [CreatureEvents] Ayuda HPTICKS YNU5B25
    2 participantes
    http://www.tibiaface.com

    9[CreatureEvents] Ayuda HPTICKS Empty Re: [CreatureEvents] Ayuda HPTICKS Lun Mayo 04, 2020 4:15 pm

    alvaro007

    alvaro007
    Miembro
    Miembro
    Es decir, si yo me muevo con el player, le estaré dando un valor al interval no?. o cuando se le empieza a dar un valor a dicho intervalo?

    Es decir, aqui por ejemplo:

    Código:
    if lastinterval == nil then
          lastInterval = os.time()
        end

        if (os.time() - lastInterval) > timeBetweenAction then

    Si no hago nada, es decir, me conecto y ya esta mi lastinterval seria nulo por lo que pasaria a ser el os.time que pasaria a ser el tiempo que va transcurriendo en el sistema desde que te has conectado, pero si ejecutara una accion, ya sea un spell, un moviemiento o algo?, Ese valor de lastinterval cual seria?

    2 participantes

    10[CreatureEvents] Ayuda HPTICKS Empty Re: [CreatureEvents] Ayuda HPTICKS Lun Mayo 04, 2020 4:40 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    alvaro007 escribió:Es decir, si yo me muevo con el player, le estaré dando un valor al interval no?. o cuando se le empieza a dar un valor a dicho intervalo?

    Es decir, aqui por ejemplo:

    Código:
    if lastinterval == nil then
          lastInterval = os.time()
        end

        if (os.time() - lastInterval) > timeBetweenAction then

    Si no hago nada, es decir, me conecto y ya esta mi lastinterval seria nulo por lo que pasaria a ser el os.time que pasaria a ser el tiempo que va transcurriendo en el sistema desde que te has conectado, pero si ejecutara una accion, ya sea un spell, un moviemiento o algo?, Ese valor de lastinterval cual seria?

    no se compara con spells mi estimado es muy distinto



    [CreatureEvents] Ayuda HPTICKS YNU5B25
    2 participantes
    http://www.tibiaface.com

    11[CreatureEvents] Ayuda HPTICKS Empty Re: [CreatureEvents] Ayuda HPTICKS Lun Mayo 04, 2020 4:42 pm

    alvaro007

    alvaro007
    Miembro
    Miembro
    Explicame porfavor, con que se comparara y que valor coge?

    2 participantes

    12[CreatureEvents] Ayuda HPTICKS Empty Re: [CreatureEvents] Ayuda HPTICKS Lun Mayo 04, 2020 4:47 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    ya le explique ahor austed me pregunta sobre otra cosa de spells por lo tanto tomare el tema como solucionado

    Tema solucionado



    [CreatureEvents] Ayuda HPTICKS 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).