Staredit Network > Forums > SC1 UMS Mapmaking Assistance > Topic: I have no idea how to do this.
I have no idea how to do this.
May 30 2009, 10:18 pm
By: r00k  

May 30 2009, 10:18 pm r00k Post #1



I want to make a map, where a Player gets always the same unit every 10 seconds.
When he still has the first ! spawned unit after 100 seconds, and it didnīt die, this unit should get upgraded to a better unit.
The same of course for all the other units, so if he has the second! spawned unit after 110 seconds this one should get upgraded.
It doesnt matter if he has 10,5 or only the Unit that counts when it should upgrade, as long as the unit is on the battlefield for 100 seconds.

Death Counts for the timer, but how do i know that it is Unit No.1, that is on the Battlefield after 100 seconds, and not Unit No. 7 ?


Can anyone think of a way to make this possible ?



None.

May 30 2009, 10:24 pm Devourer Post #2

Hello

There is a very creepy way how you could do it, you need many locations which are around 3x3 pixels & counters (this method works for ground units only)
when you spawn 1 new unit do it like this:

Always: Subtract 1 death for UNIT 1 :: PRESERVE TRIGGER

Give all units from p1 to p2, create 1 unit for p1, move location 1 on all unit in anywhere owned by p1, give all units from p2 to p1. Set switch 1. Set Deaths of "UNIT 1" to 100

Switch 1 is set -> Preserve Trigger, move location 1 on all units in 1 owned by p1.

Switch 1 is set, deaths of UNIT 1 is 0 ->Clear switch1, remove UNIT at 1 owned by p1, create 1 NEW UNIT at 1 for p1, Set Switch 1


That's an example for one unit, you can copy it, but for each unit you need one more switch, deathcount and location, so this method is not good.



Please report errors in the Staredit.Network forum.

May 30 2009, 11:01 pm Falkoner Post #3



Center a pixel sized location on it when it is created, and have that pixel sized location recenter on the unit inside of itself constantly, so it constantly follows that one unit, then if the unit is no longer inside the location, you know it's gone, of course, depending on how many units could be on the field at once, this may not work.



None.

May 31 2009, 1:12 am Jello-Jigglers Post #4



Quote from Falkoner
Center a pixel sized location on it when it is created, and have that pixel sized location recenter on the unit inside of itself constantly, so it constantly follows that one unit, then if the unit is no longer inside the location, you know it's gone, of course, depending on how many units could be on the field at once, this may not work.
ooohh thats nice. That's real nice.



None.

May 31 2009, 7:07 am Wormer Post #5



Quote from Falkoner
Center a pixel sized location on it when it is created, and have that pixel sized location recenter on the unit inside of itself constantly, so it constantly follows that one unit, then if the unit is no longer inside the location, you know it's gone, of course, depending on how many units could be on the field at once, this may not work.
This is the best one can do, but not perfect though. Because sometimes even ground units can become stacked.



Some.

May 31 2009, 9:33 am Jack Post #6

>be faceless void >mfw I have no face

I can think of one way to do it but its quite long and complicated so i wont post unless someone wants it.



Red classic.

"In short, their absurdities are so extreme that it is painful even to quote them."

May 31 2009, 9:37 am JaFF Post #7



Quote from Falkoner
Center a pixel sized location on it when it is created, and have that pixel sized location recenter on the unit inside of itself constantly, so it constantly follows that one unit, then if the unit is no longer inside the location, you know it's gone, of course, depending on how many units could be on the field at once, this may not work.
Many units can outrun a 1x1 pixel location. Use this only if you're willing to limit your unit choice for the sake of your idea.



None.

May 31 2009, 2:25 pm rockz Post #8

ᴄʜᴇᴇsᴇ ɪᴛ!

*cough*eud*cough*

but seriously, the key is you have to differentiate the unit somehow. The easiest way is to center loc.



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

May 31 2009, 4:22 pm Falkoner Post #9



Quote
Many units can outrun a 1x1 pixel location. Use this only if you're willing to limit your unit choice for the sake of your idea.

Not many, only the very fastest, at least with hypertriggers.

One thing I just thought of, when you center locations on 2 of the same unit on the same X coordinate, the location goes to the one with the lowest unit ID, which in most cases is the oldest unit.. Seems like it could be used somewhere, but I can't think of how I would use it..



None.

May 31 2009, 4:24 pm Devourer Post #10

Hello

Quote from Jello-Jigglers
Quote from Falkoner
Center a pixel sized location on it when it is created, and have that pixel sized location recenter on the unit inside of itself constantly, so it constantly follows that one unit, then if the unit is no longer inside the location, you know it's gone, of course, depending on how many units could be on the field at once, this may not work.
ooohh thats nice. That's real nice.
that's exactly the same what I said -.-

Psionic_storm used that too, but he said that a 1x1 pixel location can be to small: for example the infested kerrigan can walk out of it.
I suggest 3x3 or 4x4 pixels, that's what worked for psi.



Please report errors in the Staredit.Network forum.

May 31 2009, 4:32 pm JaFF Post #11



Quote from Falkoner
Quote
Many units can outrun a 1x1 pixel location. Use this only if you're willing to limit your unit choice for the sake of your idea.

Not many, only the very fastest, at least with hypertriggers.

One thing I just thought of, when you center locations on 2 of the same unit on the same X coordinate, the location goes to the one with the lowest unit ID, which in most cases is the oldest unit.. Seems like it could be used somewhere, but I can't think of how I would use it..
A marine is on the edge of getting separated from his location, according to Lethal. Not only does it depend on speed, but also on size. I would actually love to see a list of units that can get away from their locations. Of course 'many' depends purely on opinion, but do not think that the list is limited only to upgraded zerglings and intercepters.

