Staredit Network > Forums > SC1 UMS Mapmaking Assistance > Topic: I need more than 256 Switches....
I need more than 256 Switches....
Dec 1 2009, 6:29 am
By: Mesden  

Dec 3 2009, 3:53 am rockz Post #21

ᴄʜᴇᴇsᴇ ɪᴛ!

The kill table is right before the death table. It consists of 4 bytes per player, per unit. There are 12 players, and 228 units. Kills of terran marine (unitID:0) show the memory for players 1-8 at 0*4*12+the start of the kill table. Kills of terran ghost (unitID:1) show the memory for players 1-8 at 1*4*12+the start of the kill table. Kills of unitID:228 show the memory for players 1-8 at 228*4*12+the start of the kill table, which happens to be the first entry for the death table.

You can use the kills leaderboard to show most anything past the kills table, including a specific unit's hp if you calculate the correct unitID. Some stuff you can't display because it falls under player 9-12. It works on the same principle of the old way to do EUDs, ie, player 4 has suffered x deaths of unitID:1520. If you were to display a leaderboard with deaths of unitID:1748, player 4 would show the value you're trying to read.



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

Dec 3 2009, 4:27 am ImagoDeo Post #22



Quote from rockz
The kill table is right before the death table. It consists of 4 bytes per player, per unit. There are 12 players, and 228 units. Kills of terran marine (unitID:0) show the memory for players 1-8 at 0*4*12+the start of the kill table. Kills of terran ghost (unitID:1) show the memory for players 1-8 at 1*4*12+the start of the kill table. Kills of unitID:228 show the memory for players 1-8 at 228*4*12+the start of the kill table, which happens to be the first entry for the death table.

You can use the kills leaderboard to show most anything past the kills table, including a specific unit's hp if you calculate the correct unitID. Some stuff you can't display because it falls under player 9-12. It works on the same principle of the old way to do EUDs, ie, player 4 has suffered x deaths of unitID:1520. If you were to display a leaderboard with deaths of unitID:1748, player 4 would show the value you're trying to read.

What would that action look like in TrigEdit code?

Just in case I want to use it.



None.

Dec 3 2009, 5:38 am rockz Post #23

ᴄʜᴇᴇsᴇ ɪᴛ!

You can't use trigedit, you have to use starforge or classic trigedit.
Code
    Leader Board Kills("", "Invalid Unit");

The "Invalid Unit" will be replaced with UnitID:228 when you use trigedit. If you want to display something other than marine deaths, you have to use classic trigedit and enter the following in the unit:
ID:487
or whatever number you want. The ID has to be capitalized or it won't work. You also can't go back into trigedit, or else it will replace unitID:487 with "Invalid Unit" again, and it will reset back to UnitID:228 when you recompile.

You can also use starforge, but you have to edit the actions.lst file to number number under the action leaderboard kills from unit unit.



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

Dec 3 2009, 6:51 am UnholyUrine Post #24



If you need over 256 switches.. then you're doing smth wrong lol....

use deathcounts...



None.

Dec 3 2009, 11:17 am NudeRaider Post #25

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 rockz
You can't use trigedit, you have to use starforge or classic trigedit.
Code
    Leader Board Kills("", "Invalid Unit");
