Darn I had written an entire explanation, but my browser crashed on upload xD...
Anyway, I'm assuming you are making a multiplayer map rather than a custom map.
Now with this is mind, you should consider that you *could* have 7 enemies, all with different difficulties. For this reason, you can't determine CREEPS's difficulty based on one player, even if this is the only other player in the game. If the game can't determine the difficulty options, then by default Normal/Medium is the active game mode.
So, what you need to do is place the scripts in the folder for the enemy player. Player_2 for example.
You can also make new scripts based on difficulty and set a flag if they're true, so for example make a script, call it "EASY ACTIVE" or what have you and then make it "Active In" Easy. Then under condition make it true and on if true make it set a flag to a value, like flag "Easy Active" to true. Do this for the other settings too.
Then for your CREEPS scripts, just make them evaluate if the flag is indeed true.
Hah, but only if things were just this easy. You see, the starting human player can take either starting position (Player_1_Start or Player_2_Start), so you would have to have the scripts in both folders. BUT! Since the game can't detect the difficulty for the human player, it defaults to the "Active In" Normal as well.
Say you're player 1 for this example. What happens is that the appropriate script for Player_2 fires correctly, so if the enemy is hard, then only the script active in hard will fire, but also the script active in medium will fire for Player_1.
What you'll need to fix this is a script that can determine whether a player is human or AI. And yeah, you've guessed it, there isn't one . Luckily though when working on a map with Predatore, I discovered a fault in the scripts system that does allow you to determine said condition. This is how it works:
Place a trigger area around your starting position. You will need the following condition for both players, of course changing the trigger area according to the player.
*** IF ***
Player '<This Player>' has units in area 'Player_1 Starting Area'.
The trick is that the game won't recognize AI units in the area from the start, but it WILL recognize human player units in the area. So effectively this script will only fire on human players. Make sure to disable the other script, because as soon as the AI moves units inside the trigger area, it will fire.
You can then set an action accordingly. A working method would be to have all the "Active In" scripts be disabled at the start (put them in a folder to make it easier) and have this script enable the scripts/folder of the opponent player.
Also "Active In" hard works for both hard and brutal difficulties.
I hope this helps you out! If not, come find me on GameReplays.org in the custom maps section, I always check there multiple times a day and browse here rarely .
As for your other issues:
Teams can attack object lists too, but only via attackmove. If you spawn the teams on aggressive stance, then they will blast anything away regardless.
How do you determine if your enemy was defeated? If you use
*** IF ***
Everything belonging to Player '<All Players>' has been destroyed.
then all you need to do is name the tech buildings in worldbuilder and have them transferred to SkirmishNeutral once the enemy has been declared defeated.
Edited by Zypherbullet, 07 March 2015 - 08:04 PM.