Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
When multiple units cast the berserk skill, two effects do not disappear simultaneously after 12 seconds. What should I do? Please explain with examples.
P.S. 광폭화 = Same as Troll Berserker's skill berserk
Hi. I hope this question belongs here. Well, I essentially just wanted to know if the FX on the following trigger leaks or not. Hammer of The Lightbringer Events Game - DamageModifierEvent becomes Less than or equal to 1.00 Conditions (Level of Hammer of The...
www.hiveworkshop.com
Here's an advanced system that will be more precise:
TIMED SPECIAL EFFECT LINKED LIST VERSION 2.1 ONWARD OF TIMED SPECIAL EFFECT LINKED LIST CAN CO-EXIST WITH TIMED SPECIAL EFFECT VERSION 1.X IMPORT GUIDE : [Patch 1.31+ is needed to access the test map] 1. Install TimedEventLinkedList to your map if you do not use it yet 2. Copy the...
www.hiveworkshop.com
Here's how you can post your triggers on Hiveworkshop so you don't need to take a picture:
TopHow To Post Your Triggers I've seen many and many members around the site who need help with their triggers but don't know how to post their triggers in a thread, especially the newcomers. Posting your triggers in a thread is a very important matter when you're asking for a help from other...
Hi. I hope this question belongs here. Well, I essentially just wanted to know if the FX on the following trigger leaks or not. Hammer of The Lightbringer Events Game - DamageModifierEvent becomes Less than or equal to 1.00 Conditions (Level of Hammer of The...
www.hiveworkshop.com
Here's an advanced system that will be more precise:
TIMED SPECIAL EFFECT LINKED LIST VERSION 2.1 ONWARD OF TIMED SPECIAL EFFECT LINKED LIST CAN CO-EXIST WITH TIMED SPECIAL EFFECT VERSION 1.X IMPORT GUIDE : [Patch 1.31+ is needed to access the test map] 1. Install TimedEventLinkedList to your map if you do not use it yet 2. Copy the...
www.hiveworkshop.com
Here's how you can post your triggers on Hiveworkshop so you don't need to take a picture:
TopHow To Post Your Triggers I've seen many and many members around the site who need help with their triggers but don't know how to post their triggers in a thread, especially the newcomers. Posting your triggers in a thread is a very important matter when you're asking for a help from other...
This trigger is not compatible with TwistedMeadows_S2_v1.1
Please let me know if there is a way to make the map compatible or a way to create a trigger without a custom script.
I have one more question. Please tell me a trigger that will keep the effect for the duration (12 seconds) even if it is released from polymorph or hex (if it is released from resistance skin or dispel).
I have one more question. Please tell me a trigger that will keep the effect for the duration (12 seconds) even if it is released from polymorph or hex (if it is released from resistance skin or dispel).
I'm not sure I understand. The Special Effects created with triggers will last until you Destroy them.
Are you saying that Polymorph/Hex causes the Special Effect to disappear? If that's the case, you may want to rely on a hidden Ability to display the Art instead.
I'm not sure I understand. The Special Effects created with triggers will last until you Destroy them.
Are you saying that Polymorph/Hex causes the Special Effect to disappear? If that's the case, you may want to rely on a hidden Ability to display the Art instead.
If you are released from Polymorph or Hex (within 12 seconds), the buff will remain, but the effect will disappear. What I want is for the effect to remain for the duration (12 seconds) even if it is released. If I understand what you mean, is it okay to use that trigger?
If you are released from Polymorph or Hex (within 12 seconds), the buff will remain, but the effect will disappear. What I want is for the effect to remain for the duration (12 seconds) even if it is released. If I understand what you mean, is it okay to use that trigger?
I'm not sure I understand. The Special Effects created with triggers will last until you Destroy them.
Are you saying that Polymorph/Hex causes the Special Effect to disappear? If that's the case, you may want to rely on a hidden Ability to display the Art instead.
--in a blank Lua trigger or map's custom script header:
function DelayedDestroyEffect(fx, duration)
local t = CreateTimer()
TimerStart(t, duration, false, function()
DestroyEffect(fx)
DestroyTimer(t)
end)
end
function DelayedRemoveAbility(unit, abil, duration)
local t = CreateTimer()
if (abil ~= nil) then
UnitAddAbility(unit, abil)
end
TimerStart(t, duration, false, function()
UnitRemoveAbility(unit, abil)
DestroyTimer(t)
end)
end
--in a blank Lua trigger or map's custom script header:
function DelayedDestroyEffect(fx, duration)
local t = CreateTimer()
TimerStart(t, duration, false, function()
DestroyEffect(fx)
DestroyTimer(t)
end)
end
function DelayedRemoveAbility(unit, abil, duration)
local t = CreateTimer()
if (abil ~= nil) then
UnitAddAbility(unit, abil)
end
TimerStart(t, duration, false, function()
UnitRemoveAbility(unit, abil)
DestroyTimer(t)
end)
end
Oh, that's what you don't want to happen. Thought it was the other way around.
How about something like this:
Lua:
function DelayedDestroyEffectSpecial(u, model, attach, duration)
local sfx = AddSpecialEffectTarget(model, u, attach)
local isHidden = false
if IsUnitType(u, UNIT_TYPE_POLYMORPHED) then
DestroyEffect(sfx)
isHidden = true
end
local t = CreateTimer()
TimerStart(t, 0.03, true, function()
duration = duration - 0.03
if duration <= 0.01 or u == nil then
if sfx then
DestroyEffect(sfx)
end
DestroyTimer(t)
return
end
if not isHidden then
if IsUnitType(u, UNIT_TYPE_POLYMORPHED) then
if sfx then
DestroyEffect(sfx)
sfx = nil
end
isHidden = true
end
else
if not IsUnitType(u, UNIT_TYPE_POLYMORPHED) then
sfx = AddSpecialEffectTarget(model, u, attach)
isHidden = false
end
end
end)
end
Example Usage Effect Special
Events
Unit - A unit Begins casting an ability
Conditions
(Ability being cast) Equal to Siphon Mana
Actions
Set VariableSet DDE_Unit = (Target unit of ability being cast)
Set VariableSet DDE_Attach = overhead
Set VariableSet DDE_Model = Abilities\Spells\Other\TalkToMe\TalkToMe.mdl
Set VariableSet DDE_Delay = 10.00
Trigger - Run Delayed Destroy Effect Special <gen> (ignoring conditions)
Oh, that's what you don't want to happen. Thought it was the other way around.
How about something like this:
Lua:
function DelayedDestroyEffectSpecial(u, model, attach, duration)
local sfx = AddSpecialEffectTarget(model, u, attach)
local isHidden = false
if IsUnitType(u, UNIT_TYPE_POLYMORPHED) then
DestroyEffect(sfx)
isHidden = true
end
local t = CreateTimer()
TimerStart(t, 0.03, true, function()
duration = duration - 0.03
if duration <= 0.01 or u == nil then
if sfx then
DestroyEffect(sfx)
end
DestroyTimer(t)
return
end
if not isHidden then
if IsUnitType(u, UNIT_TYPE_POLYMORPHED) then
if sfx then
DestroyEffect(sfx)
sfx = nil
end
isHidden = true
end
else
if not IsUnitType(u, UNIT_TYPE_POLYMORPHED) then
sfx = AddSpecialEffectTarget(model, u, attach)
isHidden = false
end
end
end)
end
Example Usage Effect Special
Events
Unit - A unit Begins casting an ability
Conditions
(Ability being cast) Equal to Siphon Mana
Actions
Set VariableSet DDE_Unit = (Target unit of ability being cast)
Set VariableSet DDE_Attach = overhead
Set VariableSet DDE_Model = Abilities\Spells\Other\TalkToMe\TalkToMe.mdl
Set VariableSet DDE_Delay = 10.00
Trigger - Run Delayed Destroy Effect Special <gen> (ignoring conditions)
In previous versions, the effect should appear on both arms, but in the current version, it only appears on one arm. Also, in the previous version, the effect was compatible with the trigger that disappeared immediately upon death, but in the current version, it is not compatible with that trigger.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
Example Usage Effect Special
Events
Unit - A unit Begins casting an ability
Conditions
(Ability being cast) Equal to 광폭화 (나가)
Actions
Set VariableSet DDE_Unit = (Casting unit)
Set VariableSet DDE_Attach = hand,right
Set VariableSet DDE_Model = Abilities\Spells\Orc\TrollBerserk\HeadhunterWEAPONSRight.mdl
Set VariableSet DDE_Delay = 12.00
Set VariableSet Effect[1] = (Last created special effect)
Trigger - Run Delayed Destroy Effect Special<gen> (ignoring conditions)
Set VariableSet DDE_Unit = (Casting unit)
Set VariableSet DDE_Attach = hand,left
Set VariableSet DDE_Model = Abilities\Spells\Orc\TrollBerserk\HeadhunterWEAPONSRight.mdl
Set VariableSet DDE_Delay = 12.00
Set VariableSet Effect[2] = (Last created special effect)
Trigger - Run Delayed Destroy Effect Special<gen> (ignoring conditions)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
Example Usage Effect Die
Events
Unit - A unit Dies
Conditions
(Unit-type of (Dying unit)) Equal to 차원광전사
Actions
Special Effect - Destroy Effect[1]
Special Effect - Destroy Effect[2]
This time, I need to add sound, but I can only play sound for one unit. However, many units contain custom scripts. As you know, my map doesn't work with general custom scripts, so please tell me how to play sound (attack(applies separately to air and ground), casting) for each unit individually.
I don't understand what playing a Sound for one unit means. You'll have to explain in greater detail. Edit: Also, I recommend making a new thread, this is getting very off-topic.
However, many units contain custom scripts. As you know, my map doesn't work with general custom scripts, so please tell me how to play sound (attack(applies separately to air and ground), casting) for each unit individually.
Your map works with general Custom Scripts. You're just using LUA mode instead of the default JASS mode.
These are two different scripting languages which have different syntax rules, meaning that they need to be structured differently. Luckily, the differences are small and easy to remember, here's an example:
This will Kill the last created unit in JASS (default language most people use):
Actions
Custom script: local unit u = GetLastCreatedUnit()
Custom script: call KillUnit(u)
This will Kill the last created unit in LUA (newer language added in patch 1.31):
Actions
Custom script: local u = GetLastCreatedUnit()
Custom script: KillUnit(u)
They do the same exact thing. It's just that JASS requires the use of the word "call" before running a function and your Variables need their "type" written before their name. In this case the variable "u" is a "unit" variable. There's more rules than that but it's not difficult to look these up or ask ChatGPT to convert between the two languages. At the end of the day you're using the same Warcraft 3 API, which means that you're working with the same Blizzard functions like GetLastCreatedUnit() and KillUnit().
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.