GUI to MUI Conversion Help

Ayanami

칼리
Reaction score
288
Basically, I'm trying to make a skill that knocks back an enemy when the enemy comes in range of the casting unit. For example, say A is the caster and B is the enemy unit. A casts the skill "Fervor Charge". The skill gives A a buff. If B goes near A while A has the "Fervor Charge Buff", B would be damaged and knocked back. I did make this skill, however, when another enemy unit C comes in range of A, B's knockback will be canceled mid-way. That's why I'm trying to convert my trigger into MUI. However, I just can't find a way to. Here are the triggers.

Code:
Centaur Guardian (Initially On)
    Events
        Unit - A unit enters Hero Start <gen>
    Conditions
        (Unit-type of (Entering unit)) Equal to Centaur Guardian
    Actions
        Set CentaurGuardian = (Entering unit)
This trigger is to set the "CentaurGuardian" variable as the entering unit type "CentaurGuardian" which is needed for the trigger later.

Code:
Fervor Charge Init (Initially On)
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Fervor Charge 
    Actions
        Trigger - Add to Fervor Charge <gen> the event (Unit - A unit comes within 150.00 of CentaurGuardian)
        Trigger - Turn on Fervor Charge <gen>
        Wait 20.00 game-time seconds
        Trigger - Turn off Fervor Charge <gen>
        Trigger - Turn off Fervor Charge Force <gen>

Code:
Fervor Charge (Initially Off)
    Events
    Conditions
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                FCCV Less than 100
            Then - Actions
                Set FCCV = (FCCV + 1)
            Else - Actions
                Set FCCV = 1
        Set FCCaster = CentaurGuardian
        Set FCEnteringUnit[FCCV] = (Entering unit)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                And - All (Conditions) are true
                    Conditions
                        ((Entering unit) is A structure) Not equal to True
                        ((Entering unit) belongs to an enemy of (Owner of CentaurGuardian)) Equal to True
            Then - Actions
                Unit - Cause FCCaster to damage FCEnteringUnit[FCCV], dealing (((Real((Level of Fervor Charge  for FSCaster))) x 70.00) + 70.00) damage of attack type Chaos and damage type Universal
            Else - Actions
        Trigger - Turn on Fervor Charge Force <gen>

Code:
Fervor Charge Force (Initially On)
    Events
        Time - Every 0.05 seconds of game time
    Conditions
    Actions
        Set FCCasterLoc = (Position of FCCaster)
        Set FCEnteringUnitLoc1[FCCV] = (Position of FCEnteringUnit[FCCV])
        Set FCEnteringUnitLoc2[FCCV] = (FCEnteringUnitLoc1[FCCV] offset by 10.00 towards (Angle from FCCasterLoc to FCEnteringUnitLoc1[FCCV]) degrees)
        Set FCEnteringUnitLoc3[FCCV] = FCEnteringUnitLoc2[FCCV]
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Distance between FCCasterLoc and FCEnteringUnitLoc1[FCCV]) Greater than or equal to 240.00
            Then - Actions
            Else - Actions
                Unit - Move FCEnteringUnit[FCCV] instantly to FCEnteringUnitLoc3[FCCV]
                Special Effect - Create a special effect attached to the origin of FCEnteringUnit[FCCV] using Abilities\Weapons\GlaiveMissile\GlaiveMissileTarget.mdl
                Special Effect - Destroy (Last created special effect)
        For each (Integer A) from 1 to 3, do (Custom script:   call RemoveLocation(udg_MS_Picked_unit_loc[GetForLoopIndexA()]))
        Custom script:   call RemoveLocation(udg_FCCasterLoc)
        Custom script:   call RemoveLocation(udg_FCEnteringUnitLoc1[udg_FCCV])
        Custom script:   call RemoveLocation(udg_FCEnteringUnitLoc2[udg_FCCV])
        Custom script:   call RemoveLocation(udg_FCEnteringUnitLoc3[udg_FCCV])

Help would be appreciated and +rep. Thanks =D
 

Sooda

Diversity enchants
Reaction score
318
Which Word Editor version are you using? If you use Jass New Generation Pack (JNGP)(or are willing to download and use it) it' s easier to make GUI MUI because I would use premade systems which require JNGP.
 

Trithilon-V2

