| jandii | Apr 8 2008, 7:44 pm | Post #1 |
|
(sorry if this is old)
Just found a really handy use for inverted locations. I needed to prevent a ghost from moving out of a spot, and using the 'move to invalid terrain' method meant that if you tried to nuke it stopped. And using a 1x1 pixel location meant that you could walk about 10 pixels and then get snapped back. BUT! if you use an inverted 14x21 location the ghost touches all sides (barely) and is detected, and if you move it 1 pixel in any direction, it's outside and not detected! So you just need a trigger like this: CONDITIONS: Player 1 brings exactly 0 terran ghost to 14x21 ACTIONS: Move all terran ghost for Player 1 at Anywhere to 14x21 Preserve Trigger And with hypers, it looks very good It could be used as a spell system, like with a zergling that moves outside of a location it triggers, and it would have great reaction times. |
||
![]() |
| O)FaRTy1billion[MM] | Apr 8 2008, 7:48 pm | Post #2 |
|
Remember the game! P.s.: Feldspar.
|
Yeah, I think this was mentioned before.
It just has to be the size of the unit.
|
||
![]() |
| Ahli | Apr 8 2008, 8:14 pm | Post #4 |
|
Mappr
|
I think that would be the fastest spell casting method.
|
||
| Falkoner | Apr 8 2008, 8:47 pm | Post #5 |
|
Taking StarCraft Map Making to the Limit!
|
Hmm, even over mineral detection when buying? I'm not sure about that, since units have about a .2 time period where they react to orders.
|
||
| rockz | Apr 8 2008, 9:12 pm | Post #6 |
|
We are not amused
|
Omg... Mineral detection when buying. Splendid idea.
|
||
| Rantent | Apr 9 2008, 5:24 am | Post #7 |
|
Lol, I'm surprised you figured out the unit dimensions yourself. There are programs to help figure this out.
And one other thing, it doesn't work well with some units as the center location function doesn't center on the exact center of all of them. (So it depends on which direction they are facing where their center is.) |
||
| jandii | Apr 9 2008, 5:53 am | Post #8 |
|
Haha just did a print screen as I went to place the unit in scmdraft and found out how big the bounding box was. Not too crazy
although not being able to select the location afterwards = mucho pain. Please tell me it's impossible to select an inverted location, or I want my hour back T_T
|
||
![]() |
| razorsnail | Apr 9 2008, 7:29 am | Post #9 |
|
What's an inverted location?
|
||
![]() |
| Ahli | Apr 9 2008, 12:10 pm | Post #10 |
|
Mappr
|
Select locations in the tree on the left side below your minimap in scmdraft. click on the name of the location, press enter and edit it? |
||
| Falkoner | Apr 9 2008, 10:04 pm | Post #11 |
|
Taking StarCraft Map Making to the Limit!
|
Yeah, I noticed that at first too, I demand SI add inverted location accommodations!
|
||
| Wormer | Apr 20 2008, 8:24 am | Post #12 |
|
What is this inverted location thing everyone are talking about?
|
||
![]() |
| Ahli | Apr 20 2008, 1:55 pm | Post #13 |
|
Mappr
|
inverted location:
1. create a location 2. edit the location: 2A: swap the left/upper coordinates (X) with the right/lower coordinates (Y) Codenormal location (X)----- | | -----(Y) inverted location (Y)----- | | -----(X) Inverted locations will never be blocked by the end of the map while centering on a unit (it is always perfect on the unit like a 1x1 pixel location). You can only detect units inside an inverted location when they hit all (or maybe only a few) edges of the inverted location with the "bring"-condition. |
||
| Falkoner | Apr 20 2008, 3:11 pm | Post #14 |
|
Taking StarCraft Map Making to the Limit!
|
They have to be touching every edge of the location at once
|
||
| Wormer | Apr 20 2008, 3:47 pm | Post #15 |
|
Huh, quite interesting! Thanks guys!
EDIT: I wonder if you can do it like this: Code------X | | Y------ Or like this: Code------Y | | X------ In the first case units should be detected when touching just left and right borders at once and in the latter case when touching top and bottom borders at once... |
||
|
This post was edited 1 time, last edit by Wormer: Apr 20 2008, 3:53 pm.
![]() |
| O)FaRTy1billion[MM] | Apr 20 2008, 4:59 pm | Post #16 |
|
Remember the game! P.s.: Feldspar.
|
If X2 > X1, the unit must be between or touching the left and right edges.
If Y2 > Y1, the unit must be between or touching top and bottom edges. If X1 > X2, the unit must be touching both the left and right edges. If Y1 > Y2, the unit must be touching both the top and bottom edges. X1 and X2 are independant of Y1 and Y2; you can do whatever with either and the other wont be affected. (To answer your 'I wonder', yes. It should work.) |
||
![]() |