Code:
Fire Shotgun
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Fire Shotgun
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Mana of (Triggering unit)) Greater than or equal to 1.00
Then - Actions
Unit - Set mana of (Triggering unit) to ((Mana of (Triggering unit)) - 1.00)
Set locShootingPlayer = (Owner of (Triggering unit))
For each (Integer A) from 1 to 8, do (Actions)
Loop - Actions
Set locPoint = (Position of (Triggering unit))
Unit - Create 1 Normal Bullet (M3 Super 90 Combat) for locShootingPlayer at (locPoint offset by 25.00 towards (Angle from locPoint to (Target point of ability being cast)) degrees) facing (((Angle from locPoint to (Target point of ability being cast)) - 22.50) + (5.00 x (Real((Integer A))))) degrees
Custom script: call RemoveLocation( udg_locPoint )
Unit - Set the custom value of (Last created unit) to 500
Unit - Turn collision for (Last created unit) Off
Else - Actions
Unit - Order (Casting unit) to Stop
Floating Text - Create floating text that reads RELOAD! above (Triggering unit) with Z offset 0.00, using font size 15.00, color (100.00%, 0.00%, 0.00%), and 0.00% transparency
Floating Text - Change (Last created floating text): Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to 1.00 seconds
Code:
Shotgun Damage
Events
Conditions
Actions
Set locBullet = Bullet
Set locShootingPlayer = (Owner of Bullet)
Set locPoint = (Position of locBullet)
Set locReal = (Random real number between 10.00 and 15.00)
Unit Group - Pick every unit in (Units within 75.00 of locPoint matching ((Owner of (Matching unit)) Not equal to locShootingPlayer)) and do (Actions)
Loop - Actions
Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
Special Effect - Destroy (Last created special effect)
Unit - Cause locBullet to damage (Picked unit), dealing locReal damage of attack type Pierce and damage type Normal
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Life of locBullet) Greater than or equal to 9.00
Then - Actions
Unit - Cause locBullet to damage (Picked unit), dealing locReal damage of attack type Pierce and damage type Normal
Floating Text - Create floating text that reads CRITICAL SHOT! above (Picked unit) with Z offset 0.00, using font size 10.00, color (100.00%, 0.00%, 0.00%), and 0.00% transparency
Floating Text - Change (Last created floating text): Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to 2.00 seconds
Else - Actions
Do nothing
Unit - Remove locBullet from the game
Set locBullet = No unit
Custom script: call RemoveLocation( udg_locPoint )
Code:
Bullet Loc
Events
Time - Every 0.01 seconds of game time
Conditions
Actions
Unit Group - Pick every unit in (Units in (Playable map area)) and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Or - Any (Conditions) are true
Conditions
(Unit-type of (Picked unit)) Equal to Normal Bullet (AK-47)
(Unit-type of (Picked unit)) Equal to Normal Bullet (Arctic Warfare Magnum (AWP))
(Unit-type of (Picked unit)) Equal to Normal Bullet (Colt M4A1 Carbine)
(Unit-type of (Picked unit)) Equal to Normal Bullet (Desert Eagle .50AE)
(Unit-type of (Picked unit)) Equal to Normal Bullet (M249 PARA Light Machine Gun)
(Unit-type of (Picked unit)) Equal to Normal Bullet (M3 Super 90 Combat)
(Unit-type of (Picked unit)) Equal to Normal Bullet (MP5-Navy)
(Unit-type of (Picked unit)) Equal to Normal Bullet (USP Tactical .45 ACP)
(Unit-type of (Picked unit)) Equal to Knife (Thrown)
Then - Actions
Set locPoint = (Position of (Picked unit))
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Number of units in (Units within (Max mana of (Picked unit)) of locPoint matching (((Owner of (Matching unit)) Not equal to (Owner of (Picked unit))) and (((Matching unit) is alive) Equal to True)))) Greater than or equal to 1
Then - Actions
Unit - Add classification of Mechanical to (Picked unit)
Unit - Order (Picked unit) to Hold Position
Set Bullet = (Picked unit)
For each (Integer A) from 1 to 9, do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Unit-type of (Picked unit)) Equal to BulletType[(Integer A)]
Then - Actions
Trigger - Run BulletDamageTrigger[(Integer A)] (ignoring conditions)
Else - Actions
Do nothing
Else - Actions
Set Bullet = (Picked unit)
Trigger - Run Bullet Move <gen> (checking conditions)
Custom script: call RemoveLocation( udg_locPoint )
Else - Actions
Do nothing
Code:
Bullet Move
Events
Conditions
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Bullet is Mechanical) Equal to False
Then - Actions
Set locMove = ((Real((Custom value of Bullet))) / 100.00)
Unit - Move Bullet instantly to ((Position of Bullet) offset by locMove towards (Facing of Bullet) degrees)
Else - Actions
Do nothing
FYI, BulletType[8]=Normal Bullet (M3 Super 90 Combat)
And BulletDamageTrigger[8] = Shotgun Damage <gen>
My bullet triggers keep lagging. I think this lags the most in 1 shot.
Can someone suggest a good way to greatly reduce the lag?
I know there's a way... But I can't find it. Can someone tell me how?
http://www.epicwar.com/maps/238/
That link goes to a download area for a map. I want to be able to make the gun triggers like that.
Mine seem simpler but his lags a lot less.
So if anybody knows how those triggers are made, can you tell me, or just figure out how to make mine lag less.
It's probably because 12 people making that trigger go off will b major lag... But that map in the link doesn't. So how do you do it?