New Member
Reaction score
20
[EDIT:] yor trigger registers that event many times....
Thus the first time the unit casts the spell...the trigger will have 1 Event registered...making it Fire 1 time.
The next time you register the event ..the trigger will fire twice...then thrice...
Use a Global Event Trigger registration.
Like make a trigger that picks all units on the map and registers them to the trigger..and for newly appearing units
use a trigger that registers all the newly entering units on the map to the trigger.

You trigger sure could use some optimization....it also has a major bugs and exploits in it.
Btw I wish i had Time and WE......(I am on my phone :p )...however if the post remains unanswered i'll make this MUI myself and post it...but dont count on it.
Use EGUI.
It has more triggers that will help you make your spell MUI.
Its has a Unit Slide Function with helps you slide a Unit....
It also has a Function that helps you detect if the unit is moving or not.....
Just play around..

BEWARE:- I personally dont like JNGP cus it converts the map script to VJASS.
Thus rendering the map unable to be saved in normal WE.
But Newgen is a trend nowadays.....so you cant help it....just make sure that you have a backup of your map before saving it in JNGP.
Gud luc.
 

Ayanami

칼리
Reaction score
288
[EDIT:] yor trigger registers that event many times....
Thus the first time the unit casts the spell...the trigger will have 1 Event registered...making it Fire 1 time.
The next time you register the event ..the trigger will fire twice...then thrice...
Use a Global Event Trigger registration.
Like make a trigger that picks all units on the map and registers them to the trigger..and for newly appearing units
use a trigger that registers all the newly entering units on the map to the trigger.

Err didn't quite catch that. Can you repeat the statement. Sorry. o.o
 

Trithilon-V2

New Member
Reaction score
20
Say for example....
I have one trigger that looks like :-

Code:
Trigger No1 :-
Event - 
Unit Starts the Effect of an ability

Conditions - 
Ability cast = Blah blah

Actions - 
Trigger - Add new event to the trigger (Trigger2<gen>) ((Target Unit) takes Damage)

and we have another trigger...named trigger2:

Code:
Trigger2 :-

Events:-
(Blank)
Actions:-
Game - Display to (All Players) the text : "Damage Taken = " Real(Damage Taken)

So When a unit casts an ability on a target..the target gets registered into the trigger2 for damage detection. Now every time the target takes damage you will get a game message for the damage taken.
However if the target gets hit by an ability a second time...the unit will get registered again.... and this time when he takes any damage...the Trigger2 will fire twice instead of once..because it has two events now.
This goes on increasing....and there is no way to remove an event..even in Jass.

So my point was that...make it such that every time a unit enters the map...register that unit for damage detection instead of registering it during the ability cast...this will make sure the trigger has only 1 event of each unit.
For pre-placed units...just pick all the units on Map Initialization and Register them.
Thats all i meant to say.
 

Ayanami

칼리
Reaction score
288
Hmm, then should I do it like this?

Code:
Fervor Charge Init
    Events
        Unit - A unit enters (Playable map area)
    Conditions
    Actions
        Trigger - Add to Fervor Charge Force <gen> the event (Unit - A unit comes within 150.00 of CentaurGuardian)

Code:
Fervor Charge Force
    Events
    Conditions
        And - All (Conditions) are true
            Conditions
                (CentaurGuardian has buff Fervor Charge ) Equal to True
                ((Triggering unit) is A structure) Not equal to True
                ((Triggering unit) belongs to an enemy of (Owner of CentaurGuardian)) Equal to True
    Actions
        Set FCCasterLoc = (Position of CentaurGuardian)
        For each (Integer A) from 1 to 30, do (Actions)
            Loop - Actions
                Set FCEnteringUnitLoc1 = (Position of (Triggering unit))
                Set FCEnteringUnitLoc2 = (FCEnteringUnitLoc1 offset by 10.00 towards (Angle from FCCasterLoc to FCEnteringUnitLoc1) degrees)
                Set FCEnteringUnitLoc3 = FCEnteringUnitLoc2
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Distance between FCCasterLoc and FCEnteringUnitLoc1) Greater than or equal to 300.00
                    Then - Actions
                    Else - Actions
                        Unit - Move (Triggering unit) instantly to FCEnteringUnitLoc3
                        Special Effect - Create a special effect attached to the origin of (Triggering unit) using Abilities\Weapons\GlaiveMissile\GlaiveMissileTarget.mdl
                        Special Effect - Destroy (Last created special effect)
                        Wait 0.05 seconds
        Custom script:   call RemoveLocation(udg_FCCasterLoc)
        Custom script:   call RemoveLocation(udg_FCEnteringUnitLoc1)
        Custom script:   call RemoveLocation(udg_FCEnteringUnitLoc2)
        Custom script:   call RemoveLocation(udg_FCEnteringUnitLoc3)

