Staredit Network > Forums > SC1 UMS Mapmaking Assistance > Topic: Moving an air unit over a ground unit...
Moving an air unit over a ground unit...
Mar 17 2011, 11:10 pm
By: Jesusfreak
Pages: < 1 2 3 >
 

Mar 18 2011, 3:45 am FlashBeer Post #21



Quote from Jesusfreak
Quote
What indicates the conversation area? If you are using location areas to detect if the player is there- then why not create the conversation detector only when a player brings any unit to them.
Because that would cause the hero to be slowed down whenever any unit was brought near a talkable npc.
You just need to detect once and move the non-hero units away, or just cycle the detection to fire every 2 seconds or something.

Quote
Quote
Or you if you don't mind the hero having a slightly off conversation detector, you can constantly send an unburrowed/non-air unit to detect the hero's location, as land units will not cause a slow-down effect.
That might work... it would need to be something that couldn't attack, move, or be seen though... maybe p9-12 dark templars would do the trick.
No you don't, you just need a side area to put the unit (move the detector to the hero; do detection/actions; move the detector back) and you will only see the detector on the side somewhere.

Quote
Quote
Or you could cycle a detection location over every conversation area (by centering locations and giving units) to detect for all the possible hero types at that one location, then trigger the conversation.
Er, I don't think I understand what you're saying... are you suggesting that I scan each npc location for all possible hero types? Remember, some possible hero types will overlap with possible units (the hero and regular units will never be the same at the same time, though). I would have to check what hero the player was, and then scan every location for that hero. Hmm... that would take a lot of triggers, but it's superior to making a copy of each conversation trigger for each hero, at least.
Yes, you are scanning the convo locations for correct heroes (BRING hero to location, player is hero (e.g. switch, DCs, psuedo-hero is at side)

But if you are okay with using a land units for detect, you should go that route, due to simplicity and it's unseen.


Just thought, depending on how many burrowed units you are willing to spare, and how many conversations you have- you could make a stack of burrowed units to represent a conversation code, and heroes that ring that code to their location will trigger it.
Example: Bring exactly 2 defiler to location: "message 1"; Bring exactly 2 defiler, 1 drone to location: "message 2"; Bring exactly 1 defiler, 1 hunter killer, 1 devouring one to location: "message 3"
And you could even alter the conversations by centering a location onto the unit stack code and removing/adding units to progress conversations, or change between phrases.

Quote from Raitaki
Actually, he's not trying to detect the hero when he is talking to an NPC. He's trying to detect which one is the hero so that he could initiate a conversation only when the hero reaches the NPC.
He needs to do both.

Post has been edited 1 time(s), last time on Mar 18 2011, 3:55 am by FlashBeer.



None.

Mar 18 2011, 3:50 am Jesusfreak Post #22



I have no idea what you're trying to say.

What is the inverted location for? All you're telling me is that it follows the hero...
Quote from FlashBeer
Quote from Jesusfreak
Quote
What indicates the conversation area? If you are using location areas to detect if the player is there- then why not create the conversation detector only when a player brings any unit to them.
Because that would cause the hero to be slowed down whenever any unit was brought near a talkable npc.
You just need to detect once and move the non-hero units away, or just cycle the detection to fire every 2 seconds or something.
Move the non-hero units away? ???
Quote
Quote
Quote
Or you if you don't mind the hero having a slightly off conversation detector, you can constantly send an unburrowed/non-air unit to detect the hero's location, as land units will not cause a slow-down effect.
That might work... it would need to be something that couldn't attack, move, or be seen though... maybe p9-12 dark templars would do the trick.
No you don't, you just need a side area to put the unit (move the detector to the hero; do detection/actions; move the detector back) and you will only see the detector on the side somewhere.
A side area to put the detector? So your idea is that every time any unit enters any npc location, the detector will center on that unit and check to make sure it's the hero?
I guess it would work, but the p9-12 unit idea is much simpler...
Quote
Quote from Raitaki
Actually, he's not trying to detect the hero when he is talking to an NPC. He's trying to detect which one is the hero so that he could initiate a conversation only when the hero reaches the NPC.
He needs to do both.
I need to make the npcs only detect the hero unit.

Post has been edited 1 time(s), last time on Mar 18 2011, 4:55 pm by DevliN. Reason: Don't double post.



None.

Mar 18 2011, 3:58 am Raitaki Post #23



Hmmm....Either Roy knew (or thought) that triggers involving map revealers act as if there are map revealers everywhere/everywhere there is a unit (which I don't know for sure if it's true), or he forgot to add an action to move a map revealer along with the inverted location for the other location to move onto?

PS: Wait, Roy, how do you move said inverted location onto a new hero unit?



None.

Mar 18 2011, 4:04 am Jesusfreak Post #24



I think the p9-12 unit moved with the move order will be sufficient for my purposes. The worst effect I can see it having is the cloak blur being slightly annoying, and that's not bad at all (heck, I can even add it to the story by saying it's the character's guardian spirit or something). Just to be clear (in case it wasn't clear already), I have a system set in place to detect what unit is the hero unit (note that the hero unit will never be the same unit as the regular units at the same time, the hero will always rank up before being able to obtain units). I just needed to make the npcs only respond to that particular unit.



