Ok this isn't a very good solution (because you'll have to have a different building made for building only dreadlords):
the start building trigger:
Dreadlord begins construction
Events
Unit - A unit Begins training a unit
Conditions
(Unit-type of (Triggering...
Well for the strength, agility and intelligence you can use triggers like this:
Agillity
Events
Unit - A unit Learns a skill
Conditions
(Learned Hero Skill) Equal to <your abillity (Agillity in example)>
Actions
Set Hero_curent_Agillity = (Agility of...
I tried that but it didn't work because of the starts training doesn't work with trained unit. For trained unit it has to be finishes training a unit. And if it's a unit finishes training a unit and set the limit of trained unit to 1, there's a leak: when you start training the unit before the...
Well this is definitely not the best idea but try this:
Training
Events
Map initialization
Conditions
Actions
Player Group - Pick every player in (All players) and do (Actions)
Loop - Actions
Player - Limit training of <your...
Hmm... don't know it should be there i checked it on version 1.24, 1.23a and 1.21b and it's there in all of them. Try reinstalling your Warcraft i've had bugs like this too. But save you're map though :)
If the flag is a item you can use:
Conditions
Or - Any (Conditions) are true
Conditions
(Item-type of (Item carried by (Triggering unit) in slot 1)) Equal to Flag
(Item-type of (Item carried by (Triggering unit) in slot 2)) Equal to Flag...