Advanced JASS Tutorials?

General talk about editing, cheating, and deprotecting maps.

Moderator: Cheaters

User avatar
Ozzapoo
The Flying Cow!
Posts: 2196
Joined: November 2nd, 2007, 10:34 pm
Location: Melbourne

Re: Advanced JASS Tutorials?

Post by Ozzapoo »

It's hard/annoying to make a map nested with ExecuteFuncs, and furthermore you can't pass parameters directly, so having lots of global variables isn't a good idea either..
Visit Ozzapoo.net, my blog and the home of AutoCP and Cheatpack Detector!
AutoCP3 now available for free!
User avatar
Risen
Forum Staff
Posts: 811
Joined: January 1st, 2008, 12:58 am

Re: Advanced JASS Tutorials?

Post by Risen »

I so agree with ozzapoo on that one, There's plenty of other antihacks.
Image
Wanna learn to hack maps? --> Guide
storyyeller
Senior Member
Posts: 178
Joined: February 15th, 2009, 9:08 pm

Re: Advanced JASS Tutorials?

Post by storyyeller »

Risen wrote:
storyyeller wrote: How to write unmaintainable code, JASS edition

Make sure every function is called with ExecuteFunc
Use global variables for everything

As a bonus, if they try to rename any of the functions to a meaningful non-obfuscated name, the code will instantly break.
This 'Obfusciation' won't work for the majority, chances are, If they actually need to rename a function, They'll just use the JASSDo, Built into RMPQEx.

Oh, if you really wanna be smart, Name some random functions (That won't be called) and set their name as some of JJ's CP functions like... "WaitForString...", Etc.
I'm confused.
It seems like the code would break just as much whether it was renamed by hand or automatically
User avatar
Aero
Forum Staff
Posts: 829
Joined: January 28th, 2007, 8:10 pm
Title: JASS Programmer
Location: Canada

Re: Advanced JASS Tutorials?

Post by Aero »

No, it won't break the same way.

Automatic optimizers rename executefunc calls too.
As long as you rename the function plus any references to it properly, it won't break.
storyyeller
Senior Member
Posts: 178
Joined: February 15th, 2009, 9:08 pm

Re: Advanced JASS Tutorials?

Post by storyyeller »

And thats why you use complex functions to construct the strings instead of string literals or whatever.