As for your second paragraph, Kaias made a test map that was supposed to use it to create the ultimate VHP, but it failed because it turned out that unit ID doesen't influence the choice. The unit that has been last acted upon by triggers is chosen.



None.

May 31 2009, 4:57 pm Falkoner Post #12



Quote
A marine is on the edge of getting separated from his location, according to Lethal. Not only does it depend on speed, but also on size. I would actually love to see a list of units that can get away from their locations. Of course 'many' depends purely on opinion, but do not think that the list is limited only to upgraded zerglings and intercepters.

True, however, the location does manage to follow it, here's pretty much all the units that can escape it:
Upgraded Vultures
Upgraded Zealots
Upgraded Hydralisks
Stimmed Marines
Stimmed Firebats
Ghosts(All forms)
Zerglings
Broodlings
Infested Kerrigan
Infested Terrans
Scourges
Interceptors

That's not a very large list :-_-:

Post has been edited 3 time(s), last time on May 31 2009, 5:57 pm by Falkoner.



None.

May 31 2009, 5:06 pm JaFF Post #13



Quote
Upgraded Vultures
Upgraded Zerglings
Upgraded Zealots
Upgraded Hydralisks
Stimmed Marines
Stimmed Firebats
Broodlings
Scourges
Interceptors
Was this list in one of the wikis or tutorials?

I haven't tested it myself, but I doubt this list is complete. There are quite a few units with speeds between that of a marine and the units you listed. And some of those units are quite small in size, too (SCV/Drone/Probe, for example). Besides, according to one of the above posts, an infested kerrigan can outrun a 1x1 pixel location. I also have a feeling that a ghost and all hero ghosts can do the same, since they are a bit smaller than rines in the X-dimension (not sure about the Y, that needs to be checked via datedit or any other tool).

Anyway, this is all just educated guesswork. I'll test some units myself tomorrow and post the results in this thread.

Post has been edited 1 time(s), last time on May 31 2009, 5:18 pm by JaFF.



None.

May 31 2009, 5:09 pm Falkoner Post #14



Changes noted, there is actually a way of finding it out through DatEdit, gimme a minute to figure out the formula..

Speed in Pixels per Frame is: Top Speed in Flingy tab of DatEdit / (320/3), rounded up.
On fastest, a single frame is 41.6... milliseconds, or 42.
Hypertriggers run every 2 frames, or every 84 milliseconds.
So if(speed in pixels per frame * 2 > shortest dimension of the unit from the center){Then the unit can escape}

Correct me if I'm wrong. Also, unit size is probably the biggest factor here.

Post has been edited 4 time(s), last time on May 31 2009, 5:36 pm by Falkoner.



None.

May 31 2009, 5:35 pm JaFF Post #15



I said "I have a feeling" about ghosts, I wasn't certain.
Quote
So if(speed in pixels per frame * 2 > (shortest dimension of the unit / 2){Then the unit can escape}
Yeah, sounds reasonable. Though I don't expect the formula to always work in practice, it can be a very effective approximation.



None.

May 31 2009, 5:36 pm Falkoner Post #16



I tested it, they do escape. I also tested the rest of them.



None.

May 31 2009, 5:38 pm Falkoner Post #17



Aw, dangit, using the Flingy speed won't work for most units, since a lot of them get their speed from iscript..

I'm pretty sure that list I posted above is basically all of them, although I was wrong before..



None.

May 31 2009, 5:39 pm JaFF Post #18



What about SCVs/Drones/Probes? Does the formula result match with tests?



None.

May 31 2009, 5:41 pm Falkoner Post #19



They don't escape in testing, and give me a second while I plug them into the formula.

The formula doesn't seem to work, I think that the speed per pixels part is messed up, but that's what it says in DatEdit..

EDIT: If you divide the speed by two, and use that instead, it gets extremely close, close enough that the difference between 41.6.. milliseconds and 42 milliseconds might tip the balance.

Post has been edited 1 time(s), last time on May 31 2009, 5:56 pm by Falkoner.



None.

May 31 2009, 5:54 pm JaFF Post #20



OK, last question: what about Vultures and Infested Terran? (the latter should escape for sure)

If that's it, then we can safely say that the list is complete. Also, remove all air units from it, because they can be stacked easily. And since any two air units can be stacked, the system requires only one air unit to be around, which defeats the purpose of the system.

This shows that if he were to use this system, he would have to sacrifice a lot of important units.



None.

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[03:55 pm]
Zoan -- :wob:
[10:34 am]
NudeRaider -- SEN doesn't rely on spammers initiate its sleep cycle. It hat fully automated rest and clean-up phases. Please understand that this is necessary for the smooth operation of the site. Thank you.
[03:45 am]
Sylph-Of-Space -- Does the shoutbox get disabled when there's spammers?
[2024-5-17. : 6:47 am]
NudeRaider -- lil-Inferno
lil-Inferno shouted: nah
strong
[2024-5-17. : 5:41 am]
Ultraviolet -- 🤔 so inf is in you?
[2024-5-17. : 4:57 am]
O)FaRTy1billion[MM] -- my name is mud
[2024-5-17. : 4:35 am]
Ultraviolet -- mud, meet my friend, the stick
[2024-5-16. : 10:07 pm]
lil-Inferno -- nah
[2024-5-16. : 8:36 pm]
Ultraviolet -- Inf, we've got a job for you. ASUS has been very naughty and we need our lil guy to go do their mom's to teach them if they fuck around, they gon' find out
[2024-5-16. : 5:25 pm]
NudeRaider -- there he is, right on time! Go UV! :D
Please log in to shout.


Members Online: Roy, 1milae19100eh9, 7sophiec183wh5