In this quick tutorial we're going to make a 'unique' item. Items that you can only carry one of at a time. This will be done purely with validators.
For this tutorial, I used the basic Test Inventory ability and Item (Inventory) - Grenades unit, assuming the Grenade is the item we want to be unique. This should be easily translatable between Inventory abilities and other items. Anything that's not explicitly mentioned should probably be left at the default values.
Unique Grenade
Grenade is Target
First, we're going to want to create a Validator that checks if the target is the unique item. This is a Unit Type validator. Value: Item (Inventory) - Grenades
Grenade Limit
Next we'll want to check if the item's already in the inventory. We use a Unit Inventory Contains Item validator. Find: Disabled // Ensures the item in question isn't in the inventory, otherwise it checks if it is Item: Item (Inventory) - Grenades Other Unit: Target Unit: Caster
Unique Grenade
Now we create a Combine validator to check if both of the previously created validators are simultaneously true. Combines +: (Grenade is Target|Grenade Limit) Type: And // Makes sure this is validating both of them
If you throw this Unique Grenade validator on the unit, they will now be able to pick up only a single Grenade. The problem is, now they can only pick up grenades. So we'll need to make a couple more validators to allow them to pick up other non-Grenades.
Inventory Validator
Grenade is not Target
Create another Unit Type validator. This will be very similar to our existing validator of that type. Value: Item (Inventory) - Grenades Find: Disabled // Check if the target is not a Grenade
Inventory Validator
And finally, create another Combine validator to check for all of the above. Combines +: (Grenade is not Target|Unique Grenade) Type: Or // Default value, but I felt it should be mentioned. Checks if either of the above are true.
Now just give the Inventory Validator to the desired Inventory ability. This allows someone to grab the item if the target is a grenade and doesn't already exist in the inventory, or if it's not a grenade.
Enjoy your unique item!
More Unique Items
This can be expanded further to allow more unique items. Simply make another of the Unique Grenade validators and its combined validators and add them to the Inventory Validator.
You'll also want to create a new Combine validator with type And and add the existing Grenade is not Target validator to it, replacing that with the new Combine validator in the Inventory Validator. Then add more * is not Target validators for each one of your unique items to that new Combine validator..
Since you don't seem to be stopping back in the chat, I'll paste what I said here:
This worked for me with the default Test Hero unit and Grenade as a unique item. Simply give the appropriate Inventory ability the Combine validator ('Grenade Validator').
In case the image goes down for some reason:
Validator: Grenade is Target
Validator Type: Unit Type (Basic) Validator: Find = Disabled (Basic) Validator: Value = <Desired Item unit> (in my case, 'Item (Inventory) - Grenades')
Validator: Limit Grenade
Vaidator Type: Unit Inventory Contains Item (Basic) Validator: Find = Disabled (Basic) Validator: Item = <Desired Item unit> (Basic) Validator: Other Unit + = (None):Target:Unknown (Basic) Validator: Unit + = (None):Caster:Unknown
I'd love to see StarParty continued. In my opinion, it was one of the most well-polished games and without it, the overall quality of the Arcade goes down. StarCraft 2's arcade has become feasible for mappers. Without good content though, it simply can't thrive. Please return StarParty to us.
Somewhat like that, yeah. Some of the benefits of Discord include voice chat, chat history (including for people that weren't there to receive them), and sub-channels (So far, one for chatting, one for asking for help, and one for recruiting people to test your map).
Thanks a lot. This definitely pointed me in the right direction. I actually do care about the order target, and I was able to get that now that I understand.
I can't seem to get a targeted unit order comparison to work. I have no idea why.
Events
Unit - Drone [75.28, 78.72] is issued an order to Any Ability Command
Local Variables
Conditions
((Triggering unit) order at index 0) == ( Move targeting (Target point for (Triggering order)))
Actions
UI - Display "True" for (All players) to Chat area
With this order, if I order the unit to stop, it works. But if it's targeted, it does not.
My goal is to compare a Drone's gathering. With the same command above (only with the 'Drone - Gather' ability and targeting a specific mineral patch or Extractor for simplicity sake) it doesn't work. My desires for the trigger are of course a lot more in-depth than above, but I can't even make something as simple as that work.
I haven't been able to find any sort of information on the existence of a Discord server for SC2Mapster or any kind of StarCraft 2 mapping/modding community. So I took it upon myself to create one. IRC is nice and all, but Discord is very accessible and has plenty of nifty features.
I've been using the bully triggers along with the campaign AI to make a pair of very limited computers that will make units and attack eachother. I've been stuck, though. I want them to create Extractors at a certain point in middle of the game. I've been able to make them build the Extractors using the Build trigger, but they don't rebuild them when they're destroyed, which is a pretty big problem. The Bully trigger I've been using for other units doesn't work for Extractors. They just don't build them.
So far I've been working around this issue with the primary bases by simply creating the Extractors in the editor and destroying them when the game starts. This wouldn't work for the Extractors I want them to create when they expand to new bases, of course. Is there something I can do to make them expand and rebuild destroyed Extractors at the expansion?
I went to save my map and it gave me an error. I was incredibly low on space so I cleaned my computer up a bit. I removed the old file as it continued giving me errors and saved where it was and it worked. I went to test the mod and all the actors were missing, they all defaulted to spheres. I have the mod open now, all the actors are where they should be. I've tried to save to different locations, but no matter what, wherever I save, the actors are missing from the file. Older versions of the map I saved before are larger than the current version. I really need help solving this, I'm terrified I'll lose all the actors if I quit the editor.
EDIT: Er, oddly enough, it just suddenly... fixed itself. I had an idea for a solution, but that wont be needed anymore. Thank goodness I never closed the editor. The file size has returned to normal and the actors have returned. Oh well.
EDIT2: Believe I found the solution. Modifying something, anything, just so the editor knows to save that category, seems to save all of the objects. Just for future reference. ^ ^
EDIT3: If you need to know what tabs need saved, you can open it in an MPQ editor and, if you have an old version, open that in an MPQ editor as well and compare, seeing what's missing.
If it was my call I'd gladly show off the map. But it's not. I'm just following orders and attempting to recruit others. We're needing an entire race (units, structurs and effects) of new models anyways.
Fair enough, though I'm not sure how much more I can prove outside saying the data is probably around 85% done. Releasing the actual mod isn't only a bad idea, but I probably wouldn't be allowed to if I were a trusting person. If they don't have the urge to work with us, then so be it, I'll find help elsewhere. The person doesn't matter so long as the job gets done effectively.
0
@Darkblizzard: Go
You can have build times and costs and all, but it would take a lot of extra work comparatively and be a bit work-aroundy.
0
@Darkblizzard: Go
Try finding a video if you can. That'd give a much better understanding.
0
In this quick tutorial we're going to make a 'unique' item. Items that you can only carry one of at a time. This will be done purely with validators.
For this tutorial, I used the basic Test Inventory ability and Item (Inventory) - Grenades unit, assuming the Grenade is the item we want to be unique. This should be easily translatable between Inventory abilities and other items. Anything that's not explicitly mentioned should probably be left at the default values.
Unique Grenade
Grenade is Target
First, we're going to want to create a Validator that checks if the target is the unique item. This is a Unit Type validator.
Value: Item (Inventory) - Grenades
Grenade Limit
Next we'll want to check if the item's already in the inventory. We use a Unit Inventory Contains Item validator.
Find: Disabled
// Ensures the item in question isn't in the inventory, otherwise it checks if it isItem: Item (Inventory) - Grenades
Other Unit: Target
Unit: Caster
Unique Grenade
Now we create a Combine validator to check if both of the previously created validators are simultaneously true.
Combines +: (Grenade is Target|Grenade Limit)
Type: And
// Makes sure this is validating both of themIf you throw this Unique Grenade validator on the unit, they will now be able to pick up only a single Grenade. The problem is, now they can only pick up grenades. So we'll need to make a couple more validators to allow them to pick up other non-Grenades.
Inventory Validator
Grenade is not Target
Create another Unit Type validator. This will be very similar to our existing validator of that type.
Value: Item (Inventory) - Grenades
Find: Disabled
// Check if the target is not a GrenadeInventory Validator
And finally, create another Combine validator to check for all of the above.
Combines +: (Grenade is not Target|Unique Grenade)
Type: Or
// Default value, but I felt it should be mentioned. Checks if either of the above are true.Now just give the Inventory Validator to the desired Inventory ability. This allows someone to grab the item if the target is a grenade and doesn't already exist in the inventory, or if it's not a grenade.
Enjoy your unique item!
More Unique Items
This can be expanded further to allow more unique items. Simply make another of the Unique Grenade validators and its combined validators and add them to the Inventory Validator.
You'll also want to create a new Combine validator with type And and add the existing Grenade is not Target validator to it, replacing that with the new Combine validator in the Inventory Validator. Then add more * is not Target validators for each one of your unique items to that new Combine validator..
0
@Darkblizzard:
Since you don't seem to be stopping back in the chat, I'll paste what I said here:
This worked for me with the default Test Hero unit and Grenade as a unique item. Simply give the appropriate Inventory ability the Combine validator ('Grenade Validator').
In case the image goes down for some reason:
Validator: Grenade is Target
Validator Type: Unit Type
(Basic) Validator: Find = Disabled
(Basic) Validator: Value = <Desired Item unit>
(in my case, 'Item (Inventory) - Grenades')Validator: Limit Grenade
Vaidator Type: Unit Inventory Contains Item
(Basic) Validator: Find = Disabled
(Basic) Validator: Item = <Desired Item unit>
(Basic) Validator: Other Unit + = (None):Target:Unknown
(Basic) Validator: Unit + = (None):Caster:Unknown
Validator: Grenade Validator
Validator Type: Combine
(Basic) Validator: Combines + = (Grenade is Target|Limit Grenade)
0
@Renee2islga:
Hey, I'm curious, what's stopping you from making them Battle.net dependencies of eachother? Seems like it'd help the end-user experience a bit.
0
@Scbroodsc2:
I'd love to see StarParty continued. In my opinion, it was one of the most well-polished games and without it, the overall quality of the Arcade goes down. StarCraft 2's arcade has become feasible for mappers. Without good content though, it simply can't thrive. Please return StarParty to us.
0
@QueenGambit:
Somewhat like that, yeah. Some of the benefits of Discord include voice chat, chat history (including for people that weren't there to receive them), and sub-channels (So far, one for chatting, one for asking for help, and one for recruiting people to test your map).
0
@ImperialGood:
Thanks a lot. This definitely pointed me in the right direction. I actually do care about the order target, and I was able to get that now that I understand.
0
Update: Resolved
I can't seem to get a targeted unit order comparison to work. I have no idea why.
With this order, if I order the unit to stop, it works. But if it's targeted, it does not.
My goal is to compare a Drone's gathering. With the same command above (only with the 'Drone - Gather' ability and targeting a specific mineral patch or Extractor for simplicity sake) it doesn't work. My desires for the trigger are of course a lot more in-depth than above, but I can't even make something as simple as that work.
So what am I doing wrong?
0
I haven't been able to find any sort of information on the existence of a Discord server for SC2Mapster or any kind of StarCraft 2 mapping/modding community. So I took it upon myself to create one. IRC is nice and all, but Discord is very accessible and has plenty of nifty features.
Discord Invitation Link
You can chat, ask for help, and recruit people to test maps.
If you're a moderator and would like the added responsibility, feel free to send me a PM with your Discord name and tag and I can promote you.
0
@ImperialGood: Go
I was hoping I wouldn't have to do that. If there's nothing else, guess it can't be helped.
0
I've been using the bully triggers along with the campaign AI to make a pair of very limited computers that will make units and attack eachother. I've been stuck, though. I want them to create Extractors at a certain point in middle of the game. I've been able to make them build the Extractors using the Build trigger, but they don't rebuild them when they're destroyed, which is a pretty big problem. The Bully trigger I've been using for other units doesn't work for Extractors. They just don't build them.
So far I've been working around this issue with the primary bases by simply creating the Extractors in the editor and destroying them when the game starts. This wouldn't work for the Extractors I want them to create when they expand to new bases, of course. Is there something I can do to make them expand and rebuild destroyed Extractors at the expansion?
0
I went to save my map and it gave me an error. I was incredibly low on space so I cleaned my computer up a bit. I removed the old file as it continued giving me errors and saved where it was and it worked. I went to test the mod and all the actors were missing, they all defaulted to spheres. I have the mod open now, all the actors are where they should be. I've tried to save to different locations, but no matter what, wherever I save, the actors are missing from the file. Older versions of the map I saved before are larger than the current version. I really need help solving this, I'm terrified I'll lose all the actors if I quit the editor.EDIT: Er, oddly enough, it just suddenly... fixed itself. I had an idea for a solution, but that wont be needed anymore. Thank goodness I never closed the editor. The file size has returned to normal and the actors have returned. Oh well.
EDIT2: Believe I found the solution. Modifying something, anything, just so the editor knows to save that category, seems to save all of the objects. Just for future reference. ^ ^
EDIT3: If you need to know what tabs need saved, you can open it in an MPQ editor and, if you have an old version, open that in an MPQ editor as well and compare, seeing what's missing.
0
@Keyeszx: Go
If it was my call I'd gladly show off the map. But it's not. I'm just following orders and attempting to recruit others. We're needing an entire race (units, structurs and effects) of new models anyways.
0
@Keyeszx: Go
Fair enough, though I'm not sure how much more I can prove outside saying the data is probably around 85% done. Releasing the actual mod isn't only a bad idea, but I probably wouldn't be allowed to if I were a trusting person. If they don't have the urge to work with us, then so be it, I'll find help elsewhere. The person doesn't matter so long as the job gets done effectively.