I was looking at the discussion apos was explaining. I didnt quite understand what he did exactly. Did he just put disabled starports over a vital area in the game so only hackers would be able to click on them and crash?
Yes, basically. Only hackers would be able to see the Starports; other players wouldn't notice a thing. When they click on a Starport, selection detection kicks in and you can drop the player from the game.
ANYWAY
I decided to do a bit of testing and found some addresses that seem to only be modified when certain hacks are injected into SC. Here they are:
ADDRESS EPD VALUE WORKS FOR
0008CC10 -1308117 576520 Epicsauce.dll, Oblivion.dll, Drophack.dll
0008A990 -1310325 28 Drophack.dll
0008A6A8 -1310511 569200 Oblivion.dll
0008A9EC -1310302 65535 Oblivion.dll
(All addresses above appear to have the value 0 when hacks are not injected).
So what does this mean? Well, for the address 0x0008CC10, it appears that injecting various hacks causes the value to change from 0 to 576520. So if the hacker is using Epicsauce and/or Oblivion and/or the plain Drophack injection, this address will detect them of hacking (P.S.: Epicsauce and Oblivion are unstable and often crash SC if you try running them together, but I did it anyway to verify the value doesn't change from the combination). I'm theorizing that this address is related to custom commands (i.e. typing "/drop X" to drop a player), but this is just a guess. Regardless, the EPD should work just fine to prevent hackers of any sort. If your interest is to only prevent Drophackers, and you don't care if the player has Oblivion or Epicsauce, you can use address 0x0008A990, which seems to be only affected when Drophack is injected. Now, I only tested combinations between these three hacks, and other hacks may change the values of some or all of the addresses listed above. If you want to play a more aggressive/risky card, you can use "At Least 1" instead of the exact value, since these addresses seem to only be changed from 0 when something is injected into SC. While it is not necessarily safe to assume these values will always be 0 for non-hackers, it seemed to be the case in my experiment.
TL;DR: Add this trigger to your map and it should protect against the most popular hacks out there (the defeat action will cause desynchronization, so even if they have a stay-alive hack, they'll drop from the other players immediately):
All PlayersMemory at Death Table + -1308117 is exactly 576520End scenario in defeat for current player. SCMDraft text trigger
Trigger("All players"){
Conditions:
Memory(4293659179, Exactly, 576520);
Actions:
Defeat();
}
//-----------------------------------------------------------------//