Add a new trigger, look under the Unit Selection catagory and select Unit is Selected and press okay. Leave any unit as any unit, and leave selected as selected. Set the player to the player you want this trigger to effect, if you don't care about players or its a single player map leave it as any player.
Now under local varibles add a new varible, name it something like tmpUnit and make sure its type is set to Unit, change its default from No Unit to Triggering Unit (Under functions, Unit Catagory)
Next under actions add a new If Then Else action (under Genreal Catagory) Under If add a new condition, and select comparsion. For value 1 double click it and select Unit Type (Unit Catagory), for the unit double click it and change it to your tmpUnit varible you set in the local varibles portion of the trigger. Now for the Value 2 part of the comparssion, Double click it and find the beacon unit type you want. With it highlighted/selected click okay, your comparsion is done.
Now under then, add a new action, set varible should be selected by default so press okay. Double click Varible and select your gloabl varible that you want to set to true. Once selected press okay, and under value 2 double click and just make sure the true checkbox is checked and press okay. Finnaly under else add a new action, again set varible should be selected by default so press okay. Double click Varible and again select the same global varible that we just set under then. But this time in Value when you double click it, do not check the checkbox just leave it blank and press okay. Thats it your done!
Baiscly everytime the player selects a unit, we check to see if that selected unit is a specifc unit type, if it is not then we set your global varible to false, if it is we set it to true. Simple and very basic but hopefully a good starting point, hope it helps!
Add a new trigger, look under the Unit Selection catagory and select Unit is Selected and press okay. Leave any unit as any unit, and leave selected as selected. Set the player to the player you want this trigger to effect, if you don't care about players or its a single player map leave it as any player. Now under local varibles add a new varible, name it something like tmpUnit and make sure its type is set to Unit, change its default from No Unit to Triggering Unit (Under functions, Unit Catagory)
Next under actions add a new If Then Else action (under Genreal Catagory) Under If add a new condition, and select comparsion. For value 1 double click it and select Unit Type (Unit Catagory), for the unit double click it and change it to your tmpUnit varible you set in the local varibles portion of the trigger. Now for the Value 2 part of the comparssion, Double click it and find the beacon unit type you want. With it highlighted/selected click okay, your comparsion is done.
Now under then, add a new action, set varible should be selected by default so press okay. Double click Varible and select your gloabl varible that you want to set to true. Once selected press okay, and under value 2 double click and just make sure the true checkbox is checked and press okay. Finnaly under else add a new action, again set varible should be selected by default so press okay. Double click Varible and again select the same global varible that we just set under then. But this time in Value when you double click it, do not check the checkbox just leave it blank and press okay. Thats it your done!
Baiscly everytime the player selects a unit, we check to see if that selected unit is a specifc unit type, if it is not then we set your global varible to false, if it is we set it to true. Simple and very basic but hopefully a good starting point, hope it helps!
You don't deselect units when you click on the ground.
If you want to incorporate this, you'll need to make another trigger with the "Mouse button clicked" event.
Wouldnt this be much more efficient and work better?
Make a global variable BeaconUnit of type Unit. Set it to the beacon you want to use this for. Create a trigger like before, but instead of Any Unit, use BeaconUnit, and in actions set the variable. Then copy that trigger to a new one, and change "Selected" to "Deselected" and change the boolean from true to false, done. Not sure if this works, but seems like it would and be exactly what you want, without running a trigger for EVERY unit selected too.
How can I set a variable to True when I select a certain beacon, and set it to false when I deselect it?
@Nothing5: Go
Add a new trigger, look under the Unit Selection catagory and select Unit is Selected and press okay. Leave any unit as any unit, and leave selected as selected. Set the player to the player you want this trigger to effect, if you don't care about players or its a single player map leave it as any player. Now under local varibles add a new varible, name it something like tmpUnit and make sure its type is set to Unit, change its default from No Unit to Triggering Unit (Under functions, Unit Catagory)
Next under actions add a new If Then Else action (under Genreal Catagory) Under If add a new condition, and select comparsion. For value 1 double click it and select Unit Type (Unit Catagory), for the unit double click it and change it to your tmpUnit varible you set in the local varibles portion of the trigger. Now for the Value 2 part of the comparssion, Double click it and find the beacon unit type you want. With it highlighted/selected click okay, your comparsion is done.
Now under then, add a new action, set varible should be selected by default so press okay. Double click Varible and select your gloabl varible that you want to set to true. Once selected press okay, and under value 2 double click and just make sure the true checkbox is checked and press okay. Finnaly under else add a new action, again set varible should be selected by default so press okay. Double click Varible and again select the same global varible that we just set under then. But this time in Value when you double click it, do not check the checkbox just leave it blank and press okay. Thats it your done!
Baiscly everytime the player selects a unit, we check to see if that selected unit is a specifc unit type, if it is not then we set your global varible to false, if it is we set it to true. Simple and very basic but hopefully a good starting point, hope it helps!
This works extremely well. Thanks!
@Quickshot14: Go
Well sir, it only works if i select a different unit. What about "deselecting" it ( aka: clicking the ground)
@progammer: Go
You don't deselect units when you click on the ground.
If you want to incorporate this, you'll need to make another trigger with the "Mouse button clicked" event.
@Quickshot14: Go
Wouldnt this be much more efficient and work better?
Make a global variable BeaconUnit of type Unit. Set it to the beacon you want to use this for. Create a trigger like before, but instead of Any Unit, use BeaconUnit, and in actions set the variable. Then copy that trigger to a new one, and change "Selected" to "Deselected" and change the boolean from true to false, done. Not sure if this works, but seems like it would and be exactly what you want, without running a trigger for EVERY unit selected too.