Sistema de Buff para GUI

+15
Faceless5
TheMaverickMc
Satoshi
Rasamayu
Leforyer
Román Quidel
Leon_FM
AshleySlow
leonsu
humberto25
paillan
MuSe
angelcraft
GhxBronie
Marcos_M
19 participantes

Página 2 de 2. Precedente  1, 2

Ir abajo

Mensaje Vie Mayo 26, 2017 1:51 am

Recuerdo del primer mensaje :

Muy buenas a todos chicos Very Happy

Hoy les traigo un sistema completísimo para crear un buff como en Warcraft y sin los problemas que trae tener varias habilidades basadas en Golpe de sombras o Ralentizar, o la habilidad que sea

Usarlo puede ser "difícil" para el que no está acostumbrado a usar detonadores, pero está diseñado de una manera sencilla y funcional.
Y lo escribiré aquí ahora, comenten cualquier duda que tengan con el sistema

Trataré de explicar lo mejor posible como funciona el sistema en el post

El sistema requiere que el usuario "registre" su buff en el sistema:

[gui]TBS Set BuffType
   Acontecimientos
   Condiciones
   Acciones
       Set TBS_set_ability = TBS_set_ability
       Set TBS_set_buff = TBS_set_buff
       Set TBS_set_clasificacion = TBS_set_clasificacion
       Set TBS_set_prioridad = TBS_set_prioridad
       Set TBS_set_espacio_extra = TBS_set_espacio_extra
       Set TBS_set_tipo = TBS_set_tipo
       Set TBS_trigger_apply = TBS_trigger_apply
       Set TBS_trigger_periodic = TBS_trigger_periodic
       Set TBS_trigger_refresh = TBS_trigger_refresh
       Set TBS_trigger_remove = TBS_trigger_remove
       Custom script:   call TBS_SetBuffType()
[/gui]
Se debe ejecutar este trigger
Explicación variables:

Un ejemplo de uso es este:

[gui]Berserk SetBuffType
   Acontecimientos
       Map initialization
   Condiciones
   Acciones
       Set TBS_set_buff = Berserk
       Set TBS_set_ability = Berserk (BuffAbility)
       Set TBS_set_clasificacion = TBS_BUFF_NEUTRAL
       Set TBS_set_prioridad = 0
       Set TBS_set_espacio_extra = 0
       -------- Este es un tipo secundario, para mejorar la legibilidad --------
       -------- recomiendo crear variables de tipo número entero --------
       -------- para dividir sus distintos tipos --------
       Set TBS_set_tipo = EJEMPLO_Fisico
       Set TBS_trigger_apply = Berserk onApply
       Set TBS_trigger_periodic = Berserk onPeriodic
       Set TBS_trigger_refresh = Berserk onRefresh
       Set TBS_trigger_remove = Berserk onRemove
       Detonador - Run TBS Set BuffType (ignoring conditions)
[/gui]

Luego pasamos a la forma de aplicar el buff.

[gui]TBS Add Buff example
   Acontecimientos
   Condiciones
   Acciones
       Set TBS_set_buff = TBS_set_buff
       Set TBS_set_duracion = TBS_set_duracion
       Set TBS_set_intervalo = TBS_set_intervalo
       Set TBS_set_target = TBS_set_target
       Set TBS_set_caster = TBS_set_caster
       Set TBS_Activate = 1.00
       Set TBS_Activate = 0.00
[/gui]

Explicación variables:

Aquí un ejemplo de uso:

[gui]Rejuvenecer onCast
   Acontecimientos
       Unidad - A unit Inicia el efecto de una habilidad
   Condiciones
       (Ability being cast) Igual a (==) Rejuvenecimiento (Hostil neutral)
   Acciones
       Set TBS_set_buff = Rejuvenecimiento
       Set TBS_set_caster = (Triggering unit)
       Set TBS_set_target = (Target unit of ability being cast)
       Set TBS_set_intervalo = 0.10
       Set TBS_set_duracion = 5.00
       Set TBS_Activate = 1.00
[/gui]

Bueno, ahora pasemos a como usar cada detonador del buff, es muy fácil y sencillo.

En los detonador apply,periodic,remove y refresh. Deben utilizar las variables "TBS_current", pueden modificarlas a su gusto y el sistema guardará los nuevos valores.
Es así de sencillo Very Happy

Fijense estos ejemplos

[gui]Phoenix Fire onApply
   Acontecimientos
   Condiciones
   Acciones
       Set TBS_current_extra_real[1] = 10.00
       Set TBS_current_extra_integer[1] = 0
[/gui]