None.

Mar 18 2011, 4:31 am FlashBeer Post #25



Quote
A side area to put the detector? So your idea is that every time any unit enters any npc location, the detector will center on that unit and check to make sure it's the hero?
I guess it would work, but the p9-12 unit idea is much simpler...

You could do that, or just always move the detector unit to the hero. It's not checking if it is the hero, it's marking that the hero is there so you can use the BRING condition.
In order for the unit to not be seen, your triggers just need to be in the correct order.

Trigger1: always; move "detector" from "side" to "hero"
Trigger2: if "detector" is at "convo location"; play message
Trigger2a: "another message trigger like above" (just place all your message triggers above the next trigger)
Trigger3: always; move "detector" from "anywhere" to "hero"



None.

Mar 18 2011, 12:41 pm rockz Post #26

ᴄʜᴇᴇsᴇ ɪᴛ!

how many different heroes do you have?
how many heroes can you have of the same type on the map?
how many players do you have?
how many units can the player control?
why, exactly, do you need to have an air unit over the hero?
how many places can you talk to people?

I've read the thread but most of these answers escape me at the moment. If you could answer them I could think up something.



"Parliamentary inquiry, Mr. Chairman - do we have to call the Gentleman a gentleman if he's not one?"

Mar 18 2011, 1:27 pm Jesusfreak Post #27



Quote from FlashBeer
Quote
A side area to put the detector? So your idea is that every time any unit enters any npc location, the detector will center on that unit and check to make sure it's the hero?
I guess it would work, but the p9-12 unit idea is much simpler...

You could do that, or just always move the detector unit to the hero. It's not checking if it is the hero, it's marking that the hero is there so you can use the BRING condition.
In order for the unit to not be seen, your triggers just need to be in the correct order.

Trigger1: always; move "detector" from "side" to "hero"
Trigger2: if "detector" is at "convo location"; play message
Trigger2a: "another message trigger like above" (just place all your message triggers above the next trigger)
Trigger3: always; move "detector" from "anywhere" to "hero"

Oh, that's pretty much what I'm doing, just that I have the detector follow the hero instead of having it off to the side...

Quote
how many different heroes do you have?
how many heroes can you have of the same type on the map?
how many players do you have?
how many units can the player control?
why, exactly, do you need to have an air unit over the hero?
how many places can you talk to people?

