• 🏆 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!

ThisPOT's Simple GUI Build System

ThisPOT's Build System V:2.2 (FIXED)


Ever wanted a brand new build system for the Warcraft 3 engine?
TPBS is a "Construction Yard" type building system, adapted to warcraft 3.
You can have buildings build other buildings, from the same tab as a worker would.
It flawlessly integrates with any other system as it doesn't store any information anywhere.
It is easy to use for anyone, even with no GUI experience, all the info is detailed in the demo.






EZ READ ME:

1) Copy/Paste the "Building..". unit into your map (in the Object Editor).
2) Give this "Building..." unit all the buildings of your map that can be constructed by anyone that will use the system
3) Give your buildings whatever other buildings you want them to construct (don't give them the repair ability, unless you want to).
4) Set the system values to whatever fits your map the EZ READ ME trigger in the demo.


NOTES:
* Does not work with Night Elf buildings
* When using the normal editor, you need to set structures to "Is a Building: False", add the buildings you want it to be able to build in "Structures Built", then set back to "Is a Building: True". By default units that are buildings do not have that line in the editor, but it appears when you set it to false, then you set it back to true as this system only works for buildings hehe...



Q: What is the system doing overall?
A: In short, it's a system that allows one structure to build many other structures at once

Q: What exactly is it doing?
A: It creates invisible dummy units that build for you when you build from your main structure

Q: Are there existing similar concepts in other rts Games one might know?
A: Yes, many, the most famous would be the Command and Conquer or Red Alert series


Changes Made
  • Distance check includes collision size using a second dummy that attempts to cast a spell
  • Fixed a player group leak
  • Fixed a sound bug that would say you don't have enough gold when you do but are low on gold
  • Fixed an error that would cause the trigger to activate if a point ability was used by the building structure
  • Fixed an error that would cause the trigger to activate if a point order was used by the building structure
Suggestions
  • Changed IssuePointOrder to IssuePointOrderLoc to shorten script
  • Added all possible standard buildings to the dummy builder (Night Elf buildings don't work)
  • Added a Boolean to determine if you can also build next to allied buildings


Thanks for all the help and suggestions to make this system better guys! :)
Previews
Contents

ThisPOT's Simple Build System V2.2 (Map)

Reviews
Tasyen
Approved, Thanks for your contribution. An Alternative Base Building System. With this system, buildings can place buildings. The placed buildings are automatically built and, once completed, enlarge the area in which your own buildings can be placed...
Level 11
Joined
Feb 23, 2009
Messages
577
I did say how it works... :

The system where a building (like a Construction Yard) builds other buildings, within range of your base.


It's just ridiculously simple and it's all it does lol....

Shouldn't conflict with any other code.


EDIT: If I missed your point please feel free to elaborate.
 
Last edited by a moderator:
Level 2
Joined
May 28, 2010
Messages
22
Puff, long time not logged in... but ok.
As far as I can say, this simple trigger system is really useful. However, I've got two things to tell/ask about...

1. Is it possible to adjust it so you could build stuff close to "Allied player's" structures too?

2. Not sure if that's supposed to happen - let's say i've got 90 gold and 20 lumber, enough to build a Farm, right. When I build Farm via structure (Town Hall), it works fine, just like as intended - the building process starts smoothly, HOWEVER! However, for some reason it informs me of "More gold is required", even though building is in progress and Farm is about to spawn on Construct time's ending.

Regardless, i really appreciate for making this simple and working. Definitely deserved a respect, but would be extra good if you could address the 2nd question if possible.
Thank you!

[EDIT] Another bug i've encountered that could see an improvement - if you set a rally-point from a production building like Barracks, it shows message "Too far!". This definitely could see some more work.
 
Last edited:
Thanks for your contribution.

Could ya explain your resource a bit more, Some questions you could answer in the description to be more informative:

What is the system doing overall?
What exactly is it doing?
Are there existing similar concepts in other rts Games one might know?

Needs Fixed
  • Distance check is from building centers to target Point excluding collision size
    • big buildings give less useable built space then smaller buildings.
    • -> makes big buildings clustered and having less room between.
  • Player Group(Owner of Triggering Unit) creates a new Force which is not destroyed.
  • As DiegoSan said, if one has enough gold/Lumber to built 1 building but not for 2 one gets an error sound: "not enough lumber/Gold": could be fixed by stopping the townhall before the worker is created and ordered.
  • DiegoSan is right about setrally point, although "too far" is also shown when any building would use a target point spell.