I'm quite new to triggering, please help me slowly =/. Thanks.
 

Flare

Stops copies me!
Reaction score
662
Code:
Fervor Charge Init
    Events
        Unit - A unit enters (Playable map area)
    Conditions
    Actions
        Trigger - Add to Fervor Charge Force <gen> the event (Unit - A unit comes within 150.00 of CentaurGuardian)
When is the CentaurGuardian variable set? If a unit enters the map before the variable is set, nothing will happen when the unit comes near CentaurGuardian (because they will have to come in range of <blank unit variable>)

Code:
                        Wait 0.05 seconds
That wait won't help you achieve MUI since you may overwrite some values

You can check the GUI MUI spellmaking tutorial link in my signature, but it'd take some time to reconstruct the spell and make it MUI that way (but, in the end, it should come out with MUI)
 

Ayanami

칼리
Reaction score
288
Code:
Fervor Charge Init
    Events
        Unit - A unit enters (Playable map area)
    Conditions
    Actions
        Trigger - Add to Fervor Charge Force <gen> the event (Unit - A unit comes within 150.00 of CentaurGuardian)
When is the CentaurGuardian variable set? If a unit enters the map before the variable is set, nothing will happen when the unit comes near CentaurGuardian (because they will have to come in range of <blank unit variable>)

I did set the variable CentaurGuardian. It is in the first post.

So I did read about your MUI guide, and re-made my triggers. Now it looks like this:

Code:
Fervor Charge Cast
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Fervor Charge 
    Actions
        Trigger - Turn on Fervor Charge Init <gen>
        Trigger - Add to Fervor Charge Init <gen> the event (Unit - A unit comes within 150.00 of CentaurGuardian)
        Wait 20.00 game-time seconds
        Trigger - Turn off Fervor Charge Init <gen>

--------------------------------------------------------------------------

Fervor Charge Init
    Events
    Conditions
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                FCCV Less than 1000
            Then - Actions
                Set FCCV = (FCCV + 1)
            Else - Actions
                Set FCCV = 1
        Set FCCaster[FCCV] = CentaurGuardian
        Set FCCasterLoc[FCCV] = (Position of FCCaster[FCCV])
        Set FCEnteringUnit[FCCV] = (Triggering unit)
        Set temppt = (Center of (Playable map area))
        Unit - Create 1 Hidden Dummy for (Owner of FCCaster[FCCV]) at temppt facing Default building facing degrees
        Set FCDummy[FCCV] = (Last created unit)
        Unit - Set the custom value of (Last created unit) to FCCV
        Unit Group - Add (Last created unit) to FCDummyGroup[FCCV]
        Custom script:   call RemoveLocation(udg_temppt)

--------------------------------------------------------------------------

Fervor Charge Force
    Events
        Time - Every 0.04 seconds of game time
    Conditions
    Actions
        Set FCTempInt = FCCV
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Number of units in FCDummyGroup[FCTempInt]) Greater than 0
            Then - Actions
                Unit Group - Pick every unit in FCDummyGroup[FCTempInt] and do (Actions)
                    Loop - Actions
                        Set FCNewCasterLoc[FCTempInt] = (Position of FCCaster[FCTempInt])
                        Set FCEnteringUnitLoc1[FCTempInt] = (Position of FCEnteringUnit[FCTempInt])
                        Set FCEnteringUnitLoc2[FCTempInt] = (FCEnteringUnitLoc1[FCTempInt] offset by 10.00 towards (Angle from FCCasterLoc[FCTempInt] to FCEnteringUnitLoc1[FCTempInt]) degrees)
                        Set FCEnteringUnitLoc3[FCTempInt] = FCEnteringUnitLoc2[FCTempInt]
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                (Distance between FCCasterLoc[FCTempInt] and FCEnteringUnitLoc1[FCTempInt]) Greater than or equal to 300.00
                            Then - Actions
                                Unit - Remove (Picked unit) from the game
                                Custom script:   call RemoveLocation(udg_FCCasterLoc[udg_FCTempInt])
                            Else - Actions
                                Unit - Move FCEnteringUnit[FCTempInt] instantly to FCEnteringUnitLoc3[FCTempInt]
                                Unit - Cause FCCaster[FCTempInt] to damage FCEnteringUnit[FCTempInt], dealing (((Real((Level of Fervor Charge  for FCCaster[FCTempInt]))) x 70.00) + 70.00) damage of attack type Chaos and damage type Universal
                                Special Effect - Create a special effect attached to the origin of FCEnteringUnit[FCTempInt] using Abilities\Weapons\GlaiveMissile\GlaiveMissileTarget.mdl
                                Special Effect - Destroy (Last created special effect)
                Custom script:   call RemoveLocation(udg_FCEnteringUnitLoc1[udg_FCTempInt])
                Custom script:   call RemoveLocation(udg_FCEnteringUnitLoc2[udg_FCTempInt])
                Custom script:   call RemoveLocation(udg_FCEnteringUnitLoc3[udg_FCTempInt])
            Else - Actions

