General - Switch (Actions) depending on (Experience level of (Triggering unit))
Cases
General - If (1)
Actions
Actor - Send actor message "SetScale 1.05" to main actor of unit <triggering unit>
General - If (1)
Actions
Actor - Send actor message "SetScale 1.10" to main actor of unit <triggering unit>
Default
Or you could set a variable each time the thing is run, and then send the actor message as a conversion:
variable:
heroscale[array#ofplayers] <real>
Actions
modify variable heroscale[ownerofunit(triggeringunit)] + 0.5
Send Actor Message To Unit
Message: Convert String To Actor Message
Value: Combine Strings
String 1: "SetScale("
String 2: heroscale[ownerofunit(Triggeringunit)]
String 3: )
Unit: No Unit
However i dont know myself how you write it out like that
You would probably want to have another variable as a boolean to say theyve already been rewarded that tier's reward and then your trigger:
if ( Kills[Propietary of Killing Unit] >=100 and Tier1[Propietary of killing unit] = false
) then {
Allow Name_Of_The_Upgrade For Player and set tier1[propietary of killing unit] = true }
because otherwise everytime they get a kill between 100-200 its going to allow the upgrade.
there are lots of aos style maps out there. Dota was not the first and isnt the only, it was just the most played and not necasarily the best. Tides of blood, eve of the apololypse, eternal conflict and many more all had original ideas on this format. You should looks to these to incoporate ideas.
In tob you could add 1xwave of x unit, in eternal conflict there was a Builder hero whos job it was to upgrade the units spawned and add new and better types to each wave. etc
your animation is BSD > birth stand and then death. So it plays then animations in that order.
dont got editor open ==
Try changing it to animation play and then just use stand
+not entierly sure on this though, as i dont got it open and im only just getting used to displaying effects. think i got about 10 in my map now on various occasions.
You are right that it starts with 0 but in most cases you will set your variables by player number so set variable name[playernumber] = player1name will still be 1. So its alot easier in my opinion to just skip the 0.
For instance:
Pick each player in player group [active player] and:
- Set variable playername[picked player] = nameof[pickedplayer]
yeah use:
Comparison
Value 1: Number Of Units In Unit Group
Type: Living
Unit Group: Units In Region Matching Condition
Unit Type: YOUR MARINE SPAWNER UNIT
Region: YOUR MARINE SPAWNER REGION
Player: 2
Unit Filter: Excluded: Missile, Dead, Hidden, Invulnerable
Count: Any Amount
Operator: ==
Value 2: 1
I updated the above post to make it easier to read also. :D
Condition==
unit type of [triggering unit] = [marine spawner]
your current units in region less than < 48 (and add this one)
Comparison
Value 1: Number Of Units In Unit Group
Type: Living
Unit Group: Units In Region Matching Condition
Unit Type: YOUR MARINE SPAWNER UNIT
Region: YOUR MARINE SPAWNER REGION
Player: 2
Unit Filter: Excluded: Missile, Dead, Hidden, Invulnerable
Count: Any Amount
Operator: ==
Value 2: 1
Action ==
if then else:
if:
Comparison
Value 1: Number Of Units In Unit Group
Type: Living
Unit Group: Units In Region Matching Condition
Unit Type: YOUR MARINE SPAWNER UNIT
Region: YOUR MARINE SPAWNER REGION
Player: 2
Unit Filter: Excluded: Missile, Dead, Hidden, Invulnerable
Count: Any Amount
Operator: ==
Value 2: 1
then
unit create 1 [marine] for [triggering player] at spawnregion
wait 1 [REALTIME] second
run trigger [nameofthistrigger]
else:
skip remaining actions
So every 1 second it will re-run the trigger, each time checking the amount of units is less than 48, if the dude is still in the spawner region ... if he is itll then spawn unit else itll just stop the loop.
In the raynor gaus rifle go to its (DAMAGE) Effect.
Set the Effect-kind to splash.
Then go to Search-Area. Click the green cross to add a new field.
Set the fraction of the damage to say 0.75 (75% of the damage it does to main target)
radius set to 1
Click ok, and it should work.
You can also add validators and filters so splash only applys to targets u desire. (Search - filters where u set filters. eg: exclude hidden dead missle etc) (Validators in the search field - where we set fraction/radius etc)
0
You could add a switch.
General - Switch (Actions) depending on (Experience level of (Triggering unit))
Cases
General - If (1)
Actions
Actor - Send actor message "SetScale 1.05" to main actor of unit <triggering unit>
General - If (1)
Actions
Actor - Send actor message "SetScale 1.10" to main actor of unit <triggering unit>
Default
Or you could set a variable each time the thing is run, and then send the actor message as a conversion:
variable:
heroscale[array#ofplayers] <real>
Actions
modify variable heroscale[ownerofunit(triggeringunit)] + 0.5
Send Actor Message To Unit
Message: Convert String To Actor Message
Value: Combine Strings
String 1: "SetScale("
String 2: heroscale[ownerofunit(Triggeringunit)]
String 3: )
Unit: No Unit
However i dont know myself how you write it out like that
0
@Kreusser: Go
You could use a trigger to register when the hero levels up and then send an actor message to the unit to increase the scale.
so:
Level UP!
Events
Unit - Any Unit gains an experience level
Local Variables
Conditions
Actions
Actor - Send actor message "SetScale 1.200000" to main actor of unit <triggering unit>
0
@Puged: Go
Create Units With Default Facing
Count: 1
Type: Infested Terran (From Terran Infestation Rupture)
Player: 1
Point: Point 001
Flags: No Options
Issue Order
Unit: Last Created Unit
Order: Order Targeting Point
Ability Command: Scan Move
Target Point: Point 002
Queue: Replace Existing Orders
You can change the target point to be Position of random unit from units in playable map owned by player 1 matching condition hero etc/
0
@KrayzBlu: Go
on the behaviour list table. do a search for hidden:
Stats - Flags :: Hidden [tick!]
0
There is 1 doodadd of a cave. Think its mar sara cave or somert. Not sure if this will help you but you can have a look!
0
@Reaperguyver: Go
a very simple search "leaderboard" would return > http://forums.sc2mapster.com/development/tutorials/6789-video-triggers-leaderboards-the-onetwo-way/#p2 and many more...
0
You would probably want to have another variable as a boolean to say theyve already been rewarded that tier's reward and then your trigger:
if ( Kills[Propietary of Killing Unit] >=100 and Tier1[Propietary of killing unit] = false
) then {
Allow Name_Of_The_Upgrade For Player and set tier1[propietary of killing unit] = true }
because otherwise everytime they get a kill between 100-200 its going to allow the upgrade.
0
For stun:
Odin - emp burst apply behaviour.
Behaviour - modification > behaviour > modify flags:
supress movement, supress turning, disable abilities.
0
i know that setting races in variants stopped mine from publishing. and ive heard setting colours can also stop it publishing.
0
@zeldarules28: Go
there are lots of aos style maps out there. Dota was not the first and isnt the only, it was just the most played and not necasarily the best. Tides of blood, eve of the apololypse, eternal conflict and many more all had original ideas on this format. You should looks to these to incoporate ideas.
In tob you could add 1xwave of x unit, in eternal conflict there was a Builder hero whos job it was to upgrade the units spawned and add new and better types to each wave. etc
0
your animation is BSD > birth stand and then death. So it plays then animations in that order.
dont got editor open ==
Try changing it to animation play and then just use stand
+not entierly sure on this though, as i dont got it open and im only just getting used to displaying effects. think i got about 10 in my map now on various occasions.
0
@Feldeat: Go
You are right that it starts with 0 but in most cases you will set your variables by player number so set variable name[playernumber] = player1name will still be 1. So its alot easier in my opinion to just skip the 0.
For instance:
Pick each player in player group [active player] and:
- Set variable playername[picked player] = nameof[pickedplayer]
Or kill counter:
-modify variable uKills[ownerofkillingunit] + 1
0
@Feldeat: Go
yeah use:
Comparison
Value 1: Number Of Units In Unit Group
Type: Living
Unit Group: Units In Region Matching Condition
Unit Type: YOUR MARINE SPAWNER UNIT
Region: YOUR MARINE SPAWNER REGION
Player: 2
Unit Filter: Excluded: Missile, Dead, Hidden, Invulnerable
Count: Any Amount
Operator: ==
Value 2: 1
I updated the above post to make it easier to read also. :D
0
Event==
[Any unit] enters [unitspawning region]
Condition==
unit type of [triggering unit] = [marine spawner]
your current units in region less than < 48 (and add this one)
Comparison
Value 1: Number Of Units In Unit Group
Type: Living
Unit Group: Units In Region Matching Condition
Unit Type: YOUR MARINE SPAWNER UNIT
Region: YOUR MARINE SPAWNER REGION
Player: 2
Unit Filter: Excluded: Missile, Dead, Hidden, Invulnerable
Count: Any Amount
Operator: ==
Value 2: 1
Action ==
if then else:
if:
Comparison
Value 1: Number Of Units In Unit Group
Type: Living
Unit Group: Units In Region Matching Condition
Unit Type: YOUR MARINE SPAWNER UNIT
Region: YOUR MARINE SPAWNER REGION
Player: 2
Unit Filter: Excluded: Missile, Dead, Hidden, Invulnerable
Count: Any Amount
Operator: ==
Value 2: 1
then
unit create 1 [marine] for [triggering player] at spawnregion
wait 1 [REALTIME] second
run trigger [nameofthistrigger]
else:
skip remaining actions
So every 1 second it will re-run the trigger, each time checking the amount of units is less than 48, if the dude is still in the spawner region ... if he is itll then spawn unit else itll just stop the loop.
===========
1 trigger
0
In the raynor gaus rifle go to its (DAMAGE) Effect.
Set the Effect-kind to splash.
Then go to Search-Area. Click the green cross to add a new field.
Set the fraction of the damage to say 0.75 (75% of the damage it does to main target)
radius set to 1
Click ok, and it should work.
You can also add validators and filters so splash only applys to targets u desire. (Search - filters where u set filters. eg: exclude hidden dead missle etc) (Validators in the search field - where we set fraction/radius etc)