I've read the thread but most of these answers escape me at the moment. If you could answer them I could think up something.
Er, well I kind of design the details of the map as I go along, so I don't know exactly how many, but I can say for certain that there's 5 different starting heroes, and most of them will change their unit at least a couple times as the game goes on (some change more than others).
You only have one "hero" unit at a time. This isn't like WC3 where you have lots of heroes.
There are 4 players and 4 computers.
I'm not sure how many units the player can control. There will be at least the hero unit, items (which stay in inventory), and units that are used for spells.
The air unit is so that the npc locations can recognize the hero, but not other units. Instead of making a "bring _____" for each and every location and each and every hero, I figured it'd be easier simply to make a "bring detector" trigger for each location. I already have a system for recognizing the hero.
A lot. So far I don't have many, but by the time the map is finished (if it ever is), there will probably be around 60 or so, if I had to guess (that's just locations, not the conversations that could happen).

Post has been edited 1 time(s), last time on Mar 18 2011, 1:35 pm by Jesusfreak.



None.

Mar 18 2011, 2:23 pm rockz Post #28

ᴄʜᴇᴇsᴇ ɪᴛ!

Quote from Jesusfreak
>how many different heroes do you have?
5 different starting heroes, and most of them will change their unit at least a couple times as the game goes on
>how many heroes can you have of the same type on the map?
You only have one "hero" unit at a time.
>how many players do you have?
4
>how many units can the player control?
Not answered, so I presume just 1. And no "mercenaries" or "helper units"
>why, exactly, do you need to have an air unit over the hero?
you already know where the hero is at any point in the map via a location which follows him, depending on which unit he is.
>how many places can you talk to people?
A lot
Okay, I think I have the gist of your map. Since you have a location following each player, you do not need any sort of second location. One is enough. Use the player's location to detect the unit you are talking to. If the units you talk to change, then maybe this won't work as well, or you can use a burrowed zerg unit owned by players 5-12 (there are 9 options and apparently 8 players, so you'd have 72 different unique places to "talk" to, maybe just 36 because some will be hostile, but then you can mix and match multiples for practically infinite (with 4 players and 1 unit you have 36, with 4 players and 2 units, you have 630+36).

Then use the "Player 9 brings exactly 1 zerg zergling to 'Player 1 Hero'" as your condition.



"Parliamentary inquiry, Mr. Chairman - do we have to call the Gentleman a gentleman if he's not one?"

Mar 18 2011, 3:51 pm Jesusfreak Post #29



Quote from rockz
Quote from Jesusfreak
>how many different heroes do you have?
5 different starting heroes, and most of them will change their unit at least a couple times as the game goes on
>how many heroes can you have of the same type on the map?
You only have one "hero" unit at a time.
>how many players do you have?
4
>how many units can the player control?
Not answered, so I presume just 1. And no "mercenaries" or "helper units"
>why, exactly, do you need to have an air unit over the hero?
you already know where the hero is at any point in the map via a location which follows him, depending on which unit he is.
>how many places can you talk to people?
A lot
What do you mean not answered? I answered all of the questions...
Quote
I'm not sure how many units the player can control. There will be at least the hero unit, items (which stay in inventory), and units that are used for spells.

[quote]Okay, I think I have the gist of your map. Since you have a location following each player, you do not need any sort of second location. One is enough. Use the player's location to detect the unit you are talking to. If the units you talk to change, then maybe this won't work as well, or you can use a burrowed zerg unit owned by players 5-12 (there are 9 options and apparently 8 players, so you'd have 72 different unique places to "talk" to, maybe just 36 because some will be hostile, but then you can mix and match multiples for practically infinite (with 4 players and 1 unit you have 36, with 4 players and 2 units, you have 630+36).

Then use the "Player 9 brings exactly 1 zerg zergling to 'Player 1 Hero'" as your condition.
Well, the npc units are used for things besides npcs (for example, high templars could either be a unit you find roaming about a town or an old hermit on a hill, only the latter of which you would talk to), so I can't simply detect whether the npc is at the player location. The burrowed zerg unit thing might be a pretty good idea though, if I'm understanding it correctly... your idea is to mark the npcs instead of the heroes, correct? The npcs would have to not move, but it still might be workable...



None.

Mar 18 2011, 4:51 pm rockz Post #30

ᴄʜᴇᴇsᴇ ɪᴛ!

You said you weren't sure. Inventory and spell units aren't really units that matter for my purposes, since you can exclude them outside of the "map" using a location and making the play area of the map thinner or shorter. The real problem is if one marine is a hero, and the other marine is a mercenary, or you have a marine hero, and a zergling mercenary (but the zergling can also be a hero unit). Since you can only control 1 unit, though, it's simple.

How would you differentiate between the unit you find roaming around or an old hermit on the hill? If the NPCs which you do not talk to are not mobile, then it's a simple process of marking them with a different unit. If they are mobile, you'll have to make sure that the unit follows them properly by centering a location over them, but you can still talk to them by detecting the unit in the player's location. You were going to have to do that anyway, right?

You can also use a "talk to hero" location. Make it first in the list, owned by each hero player and have it centered on the hero. Then detect when the burrowed unit is in that location to display the text. You'll only need 1 copy of each dialog trigger then, rather than 4. This way the "talk to hero" location is on each hero for each of the player's trigger runs.



"Parliamentary inquiry, Mr. Chairman - do we have to call the Gentleman a gentleman if he's not one?"

Mar 18 2011, 5:35 pm Jesusfreak Post #31



Quote from rockz
You said you weren't sure. Inventory and spell units aren't really units that matter for my purposes, since you can exclude them outside of the "map" using a location and making the play area of the map thinner or shorter. The real problem is if one marine is a hero, and the other marine is a mercenary, or you have a marine hero, and a zergling mercenary (but the zergling can also be a hero unit). Since you can only control 1 unit, though, it's simple.

How would you differentiate between the unit you find roaming around or an old hermit on the hill? If the NPCs which you do not talk to are not mobile, then it's a simple process of marking them with a different unit. If they are mobile, you'll have to make sure that the unit follows them properly by centering a location over them, but you can still talk to them by detecting the unit in the player's location. You were going to have to do that anyway, right?

You can also use a "talk to hero" location. Make it first in the list, owned by each hero player and have it centered on the hero. Then detect when the burrowed unit is in that location to display the text. You'll only need 1 copy of each dialog trigger then, rather than 4. This way the "talk to hero" location is on each hero for each of the player's trigger runs.

Hmm, that's actually a good question... come to think of it, my system has it to where the npcs can't move either...

I wish starcraft had some sort of unit duplicator where I could use the same graphics multiple times instead of trying to work with only a handful of unit types =/.


I think I'll end up using the p9-12 unit system we discussed earlier... the burrowed unit thing would work pretty well too, but I'm not sure if the unit limit will be a problem. An extra 50ish units on the map would be bad if I was already near the limit.

(Btw, the "spell units" would count as units that could cause a problem, since some of them would go outside of their little area; ie, the mage's fireball)



None.

Mar 18 2011, 7:18 pm Roy Post #32

An artist's depiction of an Extended Unit Death

Quote from Raitaki
Hmmm....Either Roy knew (or thought) that triggers involving map revealers act as if there are map revealers everywhere/everywhere there is a unit (which I don't know for sure if it's true), or he forgot to add an action to move a map revealer along with the inverted location for the other location to move onto?

PS: Wait, Roy, how do you move said inverted location onto a new hero unit?
Map Revealers cannot be detected in locations; I picked it because it is a unit that would never be there. If you move a location onto a unit that doesn't exist, it defaults to the center of wherever you tell it to move.

The inverted location centers on any unit already inside the location, which would only be one unit because of the size of the location. This means if you put it on a marine as your hero unit, it will keep centering itself on that marine. Then, if you decided a ghost should be the hero instead, you use the "Move Location" trigger once to move the inverted location onto the ghost, and it will follow that unit instead.




Mar 19 2011, 3:00 pm rockz Post #33

ᴄʜᴇᴇsᴇ ɪᴛ!

IMO locations are more important than units. Wasting 50 locations is a lot more than wasting 50 units.

spell units really only cause a problem for tracking the hero. So long as you have a location on the hero it's all fine.



"Parliamentary inquiry, Mr. Chairman - do we have to call the Gentleman a gentleman if he's not one?"

Mar 19 2011, 4:16 pm Jesusfreak Post #34



Quote from rockz
IMO locations are more important than units. Wasting 50 locations is a lot more than wasting 50 units.

spell units really only cause a problem for tracking the hero. So long as you have a location on the hero it's all fine.

Yeah, but with either system (if I'm understanding them correctly), I'd need a location for each npc anyway (even with the burrowed zerglings marking the npc, I'd need the locations to mark WHICH npc was being talked to, unless there's another way I can do that... EUDs could probably do something of that nature, but I'd have to update the map in the event of a patch and I don't understand how to actually implement EUDs... I suppose if I was really desperate, I could stack burrowed zerglings, the number of them indicating which npc it was [that would take A LOT of units, though]... 50! units = roughly 3 x 10^64 [more units than possible]).



None.

Mar 19 2011, 5:42 pm NudeRaider Post #35

We can't explain the universe, just describe it; and we don't know whether our theories are true, we just know they're not wrong. >Harald Lesch

Different burrowed units owned by different neutral players. Unless you have several dozens of NPC this should suffice. If you do divide the playing field by 2 or 4 (requires 1/3 extra locations) to double / quadruple the number of possible NPCs.




Mar 19 2011, 8:40 pm Jesusfreak Post #36



Quote from NudeRaider
Different burrowed units owned by different neutral players. Unless you have several dozens of NPC this should suffice. If you do divide the playing field by 2 or 4 (requires 1/3 extra locations) to double / quadruple the number of possible NPCs.
... That's brilliant O_O. The use of different units occurred to me, but the use of all four neutral players completely slipped my mind. With both of those things combined, I just might have enough. Thanks :awesome:.

EDIT: Hmm, lemme think... there's 8 units that can burrow, right? Multiplied by 4 neutral players, that's... 32. Unless I forgot a couple burrowable units, that probably won't be enough =/.

Post has been edited 1 time(s), last time on Mar 19 2011, 9:07 pm by Jesusfreak.



None.

Mar 19 2011, 9:12 pm Roy Post #37

An artist's depiction of an Extended Unit Death

Is there a reason you can't cycle through the burrowed units using the Give Unit action, kind of like a static grid system?

Quote from rockz
IMO locations are more important than units. Wasting 50 locations is a lot more than wasting 50 units.
It sounds like my suggestion uses only one more location than yours. One for the size of the conversation area that stays on the hero, and one centering on the hero. Yours uses one for the conversation area that is moved from NPC to NPC.




Mar 19 2011, 10:02 pm NudeRaider Post #38

We can't explain the universe, just describe it; and we don't know whether our theories are true, we just know they're not wrong. >Harald Lesch

Quote from Roy
Is there a reason you can't cycle through the burrowed units using the Give Unit action, kind of like a static grid system?
the NPCs are unique.




Mar 19 2011, 10:08 pm rockz Post #39

ᴄʜᴇᴇsᴇ ɪᴛ!

Sorry I wasn't completely clear in my description.
2 zergling
2 hydra
2 defiler
drone
lurker
infested terran

that's 9 units.
players 9-12 is 4 players
that's 36 unique identifiers for burrowed units
If you use 2 units (ie p9 lurker and p11 drone) you have 630 different combinations. This isn't perfect since unit sizes differ, but you can still use identically sized units given to different players for well over 100 combinations which work perfectly. The only problem with using 2 units is that if you want to center a location on both, you can't use "anywhere" since the single unit is not unique on the map.

Cycling through burrowed units using the give unit action is quite tedious to trigger correctly, because you have to have copies of your detection trigger for that location in between each cycle, or make it so that it only cycles once a trigger cycle.

My suggestion uses one conversation area which is moved from hero to hero. Don't bring the hero to a location, bring the location to the NPC you're trying to talk to. I'm assuming there is already a location centering each hero (there are 4) so mine would use 5 locations total including the locations surrounding the heroes and 1 or 2 units for each NPC. It doesn't HAVE to use that location, but if it doesn't, you'll need 4 copies of each dialog trigger for each hero location.

I do like the idea of centering the location on a map revealer on the hero location though. That will work well, even on my method. The only problem is that he somehow has to center the first location on the hero somehow.

If you still don't get the full gist of this, I can make an example map for you.



"Parliamentary inquiry, Mr. Chairman - do we have to call the Gentleman a gentleman if he's not one?"

Mar 19 2011, 10:36 pm Jesusfreak Post #40



Quote from rockz
Sorry I wasn't completely clear in my description.
2 zergling
2 hydra
2 defiler
drone
lurker
infested terran

that's 9 units.
players 9-12 is 4 players
that's 36 unique identifiers for burrowed units
If you use 2 units (ie p9 lurker and p11 drone) you have 630 different combinations. This isn't perfect since unit sizes differ, but you can still use identically sized units given to different players for well over 100 combinations which work perfectly. The only problem with using 2 units is that if you want to center a location on both, you can't use "anywhere" since the single unit is not unique on the map.

Cycling through burrowed units using the give unit action is quite tedious to trigger correctly, because you have to have copies of your detection trigger for that location in between each cycle, or make it so that it only cycles once a trigger cycle.

My suggestion uses one conversation area which is moved from hero to hero. Don't bring the hero to a location, bring the location to the NPC you're trying to talk to. I'm assuming there is already a location centering each hero (there are 4) so mine would use 5 locations total including the locations surrounding the heroes and 1 or 2 units for each NPC. It doesn't HAVE to use that location, but if it doesn't, you'll need 4 copies of each dialog trigger for each hero location.

I do like the idea of centering the location on a map revealer on the hero location though. That will work well, even on my method. The only problem is that he somehow has to center the first location on the hero somehow.

If you still don't get the full gist of this, I can make an example map for you.

That... that's even more brilliant! Why didn't I think of mixing different types of units... and I suppose if I need the npcs to move, I can just use the inverted location thing for them (I'm not sure if I fully understand it, but I can always come back to it if I need it) :awesome:.



None.

Options
Pages: < 1 2 3 >
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[09:38 pm]
NudeRaider -- Ultraviolet
Ultraviolet shouted: NudeRaider sing it brother
trust me, you don't wanna hear that. I defer that to the pros.
[07:56 pm]
Ultraviolet -- NudeRaider
NudeRaider shouted: "War nie wirklich weg" 🎵
sing it brother
[06:24 pm]
NudeRaider -- "War nie wirklich weg" 🎵
[03:33 pm]
O)FaRTy1billion[MM] -- o sen is back
[2024-4-27. : 1:53 am]
Ultraviolet -- :lol:
[2024-4-26. : 6:51 pm]
Vrael -- It is, and I could definitely use a company with a commitment to flexibility, quality, and customer satisfaction to provide effective solutions to dampness and humidity in my urban environment.
[2024-4-26. : 6:50 pm]
NudeRaider -- Vrael
Vrael shouted: Idk, I was looking more for a dehumidifer company which maybe stands out as a beacon of relief amidst damp and unpredictable climates of bustling metropolises. Not sure Amazon qualifies
sounds like moisture control is often a pressing concern in your city
[2024-4-26. : 6:50 pm]
Vrael -- Maybe here on the StarEdit Network I could look through the Forums for some Introductions to people who care about the Topics of Dehumidifiers and Carpet Cleaning?
[2024-4-26. : 6:49 pm]
Vrael -- Perhaps even here I on the StarEdit Network I could look for some Introductions.
[2024-4-26. : 6:48 pm]
Vrael -- On this Topic, I could definitely use some Introductions.
Please log in to shout.


Members Online: Zycorax, Roy, NudeRaider