• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

How to create a second Build-menu ?

Status
Not open for further replies.
Level 29
Joined
Mar 9, 2012
Messages
1,557
Concept eg. as how its imagined to be:
Next to the build icon there is an 'Build (continuation)' icon, when clicked on (or hotkeyed) brings up another 12 slot menu with every else building in that didnt fit into the first.
Optional: 11. slot in both menu will be reserved for an 'arrow'-icon used by the function for switching between the two menus.

I have seen some triggered systems whilst searching the forum, however:
What is the proper way to do it and then how to ?
 
Level 15
Joined
Oct 29, 2012
Messages
1,474
It's impossible to give the same unit , two different build menus, that's because by just adding 'Built Constructions' , the ability 'Build' will automatically appear, and it's very limited (11 buildings)...

The most proper and easy way is, to give the unit a normal build menu, and an ability to switch to second menu. In other words, you create an instant no-AOE-target ability, you give it to the unit , called 'Build 2', when clicking on it, another unit comes and you give order to 'build' ( I think there is somehow a way to automatically open Build menu , i think it's giving order, not sure yet)....


It should be triggered, when starting the effect of ability 'Build 2', replace the old unit with a new unit with new built constructions... and when just starting to build a building, replace the new unit with the old one (You should hide the first one, and create a new one in his place, after a building is being built, remove the new one, unhide the old one)...


I don't know if there are further solutions
 
Level 29
Joined
Mar 9, 2012
Messages
1,557
If morphing the unit is inevitable can i do this instead:
Clone the builder, put every building else in his normal build menu. Give builder a morph-type ability (eg. metamorph, bearform) next to build, icon and tooltip concealed as if its a secondary buildmenu. Then setup a trigger that will do the following:
- automatically bring up morphed to unit's build menu whenever the morph is used,
- will detect when player pressed cancel on morphed to unit's build menu to unmorph it back to original builder the instant,
- will detect when on morphed to unit has been ordered to place down a structure to unmorph him the instant. <- but can i even keep the build-order through transformation ?
The arrow thing isnt necessary.
 
You would need two abilities per building, channel as detect and item ability build townhall or any of the others to duplicate natural/normal wc3 building/pathing map. Then you catch its order and create a peasant to build that building at target point. To detect when they cancel you could manipulate ordering hotkeys to fire a second ability.
 
Level 29
Joined
Mar 9, 2012
Messages
1,557
OK, i went with something else, thought why insist on a 2. seperate menu when can make the menu cycle through using an ability.
Now ive got problem: Since system functions over enabling/disabling buildings an given construction order (the building 'blueprint') is lost whenever the menu is cycled, naturally <- How to not lose ?
At the upside units continue to build when menu is cycled through.
Another side effect was custom call to arms ability disappearing upon cycle when its prequisite are not yet built, but since it no longer vanishes after its built not important.

  • Buildmenu Cycle
    • Events
      • Units - A unit receives order without target
    • Conditions
      • Or - Any (Conditions) are true
        • Conditions
          • (Unit-type of (Triggering unit)) = Worker
    • Actions
      • -------- Controls which Menu to display. --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • 'IF'-Conditions
          • Or - Any (Conditions) are true
            • Conditions
              • (Issued order) = (Order(defend))
        • 'THEN'-Actions
          • -------- Advanced Construction --------
          • Player - Make A Basic Building not available for training/construction by (Owner of (Ordered unit))
          • Player - Make A Advanced Building available for training/construction by (Owner of (Ordered unit))
        • 'ELSE'-Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • 'IF'-Conditions
              • (Issued order) = (Order(undefend))
            • 'THEN'-Actions
              • -------- Basic Construction --------
              • Player - Make A Advanced building not available for training/construction by (Owner of (Ordered unit))
              • Player - Make A Basic Building available for training/construction by (Owner of (Ordered unit))
            • 'ELSE'-Actions
EDIT: Now the blueprint does stay and the worker will run up to but no building will be placed since its disabled. Probably impossible idea:
- guy from above finally tells how to do the whole 'intercept order' thing, using that will clone each structure then make trigger that converts given build structure order to build clone structure which doesnt disappear. Btw: Is what im doing even multiplayer friendly ?

EDIT2: Cycling through has one more issue due to how it works, when another worker is selected after advanced set activated next selection will have basic set on irregardless and require cycling again.

Currently trying to morph the builder, however need to clone Call to arms and dont want to have duplicate.
Hindsightedly can tell that in the end will probably simply resort to an destroyerform-upgrade and make a 2. 'foreman' unit with its own characteristic that upgrades from the regular worker.
Regarding why im not even considering the spellbook method, have this read:
http://www.thehelper.net/threads/multi-builder-demo-map.61672/
 
Last edited:
I don't know how to solve your problem. Here are a few notes though.

'Or' conditions are only useful in 'And' conditions. Otherwise, in GUI, they are a function call slower.

Ordered Unit -> Triggering Unit
Owner of Ordered/Triggering/any kind of event response that can be referenced with Triggering Unit -> Triggering Player
 
Status
Not open for further replies.
Top