wc3edit.net

United Warcraft 3 map hacking!
It is currently March 19th, 2024, 7:24 am

All times are UTC




Post new topic Reply to topic  [ 4 posts ] 
Author Message
PostPosted: March 31st, 2020, 7:17 pm 
Offline
Junior Member

Joined: October 10th, 2019, 6:32 am
Posts: 36
I have tried many maps with auto cp features, and most of those that work with auto cp are only NUZAMACUXE's Cheat Pack that works with a ratio of 85% / 100% compared to MIX JJ + FAI + SSGUY / FuKKi with a ratio of 80% / 100%.
if using manual editing, some cheat packs look good for everyone.

maybe the advantage of NUZAMACUXE lies in the global & main function

global
Spoiler:
// globals
hashtable nzHash = InitHashtable ()


main function
Spoiler:
// function main
call nzInit()

sorry before I did not have the slightest mention of another cheat pack, this is just in my opinion, if it violates the rule please delete the posts, and give me a warning.

Dear wc3edit.net


Top
 Profile  
 
PostPosted: March 31st, 2020, 10:31 pm 
Offline
Junior Member
User avatar

Joined: June 25th, 2017, 6:32 pm
Posts: 40
Location: כדור הארץ
Title: {◕ ◡ ◕}
Yes. You are right. :thumbsup:

NUZUMACUXE CP is one of the best cheat packs that I have ever seen.

I think you should add a poll to this post.


Top
 Profile  
 
PostPosted: April 7th, 2020, 3:55 am 
Offline
Also Not an Admin, but closer than devoltz
User avatar

Joined: February 14th, 2018, 5:35 am
Posts: 1791
Title: Just Another S.Mod
All-in-all, auto cp isn't good. It's better to insert cp's manually.

NZCP just got updated with new commands. Take a look: post205457.html#p205457

It's better than ever.


Top
 Profile  
 
PostPosted: April 12th, 2020, 7:59 pm 
Offline
Super Moderator

Joined: February 3rd, 2009, 11:28 pm
Posts: 2394
The thing that generally will make auto-cheatpack programs fail on a non-corrupt archive is either edge cases, or collisions. I'll explain both.

Collisions

This is a pretty simple anticheat.

Let's say one of the variables we need to add is:
string activator = "-wc3edit.net"
Assume this line exists in JJCP.

A mapmaker can simply go in and add this line to the map
handle activator
(for example.. doesn't have to be handle.. the name is what matters)
Now when you add your cheatpack, there are 2 variables named activator. This leads to a syntax error.

It seems that nzcp is better designed to limit collisions - and it's just less known right now so fewer mapmakers intentionally defend against nzcp specifically.

The solution? Scramble the variable/function names before adding. It's hard to do manually but easy to do with a program!

Edge cases

From a programming perspective, think about how you locate each of the segments you need to add code to.
You find "globals", add a section right below it.
You find "endglobals" add a section right below it.
You find "function main" and add a section right below it.

Seems simple enough, right?
Nope.
This approach immediately fails because of locals section in the function main. So you need to find the last local and replace after it. Now this approach will work for some maps, but let's say a mapmaker does the following:

"function main2 takes nothing returns nothing"
Now your auto cp program locates this function instead and adds code to the wrong method. And it fails.
So we adjust it using some regular expressions:
"function main takes .* returns .*"
And it works!

But now they add the following code:
"// function main takes nothing returns nothing"
It's a comment, but our program locates it and fails. Oops. Now we adjust regex again:
"^function main takes .* returns .*$"
But now it fails to locate an actual function main that looks like this:
"function main takes nothing returns nothing // main method"

And this is just one single example. This is every piece of code that you need to add.
Hopefully this makes people understand a few of the struggles that go into auto cp and why none of them work very well.

Now, what is the solution? The solution is an abstract syntax tree. Once you have parsing done, all you need to do is walk the tree and merge code. Once again the parsing is the hard part but we have enough example war3map.j files where we can locate edge cases. No one has done it yet but stay tuned on that.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 4 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 21 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group

phpBB SEO


Privacy Policy Statement
Impressum (German)