• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

[Trigger] Would this work?

Status
Not open for further replies.
Level 17
Joined
Jun 17, 2007
Messages
1,433
If I used a trigger comparison to prevent others from editing my war3map.j file? E.G. on initialization i had a trigger to look like this:

  • Initialization Check
    • Events
      • Map initialization
    • Conditions
      • Initialization <gen> Not equal to Initialization Copy <gen>
    • Actions
      • Player Group - Pick every player in (All players) and do (Game - Defeat (Picked player) with the message: Defeat!)

So it would check to compare 2 exact triggers(It would require a copy of every single one of them), and if one of them was altered it would defeat the players. Better yet it could look like this: Initialization Check
  • Events
    • Map initialization
    • Conditions
      • Initialization <gen> Not equal to Initialization Copy <gen>
    • Actions
      • Trigger - Run (This trigger) (ignoring conditions)
(To stop the removal of call CustomDefeatBJ)
 
Level 6
Joined
Mar 2, 2006
Messages
306
bad news is, you can't compare triggers by contents. sorry.

there is no simple and functional anti-hack protection. you can not prevent people from editing your map script and repacking it back inside, but if you can make it that they can't successfully hack it in 30 or 60 minutes, you probably won. nobody will spend entire day trying.

optimizer is a must but it usually isn't enough.

try to obscure string and integer constants (create them when needed from parts), mess up init function or make a fake one. instead of comparing strings, compare hash values or rawcodes.

detect people typing "-gold ###" and defeat them (after a random interval and with no text message; also dont use that event string as a constant - you don't want that check easily found) or much better, substract the gold; make multiple such checks differently formulated, in different parts of the script.

and don't stop there. imagination is your best bet against those people.
 
Last edited:
Status
Not open for further replies.
Top