- Joined
- Jun 26, 2019
- Messages
- 318
Hello. I need help with changing the trigger system to be set as pushing unit, not as special effect or ability. I need it be as unit, and set it as pusher unit, for me to not have to spamming the special effects or abilities to send push balls to push the units, because if I put it in my main map from this test map, it would cause the map lagging bad due too many special effects or abilities, you know.
I just need single push ball as UNIT on each trigger with each regions also to just send one push ball each, and I can set trigger to order the unit to move to the targeted point from begin point as unit pusher to push units and stay blocking units out of the line for until the time is expired, and remove pushing units out of game, and come back again later.
I am not good at English, but you know what I am trying to do here because I need this for to keep pushing the players into middle of map for every 10 minutes due to players being "pussy" to avoid or waiting for other players to attack while they are sitting near their healing station, to prevent causing the game time longer.
I couldn't figure out how to change this trigger system to be set as unit, not special effect or ability. I want it to be set as unit and this unit will push other units like it did as special effect and ability. Here the test map file. I want you to check it out. Test it and you can see what I am trying to do to get this set as unit, not special effect or ability, so I can move one unit on each to push other units.
-------------------------------------
I just need single push ball as UNIT on each trigger with each regions also to just send one push ball each, and I can set trigger to order the unit to move to the targeted point from begin point as unit pusher to push units and stay blocking units out of the line for until the time is expired, and remove pushing units out of game, and come back again later.
I am not good at English, but you know what I am trying to do here because I need this for to keep pushing the players into middle of map for every 10 minutes due to players being "pussy" to avoid or waiting for other players to attack while they are sitting near their healing station, to prevent causing the game time longer.
I couldn't figure out how to change this trigger system to be set as unit, not special effect or ability. I want it to be set as unit and this unit will push other units like it did as special effect and ability. Here the test map file. I want you to check it out. Test it and you can see what I am trying to do to get this set as unit, not special effect or ability, so I can move one unit on each to push other units.
-------------------------------------
-
Push Ball
-
Events
-
Unit - A unit Is attacked
-
-
Conditions
-
(Unit-type of (Attacking unit)) Equal to Turn On Push Ball
-
-
Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
GB_Indexs[0] Equal to 0
-
-
Then - Actions
-
Trigger - Turn on Push Ball Loop <gen>
-
-
Else - Actions
-
-
Set GB_Indexs[0] = (GB_Indexs[0] + 1)
-
Set GB_Indexs[1] = (GB_Indexs[1] + 1)
-
-------- Setting Everything --------
-
-------- --------------------------------------------------------------------------------- --------
-
-------- Don't Change anything here --------
-
-------- --------------------------------------------------------------------------------- --------
-
Set GB_Caster[GB_Indexs[0]] = (Triggering unit)
-
Set GB_Casting_Point[GB_Indexs[0]] = (Center of Region 000 <gen>)
-
Set GB_Target_Point = (Center of Region 002 <gen>)
-
Set GB_Angle[GB_Indexs[0]] = (Angle from GB_Casting_Point[GB_Indexs[0]] to GB_Target_Point)
-
Set GB_Distance[GB_Indexs[0]] = 3000.00
-
Set GB_Reached_Distance[GB_Indexs[0]] = 0.00
-
Set GB_Range[GB_Indexs[0]] = 0.00
-
Set GB_Off_Boolean[GB_Indexs[0]] = True
-
-------- --------------------------------------------------------------------------------- --------
-
-------- Here you can change the Speed of the ball --------
-
-------- --------------------------------------------------------------------------------- --------
-
Set GB_Moving_Range[GB_Indexs[0]] = 20.00
-
-------- --------------------------------------------------------------------------------- --------
-
-------- This is where you change the Turning Speed (to make them do circle) --------
-
-------- 0 = no circle just pushing --------
-
-------- --------------------------------------------------------------------------------- --------
-
Set GB_Turning_Rate[GB_Indexs[0]] = 0.00
-
-------- --------------------------------------------------------------------------------- --------
-
-------- This is for changing the Damage (this is a damage every 0.03 sec) --------
-
-------- The 250 AOE is Multiplied by the Level... --------
-
-------- --------------------------------------------------------------------------------- --------
-
Set GB_Damage_250_AOE = 0.00
-
Set GB_Damage_500_AOE = 0.00
-
-------- --------------------------------------------------------------------------------- --------
-
-------- This is for the special Effects --------
-
-------- --------------------------------------------------------------------------------- --------
-
Set GB_Special_Effect_Units = Abilities\Weapons\FaerieDragonMissile\FaerieDragonMissile.mdl
-
Set GB_Special_Effect_Ball = Abilities\Spells\NightElf\Blink\BlinkCaster.mdl
-
-------- --------------------------------------------------------------------------------- --------
-
-------- This is the Knockback Speed --------
-
-------- --------------------------------------------------------------------------------- --------
-
Set GB_Knockback_Speed = 20.00
-
-------- --------------------------------------------------------------------------------- --------
-
-------- Don't change anything in the Push Ball Loop Trigger --------
-
-------- --------------------------------------------------------------------------------- --------
-
Custom script: call RemoveLocation(udg_GB_Target_Point)
-
-
-
Push Ball Loop
-
Events
-
Time - Every 0.03 seconds of game time
-
-
Conditions
-
Actions
-
For each (Integer GB_Indexs[2]) from 1 to GB_Indexs[0], do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
GB_Off_Boolean[GB_Indexs[2]] Equal to True
-
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
GB_Reached_Distance[GB_Indexs[2]] Greater than or equal to GB_Distance[GB_Indexs[2]]
-
-
Then - Actions
-
Custom script: call RemoveLocation(udg_GB_Casting_Point[udg_GB_Indexs[2]])
-
Set GB_Off_Boolean[GB_Indexs[2]] = False
-
Set GB_Indexs[1] = (GB_Indexs[1] - 1)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
GB_Indexs[1] Equal to 0
-
-
Then - Actions
-
Set GB_Indexs[0] = 0
-
Trigger - Turn off (This trigger)
-
-
Else - Actions
-
-
-
Else - Actions
-
Set GB_Range[GB_Indexs[2]] = (GB_Range[GB_Indexs[2]] + GB_Moving_Range[GB_Indexs[2]])
-
Set GB_Moving_Point = (GB_Casting_Point[GB_Indexs[2]] offset by GB_Range[GB_Indexs[2]] towards GB_Angle[GB_Indexs[2]] degrees)
-
-------- Special Effect of the Ball --------
-
Special Effect - Create a special effect at GB_Moving_Point using GB_Special_Effect_Ball
-
Special Effect - Destroy (Last created special effect)
-
Set GB_Unit_Group = (Units within 500.00 of GB_Moving_Point matching ((((Matching unit) is alive) Equal to True) and ((((Owner of (Matching unit)) is an ally of (Owner of (Matching unit))) Equal to True) and (((Matching unit) is A structure) Equal to False))))
-
Unit Group - Pick every unit in GB_Unit_Group and do (Actions)
-
Loop - Actions
-
-------- 500 AOE range damage --------
-
Unit - Cause GB_Caster[GB_Indexs[2]] to damage (Picked unit), dealing GB_Damage_500_AOE damage of attack type Spells and damage type Normal
-
-------- Setting everything to make move the units --------
-
Set GB_Custom_Value = (Custom value of (Picked unit))
-
Set GB_Unit[GB_Custom_Value] = (Picked unit)
-
Set GB_Unit_Point[GB_Custom_Value] = (Position of GB_Unit[GB_Custom_Value])
-
-------- Special Effect on the units --------
-
Set GB_100 = (Random integer number between 1 and 100)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
GB_100 Less than or equal to 50
-
-
Then - Actions
-
Special Effect - Create a special effect at GB_Unit_Point[GB_Custom_Value] using GB_Special_Effect_Units
-
Special Effect - Destroy (Last created special effect)
-
-
Else - Actions
-
-
Set GB_Unit_Angle[GB_Custom_Value] = (Angle from GB_Moving_Point to GB_Unit_Point[GB_Custom_Value])
-
Set GB_Unit_Moving_Point[GB_Custom_Value] = (GB_Unit_Point[GB_Custom_Value] offset by GB_Knockback_Speed towards (GB_Unit_Angle[GB_Custom_Value] + GB_Turning_Rate[GB_Indexs[2]]) degrees)
-
-------- Moving the units --------
-
Unit - Move GB_Unit[GB_Custom_Value] instantly to GB_Unit_Moving_Point[GB_Custom_Value]
-
-
-
-------- The Group that will recieve the 250 AOE range Damage --------
-
Set GB_Unit_Group_2 = (Units within 250.00 of GB_Moving_Point matching ((((Matching unit) is alive) Equal to True) and ((((Owner of (Matching unit)) is an ally of (Owner of (Matching unit))) Equal to True) and (((Matching unit) is A structure) Equal to False))))
-
Unit Group - Pick every unit in GB_Unit_Group_2 and do (Actions)
-
Loop - Actions
-
-------- Dealing the damage --------
-
-
-
-------- Setting the time --------
-
Set GB_Reached_Distance[GB_Indexs[2]] = (GB_Moving_Range[GB_Indexs[2]] + GB_Reached_Distance[GB_Indexs[2]])
-
-------- Removing the Leaks --------
-
Custom script: call RemoveLocation(udg_GB_Unit_Moving_Point[udg_GB_Custom_Value])
-
Custom script: call RemoveLocation(udg_GB_Unit_Point[udg_GB_Custom_Value])
-
Custom script: call RemoveLocation(udg_GB_Moving_Point)
-
Custom script: call DestroyGroup(udg_GB_Unit_Group)
-
Custom script: call DestroyGroup(udg_GB_Unit_Group_2)
-
-
-
-
Else - Actions
-
-
-
-
-
-
Attack
-
Events
-
Time - Elapsed game time is 3.00 seconds
-
-
Conditions
-
Actions
-
Unit - Order Trigger Run 0199 <gen> to Attack Turn On Push Ball 0004 <gen>
-
-