I can load scv (1) by default. When i buy license 3, i wanna be able to load zealot. When i buy 2, i wanna be able to load marine. I can buy 2,3,4,5 in no specific order. Without any upgrade (2-5), i can't load the unit for that specific type. Is there a way to do this? I can't find a way to do it in data editor. I can do it the hard way with triggers but would love to know if theres a way.
Have you tried creating the various licenses as upgrades, then creating a validator for the load behavior (however that works) that requires the owning player have the respective license if they want to load a specific unit type?
Exactly what RCIX said, the way you want to setup validators:
1 main (combine) validator of type OR, holding all validators below:
-Is scv (unit type validator, checks if target is SCV)
-Combine of type AND validators for everything else combining:
_-Is Ultralisk (for example)
_-Has Ultra license (validator of Player Requirement type), note the Find must be enabled there
Then put main validator as Load Validator in medivacs transport ability
I love you guys, this is exactly what i needed to know! This is waaaay easier than triggering the hard way! I will post my results when i am done with it. Can't believe i never know validators have Combine type! Added you guys to credits!
UPDATE 1:
I notice load validator only checks for the unit i am loading in. Unfortunately, the units i am loading are not belong to my own. Is there a way around to check for the player whether or not the player has license?
Once again thanks for the detail guide [:
Got it to work. The reason it didn't work before is because i didn't set the unit type value after creating it ._. my mistake on that. Still pretty confuse with the player requirement as the load validator tooltip says "These validators must return true for a unit to be loaded into the transport". How does the player requirement returns the owner of caster who used load?
I am pretty new to upgrades. Have a few questions about it...
I created an upgrade named: Marine (License)
and
I created a requirement named: Marine License
Under Marine License, at the Requirement+ field, i put:
Use
- Type: Count Upgrade
- Alias: Marine (License)
- State: Complete
On trigger, when a player buys the license, i set :
Tech Tree - Set Marine (License) upgrade level to 1 for player (Triggering player)
1. Is this correct for what i did?
2. What is the difference from "USE" and "SHOW" in the Requirements+ field?
3. What is tech tree cheat? Do i need to enable it?
1. Yes, that will work.
2. When show returns false the button is invisible on units (i.e. weapon upgrades, rank1 hides after completion so rank2 will show up)
3. No, it's just the flag that makes your upgrade finished after inputting tech tree cheat, don't mind it.
I am trying to let medivac load specific unit type when i buy an upgrade (No specific order)
Unit Types example:
1. scv
2. marine
3. zealot
4. tauren marine
5. ultralisk
I can load scv (1) by default. When i buy license 3, i wanna be able to load zealot. When i buy 2, i wanna be able to load marine. I can buy 2,3,4,5 in no specific order. Without any upgrade (2-5), i can't load the unit for that specific type. Is there a way to do this? I can't find a way to do it in data editor. I can do it the hard way with triggers but would love to know if theres a way.
Have you tried creating the various licenses as upgrades, then creating a validator for the load behavior (however that works) that requires the owning player have the respective license if they want to load a specific unit type?
Exactly what RCIX said, the way you want to setup validators:
1 main (combine) validator of type OR, holding all validators below:
-Is scv (unit type validator, checks if target is SCV)
-Combine of type AND validators for everything else combining:
_-Is Ultralisk (for example)
_-Has Ultra license (validator of Player Requirement type), note the Find must be enabled there
Then put main validator as Load Validator in medivacs transport ability
@uiasdnmb: Go
I love you guys, this is exactly what i needed to know! This is waaaay easier than triggering the hard way! I will post my results when i am done with it. Can't believe i never know validators have Combine type! Added you guys to credits!
UPDATE 1:
I notice load validator only checks for the unit i am loading in. Unfortunately, the units i am loading are not belong to my own. Is there a way around to check for the player whether or not the player has license?
It is, maybe i'll explain a bit more on example i've made (see attachment).
CanCarry is validator used on transport Load field, and it's of type OR.
AAUltra combine is one of reqs of CanCarry and is of type AND.
@uiasdnmb: Go
Once again thanks for the detail guide [:
Got it to work. The reason it didn't work before is because i didn't set the unit type value after creating it ._. my mistake on that. Still pretty confuse with the player requirement as the load validator tooltip says "These validators must return true for a unit to be loaded into the transport". How does the player requirement returns the owner of caster who used load?
I am pretty new to upgrades. Have a few questions about it...
I created an upgrade named: Marine (License)
and
I created a requirement named: Marine License
Under Marine License, at the Requirement+ field, i put:
Use
- Type: Count Upgrade
- Alias: Marine (License)
- State: Complete
On trigger, when a player buys the license, i set :
Tech Tree - Set Marine (License) upgrade level to 1 for player (Triggering player)
1. Is this correct for what i did?
2. What is the difference from "USE" and "SHOW" in the Requirements+ field?
3. What is tech tree cheat? Do i need to enable it?
1. Yes, that will work.
2. When show returns false the button is invisible on units (i.e. weapon upgrades, rank1 hides after completion so rank2 will show up)
3. No, it's just the flag that makes your upgrade finished after inputting tech tree cheat, don't mind it.
@uiasdnmb: Go
Thank you so much for the detail explanation [: appreciate it!