[gui]Phoenix Fire onPeriodic
   Acontecimientos
   Condiciones
   Acciones
       Unidad - Cause TBS_current_caster to damage TBS_current_target, dealing TBS_current_extra_real[1] damage of attack type Conjuros and damage type Normal
       Set TBS_current_extra_integer[1] = (TBS_current_extra_integer[1] + 1)
        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               TBS_current_extra_integer[1] Menor que o igual a (<=) 10
           Entonces: Acciones
               Efecto especial - Create a special effect attached to the chest of TBS_current_target using Abilities\Weapons\PhoenixMissile\Phoenix_Missile_mini.mdl
               Set TBS_current_extra_effect[TBS_current_extra_integer[1]] = (Last created special effect)
           Otros: Acciones
               Set TBS_current_extra_real[1] = (TBS_current_extra_real[1] x 2.00)
               Set TBS_current_duracion = 0.00
[/gui]

[gui]Phoenix Fire onRemove
   Acontecimientos
   Condiciones
   Acciones
       Unidad - Cause TBS_current_caster to damage TBS_current_target, dealing (TBS_current_extra_real[1] x 5.00) damage of attack type Conjuros and damage type Normal
[/gui]

[gui]Rejuvenate onRefresh
   Acontecimientos
   Condiciones
   Acciones
       Set TBS_current_extra_real[1] = (TBS_current_extra_real[1] + 25.00)
       Set TBS_current_duracion = TBS_auxiliar_duracion
[/gui]

Si se fijan, pueden observar 2 cosas: A) No estoy destruyendo los efectos especiales creados. Esto es porque el sistema lo hace por mí
B) "TBS_auxiliar_duracion". Esta variable, ahora explico

En los detonadores "Refresh" se usan 3 variables auxiliares
TBS_auxiliar_caster
TBS_auxiliar_duracion
TBS_auxiliar_intervalo

Como refresh se activa cuando el mismo buff se aplica en una unidad, estos 3 valores de la nueva aplicación se guardan, por si desean usarlos. Es así de sencillo.

Por ahora lo dejaré explicado hasta ahí, si quieren acceder al map deben comentar



Última edición por Marcos_M el Mar Ene 14, 2020 3:24 pm, editado 3 veces
Marcos_M
Marcos_M

Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 3686
Reputación Reputación : 739
Monedas de Oro : 11337
Sistema de Buff para GUI - Página 2 Empty


Logros & Medallas :
Pasatiempo Favorito
Pertenecer en el Top 5 de Redactores del Foro.

Volver arriba Ir abajo


Mensaje Dom Dic 26, 2021 9:37 pm

Comento para ver


Soy un novato  Sad 
sandro12
sandro12
Peón
Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 46
Reputación Reputación : 1
Monedas de Oro : 113
Sistema de Buff para GUI - Página 2 Empty


Logros & Medallas :

Volver arriba Ir abajo

Mensaje Dom Dic 26, 2021 10:27 pm

Lo usaré
Ericqwe
Ericqwe
Soldado
Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 94
Reputación Reputación : 5
Monedas de Oro : 533
Sistema de Buff para GUI - Página 2 Empty


Logros & Medallas :

Volver arriba Ir abajo

Mensaje Mar Jun 07, 2022 1:29 am

Justo lo que necesitaba, grande Marcos.
Kurogane_Senpai
Kurogane_Senpai
Peón
Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 36
Reputación Reputación : 2
Monedas de Oro : 117
Sistema de Buff para GUI - Página 2 Empty


Logros & Medallas :

Volver arriba Ir abajo

Mensaje Miér Ene 18, 2023 10:57 am

Marcos_M escribió:Muy buenas a todos chicos Very Happy

Hoy les traigo un sistema completísimo para crear un buff como en Warcraft y sin los problemas que trae tener varias habilidades basadas en Golpe de sombras o Ralentizar, o la habilidad que sea

Usarlo puede ser "difícil" para el que no está acostumbrado a usar detonadores, pero está diseñado de una manera sencilla y funcional.
Y lo escribiré aquí ahora, comenten cualquier duda que tengan con el sistema

Trataré de explicar lo mejor posible como funciona el sistema en el post

El sistema requiere que el usuario "registre" su buff en el sistema:

[gui]TBS Set BuffType
   Acontecimientos
   Condiciones
   Acciones
       Set TBS_set_ability = TBS_set_ability
       Set TBS_set_buff = TBS_set_buff
       Set TBS_set_clasificacion = TBS_set_clasificacion
       Set TBS_set_prioridad = TBS_set_prioridad
       Set TBS_set_espacio_extra = TBS_set_espacio_extra
       Set TBS_set_tipo = TBS_set_tipo
       Set TBS_trigger_apply = TBS_trigger_apply
       Set TBS_trigger_periodic = TBS_trigger_periodic
       Set TBS_trigger_refresh = TBS_trigger_refresh
       Set TBS_trigger_remove = TBS_trigger_remove
       Custom script:   call TBS_SetBuffType()
[/gui]
Se debe ejecutar este trigger
Explicación variables:

Un ejemplo de uso es este:

