Staredit Network > Forums > SC1 UMS Mapmaking Assistance > Topic: Detecting killing of a subset of units
Detecting killing of a subset of units
Feb 9 2009, 7:27 am
By: Mad  

Feb 9 2009, 7:27 am Mad Post #1



Hello,

I'm designing a map in which a player gets 1 point for every men he kills. The problem is that I want to exclude from this broodlings and vulture mines. Could anyone tell me how can I achieve this?

It's really a problem, because the only form of killing detections Starcraft has is Kills and Kill Score,. They don't even let you know who you killed or who killed you, the only information available is that you killed something or that unit x has died already n times.

Thanks.



None.

Feb 9 2009, 7:30 am Keirebu Post #2



I don't know how you would go about this, but you could just disable them, Unless there important.



None.

Feb 9 2009, 11:18 am rockz Post #3

ᴄʜᴇᴇsᴇ ɪᴛ!

http://www.staredit.net/wiki/Kills_To_Cash
Use the normal method, and when you detect you have killed a spider mine/broodling, don't add minerals instead.



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

Feb 9 2009, 12:00 pm Keirebu Post #4



Quote from rockz
http://www.staredit.net/wiki/Kills_To_Cash
Use the normal method, and when you detect you have killed a spider mine/broodling, don't add minerals instead.
I thought he wanted to detect when spidermines killed something and not to give minerals for it :P, Thats a whole other story if he meant the way your thinking :P.



None.

Feb 9 2009, 12:14 pm rockz Post #5

ᴄʜᴇᴇsᴇ ɪᴛ!

It's the same story, different actions. Replace minerals with death counts, score, points, gas, whatever, and you still have a kills to "cash" method. The point of it is to detect what unit is killed, and the kills to cash methods are the only ways to do that.



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

Feb 9 2009, 12:18 pm Keirebu Post #6



No, your not understanding me :/, I thought he meant say if you laid a Vulture Mine, And it kills 5 Zerglings, You don't get minerals, But if you killed with a vulture you would, There is no way to my knowledge to know what unit killed what o.o?



None.

Feb 9 2009, 12:47 pm rockz Post #7

ᴄʜᴇᴇsᴇ ɪᴛ!

Oh wow.

I didn't get that at all. No, there is no good way to tell if unit x killed unit y. Only player x killed unit y.



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

Feb 9 2009, 8:57 pm Mad Post #8



Sorry, it seems the way I put it was slightly confusing. lol
What I really want is that if you kill for instance a zergling or a marine or any other men unit, you get 1 point. If however you kill a broodling or a spider mine, you get no points at all since I don't want them to be counted as units (they're extremely weak in my map).

Quote from rockz
http://www.staredit.net/wiki/Kills_To_Cash
Use the normal method, and when you detect you have killed a spider mine/broodling, don't add minerals instead.

I've taken a look at all the methods, but unfortunately, I don't think any of them meet the specific critera I need for my map.
The first method doesn't detect killing of multiple units at the same time, therefore I only get 1 point, whether I killed 1 or 10 units.
The second doesn't work for the same reason. I could simply say that if the player kill score is >= 50, he receives 1 point and less than that he receives nothing. But then again I can't tell if 50 points is a zergling or two broodlings killed at the same time.
I think all other methods have some flaw, either they're not accurate about what's happening or they can't detect more than one unit being killed at the same time.

The only method that i know that works flawlessly, is the individual trigger for each kill. But that strays from perfection and can boost my map size which is baaaad. I don't know how many broodlings a player will kill, which forces me to set a high value like 2000 or 3000. Even with such values, it's still unfair because if a player somehow manages to breach through this limit, he'd get points for killing broodlings, which i dont want. I feel like that's hiding the problem, rather than solving it. >_<

Earlier, I also came with a perfect detection trigger which is able to track exactly how many men the player has killed (even if it's multiple units at same time), all with excluding the nasty broodlings from 'men'. The only problem with this method is that it doesnt work very well if there are two players attacking the same player, which I assume will happen very rarely my map. If it comes to worst, I will go back to this method, though I'd really like to find another way to settle this, one that is flawless. :P

It would be really nice if we had a specific kill counter for each unit which we could modify like the death counter. ;_;



None.

Feb 9 2009, 10:58 pm NudeRaider Post #9

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

Use perfect kills-to-cash. It's called perfect for a reason. ;)
You can modify it to use bats with extreme damage always attacking something as killers if cannons kill too slow.
If necessary you can even stack the bats by using disabled sprites.




Feb 10 2009, 4:26 am rockz Post #10

ᴄʜᴇᴇsᴇ ɪᴛ!

It's only perfect in theory. If you're killing units fast enough to require perfect, good luck, since you'll have some serious problems keeping up with the kills. Take a look at this defense I made:
http://www.staredit.net/files/609/
It actually works pretty well, but counts each unit as an equal. I should probably finish up a system that will differentiate, but I haven't had any reason to. Of course, you run into problems due to the limit of attacks on the screen. I should probably just use zerglings or something. I don't think there's any air attack which doesn't use a sprite to attack, though.

How will you be killing stuff? With one unit, with a firebat, with a gigantic army? How many foes are there? How many players are there?

In the extremely unlikely event that you kill four broodlings and a zergling within 2 frames, yes, 2 of the broodlings will count as 1 zergling kill. If you use death counters with it, that won't happen, however, unless miraculously someone else killed a zergling during that same time frame. If you put the broodling triggers first, however, and make multiple copies of it, you can stop some of the mistakes.



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

Feb 10 2009, 4:17 pm Norm Post #11



Condition:
Player kill score is at least 50 (Broodlings and Mines are worth less than 50)

Action:
Set player kill score to 0
Add 1 point
preserve trigger

There it is. You could also have the condition like: At most 24 and at least 26 to neglect a unit with a kill score of 25. If you type "starcraft kill score" into google you can find a nice list of each unit and the kill score they provide.



None.

Feb 10 2009, 4:47 pm NudeRaider Post #12

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

Guys, forget kills score. You can't use it when you can kill multiple units at once.

The only options are bruteforcing it, or a variant of kills-to-cash perfect.




Feb 11 2009, 8:26 pm Mad Post #13



Thanks everyone for the suggestions and advices. :)

I guess I will try the perfect kills-to-cash or maybe completely remove broodlings from my map and make mines invincible (2nd easiest option) though that's kind cheap. :P



None.

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[04:57 am]
O)FaRTy1billion[MM] -- my name is mud
[04:35 am]
Ultraviolet -- mud, meet my friend, the stick
[10:07 pm]
lil-Inferno -- nah
[08: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
[05:25 pm]
NudeRaider -- there he is, right on time! Go UV! :D
[05:24 pm]
lil-Inferno -- poopoo
[05:14 pm]
UndeadStar -- I wonder if that's what happened to me. A returned product (screen) was "officially lost" for a while before being found and refunded. Maybe it would have remained "lost" if I didn't communicate?
[03:36 pm]
NudeRaider -- :lol:
[2024-5-16. : 3:02 am]
Ultraviolet -- I'm gonna send inf to have sex with their moms
[2024-5-16. : 3:02 am]
Ultraviolet -- fuck those motherfuckers
Please log in to shout.


Members Online: 6adrianc4923fc3