Suggestions
  • Instead of X/Y Order you could use IssuePointOrderLoc which would remove (udg_ThisPOT_Build_X / udg_ThisPOT_Build_Y)
    • call IssuePointOrder (udg_ThisPOT_Build_Unit_BuildDummy, udg_ThisPOT_Build_Order, udg_ThisPOT_Build_X, udg_ThisPOT_Build_Y)
    • ->
    • call IssuePointOrderLoc(udg_ThisPOT_Build_Unit_BuildDummy, udg_ThisPOT_Build_Order, udg_ThisPOT_Build_Point)
  • It would be nice, If on Default the builder Unit would contain all Melee Buildings.
  • About that RallyPoint: A easy fix for most townhalls could be: Filter out "smart" and "setrally". But there is a more general fix needed cause it will trigger for any building giving an point order, which is not uncommon (does exist in melee with that goblin shop revealing an area for gold, yes it won't show "too far" cause not beeing owned, but one might now understand what I wana say it might happen alot with custom buildings having target point spells)
    • But smarter it would be to use directly String to UnitType.
Status

Awaiting Update​
 
Last edited:
Level 11
Joined
Feb 23, 2009
Messages
577
Hi guys thank you for all the output! And very sorry for being away for so long.

I will get working on those issues right away and provide a cleaner / updated version shortly.


EDIT: All fixes and suggestions have been implemented :)!
 
Last edited by a moderator:
It is almost Good.
There are still 2 small trigger concerns.
  • You display the given order which is proably a debug message, pls remove it from the uploaded resource.
  • The "too far" is displayed for right clicks "smart" orders.
As I suggested before, this unitType check inside the trigger's conditions would prevent any non Built order.
  • (Unit-type((String((Issued order))))) Not equal to No unit-type
The Description is still kinda weak.
 
Level 11
Joined
Feb 23, 2009
Messages
577
I had indeed forgotten a debug message and a few useless things in there, thanks for catching that ^^...

About that Unit-type as string, that's awesome... I don't remember it being possible, but it may be a 1.30 thing? Anyways, easy peasy fix.
 
Approved, Thanks for your contribution. An Alternative Base Building System.
With this system, buildings can place buildings. The placed buildings are automatically built and, once completed, enlarge the area in which your own buildings can be placed.

Command & Conquer, Rising Kingdoms and some other RTS use a similar principle.
 
Last edited:
Level 11
Joined
Feb 23, 2009
Messages
577
Would be nice to have an add-on to allow seeing the permitted perimeter. It would make this system usable for my campaign.

You mean like some sort of border? I can definitely do that. I actually did it before but I didn't think people would like it. But since you asked, I'll add a version with a border.

This is how I did it last time:
I can use tiny semi-transparent rally flags which would surround your perimeter, they are visible by all, get player color, can't be targeted and ignore terrain (through dummy units).

What do you think? If you have a better idea on how to do this let me know.

EDIT: Here is a prototype, but it's way too heavy when there's a lot of units :(
 

Attachments

  • ThisPOTs Simple GUI Build System V3.w3x
    34.7 KB · Views: 159
  • sc5.png
    sc5.png
    2.5 MB · Views: 166
Last edited by a moderator:
Level 2
Joined
May 28, 2010
Messages
22
It's much better after changes. Thank you very much for your efforts, this is really highly appreciated GUI system. :)
 
Last edited:
Level 11
Joined
Feb 23, 2009
Messages
577
It's much better after changes. Thank you very much for your efforts, this is really highly appreciated GUI system. :)

You're very welcome! Thank you for your suggestions and bug testing!

PS: I am working on figuring out the best way to make the borders (in prototype version) using only special effects so that it doesn't lag.
 
Level 7
Joined
Mar 31, 2013
Messages
116
Sorry but, I'm kinda confuse. is there a filter, like it's only for one exact building?

I follow the instruction that you give for copying to other map and my game got kicked, when my game is done loading it instantly close my Warcraft 3. Still don't know why though, because i don't know what to edit in the trigger.

Is there any specific instruction?

and why is there an inner fire spell in town hall?
 
Last edited:
Level 11
Joined
Feb 23, 2009
Messages
577
Sorry but, I'm kinda confuse. is there a filter, like it's only for one exact building?

I follow the instruction that you give for copying to other map and my game got kicked, when my game is done loading it instantly close my Warcraft 3. Still don't know why though, because i don't know what to edit in the trigger.

Is there any specific instruction?

and why is there an inner fire spell in town hall?

I'm not sure why your game would crash using this, it shouldn't happen (probably something else in your map?). Also town hall shouldn't have inner fire ^^... Have you tried looking at the system / triggers before importing it into your map? It may help you figure out the cause of your problem. If you can't manage to fix it you can pm me also and I can try to implement it for you on your map if you like, let me know.

PS: Sorry for the long delay!
 
Level 13
Joined
Jul 2, 2015
Messages
872
I could use some help with the system, I can build stuff outside of the range of the main building. (IE) if I have a castle at one side of the map, and some random farm on the other, I can build buildings around the farm???
 
Top