Subterrain
Topic Locked
Topic Locked|
↑ STUDENT DRIVER ↑
|
Well, that's why the system I came up with puts a location on the ling and moves it back after the test.
1. Move Ling to "Really Full Area" 2. If Ling is at "Really Full Area", set Switch and move Ling back to its original position. 3. If Switch is set, do shit because Ling is burrowed. 4. Clear Switch. EDIT: Aristo's method, which doesn't break selection/targeting: 1. Center a 1x1 location on the ling 2. Move any ground unit to the location. 3. Check if the ground unit is in the location. 4. If the ground unit is NOT in the location, then the ling is unburrowed; it displaced the ground unit. Hell, you could use the Lurker as the burrow-checking ground unit, and then simply not move it away if it's still in the location (meaning if the ling is still burrowed). This post was edited 2 times, last edit by DavidJCobb: Sep 1 2010, 4:24 am. ![]() ![]() ![]() ![]() ![]() ![]() ░░░▒▒▒▓▓▓▓███▀▀░▄▄▄▄▄▄░▀▀███▓▓▓▓▒▒▒░░░ ░░▒▒▒▓▓▓████░▄██████████▄░████▓▓▓▒▒▒░░ ░▒▒▒▓▓▓████▐▀▀▀█████▀▀▀▀██▌████▓▓▓▒▒▒░ ░▒▒▓▓▓████▐░██░░███▌██░░░██░████▓▓▓▒▒░ ▒▒▒▓▓▓███▌▐░██▌░███▌███▌░██▌▐███▓▓▓▒▒▒ ▒▒▓▓▓████▌██▄▄▄▄████▄▄▄▄▄███▐████▓▓▓▒▒ ▒▒▓▓▓████▌██▀▀▀▀▀▀▀▀▀▀▀▀▀███▐████▓▓▓▒▒ ▒▒▓▓▓████▌███▌▓▒▓▒▓▒▓▒▒▒▌███▐████▓▓▓▒▒ ▒▒▒▓▓▓███▌▐██▌▒▓▒▓▒▒▒▒▒▒▌██▌▐███▓▓▓▒▒▒ ░▒▒▓▓▓████░███▐▒▓▒█████▌███░████▓▓▓▒▒░ ░▒▒▒▓▓▓████░▀██▄▀▀▀▀▀▀▄██▀░████▓▓▓▒▒▒░ ░░▒▒▒▓▓▓████▄░▀▀██████▀▀░▄████▓▓▓▒▒▒░░ ░░░▒▒▒▓▓▓▓█████▄▄▄▄▄▄▄▄█████▓▓▓▓▒▒▒░░░ |
|
[************] Don't feed the mage.
|
There is a better method, using a 1 pixel size location constantly centered on the zergling.
The system uses triggers to move a Dark Templar to the ling's centered location. Since the location is 1 pixel in size, therefore the Dark Templar cannot in fact move to the location - sense that it isn't there, and you've detected whether or not the ling is burrowed (more or less). If the Dark Templar is successfully moved to the location, then the zergling is burrowed and you have that information. Whatever the outcome, immediately move the Dark Templar back to where it was originally to prevent any disturbances. Then you can create the lurker temporarily. Be wary of tight spaces that might prevent the Dark Templar from being moved to the Zergling even if it is burrowed - tight spaces like that would also prevent the Lurker from being created. ![]() ![]() ![]() ![]() ![]() ![]() "We live, as we dream - alone..."
-Marlow, Heart of Darkness |
|
↑ STUDENT DRIVER ↑
|
Isn't that the method that Aristocrat posted in the shoutbox and that I rephrased here?
![]() ![]() ![]() ![]() ![]() ![]() ░░░▒▒▒▓▓▓▓███▀▀░▄▄▄▄▄▄░▀▀███▓▓▓▓▒▒▒░░░ ░░▒▒▒▓▓▓████░▄██████████▄░████▓▓▓▒▒▒░░ ░▒▒▒▓▓▓████▐▀▀▀█████▀▀▀▀██▌████▓▓▓▒▒▒░ ░▒▒▓▓▓████▐░██░░███▌██░░░██░████▓▓▓▒▒░ ▒▒▒▓▓▓███▌▐░██▌░███▌███▌░██▌▐███▓▓▓▒▒▒ ▒▒▓▓▓████▌██▄▄▄▄████▄▄▄▄▄███▐████▓▓▓▒▒ ▒▒▓▓▓████▌██▀▀▀▀▀▀▀▀▀▀▀▀▀███▐████▓▓▓▒▒ ▒▒▓▓▓████▌███▌▓▒▓▒▓▒▓▒▒▒▌███▐████▓▓▓▒▒ ▒▒▒▓▓▓███▌▐██▌▒▓▒▓▒▒▒▒▒▒▌██▌▐███▓▓▓▒▒▒ ░▒▒▓▓▓████░███▐▒▓▒█████▌███░████▓▓▓▒▒░ ░▒▒▒▓▓▓████░▀██▄▀▀▀▀▀▀▄██▀░████▓▓▓▒▒▒░ ░░▒▒▒▓▓▓████▄░▀▀██████▀▀░▄████▓▓▓▒▒▒░░ ░░░▒▒▒▓▓▓▓█████▄▄▄▄▄▄▄▄█████▓▓▓▓▒▒▒░░░ |
|
Cmon. Don't be lazy. Just because something is difficult doesn't mean that you shouldn't try it.
There is no trigger for detecting when something is burrowed, so what you have to do instead is detect an effect of burrowing. What effect does burrowing leave? You can move units over the burrowed unit. To detect when a unit is burrowed, you check to see if you can move another unit on top. Constantly have a location on your zergling (or whatever zerg unit the player controls). Also, constantly try to move another unit (like an egg or something), onto the zergling. You can detect when the zergling is burrowed by detecting when the egg is moved onto the location of the zergling. |
|
✁ - - - - - - - - -
|
StarBlue, please stop making threads asking questions that can be answered by using the "Search" function, then completely ignoring everything we post because you weren't interested in the answers as much as you are in the minerals you get by asking questions. 5 minutes in SCMDraft, and you can get burrow detection to do whatever you want. (Place a P12 lurker somewhere in the corner of the map in a location called "cage" or whatever. Also make a bunch of burrowed p12 lurkers at a location called "spikes" or something. Make sure they do not overlap.)
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|
There is a better method, using a 1 pixel size location constantly centered on the zergling. The system uses triggers to move a Devouring One to the ling's centered location. Since the location is 1 pixel in size, therefore the Devouring One cannot in fact move to the location - sense that it isn't there, and you've detected whether or not the ling is burrowed (more or less). If the Devouring One is successfully moved to the location, then the zergling is burrowed and you have that information. Whatever the outcome, immediately move the Devouring One back to where it was originally to prevent any disturbances. Then you can create the lurker temporarily. Be wary of tight spaces that might prevent the Dark Templar from being moved to the Zergling even if it is burrowed - tight spaces like that would also prevent the Lurker from being created. Of course, there are ways to get around this. For one, if the Zergling is in the playing field where other units can pass over it, then you can detect when it burrows to give the Lurker, and detect when it moves to kill the Lurker. Another solution is to make it so the Zergling will automatically unburrow when another unit walks above him. Yet another possibility is to make it so two Zerglings occupying the same 1x1 area causes the game to separate them. You can make this separation only activate when both Zerglings are burrowed on top of one another. The best solution might be a combination of the first two. Once the Zergling burrows, the 1x1 pixel location stops centering on it. When there's no unit above the burrowed Zergling, it continually does a normal unburrow check as illustrated above. When there is another unit at the burrowed Zergling's location, it stops and assumes the Zergling remains burrowed. If at any time the Zergling leaves the 1x1 pixel location, its status is changed to unburrowed. The issue I see with this is, if two Zerglings burrow on top of each other, one of them can unburrow and will retain his Lurker until he moves. Still, it shouldn't be a terribly huge concern. This post was edited 2 times, last edit by DevliN: Oct 12 2010, 2:21 am. Reason given: Mineral abuse. ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|
✁ - - - - - - - - -
|
This is only an issue when you use a Dark Templar. If you use a Devouring One instead, you can no longer get too close to walls or edges for it to break. The issue is, StarBlue wants a lurker to spawn where his burrowed zergling is. Therefore, we MUST have a 32x32 empty space to accommodate the burrowed lurker, and hence why we need a lurker for burrow detection. The system will only screw up if something walks over you while you're burrowed. Of course, there are ways to get around this. For one, if the Zergling is in the playing field where other units can pass over it, then you can detect when it burrows to give the Lurker, and detect when it moves to kill the Lurker. A few more triggers can fix that. A 16x16 location centered on the zergling will do. If another unit occupies this space, the zergling is still burrowed, even if the lurker does not enter the 1x1 location. Another solution is to make it so the Zergling will automatically unburrow when another unit walks above him. I forgot how to make units unburrow with triggers. Would be nice if you could post the AI script or whatever that's needed for it. Yet another possibility is to make it so two Zerglings occupying the same 1x1 area causes the game to separate them somehow. You can make this separation only activate when both Zerglings are burrowed on top of one another. The best solution might be a combination of the first two. Once the Zergling burrows, the 1x1 pixel location stops centering on it. When there's no unit above the burrowed Zergling, it continually does a normal unburrow check as illustrated above. When there is another unit at the burrowed Zergling's location, it stops and assumes the Zergling remains burrowed. If at any time the Zergling leaves the 1x1 pixel location, its status is changed to unburrowed. The issue I see with this is, if two Zerglings burrow on top of each other, one of them can unburrow and will retain his Lurker until he moves. Still, it shouldn't be a terribly huge concern. The burrow detection works even if they stack, since it's player-specific. ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|
You're not old until the past seems more fun than the future.
|
To unburrow just order it.
Create the lurkers already burrowed then you don't need 32x32 space. When the players unburrows either the lurker or the ling the burrow detecting will end the spell, however the ling is still burrowed so the spell will recast. Wasted mana is the worst that can happen... |
|
↑ STUDENT DRIVER ↑
|
The unburrowed lurker stays unburrowed, though... So the spell trigger would move it back on spell but instantly end it again, breaking the lurker. Unless you can somehow burrow with "order" as well. One could simply kill the Lurker if it's unburrowed. ![]() ![]() ![]() ![]() ![]() ![]() ░░░▒▒▒▓▓▓▓███▀▀░▄▄▄▄▄▄░▀▀███▓▓▓▓▒▒▒░░░ ░░▒▒▒▓▓▓████░▄██████████▄░████▓▓▓▒▒▒░░ ░▒▒▒▓▓▓████▐▀▀▀█████▀▀▀▀██▌████▓▓▓▒▒▒░ ░▒▒▓▓▓████▐░██░░███▌██░░░██░████▓▓▓▒▒░ ▒▒▒▓▓▓███▌▐░██▌░███▌███▌░██▌▐███▓▓▓▒▒▒ ▒▒▓▓▓████▌██▄▄▄▄████▄▄▄▄▄███▐████▓▓▓▒▒ ▒▒▓▓▓████▌██▀▀▀▀▀▀▀▀▀▀▀▀▀███▐████▓▓▓▒▒ ▒▒▓▓▓████▌███▌▓▒▓▒▓▒▓▒▒▒▌███▐████▓▓▓▒▒ ▒▒▒▓▓▓███▌▐██▌▒▓▒▓▒▒▒▒▒▒▌██▌▐███▓▓▓▒▒▒ ░▒▒▓▓▓████░███▐▒▓▒█████▌███░████▓▓▓▒▒░ ░▒▒▒▓▓▓████░▀██▄▀▀▀▀▀▀▄██▀░████▓▓▓▒▒▒░ ░░▒▒▒▓▓▓████▄░▀▀██████▀▀░▄████▓▓▓▒▒▒░░ ░░░▒▒▒▓▓▓▓█████▄▄▄▄▄▄▄▄█████▓▓▓▓▒▒▒░░░ |