[gui]Berserk SetBuffType
   Acontecimientos
       Map initialization
   Condiciones
   Acciones
       Set TBS_set_buff = Berserk
       Set TBS_set_ability = Berserk (BuffAbility)
       Set TBS_set_clasificacion = TBS_BUFF_NEUTRAL
       Set TBS_set_prioridad = 0
       Set TBS_set_espacio_extra = 0
       -------- Este es un tipo secundario, para mejorar la legibilidad --------
       -------- recomiendo crear variables de tipo número entero --------
       -------- para dividir sus distintos tipos --------
       Set TBS_set_tipo = EJEMPLO_Fisico
       Set TBS_trigger_apply = Berserk onApply
       Set TBS_trigger_periodic = Berserk onPeriodic
       Set TBS_trigger_refresh = Berserk onRefresh
       Set TBS_trigger_remove = Berserk onRemove
       Detonador - Run TBS Set BuffType (ignoring conditions)
[/gui]

Luego pasamos a la forma de aplicar el buff.

[gui]TBS Add Buff example
   Acontecimientos
   Condiciones
   Acciones
       Set TBS_set_buff = TBS_set_buff
       Set TBS_set_duracion = TBS_set_duracion
       Set TBS_set_intervalo = TBS_set_intervalo
       Set TBS_set_target = TBS_set_target
       Set TBS_set_caster = TBS_set_caster
       Set TBS_Activate = 1.00
       Set TBS_Activate = 0.00
[/gui]

Explicación variables:

Aquí un ejemplo de uso:

[gui]Rejuvenecer onCast
   Acontecimientos
       Unidad - A unit Inicia el efecto de una habilidad
   Condiciones
       (Ability being cast) Igual a (==) Rejuvenecimiento (Hostil neutral)
   Acciones
       Set TBS_set_buff = Rejuvenecimiento
       Set TBS_set_caster = (Triggering unit)
       Set TBS_set_target = (Target unit of ability being cast)
       Set TBS_set_intervalo = 0.10
       Set TBS_set_duracion = 5.00
       Set TBS_Activate = 1.00
[/gui]

Bueno, ahora pasemos a como usar cada detonador del buff, es muy fácil y sencillo.

En los detonador apply,periodic,remove y refresh. Deben utilizar las variables "TBS_current", pueden modificarlas a su gusto y el sistema guardará los nuevos valores.
Es así de sencillo Very Happy

Fijense estos ejemplos

[gui]Phoenix Fire onApply
   Acontecimientos
   Condiciones
   Acciones
       Set TBS_current_extra_real[1] = 10.00
       Set TBS_current_extra_integer[1] = 0
[/gui]

[gui]Phoenix Fire onPeriodic
   Acontecimientos
   Condiciones
   Acciones
       Unidad - Cause TBS_current_caster to damage TBS_current_target, dealing TBS_current_extra_real[1] damage of attack type Conjuros and damage type Normal
       Set TBS_current_extra_integer[1] = (TBS_current_extra_integer[1] + 1)
        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               TBS_current_extra_integer[1] Menor que o igual a (<=) 10
           Entonces: Acciones
               Efecto especial - Create a special effect attached to the chest of TBS_current_target using Abilities\Weapons\PhoenixMissile\Phoenix_Missile_mini.mdl
               Set TBS_current_extra_effect[TBS_current_extra_integer[1]] = (Last created special effect)
           Otros: Acciones
               Set TBS_current_extra_real[1] = (TBS_current_extra_real[1] x 2.00)
               Set TBS_current_duracion = 0.00
[/gui]

[gui]Phoenix Fire onRemove
   Acontecimientos
   Condiciones
   Acciones
       Unidad - Cause TBS_current_caster to damage TBS_current_target, dealing (TBS_current_extra_real[1] x 5.00) damage of attack type Conjuros and damage type Normal
[/gui]

[gui]Rejuvenate onRefresh
   Acontecimientos
   Condiciones
   Acciones
       Set TBS_current_extra_real[1] = (TBS_current_extra_real[1] + 25.00)
       Set TBS_current_duracion = TBS_auxiliar_duracion
[/gui]

Si se fijan, pueden observar 2 cosas: A) No estoy destruyendo los efectos especiales creados. Esto es porque el sistema lo hace por mí
B) "TBS_auxiliar_duracion". Esta variable, ahora explico

En los detonadores "Refresh" se usan 3 variables auxiliares
TBS_auxiliar_caster
TBS_auxiliar_duracion
TBS_auxiliar_intervalo

Como refresh se activa cuando el mismo buff se aplica en una unidad, estos 3 valores de la nueva aplicación se guardan, por si desean usarlos. Es así de sencillo.

Por ahora lo dejaré explicado hasta ahí, si quieren acceder al map deben comentar

Sad

Diegosih
Iniciado
Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 1
Reputación Reputación : 0
Monedas de Oro : 1
Sistema de Buff para GUI - Página 2 Empty


Logros & Medallas :

Volver arriba Ir abajo

Mensaje


Contenido patrocinado

Logros & Medallas :

Volver arriba Ir abajo

Página 2 de 2. Precedente  1, 2

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.