Not really sure if this can work or not. By the way, does this part work?

Code:
Set FCTempInt = FCCV

I needed to give the Unit Group a variable because let's say there are 2 enemies entering the Centaur Guardian's Fervor Charge range. Since my way to stop the Fervor Charge Force is by distance, if 1 unit reaches that distance, it would remove all units in the unit group. If I were to have only 1 unit group, the dummy unit for the other entering unit would be removed too correct? So just asking if that line works.....

---EDITED---
All right, found out it is not working. Now I seriously have no idea why o.o. SOS!!
 

Expelliarmus

Where to change the sig?
Reaction score
48
Code:
Trigger - Add to Fervor Charge <gen> the event (Unit - A unit comes within 150.00 of CentaurGuardian)
Since Centaur Guardian (unit no variable) Starts the Effect of An Ability, you can use Triggering Unit instead of the global variable CentaurGuardian. That means you don't need to register every unit that Fervor Charge Force <gen>. You shouldn't anyways. Fervor Charge Force is a periodic trigger, it will have no reference to the index of custom value.

- Set FCTempInt = FCCV
FCCV is the most recent index of the array. If you do that, every 0.04 seconds, it will only do the actions for that index.

Give me a few minutes to remake it, still using the MUI GUI by Flare.
 

dannyboydude

Ultra Cool Member
Reaction score
33
If any needs help making gui mui spells , then id suggest looking at flares tut

It tells you all the basics of ceating a simple - advanced mui spell
 

Expelliarmus

Where to change the sig?
Reaction score
48
Code:
Fervor Charge
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Fervor Charge
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                MUI Less than 20
            Then - Actions
                Set MUI = (MUI + 1)
            Else - Actions
                Set MUI = 1
        Set Playable_Area = (Center of (Playable map area))
        Unit - Create 1 Footman for (Owner of (Triggering unit)) at Playable_Area facing Default building facing degrees
        Custom script:   call RemoveLocation(udg_Playable_Area)
        Unit - Set the custom value of (Last created unit) to MUI
        Set Caster[MUI] = (Triggering unit)
        Set Timer[MUI] = 500.00
        Unit Group - Add (Last created unit) to Temp_Group
