• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

Filtering placement pathing for a building

Status
Not open for further replies.
Level 2
Joined
Jul 18, 2011
Messages
15
+++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++
Execute greet_start protocol.
-
Hello.
-
greet_start terminated.

As per Adeptus procedure I am filing a help request form.

Subject: Complex building placement pathing
Description of the issue:


I wish to make a certain building placeable on "Unbuildable" terrain but at the same time not in shallow or deep water.

To my knowledge I will have to fiddle in some manner with the "Pathing - Placement Requires" and "Pathing - Placement Prevented By" fields. Unfortunately so far I have had no success.

My studies indicate that the field "Pathing - Placement Requires" takes priority over "Pathing - Placement Prevented By" and thus overrides it if they overlap in some manner. That way should the placement be set to require "Ground-pathable" (so that the building may be build over "Unbuildable" terrain) and "Pathing - Placement Prevented By" is set to "Sea-pathable" the building will be:

unable to be placed in deep water
able to be placed in shallow water
able to be placed on unbuildable terrain

The second option is unacceptable. I wish to obtain the knowledge how to change it.
+++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++
 
Level 14
Joined
Apr 20, 2009
Messages
1,543
dart_vaider said:
able to be placed on unbuildable terrain

Well if it's a specific terrain type that you want to be buildable, you could use JassNewGenerationPack to make the pathing for that tile buildable instead of unbuildable.
It's under: UMSWE -> Customize Tile Pathability
(Make sure that whenever you change this, you close the map without saving and re-open it. It saves automatically when you change the pathing, if you save the map after that it'll just overwrite what it just did.)

About the shallow and deep waters, I haven't really taken a look at that before...
If you do what I suggested, then what if you try setting Placement Requires to Buildable, and Placement Prevented By Sea-pathable?
 
Level 5
Joined
Nov 30, 2012
Messages
200
Why not use a combination of what Hashjie suggested above and using triggers that disallow construction in deep water via the ((Terrain cliff level at (Position of Unitl)) Less than or equal to 0) condition?
 
Level 2
Joined
Jul 18, 2011
Messages
15
+++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++

Clarification: While this building needs to be placeable on unbuildable tiles and not in water, other buildings must follow the standard regulations.


Hashjie - Negative, but I extend gratitude.
Derdan - while that is a possibility I still possess the emotional neural pathway of "hope", the target of which is the existence of a method for this to be conducted using only the Object Editor. Noted as a viable fall-back option.
Radamantus - code seems complicated, I question its implementation due to possible risk of increasing processor or memory load.


Initiating traditional extension of gratitude towards individuals who contributed positively towards the eventual solution of this problem:
Thanks.
Translation into binary for simplified use of machine individuals:
0011001100110001001100110011001000110011001101000011001100110001001100110011010100110011001100000011001100110001001100110011010100110011001100010011001100110001001100110011011000110011001100110011001100110000001100110011010000110011001100000011001100110001001100110011010100110011001100010011001100110001001100110011011000110011001100110011001100110000001100110011010000110011001100000011001100110001001100110011010100110011001101100011001100110001001100110011010100110011001101110011001100110001001100110011011000110011001101000011001100110000001100110011010000110011001100000011001100110001001100110011010000110011001100010011001100110000001100110011010000110011001100000011001100110000001100110011010000110011001100100011001100110001001100110011011000110011001101000011001100110001001100110011010100110011001100000011001100110001001100110011010000110011001100010011001100110001001100110011010100110011001101100011001100110001001100110011010100110011001100110011001100110000001100110011010000110011001100000011001100110001001100110011011100110011001100010011001100110001001100110011010100110011001101110011001100110001001100110011011000110011001101010011001100110000001100110011010000110011001100100011001100110000001100110011010100110011001101100011000000110000

+++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++
 
Last edited:
Level 14
Joined
Apr 20, 2009
Messages
1,543
What if you use flyable pathing for your terrain type that is supposed to work only for your non-buildable structures with UMSWE? This way it stays unbuildable...
And respectively set Placement Requires to: Air-pathable for the corresponding structures?

It's a small work-around but it does effectively add another layer of implementation towards your problem ;)

This does have a drawback though: flyable units can not fly over your non-air pathable (non-buildable) structures.
You could trigger the effect of flying for your flying units when they come in range of these structures in this case...
But that will be quite hard to do with player interaction (unit orders).
 
Level 2
Joined
Jul 18, 2011
Messages
15
+++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++

WARNING: Talking at cross-purposes detected!
Taking action as per Adeptus Mechanicus Codex AHR152UH-HT regulations.

Clarification of purpose for creation:


The map, that is to be the host product for this building, is to be a "Ice Troll Tribes" type map. In other words is will encompass vast terrain and it is expected to house numerous buildings per game iteration.

In light of this and received information, it is to logically deduct that what I desire is not to be obtained without complicated use of triggers and additional tools?

+++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++
 
Level 14
Joined
Apr 20, 2009
Messages
1,543
it is to logically deduct that what I desire is not to be obtained without complicated use of triggers and additional tools?

Sadly enough, your logical deduction gives me a major abdominal burden. I'm sorry to inform you this, but it seems very likely to be true.
I hope my bad news has not spread despair.

And if you would be so kind to define what you find "complicated", I might be abled to give you a heads up on the subject matter.

EDIT:
0011001100110001001100110011001000110011001101000011001100110001001100110011010100110011001100000011001100110001001100110011010100110011001100010011001100110001001100110011011000110011001100110011001100110000001100110011010000110011001100000011001100110001001100110011010100110011001100010011001100110001001100110011011000110011001100110011001100110000001100110011010000110011001100000011001100110001001100110011010100110011001101100011001100110001001100110011010100110011001101110011001100110001001100110011011000110011001101000011001100110000001100110011010000110011001100000011001100110001001100110011010000110011001100010011001100110000001100110011010000110011001100000011001100110000001100110011010000110011001100100011001100110001001100110011011000110011001101000011001100110001001100110011010100110011001100000011001100110001001100110011010000110011001100010011001100110001001100110011010100110011001101100011001100110001001100110011010100110011001100110011001100110000001100110011010000110011001100000011001100110001001100110011011100110011001100010011001100110001001100110011010100110011001101110011001100110001001100110011011000110011001101010011001100110000001100110011010000110011001100100011001100110000001100110011010100110011001101100011000000110000

Your binary translates into:

31323431353031353131363330343031353131363330343031353631353731363430343031343130343030343231363431353031343131353631353330343031373131353731363530343230353600


Which I'm sure is not what you meant to say.
What you meant to say is:

001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100001101000010100010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011000011010000101000001101000010100100001101101100011000010111001001101001011001100110100101100011011000010111010001101001011011110110111000111010001000000101011101101000011010010110110001100101001000000111010001101000011010010111001100100000011000100111010101101001011011000110010001101001011011100110011100100000011011100110010101100101011001000111001100100000011101000110111100100000011000100110010100100000011100000110110001100001011000110110010101100001011000100110110001100101001000000110111101101110001000000111010101101110011000100111010101101001011011000110010001100001011000100110110001100101001000000111010001101001011011000110010101110011001000000110000101101110011001000010000001101110011011110111010000100000011010010110111000100000011101110110000101110100011001010111001000101100001000000110111101110100011010000110010101110010001000000110001001110101011010010110110001100100011010010110111001100111011100110010000001101101011101010111001101110100001000000110011001101111011011000110110001101111011101110010000001110100011010000110010100100000011100110111010001100001011011100110010001100001011100100110010000100000011100100110010101100111011101010110110001100001011101000110100101101111011011100111001100101110000011010000101000001101000010100000110100001010010010000110000101110011011010000110101001101001011001010010000000101101001000000100111001100101011001110110000101110100011010010111011001100101001011000010000001100010011101010111010000100000010010010010000001100101011110000111010001100101011011100110010000100000011001110111001001100001011101000110100101110100011101010110010001100101001011100000110100001010010001000110010101110010011001000110000101101110001000000010110100100000011101110110100001101001011011000110010100100000011101000110100001100001011101000010000001101001011100110010000001100001001000000111000001101111011100110111001101101001011000100110100101101100011010010111010001111001001000000100100100100000011100110111010001101001011011000110110000100000011100000110111101110011011100110110010101110011011100110010000001110100011010000110010100100000011001010110110101101111011101000110100101101111011011100110000101101100001000000110111001100101011101010111001001100001011011000010000001110000011000010111010001101000011101110110000101111001001000000110111101100110001000000010001001101000011011110111000001100101001000100010110000100000011101000110100001100101001000000111010001100001011100100110011101100101011101000010000001101111011001100010000001110111011010000110100101100011011010000010000001101001011100110010000001110100011010000110010100100000011001010111100001101001011100110111010001100101011011100110001101100101001000000110111101100110001000000110000100100000011011010110010101110100011010000110111101100100001000000110011001101111011100100010000001110100011010000110100101110011001000000111010001101111001000000110001001100101001000000110001101101111011011100110010001110101011000110111010001100101011001000010000001110101011100110110100101101110011001110010000001101111011011100110110001111001001000000111010001101000011001010010000001001111011000100110101001100101011000110111010000100000010001010110010001101001011101000110111101110010001011100010000001001110011011110111010001100101011001000010000001100001011100110010000001100001001000000111011001101001011000010110001001101100011001010010000001100110011000010110110001101100001011010110001001100001011000110110101100100000011011110111000001110100011010010110111101101110001011100000110100001010010100100110000101100100011000010110110101100001011011100111010001110101011100110010000000101101001000000110001101101111011001000110010100100000011100110110010101100101011011010111001100100000011000110110111101101101011100000110110001101001011000110110000101110100011001010110010000101100001000000100100100100000011100010111010101100101011100110111010001101001011011110110111000100000011010010111010001110011001000000110100101101101011100000110110001100101011011010110010101101110011101000110000101110100011010010110111101101110001000000110010001110101011001010010000001110100011011110010000001110000011011110111001101110011011010010110001001101100011001010010000001110010011010010111001101101011001000000110111101100110001000000110100101101110011000110111001001100101011000010111001101101001011011100110011100100000011100000111001001101111011000110110010101110011011100110110111101110010001000000110111101110010001000000110110101100101011011010110111101110010011110010010000001101100011011110110000101100100001011100000110100001010000011010000101000001101000010100100100101101110011010010111010001101001011000010111010001101001011011100110011100100000011101000111001001100001011001000110100101110100011010010110111101101110011000010110110000100000011001010111100001110100011001010110111001110011011010010110111101101110001000000110111101100110001000000110011101110010011000010111010001101001011101000111010101100100011001010010000001110100011011110111011101100001011100100110010001110011001000000110100101101110011001000110100101110110011010010110010001110101011000010110110001110011001000000111011101101000011011110010000001100011011011110110111001110100011100100110100101100010011101010111010001100101011001000010000001110000011011110111001101101001011101000110100101110110011001010110110001111001001000000111010001101111011101110110000101110010011001000111001100100000011101000110100001100101001000000110010101110110011001010110111001110100011101010110000101101100001000000111001101101111011011000111010101110100011010010110111101101110001000000110111101100110001000000111010001101000011010010111001100100000011100000111001001101111011000100110110001100101011011010011101000001101000010100101010001101000011000010110111001101011011100110010111000001101000010100010000000001101000010100000110100001010001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100001101000010100010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011001010110010101100101011


Take a look for yourself: Bin2Asc
 
Level 2
Joined
Jul 18, 2011
Messages
15
+++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++

Negative, it is common practice among the higher orders of the Tech-Priests to replace the majority of the brain's right hemisphere with a cogitator to eliminate burdens of the flesh, like creativity and emotions. Your news are perceived as pure information.

In this matter I perceive "complication" as any process which would add significant memory or core processor load or potential for error/malfunction, relative to the entire game engine's original specifications.

- Processes produced by the Object Editor cause the least load and contribute the least error.
- Processes produced by the Trigger Editor (i.e. "triggers") may cause significant load if the size of the code is large enough, or includes too complicated or repeated iterations.
- Processes by third-party programs are most prone to contribute significant error, malfunction or incompatibility.

By comparison of the value, and subsequent reward towards the end-project, of the problem, discussed in this thread, and the potential trouble, efforts and aforementioned "complications" needed/produced by the means with which to solve it one can designate whether it is worth solving.

Equation:
Integral(Effort+TimeRequired)+div(grad(AdditionalCode*Error2))<Reward

Where:
Effort is the total effort calculated to be required for the completion of the task.
TimeRequired is the total time calculated to be required for the completion of the task.
AdditionalCode is the total size of JASS code required for the completion of the task.
Error is a coefficient, representing the added probability for error, malfunction and/or incompatibility.
Reward is the total estimated reward towards the end-project.


As such I perceive this thread as deprioritized. I lack information in my data-banks of the appropriate procedures to be followed now.

As a Quote to a Quote:
Negative, I have scanned and subsequently translated all binary you have listed, what I have said is exactly what I intended to say. Tech-Priests employ binary chatting daily to communicate with servitors, the probability for an error in such a translation is 0,004%.

+++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++
 
Level 14
Joined
Apr 20, 2009
Messages
1,543
+++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++

Negative, it is common practice among the higher orders of the Tech-Priests to replace the majority of the brain's right hemisphere with a cogitator to eliminate burdens of the flesh, like creativity and emotions. Your news are perceived as pure information.

Then I've found someone with a good sense of realisation.
In this matter I perceive "complication" as any process which would add significant memory or core processor load or potential for error/malfunction, relative to the entire game engine's original specifications.

If what you want to achieve can not be achieved without potential processor load, then I guess you have no other option then to do so. Unless ofcourse you lack the experience to do so, in which case I would love to help out.

- Processes produced by the Object Editor cause the least load and contribute the least error.

A very fact that can be taken for granted indeed.

- Processes produced by the Trigger Editor (i.e. "triggers") may cause significant load if the size of the code is large enough, or includes too complicated or repeated iterations.

Which is why practitioners are developing skills towards code efficiency.

- Processes by third-party programs are most prone to contribute significant error, malfunction or incompatibility.

Malfunctions and errors can always be solved. Incompatibility can be a problem. But if the standard is changed it's deprecated ancestors will no longer be in the picture. And when we are discussing the subject matter then I suppose JNGP is a known common standard.

By comparison of the value, and subsequent reward towards the end-project, of the problem, discussed in this thread, and the potential trouble, efforts and aforementioned "complications" needed/produced by the means with which to solve it one can designate whether it is worth solving.

This purely resides on efficient coding in my honoust opinion.

Equation:
Integral(Effort+TimeRequired)+div(grad(AdditionalCode*Error2))<Reward

Where:
Effort is the total effort calculated to be required for the completion of the task.
TimeRequired is the total time calculated to be required for the completion of the task.
AdditionalCode is the total size of JASS code required for the completion of the task.
Error is a coefficient, representing the added probability for error, malfunction and/or incompatibility.
Reward is the total estimated reward towards the end-project.

A mathematical equation can not indicate your enthousiasm for the subject matter.

Effort is purely based on your personal perception of the problem and knowledge on the language used. Those with greater knowledge will have lesser effort completing their tasks. This same thing counts for: TimeRequired and AdditionalCode. Some may be abled to do it in more efficient ways then others.

Error can never have an estimated value as the speculated amount of time is unknown. You can always run into errors on your way to achieving your goal, but yet again, knowledge can help you solve your errors and even prevent them by seeing them comming beforehand.

Reward is the only thing that can have an estimated value and you should purely base your opinion on this. If you think you are not knowledgeable enough to achieve what you want considering the rewards profit, then don't. Otherwise, take the shot.

Don't forget that new knowledge can be obtained throughout the process.
So skipping out might mean learning less.

As such I perceive this thread as deprioritized. I lack information in my data-banks of the appropriate procedures to be followed now.

As you wish, but do realise that the hiveworkshop is an excelent place for extending your database. Whenever you feel like data should be fetched, we are here to create your Sequence Query Line for you (not literally, but you get the point). As an active community can help you guide you through your problems it'll be a ongoing learning experience. And since the neurological expense on the human brain's capacity regarding knowledge towards practitional skills are virtually unlimited. Experience will be off-limits.

As a Quote to a Quote:
Negative, I have scanned and subsequently translated all binary you have listed, what I have said is exactly what I intended to say. Tech-Priests employ binary chatting daily to communicate with servitors, the probability for an error in such a translation is 0,004%.

+++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++

Then please point me towards the conversion type used to encrypt this message with. Since Ascii is a very common conversion for text messages I would like to know what you've used instead in order to decrypt your message. (unless you are challenging me to find out, in which case I will forfeit as I have more importent and urgent matter to attend)
 
Level 2
Joined
Jul 18, 2011
Messages
15
[...]

If what you want to achieve can not be achieved without potential processor load, then I guess you have no other option then to do so. Unless ofcourse you lack the experience to do so, in which case I would love to help out.

[...]

Which is why practitioners are developing skills towards code efficiency.

[...]

A mathematical equation can not indicate your enthousiasm for the subject matter.

Effort is purely based on your personal perception of the problem and knowledge on the language used. Those with greater knowledge will have lesser effort completing their tasks. This same thing counts for: TimeRequired and AdditionalCode. Some may be abled to do it in more efficient ways then others.

Error can never have an estimated value as the speculated amount of time is unknown. You can always run into errors on your way to achieving your goal, but yet again, knowledge can help you solve your errors and even prevent them by seeing them comming beforehand.

Reward is the only thing that can have an estimated value and you should purely base your opinion on this. If you think you are not knowledgeable enough to achieve what you want considering the rewards profit, then don't. Otherwise, take the shot.

[...]

As you wish, but do realise that the hiveworkshop is an excelent place for extending your database. Whenever you feel like data should be fetched, we are here to create your Sequence Query Line for you (not literally, but you get the point). As an active community can help you guide you through your problems it'll be a ongoing learning experience. And since the neurological expense on the human brain's capacity regarding knowledge towards practitional skills are virtually unlimited. Experience will be off-limits.

Then please point me towards the conversion type used to encrypt this message with. Since Ascii is a very common conversion for text messages I would like to know what you've used instead in order to decrypt your message. (unless you are challenging me to find out, in which case I will forfeit as I have more importent and urgent matter to attend)

So far I have gathered that what I desire cannot be simply achieved. By solving the aforementioned equation I can see that it is not worth the effort, as the reward would be too insignificant in this case.
On a later stage in the development of this project I might rethink my decision, then I shall contact you, if you are willing to offer help.

I do not question code efficiency or its development, neither do I propose that all code is cumbersome. I meant to point out that even the best-written code will cause load if the task it accomplishes is complex and cumbersome for the machine spirit of the device.

A mathematical equation can indicate everything. As even humans of impure machine logic state "Everything is mathematics.", in all variables, used in the aforementioned equation, the values are determined for each separate person, and are therefore individual. Therefore you are correct in your statements about "Effort" and "TimeRequired". However the value of "AdditionalCode" is measured in the size of the code required to solve a problem. It is assumed a good programming skill is employed when determining its value. "Error" can always have an estimated value and even more so it always does. It is imperative for a professional to know what is the error of each device he employs, while that is not a concern for the mundane residents of the Imperium, it is a requirement and of the utmost importance for any professional employing heavy machinery, fine and/or delicate devices and precise calculating power. In that sense Tech-Priests cannot and must not execute anything without a stout error estimate. Do not mistake an estimate of error (or "margin for error") with accidental errors, encountered during the time of operation. These are separate subjects, which are combined into one word, due to the English language's relative lack of complexity.

It seems to me you overly connect knowledge with any subject you encounter. While most of what you say, concerning to knowledge, is true, I believe you are overly-stressing it.

I have never doubted "The Hive Workshop" as an invaluable source of material, skill and expertise.

The algorithm I use is binary-octal-hexadecimal. It is indeed a "challenge".
 
Status
Not open for further replies.
Top