HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

Cliff Heights

10-13-2005, 05:24 PM#1
Tim.
Is it possible to increase cliff heights above the normal height (2 'blocks' up)? I would like to be able to make a cliff maybe 10 'blocks' high without having to make a giant pyramid of cliffs. There was a way within a SLK at one time, correct? Is that still possible?
10-13-2005, 07:46 PM#2
Panto
Not as such. By using a tool to remove the limitation in WE, you can "stretch" a cliff to any height, but you can never have a cliff that technically counts as more than two "blocks" high. Notice that, in all the campaigns, Blizzard designers were also constrained by this limitation. They found creative ways to work around it.

As far as stretching the terrain, once you go past a certain point, you start having problems with flying units moving over it (they appear to pass through the ground on their way up or down) as well as lots of difficulties with the game camera adjusting to the new base height.
10-13-2005, 10:28 PM#3
Tim.
Hmm, if you stretch the terrain in that sence, can you check for the height still with GetLocationZ()? Or does it just use the height it should have been if the limits were not removed?
10-14-2005, 03:32 AM#4
Panto
When I was working on the map that screwed around with that, I wasn't ever using that function. You'd have to try it out. I don't know whether the height is the height of the block or the more nuanced exact height of the moulded terrain.
10-14-2005, 09:04 AM#5
Anitarf
It is the more nuanced exact height of the moulded terrain. That's why GetLocationZ() can desync if you use terrain deformations for only a single player.

The problem with the cliffs is, Blizzard was able to do all they needed with them, but mapmakers might have different ambitions to make more three-dimensional maps, and in such cases the terrain limitations are an annoying problem (I had quite some problems with the 14 clifflevels limit and the great ammount of space ramps require when making the terrain for my latest map).
10-14-2005, 08:45 PM#6
Tim.
Quote:
Originally Posted by Anitarf
It is the more nuanced exact height of the moulded terrain. That's why GetLocationZ() can desync if you use terrain deformations for only a single player.

Can you explain that a bit more please? Are you saying that if I use GetLocationZ() on a section of terrain that I raised higher than the normal limitations, it will cause a desync?
10-15-2005, 05:20 PM#7
Earth-Fury
Quote:
Originally Posted by Tim.
Quote:
Originally Posted by Anitarf
It is the more nuanced exact height of the moulded terrain. That's why GetLocationZ() can desync if you use terrain deformations for only a single player.

Can you explain that a bit more please? Are you saying that if I use GetLocationZ() on a section of terrain that I raised higher than the normal limitations, it will cause a desync?

What he means is, if you dinamically change the terrain ingame for only 1 player, using the GetLocationZ() function will cause desync on battle.net maps because the terrain may be higher/lower for only one player.

Its all about the classic rule of battle.net maps: Do it to 'em all!
(as in avoid doing things to "localplayer" as it can cause server splits...)
10-15-2005, 11:04 PM#8
Tim.
I was not aware you could GetLocalPlayer a terrain deformation. Learn somthing new everyday.

Anyway, I figured the best way to solve the problem is to just use WEU and lift a section of ground up to around 3000, then plateau it around the bordrer of the map. Works perfectly fine. Thanks for the input.
10-15-2005, 11:30 PM#9
Earth-Fury
Quote:
Originally Posted by Tim.
I was not aware you could GetLocalPlayer a terrain deformation. Learn somthing new everyday.

i dont know if you can heh, but im just clarifying what he said. (i havent messed around with dynamic terrain. havent has a use for it yet! )
10-20-2005, 10:58 PM#10
LegolasArcher
Quote:
Originally Posted by Earth-Fury
Quote:
Originally Posted by Tim.
I was not aware you could GetLocalPlayer a terrain deformation. Learn somthing new everyday.

i dont know if you can heh, but im just clarifying what he said. (i havent messed around with dynamic terrain. havent has a use for it yet! )

You can use any function with GetLocalPlayer(). Any function that goes:

Collapse JASS:
if (GetLocalPlayer() == Player(SomePlayerNum)) then
    // Function calls
endif

Many functions will desynch though, including the setting a global variables.
10-22-2005, 09:21 PM#11
Tim.
Aha I see, interesting. Thanks for the information.