Code:
Periodic
    Events
        Time - Every 0.04 seconds of game time
    Conditions
        (Temp_Group is empty) Equal to False
    Actions
        Unit Group - Pick every unit in Temp_Group and do (Actions)
            Loop - Actions
                Set Dummy = (Picked unit)
                Set Temp_Position[0] = (Position of Caster[(Custom value of Dummy)])
                Set Timer[(Custom value of Dummy)] = (Timer[(Custom value of Dummy)] - 4.00)
                Unit Group - Pick every unit in (Units within 150.00 of Temp_Position[0] matching (((((Matching unit) is A structure) Equal to False) and (((Matching unit) is in FC_Group[(Custom value of Dummy)]) Equal to False)) and (((Matching unit) belongs to an enemy of (Owner of Dummy)) Equal to True) and do (Actions)
                    Loop - Actions
                        Unit Group - Add (Picked unit) to FC_Group[(Custom value of Dummy)]
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (FC_Group[(Custom value of Dummy)] is empty) Equal to False
                    Then - Actions
                        Unit Group - Pick every unit in FC_Group[(Custom value of Dummy)] and do (Actions)
                            Loop - Actions
                                Set Temp_Position[2] = (Position of (Picked unit))
                                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    If - Conditions
                                        (Distance between (Position of Caster[(Custom value of Dummy)]) and Temp_Position[2]) Less than 300.00
                                    Then - Actions
                                        Set Temp_Position[1] = (Temp_Position[2] offset by 10.00 towards (Angle from Temp_Position[0] to Temp_Position[2]) degrees)
                                        Unit - Move (Picked unit) instantly to Temp_Position[1]
                                        Unit - Turn collision for (Picked unit) Off
                                        Unit - Cause Caster[(Custom value of Dummy)] to damage (Picked unit), dealing 1.00 damage of attack type Chaos and damage type Universal
                                        Special Effect - Create a special effect attached to the origin of (Triggering unit) using Abilities\Weapons\GlaiveMissile\GlaiveMissileTarget.mdl
                                        Special Effect - Destroy (Last created special effect)
                                    Else - Actions
                                        Unit Group - Remove (Picked unit) from FC_Group[(Custom value of Dummy)]
                                        Unit - Turn collision for (Picked unit) On
                    Else - Actions
                For each (Integer A) from 0 to 2, do (Custom script:   call RemoveLocation(udg_Temp_Position[bj_forLoopAIndex]))
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        Timer[(Custom value of Dummy)] Less than or equal to 0.00
                    Then - Actions
                        Unit Group - Remove Dummy from Temp_Group
                        Unit - Remove Dummy from the game
                    Else - Actions

Ok... basically this has 2 triggers, one for Starts the effect, and one for the periodic.
The 20 duration is managed with integer array Timer[]
The trigger picks units units in 150. of the caster and adds them in a group. It then checks if the distance is less than 300 before moving them.
Temp_Position[0] = Position of the caster
Temp_Position[1] = Position of the caster offset by 10 (which is the movement per 0.04)
Temp_Position[2] = Position of the picked unit in FC_Group
FC_Group[] = Holds the units who were in range of 150. waiting to be periodically moved until its 300 distance away from the caster
Dummy is the holder of the custom value
And MUI is the index

Sorry for heavy code =P, first time using MUI idea.

EDIT:
Updated Code; previous code was tested and had bugs.
 

Ayanami

칼리
Reaction score
288
I did this and it still does not work.

Code:
Fervor Charge Init
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Fervor Charge 
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                FCCV Less than 1000
            Then - Actions
                Set FCCV = (FCCV + 1)
            Else - Actions
                Set FCCV = 1
        Set temppt = (Center of (Playable map area))
        Unit - Create 1 Hidden Dummy for (Owner of (Triggering unit)) at temppt facing Default building facing degrees
        Custom script:   call RemoveLocation(udg_temppt)
        Unit - Set the custom value of (Last created unit) to FCCV
        Set FCCaster[FCCV] = (Triggering unit)
        Set FCTimer[FCCV] = 500.00
        Set FCCasterLoc[FCCV] = (Position of (Triggering unit))
        Unit Group - Add (Last created unit) to FCDummyGroup

Code:
Fervor Charge Force
    Events
        Time - Every 0.04 seconds of game time
    Conditions
        (FCDummyGroup is empty) Equal to False
    Actions
        Unit Group - Pick every unit in FCDummyGroup and do (Actions)
            Loop - Actions
                Set FCDummy = (Picked unit)
                Set FCTempPoint[0] = (Position of FCCaster[(Custom value of FCDummy)])
                Set FCTimer[(Custom value of FCDummy)] = (FCTimer[(Custom value of FCDummy)] - 4.00)
                Unit Group - Pick every unit in (Units within 150.00 of FCTempPoint[0] matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is in FCGroup[(Custom value of FCDummy)]) Equal to False) and (((Matching unit) belongs to an enemy of (Owner of FCDummy)) Equal to True) and do (Actions)
                    Loop - Actions
                        Unit Group - Add (Picked unit) to FCGroup[(Custom value of FCDummy)]
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (FCGroup[(Custom value of FCDummy)] is empty) Equal to False
                    Then - Actions
                        Unit Group - Pick every unit in FCGroup[(Custom value of FCDummy)] and do (Actions)
                            Loop - Actions
                                Set FCTempPoint[2] = (Position of (Picked unit))
                                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    If - Conditions
                                        (Distance between FCCasterLoc[(Custom value of FCDummy)] and FCTempPoint[2]) Less than 300.00
                                    Then - Actions
                                        Set FCTempPoint[1] = (FCTempPoint[2] offset by 10.00 towards (Angle from FCTempPoint[0] to FCTempPoint[2]) degrees)
                                        Unit - Move (Picked unit) instantly to FCTempPoint[1]
                                        Unit - Cause FCCaster[(Custom value of FCDummy)] to damage (Picked unit), dealing (((Real((Level of Fervor Charge  for FCCaster[(Custom value of FCDummy)]))) x 1.00) + 1.00) damage of attack type Chaos and damage type Universal
                                        Special Effect - Create a special effect attached to the origin of (Picked unit) using Abilities\Weapons\GlaiveMissile\GlaiveMissileTarget.mdl
                                        Special Effect - Destroy (Last created special effect)
                                    Else - Actions
                                        Unit - Remove (Picked unit) from the game
                                        Unit Group - Remove (Picked unit) from FCGroup[(Custom value of FCDummy)]
                                        Custom script:   call RemoveLocation(udg_FCCasterLoc[GetUnitUserData(udg_FCDummy)])
                    Else - Actions
                For each (Integer A) from 0 to 2, do (Custom script:   call RemoveLocation(udg_FCTempPoint[bj_forLoopAIndex]))
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        FCTimer[(Custom value of FCDummy)] Less than or equal to 0.00
                    Then - Actions
                        Unit Group - Remove FCDummy from FCDummyGroup
                        Unit - Remove FCDummy from the game
                    Else - Actions
 

Expelliarmus

Where to change the sig?
Reaction score
48
Code:
Loop - Actions
                                Set FCTempPoint[2] = (Position of (Picked unit))
                                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    If - Conditions
                                        (Distance between FCCasterLoc[(Custom value of FCDummy)] and FCTempPoint[2]) Less than 300.00
                                    Then - Actions
                                        Set FCTempPoint[1] = (FCTempPoint[2] offset by 10.00 towards (Angle from FCTempPoint[0] to FCTempPoint[2]) degrees)
                                        Unit - Move (Picked unit) instantly to FCTempPoint[1]
                                        Unit - Cause FCCaster[(Custom value of FCDummy)] to damage (Picked unit), dealing (((Real((Level of Fervor Charge  for FCCaster[(Custom value of FCDummy)]))) x 1.00) + 1.00) damage of attack type Chaos and damage type Universal
                                        Special Effect - Create a special effect attached to the origin of (Picked unit) using Abilities\Weapons\GlaiveMissile\GlaiveMissileTarget.mdl
                                        Special Effect - Destroy (Last created special effect)
                                    Else - Actions
                                        [B]Unit - Remove (Picked unit) from the game[/B]
                                        Unit Group - Remove (Picked unit) from FCGroup[(Custom value of FCDummy)]
                                        Custom script:   call RemoveLocation(udg_FCCasterLoc[GetUnitUserData(udg_FCDummy)])
Bolded = The unit being knocked back. I don't think you should remove it from game =P
Code:
Fervor Charge Init
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Fervor Charge 
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                FCCV Less than 1000
            Then - Actions
                Set FCCV = (FCCV + 1)
            Else - Actions
                Set FCCV = 1
        Set temppt = (Center of (Playable map area))
        Unit - Create 1 Hidden Dummy for (Owner of (Triggering unit)) at temppt facing Default building facing degrees
        Custom script:   call RemoveLocation(udg_temppt)
        Unit - Set the custom value of (Last created unit) to FCCV
        Set FCCaster[FCCV] = (Triggering unit)
        Set FCTimer[FCCV] = 500.00
        [B]Set FCCasterLoc[FCCV] = (Position of (Triggering unit))[/B]
        Unit Group - Add (Last created unit) to FCDummyGroup
Is it really required? You updated the position in
Code:
Set FCTempPoint[0] = (Position of FCCaster[(Custom value of FCDummy)])
Code:
(Distance between FCCasterLoc[(Custom value of FCDummy)] and FCTempPoint[2]) Less than 300.00
Try using the Temp_Point[0]

Anyways
I did this and it still does not work.
Please be specific... which part doesn't work? :confused:
I'll attach my copy which 'works'. You can edit from there and Copy & Paste into your map.
Note: I advise you to change 150 to 300+. 100 = Melee range, you'll need to get very close to them before the effect happens. :)
 

Ayanami

칼리
Reaction score
288
Thanks a lot. +rep Found out I missed out a line from my trigger. By the way, it is meant to be melee range just for information =p
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top