What? So SI has introduced the memory condition for EUDs but still doesn't allow other overflows in trigedit? I certainly hope he's working on that or this method is basically useless to me because
a) In almost all of my maps there is a point where I'm doing some copy and replace stuff via text triggers
b) Starforge only (you shouldn't switch) is no option for me.

I hate programs that pretend to be more intelligent than they are (ie declare a value invalid when it really isn't)




Dec 3 2009, 6:03 pm Kaias Post #26



Quote from rockz
display kills of unit+228 (ie deaths of terran marine is unitID:228, ghost is unitID:229, etc...).

Quote from rockz
The kill table is right before the death table. It consists of 4 bytes per player, per unit. There are 12 players, and 228 units. Kills of terran marine (unitID:0) show the memory for players 1-8 at 0*4*12+the start of the kill table. Kills of terran ghost (unitID:1) show the memory for players 1-8 at 1*4*12+the start of the kill table. Kills of unitID:228 show the memory for players 1-8 at 228*4*12+the start of the kill table, which happens to be the first entry for the death table.

You can use the kills leaderboard to show most anything past the kills table, including a specific unit's hp if you calculate the correct unitID. Some stuff you can't display because it falls under player 9-12. It works on the same principle of the old way to do EUDs, ie, player 4 has suffered x deaths of unitID:1520. If you were to display a leaderboard with deaths of unitID:1748, player 4 would show the value you're trying to read.

Quote from rockz
You can't use trigedit, you have to use starforge or classic trigedit.
Code
    Leader Board Kills("", "Invalid Unit");

The "Invalid Unit" will be replaced with UnitID:228 when you use trigedit. If you want to display something other than marine deaths, you have to use classic trigedit and enter the following in the unit:
ID:487
or whatever number you want. The ID has to be capitalized or it won't work. You also can't go back into trigedit, or else it will replace unitID:487 with "Invalid Unit" again, and it will reset back to UnitID:228 when you recompile.

You can also use starforge, but you have to edit the actions.lst file to number number under the action leaderboard kills from unit unit.
I've tried this according to what you've described, specifically for Zerg Lurker Egg (id:97), and made it ID:325 (228+97) on the Kills Leaderboard. It looks fine in classic trigedit but in-game all players return 0, when I know this shouldn't be the case.



None.

Dec 3 2009, 6:30 pm rockz Post #27

ᴄʜᴇᴇsᴇ ɪᴛ!


Sounds like you're doing it wrong then. This trigger works. Set deaths of terran marine and see if it's somehow reverting back to displaying unitid:228.



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

Dec 3 2009, 6:35 pm Kaias Post #28



Quote from rockz

Sounds like you're doing it wrong then. This trigger works. Set deaths of terran marine and see if it's somehow reverting back to displaying unitid:228.
I made the idiotic mistake of accidentally selecting Leaderboard Goal. Thanks, works beautifully now.



None.

Dec 3 2009, 6:45 pm ImagoDeo Post #29



Quote from rockz
You can't use trigedit, you have to use starforge or classic trigedit.
Code
    Leader Board Kills("", "Invalid Unit");

The "Invalid Unit" will be replaced with UnitID:228 when you use trigedit. If you want to display something other than marine deaths, you have to use classic trigedit and enter the following in the unit:
ID:487
or whatever number you want. The ID has to be capitalized or it won't work. You also can't go back into trigedit, or else it will replace unitID:487 with "Invalid Unit" again, and it will reset back to UnitID:228 when you recompile.

You can also use starforge, but you have to edit the actions.lst file to number number under the action leaderboard kills from unit unit.

So I would have to put the leaderboard in last, or use the classic trigedit for every single remaining trigger in the game after the leaderboard trigger was in?

That seems a bit inefficient to me.

I'll keep it all in mind, though.



None.

Dec 3 2009, 6:47 pm Kaias Post #30



Quote from ImagoDeo
Quote from rockz
You can't use trigedit, you have to use starforge or classic trigedit.
Code
    Leader Board Kills("", "Invalid Unit");

The "Invalid Unit" will be replaced with UnitID:228 when you use trigedit. If you want to display something other than marine deaths, you have to use classic trigedit and enter the following in the unit:
ID:487
or whatever number you want. The ID has to be capitalized or it won't work. You also can't go back into trigedit, or else it will replace unitID:487 with "Invalid Unit" again, and it will reset back to UnitID:228 when you recompile.

You can also use starforge, but you have to edit the actions.lst file to number number under the action leaderboard kills from unit unit.

So I would have to put the leaderboard in last, or use the classic trigedit for every single remaining trigger in the game after the leaderboard trigger was in?

That seems a bit inefficient to me.

I'll keep it all in mind, though.
You would need to redo the trigger that sets the leaderboard in classic trigedit every time you compiled and saved in the textual trigedit. That is all.



None.

Dec 3 2009, 6:54 pm NudeRaider Post #31

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 Kaias
You would need to redo the trigger that sets the leaderboard in classic trigedit every time you compiled and saved in the textual trigedit. That is all.
bad enough.....




Dec 3 2009, 6:59 pm ImagoDeo Post #32



Quote from NudeRaider
Quote from Kaias
You would need to redo the trigger that sets the leaderboard in classic trigedit every time you compiled and saved in the textual trigedit. That is all.
bad enough.....

Just what I was going to say.

EDIT: Ok, one question. How do I actually enter UnitID:435 into Classic TrigEdit?

Edit2: Right, thanks.

Post has been edited 2 time(s), last time on Dec 3 2009, 7:27 pm by ImagoDeo.



None.

Dec 3 2009, 7:22 pm NudeRaider Post #33

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

ID:435

EXACTLY. Uppercase, no Unit, and no spaces. And finish with [Enter], instead of clicking somewhere.




Dec 3 2009, 7:30 pm Kaias Post #34



Quote from ImagoDeo
Quote from NudeRaider
Quote from Kaias
You would need to redo the trigger that sets the leaderboard in classic trigedit every time you compiled and saved in the textual trigedit. That is all.
bad enough.....

Just what I was going to say.
Bad enough if it is an essential part of your testing, but for occasionally enabling it in various points of testing it is fine. I've just made sure it was known in the Final Call for ScmDraft Thread; hopefully it can be rectified soon, though SI doesn't like to touch TrigEdit.



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: Ultraviolet, 2miac383rL1