Google Translate:

Script by 3ICE.




  • 23Nov

    Protecting Warcraft III maps:

    Protecting means damaging a Warcraft III map in a way that the World Editor can not, but the game can still read, load and play it. The editor uses a lot of extra files and headers that Warcraft III doesn't need. You can safely delete them and still play the map.

    Map protection might keep newbies from opening your maps in the world editor, but as long as Warcraft III can open your map, it is wide open for an expert user. (3ICE: Like me!)

    Vexorian's Map Optimizer:

    This is the best available map protecting tool to date.
    Download: WC3MapOptimizer5.0 (438kb, zip) (or visit original website for latest.7z version)

    How to use:

    Open Your Map
    Open your map in the Optimizer

    First, open your w3m or w3x map file in the Optimizer by clicking on the Open button and then locating it in the dialog.

    Locate War3Patch.mpq
    Locate War3Patch.mpq

    If this is your first time using the Optimizer, you'll have to locate the War3Patch.mpq file which is required for safely obfuscating your map script.

    Settings and Save
    Check all checkboxes and Save

    All checkboxes need to be checked, even the one that isn't automatically checked by the Check All feature. Proceed by clicking Save, typing in a new filename for your optimized version (I usually append " -opt" after the map's filename, like 3ICE's Demo Map -opt.w3x) and watching the Optimizer bring down your map's filesize by 20%-80%.

    That was it! (This tutorial ends here, unless of course you are interested in how the Optimizer works, what it does, how and why, and what else you can do to prevent others from opening your map.)

    Deleting editor-only files:

    (The Optimizer does this automatically)
    You can delete the following files from your map to make it unopenable. (Their contents are stored in a file called war3map.j too. Only the editor uses these files, the game uses war3map.j)

    • war3map.wtg - triggers (GUI form, not used ingame)
    • war3map.w3c - camera
    • war3map.w3s - sounds
    • war3map.w3r - regions
    • (there are more)

    The above four files are only used by the editor. A missing or alternated version of them will cause the World Editor to fail loading the map.

    To be able to delete/move/modify files in a Warcraft III map, you will need to download an MPQ editor, like WinMPQ.

    Modify war3map.wtg:

    (Can't be used together with the Optimizer)
    This serves as an extra kick in the face for people trying to open your map. Download this war3map.wtg file and import it into your map with an mpq editor, overwriting the original one. Then delete the (Attributes) file from your map to prevent it from crashing.

    Result: All trigger functionality will disappear the next time your map is saved by someone! This is a perfect protection and a nice effect too. Prevents map rigging and displays a "This map is protected" message instead of your triggers. (Don't forget to create a copy of your map so you can keep editing it.)

    Hiding the war3map.j file:

    (The Optimizer does this automatically)
    Regular map files contain the war3map.j file in the root directory. But a map still works if the file is moved into a directory called "Scripts\". Older versions of map unprotector software and most listfiles do not have the "Scripts\war3map.j" entry.

    Scrambling the war3map.j file

    (The Optimizer does this automatically)
    Rename all variables and function names with random numbers and letters. This renders the war3map.j file very hard to read by normal people. (Even if they know JASS!)

    Pros of protecting:

    • Keeps newbies from opening and altering your map. Some people have been known to seriously rig the game in their favor, or edit your map and claim it as their own.
    • The map becomes smaller. (Trimming down the file size by 30-50% is quite common. My record is 80% compression!)

    Cons of protecting:

    • Other people cannot learn from your map, thus you are hindering map development.
    • Blizzard encourages people to open other maps to learn. Shouldn't prevent that.
    • You can accidentally lose the original map. (Can't work on the protected ones!)
    • No matter how well you protect a map, there are people who can still open it (3ICE: Like me!). If Warcraft can read the map, anyone can (if they know how).
    • As there are map protectors available for download, so are various scripts for unprotecting them.
    • Even if you delete the GUI triggers from a map, the JASS format of them are still there (and required by Warcraft III).

    MPQ editors:

    You will need an MPQ editor if you chose not to use Vexorian's Map Optimizer.

    Appendix - Deprotecting/Unprotecting protected maps:

    People who read tutorials on how to protect maps are not yet ready for unprotecting them. But all it really takes is reversing the effects of map protection or using programs that do it automatically.

    There is a very nice, command line based Russian program called xdep. I used it for hacking some rpgs (getting myself a max lvl, 9999 all stats, best items equipped hero's savecode) only for fun. I have hacked TBR, Defi4nc3, COT and pe0 the day they came out. I do not play on my hacked characters, it's only for showing off.

    Once you have opened a protected map, you will find a huge wall of text instead of triggers. That is the map code, it's in JASS. All triggers are in there, somewhere. You can not access the GUI triggers in a protected map unless you manage to restore the war3map.wtg file, which is nearly impossible. You may, however, add triggers under, or insert JASS functions directly into the map code. I will deprotect anything for cash.

    Note - My stance on map protection and deprotection:

    All my released maps are protected, even though I don't feel it's right. But since I like to keep map size down I must delete war3map.wtg and obfuscate war3map.j thus protecting my map. I used to offer unprotected versions for download, but many people rigged them, so I no longer email maps to anyone who asks.

    There is nothing I would need to open a map for, but this is not the case with other people. Most map makers don't know everything yet, so it is important for them to be able to open maps in order to learn. I make a lot of tutorial maps to teach proper mapping techniques. All systems developed by me are available for download too.

    Deprotecting a protected map is just wrong. If someone wants to hide his triggers then it is his decision and we must respect it. Cracking a map open is unethical behavior. It's even worse if you release such unprotected maps publicly, making it available to riggers. Hacking RPGs to show off is okay with me. I do it too.

    Update - Damaging the MPQ headers (For advanced users):

    The first four bytes of the map hold the filetype-identifier (usually "HM3W"). We'll leave that and the next 508 blocks alone. The next four (4th, 5th, 6th and 7th) bytes always hold hex: {0×00 00 00 00}. The following 508 bytes hold the map name, some data with unknown purpose, some more nullbytes and then finally, after byte 512 the MPQ file begins with "MPQ " and hex {0×20 00 00 00} Which is actually another (but smaller) header, and we can damage it:

    Leave the string "MPQ " alone, and change hex {0×20 00 00 00} after it to hex {0×33 49 43 45} (We are at byte 516 now) and MPQ extractors will fail to open the map. Warcraft does not look at this information, so your map will be still playable. This method effectively crashes most deprotector scripts and programs, but any knowledgeable user can reverse the effect within seconds so it'll only help against beginners (People who don't know about this header corruption method).

    Posted by 3ICE @ 12:41 am

590 Responses

  • DH_Maker Says:

    Cool, I always wanted to protect my maps!

  • 3ICE Says:
  • Zoltee Says:

    i love this site, useful tutorials with warcraft 3

  • Zoltee Says:

    i bookmark this…

  • [MMH]Mod Says:

    thanks for the tut
    easy 2 read
    easy 2 understand

  • Tasper Says:

    3ICE, when I click on the Vexorian's map optimizer download link, it gives me an error. Can you upload the file to your website? Or can u link a mirror page where I could download it?
    Thanks 3ICE nice guide. Number 1!

    EDIT by 3ICE: Fixed grammar and language.

  • 3ICE Says:

    Yes, is sometimes down.
    Mirroring the file would require asking for permission from the author (Vexorian). But I'm sure he wouldn't want it. I don't know of any legit websites that are actively mirroring the latest version. Wait a few hours and try again.

    Edited by 3ICE: (Update) Yes, I have been mirroring the download for a while now.

  • 3ICE Says:

    Updated! I added a tutorial on how to work the Optimizer: (Scroll up)

  • Sylvano Says:

    Hi there would you be willing too give lessons on how to unprotect certain WC3 maps qoz me and a few of my buddies love rpg maps but some times we want too use those original maps and change the models with our own balanced heroes it takes too long too make new maps everyday and we dont play on Bnet but we rather play local at our home LAN our intensions are not too rig the games and or copy or beter on them or post them but just change them for our own enjoyment please email me at (removed) TY…..

    Edited by 3ICE: Hiding e-mail address…

  • 3ICE Says:

    Congratulations on completely ignoring my opinion on map deprotection.

    But as I said in the article:

    I will deprotect anything for cash.

    By the way how to unprotect maps is explained here.

    p.s.: Are you willing to learn JASS? Hacking is only for programmers. This is a strict rule. No programming → No hacking.

  • bounty Says:

    Hey 3ICE, could you explain me how to Damage the MPQ headers?
    Do i need to open my map with notepad or what? Please explain it :).


  • 3ICE Says:

    Use a Hex Editor and keep backups of your map. You will most likely break it for the first few tries.

  • bounty Says:

    Yeah but i cant understand :( could ya explain with screenshots?

  • 3ICE Says:

    No. That part was not written for you.
    Notice how it says: "For advanced users". That's obviously not you.
    So just don't do it.

  • Serbian Says:

    Having trouble unprotecting island defense. Could you do it for me and give me a link to unprotected version? It would be really great if you did and it would only take you 5 minutes.

    Btw… not trying to rig, trying to learn

    EDIT by 3ICE: Merged doublepost.

  • 3ICE Says:

    You don't even know JASS, so what would you learn from obfuscated code? Nothing!

    Pay and I will do it, otherwise my answer is a no.

  • Ultimate_Loop Says:

    3ICE cool site! I have some questions about map making… I will post them at your forum.

  • Filip Says:

    Hey! Can you help me open a protected map?

    I'm not an advanced user in triggers but this map is very nice and I really want to open it and see some things from editor… please help me! :)

    Edited by 3ICE: Only fixed one apostrophe, one article and one capitalization. Finally a good comment. :)

  • 3ICE Says:

    As stated in my post: "I will deprotect anything for cash." So cough up 5 dollars and we can talk.

    Proof that I unlocked the map: WoW Risk in my Editor.jpg Edit: See below.

    The file World of Warcraft RISK v2.84 DEPROTECTED BY 3ICE.w3x is 1.3 MB big, but reportecting brings it down to 800kb again.

    Delivery upon payment to your email address. The file will be attached as a zip archive containing the deprotected map and all imported files within. And I will also upload it to a file sharing service of your choice. Redistributing (even resell) rights granted.

    Edited by 3ICE: Fuck imageshack for deleting all old images without notice. I managed to get a backup of this particular screenshot from a content thief (they don't deserve a backlink). I commented over there this though:

    Hey content thief, that's my screenshot. You had no permission to use it. Thank you for stealing it by the way, as I've lost all copies and was able to steal a copy of it back from you. Unfortunately the quality here is far worse than that of my original was…
    –3ICE (I took that screenshot)

    WoW Risk in my Editor

  • theorchero Says:

    Hello 3ICE, would you be willing to deprotect a map for me? It is called Island Defense, although it has some pretty steep protection, If possible I would like the triggers in GUI, I'm not yet very proficient in JASS at the moment, and I feel the map is going to shit, so I have a friend who is a more experienced editor who would like to help the map out (I AM willing to pay you if you want, though I know you will, lol)
    P.S. I tried the best on grammar, because I noticed you are pretty picky on that note :)

    Edited by 3ICE: Fixed spelling of "profecient", "experianced", "grammer".

  • 3ICE Says:

    Island Defense was written in JASS. Protected maps do not have any GUI triggers left in them even if they were made in GUI. Protection deletes war3map.wtg as you can clearly see above.
    And Island Defense has a very strong map maker base, so it is not "going to shit" anytime soon.

  • theorchero Says:

    Do you actually play Island Defense?
    Pandamime (Wall.Up) or whoever the hell it is, IS fucking up the map.
    He took away tomes, nerfed perfectly balanced builders for no reason,
    plus, he's a control freak on his own site.
    Could you be willing to restore "War3map.wtg"?
    How much do you ask, by the way.

    Sorry for double post, but I accidentally pressed submit before I wanted to lol. If you feel that you don't want it edited, could you make it read-only (so that I could at least learn from it :P)?

    Edited by 3ICE: Merged your doublepost, added some <br>s to make answering easier, added "I", fixed spelling of "accidently".

  • 3ICE Says:

    Yes, I do.
    No, he isn't. (Well, okay, maybe he is…)
    So what? Play an old version that you like.
    But being in control feels good. Can't blame him.
    No, war3map.wtg can not be restored, as it was deleted from the map.*
    I don't have any set rates, I usually ask for a minimum of 5$.

    *Restoring a deleted war3map.tgs is only possible with several months of non-stop work and reverse engineering. I would rather not torture myself with stuff like that.

    And as I said above, the map was actually written in JASS, so even after restoring the so-called triggers, they would still be JASS, and not GUI.

    Hand written JASS can not be translated back into GUI, because JASS has tons more functions than GUI.

    For example in GUI, there are 2 functions for writing text on the screen, but in JASS there are at least 6. (DisplayTextToForce(), DisplayTextToPlayer(), DisplayTimedTextFromPlayer(), DisplayTimedTextToForce(), DisplayTimedTextToPlayer(), and BJDebugMsg())

  • theorchero Says:

    Very well, my friend can read JASS, so it'll be ok. I'm in the process of learning it, so it'll help either way. Deprotect it asap. 10$ sound good? (Btw, what payment method do you prefer, is Visa Debit ok?)

    Edited by 3ICE: Capitalized "very", added a question mark.

  • 3ICE Says:

    Consider it done.

    But first, please provide a link to the version you would like me to deprotect. There are too many different authors and spin-offs: Yacapo, Dildamesh, Panda, Darox, Sidd, Wall.Up, etc…

  • theorchero Says:

    Ok. mapgnome,org/map-download/346631 is the map. How do you want me to pay you? Is there a donate button somewhere?

    Edited by 3ICE: RIP mapgnome :( It's a spam site now.

  • 3ICE Says:

    Yes, there is one in my signature on my forum. Here is a copy:

    Donate to 3ICE via PayPal

  • theorchero Says:

    Ok. Payment on verification of deprotection, Delivery by email please.

    Sorry for double post, but paypal is giving me issues. Is there any other way for me to pay you, without going through paypal?

    Edited by 3ICE: Merged doublepost.

    Sorry, just delete previous comment. Use the "request money" function on paypal, and send it to my email (should be visible to you, if not, let me know) and I will pay it.

    Edited by 3ICE: Merged triplepost, request money sent.

  • 3ICE Says:

    Proof: Island-Defense in my Editor.jpg

    The file Island-Defense.3.0.3d DEPROTECTED BY 3ICE is 2.2 MB big.

    Delivery upon payment to your email address. The file will be attached as a zip archive containing the deprotected map and all imported files within. And I will also upload it to a file sharing service of your choice. Redistributing (even resell) rights granted.

    However, there are two pieces of bad news:

    One, I have no means of receiving payment except through PayPal. (Also, we should call it "Donation" as I do not wish to pay tax after 10 dollars.)

    Two, the map code is heavily obfuscated. Every variable name consists of the same three characters; I, O, and 0.
    Example: IOOII, IOOOI, IOO0I, IO0II, IO0OI. Also see screenshot:
    Obfuscated JASS code
    This kind of obfuscation is pretty scary, because it takes weeks to rename every variable to something that is more meaningful. (There are scripts for automating the process, but they are not that helpful. In this case sound IIO00OIOI0=null would turn into sound global_sound_variable_12=null.)

  • theorchero Says:

    Damn. I have to "activate" my paypal account, with either acquiring a paypal credit card or with a bank account, and I don't have one. Any in-direct ways to pay? I'm willing to cover any tax.

  • 3ICE Says:

    Not that I know of :(
    And I like to keep my money in one place (PayPal), so other payment services won't work.

  • theorchero Says:

    damn. This is a REAL pain in the ass. There's got to be some way D:
    Is there a way to pay directly to your bank account? If all else fails, hell, I'll pay for a WoW subscription or some crap.

  • 3ICE Says:

    I agree.
    No, I don't even have a bank account. PayPal sends me real money.
    I don't play WoW.

    Strange thing is, my PayPal account is not activated either, but I can still send or receive money. (Although there is an annoying limit of 500$/month on unactivated accounts.)

  • theorchero Says:

    O have a limit of 0$, lol assholeish service -.- I was walking about any subscriptions of a game i could pay for as a gift card or w/e

  • 3ICE Says:

    I don't play any games :)
    But I will try Starcraft2 when it comes out. Just to support Blizzard with my purchase.

  • theorchero Says:

    sorry for double post, but apparently i have a SENDING limit of 0 D;
    i'm in the process of googling ways to pay; let you know of any results..

  • 3ICE Says:

    My sending limit is 500$. Receiving has no limits whatsoever.

  • theorchero Says:

    Pay pal is being a bitch. You are the most anti game gamer i've ever seen lol.
    or i coukd just give u billions of gold in battlenet =D
    (sorry for the trouble D:)

  • 3ICE Says:

    I'm not a gamer. I never tried diablo, other games don't support giving gold.

  • theorchero Says:

    lol the "giving gold" was sarcasm. I hate this situation… Could I just mail you cash? (it'd take forever, but at least you'd get paid for your work…)
    P.S. This anti spam filter gets me every time :(

  • Pandamime Says:

    Can you deprotect a version for me too, I lost my copy.

  • 3ICE Says:

    Deprotect a version of what?
    "me too"? Who else?
    You lost your copy of what?

  • Striker Says:

    Excellent read.

  • AoW_Hun7312 Says:

    ^ vouch.

  • Garthummn Says:

    I give a 10 of 10 on the gnarly scale.

  • anti-noob Says:

    u can deprotect maps tht r protected by a map protector like this map protector and hack teir map s right….
    because for me i can deprotect a map useing dep

    Edited by 3ICE: This is the worst comment I have seen yet. Your spelling disgusts me.

  • 3ICE Says:

    Dear reader!

    If your message looks anything like the above, you might not want to click the "Submit Comment" button just yet. If you do, then I will hit the "Delete Comment" button just as fast.


  • Coaster_Man Says:

    Well that was a nice read. Heh, I tried to deprotect Island Defense too but I can't read JASS anyways. :( Oh but I did happen to get an older version of it so that's good but its got old races and it has already been changed. :/ Haha Pandammime…lost your copy…
    P.S. I hope my grammar was good I did the best I could. :D

  • Balla shakala Says:

    Hey does this work on macs?

  • 3ICE Says:

    Stupid question.

    Try it!

    And go read about emulators. Apparently you have never heard of them. They are very useful.

    I am sure most applications can be run on every platform. There are emulators for every os today. (Win on Mac, Linux on Win, Mac on Win, Linux on Mac, Mac on Linux, Win on Linux… all possible.)

  • Flarbin Blarbin Says:

    I don't know if you can, but where it says 'AUTODETECT', can you add more detail to the tutorial or possibly tell me what the other options mean in that drop-down box? I know that I can reduce the map to whatever size I want, but will it affect game quality or what?

    What is the best one to use? I see one that says (Blizzard) but can't make out the other half. Would that be the best to use to size it down?

    One more thing I want to ask, when I use the default settings listed within the entire tutorial (including AUTODETECT) and I optimize my map, it only reduces the size to 3.5%, which is not much. My map size is nearly 2.5 Mb. How are you getting 20% to 80% reduction and I am not? Could you explain how I can lower it more than 3.5%? By the time I was done, I only saved 85 kb…

    Edited by 3ICE: Merged doublepost, removed useless sentences, reworded questions, reordered commas and apostrophes.

  • 3ICE Says:

    Of course. (But I won't put this in the article itself, because it is too long already.)

    Reducing the size to 3.5% is HUGE! A whooping 96.5% reduction. Are you sure you worded that right? Doubtful. "Reducing by 3.5%" is how you should have put it.

    Anyway, the reason why I left it at AUTODETECT, is because it is supposed to be left at AUTODETECT. Study the readme that comes with the program and you'll find out about all the useful things AUTODETECT does.

    Are you using wav files in your map? Get rid of them! (Wav files are not compatible with the optimizer, because Vexorian hates them and so do I. Mp3s are way better, due to them being compressed.)

    Are you using imported models or mp3 music? Get rid of that junk! The real value in the map is not about the stupid music in it or the ugly bugged models. People listen to their own music while playing. I bet 99% even has war3 music disabled like I do. And not many people care about custom models. If they are overused, it is just annoying.

    The reason why my maps are optimized so well, is because my maps are about the triggering. JASS is text, it can be zipped very effectively.

    Data that is already compressed (mdx/mp3 files) will not lose much of their size during optimization.

    Edited by 3ICE: I removed your last 3 comments as they had no value (but were quite lengthy!) Please realize that the first two paragraphs were intended to be sarcastic, and that there are more timezones on Earth than your own. I happen to be in GMT+1, you are probably in UTC-5 (Based on your IP address, you are a citizen of Homosassa, and live in the state of Florida.)

    Edited by 3ICE: 2 more comments removed. Please stop!

  • Martin Says:

    i opened the map in a hex editor but when i try to open it with mpq master it opens as if i have never done anything to it :S

  • 3ICE Says:

    As I already said, corrupting the header is easily reversed. MPQMaster can do it.

  • Martin Says:

    oh… ok thx ^^

  • Sneakonyou Says:

    I could give you the BS "I'm a new map maker help me by deprotecting something" But I'm not going to :O.
    I'm trying to deprotect something that is way over my head (I think) and it may be a challenge for you (maybe) well anyway-The map I wish to be deprotected is Metastasis (current version is 1.3.8) I want to screw around in LAN with a few of my buds. I'm willing to pay (A bit broke but willing to pay). So anyway contact me at nexon.****@*****.com if we have a deal.

  • 3ICE Says:

    I hid part your email address so should spambots find my site they won't pick it up. I also sent you an email asking you to give me more details.

  • Seeyabye Says:


    Just wondering, since you have mentioned the MPQ Header corruption, what is the other method of corrupting it completely where MPQ Master can never open it? What is it called and can you briefly describe how it's done?

  • 3ICE Says:


    Sorry I can't help you with that as I don't know the answer. Though Google might… :)

    p.s.: Just because MPQMaster can't open the map, other tools will. MPQMaster is not even the most popular tool, WinMPQ is.

    Edited by 3ICE: UPDATE: I now know the answer, though I won't name it just yet. Know that I have determined it to be a really creative method. Looks like it is unique. A clever, tiny piece of code, written in python by a member (or several members?) of the wc3edit hacking community. I spent some time on decompiling the executable (turns out you need to have the exact (now considered ancient) version of python that was used to compile it) and then I studied the reconstructed source code for a few minutes to determine what it does, and how clever it is. Turns out it's very clever. But I'm keeping the method and its name to myself for now, as it is a paid tool, protected by copyright law. I dare not illegally open source it while the copyright protection lasts. Here is an md5 hash pair as proof/hint: && db2ec8628694cab3cffc8840673d5877

  • AnAngryCustomer Says:

    I tried this out, because making it so nobody could get into my games would be cool. So, I followed the instructions and it didn't work. Then I try to launch WarCraft III TFT and that doesn't work… What gives?

  • 3ICE Says:

    Either you have an outdated version or you did something wrong.

    Edited by 3ICE: I seriously hope you didn't attempt to optimize war3.mpq itself! Do not do that…

  • Kanxion Says:

    even if i use this map optimzer and protect my map and my map still can be open by people?

  • 3ICE Says:

    Of course.

    There is only one way to protect your map perfectly: Delete it!

    Every other method has flaws.

    As long as Warcraft 3 can open the map and load it, anyone can do the same with some work.


    p.s.: Your English sucks!

  • duckne55 Says:

    i feel RMPQEx.exe by D07.Riv is a better MPQ editor.

  • 3ICE Says:

    And I have to agree.

  • Kanxion Says:

    No matter what method I used to protect my map it's still openable.
    Do you make RPG maps?
    How do I make a starting position without a town hall appearing like in some other RPGs?

    Edited by 3ICE: My god, did this post suck! Please learn to spell.
    useI used
    to portectto protect
    …stil open-able!!! lolz! do you…Start different thoughts on new lines!
    do youDo you
    …map? how i…Learn to use paragraphs!
    + do
    makmake a
    startlingstarting (Are you trying to be scary!?)
    townhaltown hall (Never seen it misspelled this bad…)
    like somelike in some
    rpg'sRPGs You are worse than an illiterate peasant! Greengrocers' apostrophes are incorrect. (Look it up if you don't know what I mean.)
  • Kendoggs Says:

    Oh God!
    I LOVE PEOPLE LIKE YOU. You are just like my English tutor, so dam crazy about spelling and grammar.
    Anyway I was just wondering what is happening when i use Wc3 Map Optimizer on a map i get 2 files (map name).w3x and (map name).j.
    The resulting file is not playable in Warcraft 3.
    Looking forward to you corrections as i suck at spelling and grammar.

  • 3ICE Says:

    Short: The file: (map name).w3x should work in Warcraft 3 without any problems, so I think you are doing something wrong.

    Long response:

    I'm glad people find my grammar enthusiasm entertaining.

    One of the resulting files, (map name).j, should be deleted on sight as it is not useful to you in any way.
    The other file, (map name).w3x, should be playable in Warcraft 3. Make sure it is inside your Maps folder (Usually C:\Program Files\Warcraft III\Maps\).

    Tip: To find the protected map easily, I have a folder called "!" (yes, its an exclamation point) inside my Maps folder. This is useful, because its on the top and also because too long map names or deep folder structures trigger a limitation in Warcraft 3, which makes the map not appear ingame. (I used to have folder structures like "Maps\3ICE's\Work in Progress\3ICE's Fastest Map Possible\3.7\Release Version\3ICE's Fastest Map Possible 3.7.w3m", but war3 didn't like it.)

    So try renaming your map to test.w3x and move it to C:\Program Files\Warcraft III\Maps\!\test.w3x - it will work.


  • iTWilli Says:

    its a really good programm but can you also unprotect other maps?

  • 3ICE Says:

    Yes it is.
    Sure, I can.

  • Benji_9 Says:


    I tried open a map that I think is protected. When I follow the tutorial and make a new map with a different name, and try to open it in World Editor it says: "Level Info data missing or invalid".

    I'd appreciate any help!


  • Goron Says:

    I first tried to use this protector, and it worked perfectly, but after When i tryes to open the map protector inside the winrar it says there is an error and i just can't open it, and when i try to open it outside of the winrar, nothing happens.
    Do you know what do i need to do to the map protector works again?

    by the way, your tuturial is very good, and it helped me a lot, thanks :D

  • derp mc derp Says:

    do you happen to know the what the name of the song in escape shroom world is?
    if not could you unprotect it and tell me for possibly free, due to i'm a poor and lazy bastard who just wants the damn song

  • 3ICE Says:


    There aren't any imported sound files in "Shroom World v2.5 -Protected-.w3x".

    However, the obfuscated map script does have a few lines that contain the word "music".
    I'll list them for you:
    From Trig_Start_Map_Actions:
        set gg_snd_PH1 = "Sound\\Music\\mp3Music\\PH1.mp3"
    From Trig_Lose_Actions:
        set gg_snd_SadMystery = "Sound\\Music\\mp3Music\\SadMystery.mp3"

    Most likely the music you are looking for is this file: PH1.mp3
    Check out to learn more about sounds.


    EDIT: Found a slightly newer version, "Escape Shroom World v2.6". And it does have a 1.7 MB file called in it. I renamed it to BGMUSIC.mp3 and it plays fine in Winamp, but it has no description and without the ID3 tags I can't tell you anything about the author or title. The best I can do is upload the extracted song to mediafire for you to download. Link:

    Hope that helped.


  • 3ICE Says:

    Dear everyone:

    From now on, please post unrelated questions on my forum at (requires registration)
    This blog post is getting hundreds of off-topic comments…
    What falls under off-topic? The blog post is about protecting maps, the comments are all about deprotecting them. Totally different.

    Thank you.

  • Icefrog_123 Says:

    Can you assist me in unprotecting Genesis of Empires 2? The jass text and variables don't add up because new characters are reintroduced in the text in random spots. If you could look at it and give me your feedback. It would be greatly appreciated and respected. I will pay you anything under $3000 and nothing over.

  • 3ICE Says:

    Read and then read it again. …Until you get it.

  • Charles Says:

    Can unprotect the Battle Stadium Don pls make the trigger GUI instead of jass because i can't understand jass ill pay you anything under $100

  • 3ICE Says:

    Sigh… At least read the article before making a comment.

    Especially this part:
    It says, "GUI can not be restored from protected maps!"

    Please also read
    It says, "Do not post deprotect requests here!"

  • Patrick Says:

    Can you extract Admin keys/Activator from a map I will pay?

  • 3ICE Says:

    Yes, I can, for 5$. Sent you an email.

  • Patrick Says:

    I sent you an email please take in mind It took someone over 4 hours to get an older version of the activator.

  • 3ICE Says:

    Over 4 hours? In that case, it might cost twice as much. Time is money :)

  • Ian Says:

    I have a question about replacing the war3map.wtg file.

    Does this mean that people can open and view all the data in your map using the editor and the trigger data is removed when the map is saved next?

    I would like that so people could view triggers, but if they try to save the map after making changes the trigger data would be removed/lost.

  • Anonymous Says:

    Wow this has actually been running for two entire years.
    Well it was a good read, I couldn’t seem to stop, for some reason it was somewhat entertaining.

  • 3ICE Says:

    Dear Anonymous,

    Yes, and actually even longer! :) My copyright notice says 2007-

    Because I write in an entertaining style.


  • 3ICE Says:

    Dear Ian,

    Yes, replacing the war3map.wtg file only protects (and hides) your triggers. All other data (Units, Items, Abilities, etc) remains "stealable". But nobody will be able to rig your map, because as soon as they try saving, all triggers disappear. And what is a map without its triggers? :)

    I know of a method that achieves exactly what you want. It shows triggers as they were, and crashes the editor when the thief tries saving. I couldn't find the tutorial on it so I'm going to have to write this thing off the top of my head. Hope I remember it right… What you have to do is:

    • Save a copy of your map, this will be the "protected version".
    • Introduce errorneous JASS code that crashes the wc3 parser. (See below.)
    • Make sure you hide that code in the middle of a big folder or trigger, because once the code is deleted your map becomes saveable again. Put it in multiple places for best protection.
    • Save, causing your editor to crash.
    • Find the temp files the editor created right before crashing. It should be exactly where you saved, in a folder called YourMap.w3xTemp
    • Use the war3map.wtg file from that temp folder as your replacement. Import it into the copy we saved in Step 1.
    • Done. All triggers will be visible, but your map will crash the editor if they try saving it.


    p.s.: I made you a triple-safe crasher:
    function Crash takes nothing returns nothing
    if GetExpiredTimer()==null then

    Don't forget to rename it. Make it look like a real function.
    It uses three of the many JASS crash bugs I know, and you should run it on map initialization for the third one to kick in properly.
    Crash #1: In-Editor (if with no endif)
    Crash #2: In-Editor (loop with no endloop)
    Crash #3: In-Game (Safety crash. If the editor is ever patched to ignore missing endif/endloop, we will still crash the rigged map, ingame! Because GetExpiredTimer() crashes the game if there are no expiring timers. That's why this should run on map init.)

    Tell me if it worked or not. I might have forgotten a step or a special requirement.

  • very pissed Says:

    sometimes i get when i try to make a map unprotected i get the error out of memorie and when i am done i load the map i get level info data missing or invalid and when i did a map it was seccessful and when i loaded it it did the same error again: not enough storage to procces this command what do i do plz plz plz plz help me

  • Anonymous for obvious reasons Says:

    I have deprotected a map - not to rig it or add cheats, but to make improvements to it that have been discussed for a long time. The map editors refuse to change the map, however, and that's why I have resulted in deprotecting the map myself. I have the knowledge and experience it would take to make these additions, but as you know I can't save the map because it's in JASS and there are hundreds of errors that occur upon saving. Is there a way I can extract the triggers from the protected map, or is there any other way to deprotect the map into a save-able format?


  • Anonymous for obvious reasons Says:

    Sorry, I just scrolled up and saw what you said about deprotection. I will go to the forums.

  • orchlon Says:

    just protected the map and it says THE NEW FILE IS 4.76% BIGGER

  • 3ICE Says:

    That is a common problem if you use wav files. Reason for switching over to mp3: wav is inferior to mp3. And mp3 files are much, much smaller.

  • orchlon Says:

    tnx my map is 5.70% smaller

  • Ian Says:

    I finally got around to testing the .wtg file protection, but it didn't work. I took the .wtg file and replaced it with the one already in the map, but the bad code wasn't there when I opened the map using the normal WE and JNGP. Would JNGP affect this protection method?

  • 3ICE Says:

    Yep, the JASS NewGen Pack prevents the editor from crashing on those simple syntax errors and properly displays error messages like "missing endif", "missing endloop" instead.

    However, it is still possible to crash JNGP with a corrupted wtg file. I just haven't tried making one yet. (My first attempt would be adding an invalid function name with a hex editor. I heard it causes JNGP to freeze until termination.)

    p.s.: Most people who know about JNGP also know how to deprotect maps. Therefore it is best to just obfuscate war3map.j and delete the war3map.wtg file from the map.
    p.p.s.: There are simple to use tools for inserting a cheatpack into any map with one click. No knowledge required, and it does not matter how well said map is protected.

  • orchlon Says:

    one question if jass triggers can be written from the .wtg file why can't it be vice versa

  • 3ICE Says:

    Because it is obfuscated by the optimizer. Obfuscation prevents automated tools from rewriting the GUI triggers.
    Yes, there are tools for reconstructing GUI triggers (the wtg file) from JASS (the war3map.j file), but they only work if war3map.j is untouched.

    And because JASS is more advanced. It has more features than GUI. GUI is a dumbed down version of JASS. It is more user friendly. (Where user means a beginner map maker or someone who has never met a programming language before. If you know how to program, or want to improve, you will prefer JASS.)

  • orchlon Says:

    hey i'm wondering how come there's 3 types of .j files? like 1 gives you a proper introduction like the map name and stuff like that and all the triggers are in their own line with some space between some words and there's something that jumps straight into the triggers and all those triggers don't have much space between themselves and another one has so many triggers in one life and looks like shit. I thought there were supposed to be only 2 types can you explain this.

  • 3ICE Says:

    Check the third image in the blog post above. (

    In the script optimization section (on the left side) we have a lot of choices that control how the war3map.j file will look.

    Type 1 .j file: No optimization at all. This is the default map script the world editor generates. Maps that have this type of war3map.j file are usually not protected. Though weaker map protectors exist, for example one that only replaces the war3map.wtg file with an empty one.

    Type 2 .j file: Light optimization. If you try turning off every option in the optimizer, you will find that the "Remove comments and useless spaces" option is grayed out, you can not disable it. If the map is optimized at all, it will have no whitespace in it for sure. ("whitespace" means useless spaces, like indentation, extra newlines. Whitespace is only needed by humans for readability, war3 skips over it anyway.)

    Type 3 .j file: Heavy optimization. With all options turned on, for maximum protection, the script file is as compressed as it can be. Function and variable names are 1 or 2 letters long. (3 or more if the optimizer runs out of all 2 letter combinations.) Secret/fun fact: The first 8 global variables try to spell out "VEXORIAN" with their names, though it doesn't always happen for some reason. Example:

      integer V=0
      integer E=8
      integer X=4
      group O=CreateGroup()
      real R=3.1
      force I=CreateForce()
      force A=CreateForce()
      boolean N=true

    Type X .j file: You can mix&match the other options and get a slightly different looking war3map.j file. More: For example to get very hard to read results like I posted a screenshot of in comment-223, you can click the "Tweaks…" button. Set "Custom charmap for new function/variable names" to "01IO" and the optimizer will rename every variable and function to a combination of those four hard to distinguish characters. Some not so experienced people might even think its binary (omg hacks!), though it is not. Just random letters and numbers. Downsides: The map size will be slightly bigger (by 1 kb), because we are only using 4 characters instead of all 63. 4 characters are only enough for 4^4 (256) 4 letter long function names, but two of those characters are numbers, so we only get 2*4*4*4 (128) half of that. (Because we can't start valid function and variable names with numbers.) On the other hand 63 letters give us a stunning 63^4 (15 752 961) four letter function names. But lets not forget the ten numbers and the underscore this time. 52*63*63*63 (13 002 444) 13 million possible function names from just 63 characters. (My charmap is "3ICEice_a4Ab8BdDfFg6GhHjJkKl1LmMnNo0OpP9qQrRs5St7TuUvVwWxXyYz2Z".)

  • orchlon Says:

    okay so i guess light optimization is to just prevent from builing the .wtg file i don't get what variables are i mean what's the difference between
    caster=triggering unit
    create 1 footman for caster
    create 1 footman for triggering unit?

  • 3ICE Says:

    Huh. You managed to surprise me there. Having the best equipment available (JNGP), knowing about JASS and map protection, before even knowing the basics of map making.
    You are quite resourceful. I like that.
    You definitely want to read a tutorial on variables before delving into advanced stuff. A new mapper's first couple maps are usually not worth protecting anyway, unless he has a strong programmer background or at least some experience in making games.

    No, whitespace-removing optimization should not prevent the rebuilding of the war3map.wtg file.

  • orchlon Says:

    i did read a tutorial on variables and my brain tells me there's no difference between
    caster=triggering unit
    create 1 footman for caster
    create 1 footman for triggering unit?
    are they just shortcuts to stuff or something? or is it to just hold memory like the special events on x-hero

  • 3ICE Says:

    Please find and read a real tutorial on variables then.

    This blog post is about map protection, which is an advanced topic. It does not look good to have newbie comments like "What are variables?" answered here. I have a forum.

    Variables store data. If you want to use information (like who the caster unit was) later, you will have to store it in a variable first. Common sense dictates when to use triggering unit and when to introduce variables.
    I don't know what an x-hero is, but to properly remove special effects you will need variables. Read a tutorial on memory leaks to find out why.

  • orchlon Says:

    well sorry if i changed the topic this changing the variable names made me curious about variables

  • Noname Says:


    Amusing that {0×33 49 43 45} results in 3ICE.

  • 3ICE Says:

    Haha. Yeah, my name is magical. :)

    But you are right, you can actually put anything there and it will still serve as protection. I just thought I could immortalize my nickname this way. Smart eh?


  • Kenny Says:

    Hi there. Can you teach me how to get around with the map protection of crashing the WE while saving the map? I have deprotected a map, but I have trouble saving it in WE.

    I know this sounds inappropriate as you only deprotect maps for cash. I would appreciate if you can teach me on that. If not, I apologise for the intrusion on your webpage. =/

  • 3ICE Says:

    Check out #comment-458. It tells you how to make the editor crash upon saving. Then simply reverse the steps (do the opposite) and the crashes will stop.

    What error messages does the editor display when it crashes?
    If you show me a screenshot I might be able to identify and tell you what kind of crasher-script you will have to look for.

    Though the most common reason for crashes upon saving a deprotected map is not removing the restored JASS script from the GUI Trigger Editor. Some deprotectors put it there for no reason…

  • Kenny Says:

    I don't really understand those steps in comment458. You 1st said "Save a copy.. it will be your protected version", then subsequently saying to introduce erroneous codes in. So do you introduce the codes in the protected version, or introduce the codes in another version?

    Furthermore, you said import the wtg file in the Temp folder into the "protected" version. Wouldn't importing the wtg file overwrite the entire trigger script, which means the erroneous codes you introduced to it will be erased?

  • 3ICE Says:

    Oh… Did not know you had the dumb version of windows. Those windows 7 (or vista) error messages are not helpful in any way whatsoever.

    It does not matter in which map you put the erroneous code, as the editor will crash before saving over it. All we care about is getting the war3map.wtg file (with the crasher-script in it) from the Temp folder the editor creates before crashing.

  • Kenny Says:

    I see. In that case, I tried Ctrl+Shift+F to find the word "Crash" but to no avail. So does that mean I have to go through line by line, to find out which section has no endloop and endif?

  • 3ICE Says:

    Nah, just run it through a syntax checker. JassCraft has my favorite: its called PJASS.
    And obviously the crasher-function will not be called Crash or anything similar. It might not even be a whole function.

  • Kenny Says:

    Ah I see.. So what do I do when it says Undeclared variable:udg_locations25, or udg_locations25 is not an array? Do I just delete those lines off?

  • 3ICE Says:

    Never seen that kind of map protection before. It didn't obfuscate the variable names at all.

    A map script is supposed to have zero syntax errors by the way. And an uninitialized variable does not crash the editor so it has no reason to be there unless by mistake.
    Just add it to the globals block:
    location array udg_locations25
    // ...

  • Kenny Says:

    The problem now is, that is not the only error lol. Whenever I scan, it shows me up till line 100+ of errors. When I delete those lines and scan again, there is another up till line 100+ errors again. It's impossible for me to add in the script u mentioned for EVERY single error. OMG. I'm fainting soon.

  • 3ICE Says:

    Are you working with war3map.j or something else? Grab the original war3map.j and syntax check that.
    A map with that many syntax errors can not be played in Wc3. The game can only ignore so much…

  • Kenny Says:

    That I'm not too sure since the map isn't created by me, but the codes in that file seems pretty like triggers too. I can't syntax check that as some words will turn into funny characters because of opening it in Notepad.

  • 3ICE Says:

    Well, get a programmers' notepad! Its about time anyway, since you started doing programming-related stuff. :)
    I recommend Notepad++.

    And I bet JassCraft could open open it fine as well. Just use the good old File → Open… ( → All files (*.*))

    Funny characters are either caused by missing [CR]s from before [LF]s or some sort of encoding that windows doesn't support natively in Notepad. (UTF-16 maybe?)

  • Kenny Says:

    Ok, I managed to change the words to viewable form using Notepad++. Now there's no syntax errors in war3map.j. So… what should I do now? Lol…

  • 3ICE Says:

    Compare the war3map.j generated from war3map.wtg to the original war3map.j file. The difference should only be a few lines. Once you found it, you can fix war3map.wtg easily.

  • Kenny Says:

    Ok, I compared the 2 files using Notepad++. They showed me tonnes of lines with Green +, tonnes of lines with Red -, tonnes of lines with a Light Brown !, and tonnes of lines without any symbols beside them. So… does that mean only the Green + are the one that matches?

  • Kenny Says:

    Nvm, I realised what do those symbols mean already, but just to clarify something. The 2 files that you are mentioning earlier on.
    1) war3map.j generated from war3map.wtg
    2) original war3map.j

    Am I correct to say that
    1) is the trigger text found when you open the map in WE?
    2) the war3map.j file extracted using MPQ Editor in the original file?

  • 3ICE Says:

    The generated map script can not be used for comparison yet, as it is not protected and contains a huge amount of whitespace and comments that makes all compare results bloated and generally unusable.
    Try running war3map.j through the optimizer, but disable some options (like variable renaming) until the result looks exactly like the original war3map.j (Or you could just protect both scripts with all options turned on in the optimizer. If you are lucky it works and saves you time.)

  • Kenny Says:

    I am still not sure which 2 files you are exactly referring to. Would you kindly tell me if the ones I am mentioning below are the correct ones?

    1) war3map.j file extracted from original file using MPQ Editor (original war3map.j?)
    2) war3map.j file generated while saving the map and crashing the editor

    Then, which should be the main file that I will base my editing on? For e.g. I see File 1 missing some of the lines in File 2, so I add those lines in File 1, and delete those lines that are not present in File 2?

    Thank you very much.

  • 3ICE Says:

    1) Correct.
    2) Correct.

    You will base your editing on File 1.

    But File 1 and File 2 should look exactly the same after one round of protection ("optimization"). Except for the crasher-script(s) you are looking for in File 2.

  • Kenny Says:

    Hmm, I don't see the option for variable renaming in my optimizer. Here's a SS for it.

    Another problem is that, upon saving the optimized version for File 2, there's an error saying "Unterminated String". What should I do?

  • 3ICE Says:

    1 It is called "Compress names".

    2 Find a string that is not terminated.
    "  terminated string"
    "unterminated string

  • Kenny Says:

    This is the line that is not terminated, but after placing an " right behind, the Syntax Checker shows even more problems.

    set udg_string05 = "……………………………!.#$&'()*+,-./0123456789:;.@ABCDEFGHIJKLMNOPQRSTUVWXYZ[.]^_`abcdefghijklmnopqrstuvwxyz{|}~………………………………………………………………………………………………….

  • 3ICE Says:

    You can give up or pay up at this point. That map really, really does not want to be hacked.

  • Kenny Says:

    Lol… I guess I'll find some other ways then =/ Anyway, thanks for all the help since yesterday.

  • 3ICE Says:

    I just deprotected it. Successfully. You probably got your hands on a version with cheatpack installed.

  • Kenny Says:

    Huh? I didn't even give you the map, how did you deprotect it? Lol… What's with the cheatpack installed thingy anyway? I don't really understand.

  • 3ICE Says:

    Cheatpack? Google it. Second result atm.
    And your screenshot had the map opened, thats where I know its name from.

  • Kenny Says:

    Yea I just googled it also, but copying and pasting the exact line does not make it better.


    " !\"#$%&'()*+,-./0123456789:;?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"

    to replace


    does not work. =/

  • Kenny Says:

    Ah.. Forget it. I don't know why it didn't show me the same result anymore in the Syntax Checker. Originally it just showed me one error, now it gives more errors despite me not changing any codes in the file.

    And, seriously those 2 files can never be 99% similar. Far too many lines are different. I think I'll just give up. =/

  • 3ICE Says:

    The reason why only one error shows up initially, is because of the unterminated string. Basically the whole script beyond that point is considered a string, a very long one at that. Common sense tells us this much. :)

  • Kenny Says:

    How can that be possible if I didn't even change anything from the script? It's like A=X, then A=Y.

  • 3ICE Says:

    Yes, exactly like that.

    Consider the following example:
    Case 1: A=30; s="this is an unterminated string; A=300
    Case 2: A=30; s="this is a terminated string"; A=300
    In case 1, A will equal 30, because A=300 is still part of your unterminated string and is not executed.
    In case 2, A will equal 300, because A=300 is not a string, but real executable code.

  • Kenny Says:

    What I'm saying is, when I copied the whole code and do a Syntax Check, it shows me 1 error. When I copied the SAME code on another occasion and do a Syntax Check, it shows me even more errors. Your example clearly shows that you added a " in the codes, while on my part, I copied 2 EXACT same codes and got different results. >.<

  • 3ICE Says:

    I find it hard to believe that. PJASS is reliable enough to give the same result however many times you check the same code.
    The two possibilities I can think of are:
    • JassCraft makes a temp file and sends that over to PJASS for checking. If PJASS freezes for some reason, or if you press the Syntax Check button twice and too quickly, the temp file will no longer be deletable, and the same script gets checked twice (append vs overwrite). This causes a lot of errors, like two global blocks, and every variable and function gets redeclared (name already in use).
    • Or you didn't actually Syntax Check the same code.

  • AL0NE Says:

    Hi, i'm wondering why after i used the Vexorian Map Optimizer on my map, the filesize gets bigger, not smaller. when i tested it on other maps, they do get smaller. Can u tell me what's the problem? =(

  • 3ICE Says:

    Read comments 283 and 472.

  • hehe Says:

    86% compression eat it! <3

  • 3ICE Says:


    /me eats a sammich.

  • arctic Says:

    Downloaded it and ran it, but my map can't be played as it can't be seen in game. Any way I can fix that?

    Edited by 3ICE: Merged with spelling fix. (+be seen)

  • 3ICE Says:

    Maybe the name is too long. WarCraft 3 has a limitation on path length, so it is always a good idea to keep them short.
    C:\Program Files\Warcraft 3\Maps\Download\My own maps\Recently updated\Tower Defense\My awesome cool new Tower Defense map.w3m is probably too long.
    C:\Program Files\Warcraft 3\Maps\Download\My\TD.w3m is short enough.
    And get the Optimizer from the official download location as my rezipped mirror might be outdated.

  • arctic Says:

    Thanks very much! It was the name, I'd saved it 4 folders in on the drive. I tried saving it only 1 folder in and it was ok. I then moved it back and it seems to work now.

  • 3ICE Says:

    You moved it back to the 4 subfolders-deep structure and it still works? Is the name the same?
    Because if yes, then something else was the culprit. The path-length limitation is hardcoded.

  • arctic Says:

    Yeah, what happened is as follows;

    -First I had the optimized map created at D:\Games\Warcraft III\Maps\OptPrtMaps and it could not be seen in game.
    -Then I created it at D:\Games\WarOptMapTemp.
    -I moved the map from there to D:\Games\Warcraft III\Maps\OptPrtMaps and it can now be seen in game. I have no idea why, but it seems to work.

    I don't know if I checked all the boxes - I'm pretty sure I did most of them, but that's the limit of my knowledge reguarding the issue.

  • arctic Says:

    Also, thanks again for your help! This is a HUGE map I've been working on in one form or another for several years with heaps of features; so I want at least a bit of copy protection so no one claims it as theirs. Whether someone would like my map enough to do that is anyone's guess, but eh, I want to protect it anyway.

  • Hoezai Says:

    after i protected my map there have a J file .that j file for what?and i able to restore my map too?

  • 3ICE Says:

    Delete the .j file, it is not used for anything. (It is there for no obvious reason.)
    It is very hard to restore your map from a protected version… But thats why we keep the originals!

  • Garo Says:


    Please deprotect WoW Arena Allstars v4.2b. The link is provided below. $5 will be transfered to your PayPal account (not a very complicated map to deprotect as far as I can tell) immediately following verification that you have, in fact, deprotected it. Do not worry about triggers and such. All I am after is the unit and spell data which I am using for my own private use, not for redistribution under my name. Thank you.

    Edited by 3ICE: Merged doublepost, fixed my name.

  • 3ICE Says:

    Neat, an almost 8MB map.
    I'm on it.

    :01 - Download complete.
    :02 - Spells extracted. Testing…
    :03 - Testmap complete.
    :04 - Test failed in a crash.
    :05 - Attempt #2…
    :06 - Success! Uploading screenshot…
    :07 - Imageshack continues to refuse it. Perhaps its the dimensions?
    :08 - Using Photobucket…
    :09 - No! I refuse to sign up.
    :09 - Using my own server.
    :09 - Upload complete: (EDIT: Added version with icons.)

    :10 - Added 1px border to image.
    :11 - Awaiting your response.
    :12 - Question: Do you want the spell icons? If you need them then I can grab them for you. (The map with all the spells but no icons is 500KB at the moment. If you wanted the icons it would increase the map size by ~5MB.)
    :21 - Since you did not respond within 10 minutes, I will assume you said yes and started extracting the icons for you.
    :22 - Also, here is a screenshot of the units:

    :40 - Response received, "Done." posted.
  • Garo Says:

    Haha yes, the spell icons are a must, thank you. Just post another reply when you are completely done and I will transfer the money.

    Can you please post another link to your PayPal? Not really in the mood to scroll through a million pages of comments to find the one I saw earlier :P

    Edited by 3ICE: Merged doublepost.

  • 3ICE Says:

    Done. Just gotta upload the map. (I decided to throw in terrain too, so its gonna be 9MB, not 5.)

  • Garo Says:


  • 3ICE Says:

    Payment (4.5$) received, uploading the 8.82MB map.

    Click: WoWArenaAllstarsDeprotectedBy3ICE.w3x
    (The above text will turn into a link in the next 20 seconds. Just waiting for the upload to complete.)
    Edited by 3ICE: Upload complete, link enabled.

  • Garo Says:

    File downloaded. Just verifying that it actually works lol…

  • Garo Says:

    Update: Appears to be working. Thanks for the unprotect. I assume the triggers were unsalvageable? Don't really need them, but would be nice to have them.

  • 3ICE Says:

    Yup, triggers are a tough nut to crack. I wouldn't do it, not even for 100$.
    I just edit the JASS when I need something. Restoring GUI is too much of a pain.

    Edited by 3ICE: I can upload the JASS script if you want it. Its a 1.8MB text file, perfectly obfuscated by Vexorian's Optimizer.

  • Garo Says:

    No need for the JASS Script. Turns out the way Catze created the map makes the spells pretty much useless as I am assuming the spells were heavily reliant on triggers. I contacted him for an original, unprotected version of the map.

  • 3ICE Says:

    Well, that was to be expected. Spells without triggers are pretty basic. They can stun, heal, damage, summon units, cause an AoE effect (but only in a circle or wave), and that is basically it. (There are also some special spells like Eat tree, Stat bonus, etc.)
    Recreating abilities from World of Warcraft… Well, it can probably be done without triggers, but it is much simpler for a programmer to write code than to click on buttons and fill in spreadsheets.
    StarCraft 2 is better in this field. But I still prefer trigger-driven spells to messing around with actors, effects, and validators.

    What are you going to do if he refuses to give you an unprotected version of his map?

  • Garo Says:

    "What are you going to do if he refuses to give you an unprotected version of his map?"

    This question is now irrelevant as he kindly provided me an unprotected version of the map. :) Thanks though for your help, it saved me a lot of time unprotecting it myself…I have a lot of programming experience, just none with JASS. JASS looks pretty basic at first glance, but it wasn't worth my time to go figure it out lol. I might look into it though since I think it would be helpful in general for map modding and WC3 editing as a whole.

  • Garo Says:

    I didn't really expect to have the spells work, but I didn't want to do more work than I absolutely had to, and since only remaking the triggers was less work than remaking the triggers and units and spells I figured it would be economical to deprotect it :P

    And yes, in regards to SC2, the editor seems to be far more advanced than wc3's ever was or will be. I dont personally own sc2, but I have several friends who do. People have done some pretty ridiculous stuff, such as recreate, in complete detail, the Thaddius fight from WoW, including the whole +/- debuffs. Pretty impressive, and I know that castbars can be created without the need for scripting, although the castbars cannot be displayed to the enemy which is kind of a killer.

  • Grammar Nazi Says:

    Son, you are wrong. "It's" is the correct abbreviation for "it is". I had that one burned into my head at college.

  • 3ICE Says:

    Thanks! I fixed the mistake in comment 554.
    In my defense, I do know - and live by - that rule (see, I just got it wrong that one time.

  • UnLiMiTeD Says:

    You know i want to unprotect 1 map, and make it avaiable to play in this new update of game. Is it possible, i dont wanna change it or something, just to availe it to play it. ;P

    Waiting for any answers…:_)

  • 3ICE Says:

    Yes, it is possible.

  • UnLiMiTeD Says:

    If it's not hard, could you explain it?

    Or i can even send map to you and you make it usable, ofc for money :PPP

  • 3ICE Says:

    Send it. I'll fix it up for v1.24e and post my results.

  • UnLiMiTeD Says:
  • 3ICE Says:

    Thats a foreign language map and Google Translate struggles hard with it. I can't patch something I do not understand.

    And my simple idea of replacing deprecated function calls like everything related to GameCache has failed.


    Edited by 3ICE: How about version 3.86? It is four version numbers higher.

  • UnLiMiTeD Says:

    Well if you could actually up to date this map you mentioned , it would be great :)

  • 3ICE Says:

    Yeah, it would be…

  • UnLiMiTeD Says:

    So , i guess my childhood game cannot be played , ohh, such a shame ^^

    Anyway, maybe if you find some way, could you send it to me ar e-mail : Removed


  • 3ICE Says:

    Yeah, I saved your address and the map and will let you know when it is done.

  • Anonymous Says:

    Edited by 3ICE: Removed anonymous doublepost. (Both flaming)

  • UnLiMiTeD Says:

    Im wondering, how is it going? Couse if its so hard… ;)

  • 3ICE Says:

    I have not been trying at all.

  • UnLiMiTeD Says:

    BTW, several days ago new patch came out, does it do something, i mean that helps somehow with the patching maps?

  • 3ICE Says:

    Thanks for letting me know it's finally out.
    I tested the patch on the PTR (Westfall) weeks ago, and found that it changes nothing related to map making.

  • UnLiMiTeD Says:

    Ok, then i should just wait for any other good news. ;)

  • ImmortalRic Says:


    Would you be willing to deprotect & unobfuscate the map script of Warlocks Brawl 097? The link is available here ( and I can pay you for the effort through Paypal after you verify it. I'm primarily after the spell/items/mechanics data & the precise way they function for my own interest. I've tried other venues of obtaining that information by asking but the map's small community is dying out (the forums are almost dead as well).

    Let me know if you're interested.

  • 3ICE Says:


  • ImmortalRic Says:

    That was a prompt response o.O

    Any specific reason why?

  • 3ICE Says:

    I don't do deobfuscation. It is too much work.

    Edited by 3ICE: Now this was a prompt response! :) Within the same minute.

  • ImmortalRic Says:

    Could I persuade you to do it for a higher fee possibly? I really want to know the mechanics behind it :/

  • 3ICE Says:

    I don't think you have 200$ to blow on a WarCraft 3 map.

    Edited by 3ICE: However, if you have one (or a few) specific spell(s)/item(s)/mechanics in mind, I could teach you how to trigger them for 5-10$ each. (Price depends on how long it takes me to recreate them.) And let me throw this in for free: Most spells in Warlocks Brawl have a knockback effect, available at

  • gotrunk Says:

    Can you deprotect bleach vs one piece 2.08 and give it to me please?

    Edited by 3ICE: Proper capitalization and sentence structure.

  • 3ICE Says:

    Sure. Here is proof that I have deprotected it: terrain(jpg) minimap(jpg) units(png) items(png) editor(jpg)

    Please send 5$ to for the download link.

  • gotrunk Says:

    OMG so fast

    sorry i don t have money

    Edited by 3ICE: Merged doublepost.

  • 3ICE Says:

    Sorry. No payment, no service.

  • Flaz Says:

    Why I Cant Play My Map?

    I Protected It Using Your Program

  • 3ICE Says:

    It isn't my program. It was made by Vexorian.
    You forgot to tell me the error message that pops up, or what happens when you try playing the map. (Is it not visible? Does it send you right back to the main menu?)

  • Flaz Says:

    It Sends Me Right Back To The Menu…

    I Dont Know Why :(

  • 3ICE Says:

    Run the .j file that is generated during protection through a syntax checker, like Jasscraft's pjass.exe and tell me the results.

  • Flaz Says:

    How Do I Run That?

    Sorry This Is My First Time Using This Protector

  • pksss Says:

    ive checked everything as mentioned above in vexorian optimizer..

    some names gets cut off when i played map

  • 3ICE Says:

    Could you show us a screenshot? The expression "some names" can refer to just about anything. Is the map name getting cut off? Or units? Heroes?

  • Dota 2 guide Says:

    hey, thanks for this, I've been searching for WC3 prot. map

    Edited by 3ICE: Removed advertisement

  • silentgamerz Says:

    how will I decrease the map's size if it has wave sound files. it always gets bigger whenever i try to protect it.

    Edited by 3ICE: Unnecessary URL removed (was just a link to this page)

  • 3ICE Says:

    Use mp3

  • UNLIMITeD Says:

    Hello again 3ICE. I had search for other versions( hoped maybe is some new one) of Naruto Buzz, and found the first one working, but it was created on 2006. Maybe there is a way to use codes from this map, to update the previous i send to you?

  • 3ICE Says:

    That would be way too much work.
    Porting every feature from new
    version to old and hoping it
    still continues to work after
    the patch: I would not do it
    not even for money.


  • Lethhh Says:

    Why when I play the map, it sends me right back to the menu?

    Edited by 3ICE: Removed website (was mine;, capitalized first letter of the sentence, removed triple question marks from the end (???), capitalized I, removed unnecessary second "why", and fixed "its send" -> "it sends" (What do we call that? "grammatical structure", "word order", "conjugation", or maybe "affixation"?). I did not bother rewording for easier understandability. ("try playing")

  • 3ICE Says:

    • WarCraft 3 can't open the map (decompress mpq)
    • or read a file from the map
    • or war3map.j contains a syntax error.

  • Lethhh Says:

    How can I fix it?

    Edited by 3ICE: Capitalized "how", capitalized "i", removed website again. This guy never learns, does he…

  • 3ICE Says:

    If the map is protected, you can't. The map needs to be saved again with the most recent version of World Editor.

  • Ber352 Says:

    3ICE, I agree with you that unprotecting maps is wrong, but what you think about it?:
    I've been playing a GREAT campaign called Nature's Call (search for it in hiveworkshop or anywhere else, the first part is the Spiderqueen second is Ret. of the Dragon). And it really is a great campaign. The first part is OK, no bugs nor anything.
    But this campaign was published around 2001 (gotta re-check information, not sure about it). At that time, the Ret. of the Dragon campaign had no bugs and was great, but with the passing of time and Blizzard's updates the campaign acquired some bugs (I had knowledge of it because of a commentary posted at hiveworkshop).
    I said: "Nah, let's play it, it's worth going around some bugs to see the ending).
    I managed to finish all maps without doing everything (left the optional quests mostly aside because those where the ones that bugged the most…)
    The problem is: I was able to play the campaign normally and see the storyline until map 8… From that on I couldn't play anymore, it just came back to main warcraft campaign page. Worse yet, it didn't unlock map 9. I tried even Motherland [race] [level] cheat but it didn't work, since the race said isn't an official race, neither the campaign is official.
    I tried opening world editor to "unfold" maps 9 and 10 but I didn't manage to, since it has been protected. All I wanted was to play those maps and finish the storyline…
    So I'd like to know, is it hard to unprotect a map? Because if the program you said (xdep) is Russian, it may be in Russian. Plus, I don't know if the program would do it all by itself or I'd need to first learn how to use the program and how to do it… Because the campaign has around… Idk, maybe 5 triggers corrupted or something like that…
    I suggest that you play the campaign, just so you know what I'm talking about.
    Note that there is one more thing I can try to finish the campaign… If that doesn't work, then I guess there is no other way other than unprotecting.
    Also note that AllYourBaseAreBelongToUs cheat doesn't work aswell.

  • Ber352 Says:

    Oh! By the way, 3ICE, I don't want you to unprotect the map for me… I'd like just some tips, since I don't have… Well, income… After all, I'm a teenager, in fact. And I don't have work, plus I'd need my parent's approval and all, so… Yeah. Some tips so I do it on my own would be great. In case you can't give me tips, I'll have two options:
    1st: I'll search on the Internet how to unprotect maps
    2nd: I'll give up that campaign. It's great and all, but sometimes not everything goes as planned, right? :)
    I may also ask someone who played that campaign when it had no bugs (if I knew someone who did) for the "grand finale"
    Also, thanks for your help anyways, I know reading long comments isn't something people often do…

  • 3ICE Says:

    The campaign does not appear to be protected in any way.

  • ber352 Says:

    But when I try to open on the campaign editor the Return of the Dragon campaign (didn't try to open the Spider Queen one) I can't because of errors in triggers (which I believe it's protection).

  • 3ICE Says:

    Wow, that is a 100MB file, give me 10 minutes to download it.

  • 3ICE Says:

    Nope, no trigger errors for me. I loaded up the last map (RotD09s01.w3x) and it works fine. Try getting the JASS NewGen Pack (JNGP) from wc3c, it handles errors better.

  • Ber352 Says:

    Hmmm…. Weird, because when I try to open the campaign into the campaign editor it says:
    "Trigger function does not exist in database: SaveGameCacheBJ"
    "Trigger function does not exist in database: ffOn"
    "Trigger function does not exist in database: nit_nzin_0247"
    "Trigger function does not exist in database: CustomScriptCode"
    And then it appears:
    "Worldedit: This application has encountered a critical error: Not enough space to proccess this command.
    Program: (place where world editor is located)
    Object: .PAVCWETriggerFunction@@

    Press OK to terminate the application"

    This isn't happening only with World Editor, it happens with some maps and I guess it is indeed protection…
    But now something came to my mind. I downloaded this campaign from
    maybe that version is protected. Could you tell me where you downloaded your version from? Then I'll download it here so I can "unfold" map 9 and 10.

  • 3ICE Says:

    Reinstall warcraft, your trigger data is corrupted.

    I downloaded the "FIX" version. Was first result on google for "return of the dragon w3n".

  • Ber352 Says:

    Weird, because that's the same version I downloaded. I read the comments before downloading so I got the FIX version. But before commenting and stuff I downloaded the normal version (the one at hiveworkshop) after the first didn't open on world editor. But the normal version didn't open up aswell… Typing "return of the dragon w3n" sent me to hiveworkshop again (lol).
    I'm trying something inside warcraft, something I hadn't tried before. If it works and I pass onto the next map, great. Thanks for all your help 3ICE, and sorry for all my comments being all that long. But, if it doesn't, I'd like to ask you: Since it seems to open on your world editor, could you send the map 8 and 9 for me?
    My e-mail is removed
    In case you already deleted the campaign, there is no problem. I'll try opening the campaign into mt bro's computer, since mine, for some reason, doesn't open Reign of Chaos. I'm starting to think that something used to open RoC is damaged and the same thing doesn't let me open that campaign into world editor…
    My bro's computer opens RoC, so in case you can't send me the maps, I'll just try to open on his computer and pray.
    Thanks for all your help, 3ICE.

    Edited by 3ICE: removing email

  • Ber352 Says:

    Oh, btw. I will reinstall warcraft if I need to, because I no longer got the CD (accident happened with it, lol).
    As long as my bro's computer works, I'll stick to it till I need to change mine :)

  • 3ICE Says:

    Campaign maps are a pain to send. Some files are imported into the w3n file, some into the w3x inside w3n. Merging that and the object data takes a long time and too much effort.

    The map is TFT, not RoC.

  • Ber352 Says:

    I know, that's what I think weird, because TFT works just fine into my computer. That's what "bugs" me. In case my bros computer fails, I'll try to search for an solution then.
    (Oh, btw, still trying a solution inside warcraft).

  • NoMY Says:

    Please help, I can't host the map. It sends me back to the menu. What should I do?

    Edited by 3ICE: Removed fake email address, converted the whole comment to lower case, removed excess amount of exclamation marks and repeated letters. (He wrote "PLSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS" at the end.) How immature…

  • 3ICE Says:

    You can't host "the map"? What map?


  • Ber352 Says:

    Well, it didn't work on my bro's computer… I'll try to see what I can do, since I can no longer re-install warcraft… Anyways, thanks 3ICE for your help.

  • 3ICE Says:


  • DotAFan22 Says:

    Hi 3ICE! I guess you know DotA, right? Can you deprotect the latest DotA v6.72c by IceFrog? Visit If you're done, just let me know, and I'll send you 5$ straight away via PayPal. Thank you. :) . I give you my email, when its ready. I'm kinda busy for a meantime, I'll try to check back here as soon as possible. Post some screenshots too. :) . See ya. I'll be back within this week.

  • 3ICE Says:

    Actually all I needed was

    DotA is a big map so I have the balls to ask for 15$. The 5$ is for smaller maps only.

    Update: While I wait for your reply (about whether this is okay with you or not.) I started the process of extracting the map contents.
    There are 1254 files in Dota.w3x so this will take a while. I'll post again when I am done. (Will take screenshots of course.)

  • 3ICE Says:

    Update: 1680 files extracted and it is still going… The mpq editor I used to spy inside at first showed 1253 (not 1254) files so I suspect some duplicates.

    The extraction took a while to complete. My stronger server has been on the task for half an hour, going at a speed of 50 files per minute (average).

    I am still looking for the names of the 131 unreferenced files. Without those the deprotection would not be usable as a duplicate of DotA, just as a tool for learning and of course extracting assets in an easy way.

    RMPQ to the rescue! It found 81 (then 8 in a second round) of the unknowns.
    The rest will be found by a second full deprotection and few more rounds of RMPQing.

    Reporting back in half an hour… (More like 50 minutes actually. RMPQ takes a while and I am manually merging and autosorting my new listfiles all the time.)

  • 3ICE Says:

    After an hour of trying to find those last 30 missing names, well, I gave up.

    I combed through the script looking for string concatenation trickery that my tools can't detect automatically, I converted every mdx to mdl and did the same with those, I wrote a new script (will be useful later) for extracting additional file path possibilities from wc3's data files (w3d - doodads not data, w3b, w3u, w3t, w3s, w3h, w3a, imp, etc…), but still did not find everything.

    It is now official. I can't deprotect the latest DotA.

  • 3ICE Says:

    And of course my world editor is not even patched to handle over 1024 files. Typical oversight, fixing…

  • DotAFan22 Says:

    Owh, i see. Hmmm, let me think first. Anyway, I've just gotten DotA map v6.67 deprotected from other website. Quite a lot of stuffs in there. All triggers is in Jass, with unproper variables name. Seems like it has been changed. After half an hour go through the script, I gave up. I just stalk around with the models, skin and what so ever. The triggers just pull my eyes out.

    "It is now official. I can't deprotect the latest DotA."

    You mean DotA v6.72c? Or all the DotA version by IceFrog?

    So, how is it going so far?

    Owh, yeah, by the way, if I only want the models, skins, and other stuffs that were imported in DotA, is it free or how much do you charge? Most of the stuffs I already have, just some of it I doesn't have. So, what says you?

  • 3ICE Says:


    "You mean DotA v6.72c? Or all the DotA version by IceFrog?"
    I haven't tried the other versions, but I am sure the results would be the same: Some file names missing. And I don't consider incomplete jobs sale-worthy at full price. If even one file is missing I automatically give a 50% discount.

    "So, how is it going so far?"
    I completed the job in 2 hours. I stopped trying to recover further missing files on June 30th, 2011 at 9:55 am.

    Here is the state of all the files:
    Known and extracted file count: 1213
    Unknowns: 30 (Will be included as File001, File002, etc.)
    Total (unpacked) size: 23.7 MB
    Packed size (mpq): 15 MB
    Packed size (zip): 8.2 MB

    868 blp files (of which 826 are icons, the rest are skins)
    (Further details: 16 dispasbtn, 33 pasbtn, 426 disbtn, the rest are normal btn.)
    253 mdx models, most of them are spell effects
    17 mp3 files (Dominating, Double kill, First blood, etc)
    11 slk files (They hold widgetized ability data, item data, etc)
    5 tga files (loading screen cut into 4 parts and the minimap preview picture)
    49+1 txt files including war3mapMisc and war3mapSkin (the +1 is the strings file, with custom extension: wts)
    1 of each war3map file is also present (j, doo, imp, shd, mmp, wtg, wct, w3a, etc)

    "I only want the models, skins, and other stuffs that were imported in DotA, how much do you charge?"
    You can have it for $7.50 (~half cents per file)
    That is 15$ (the original price) with 50% discount applied because of the the incomplete job. I was unable to recover 30 file names.


    p.s.: I am ready to send the files to any email address you specify, as soon as your payment arrives at

  • DotAFan22 Says:

    Owh, okay. Quite lots of mdx files there as I aspected, which I want some of it. $7.50 quite reasonable though with all the efforts you pour into. I give you my answer as soon as possible. :)

  • 3ICE Says:

    All right. I uploaded the files to my mailserver so they can be sent off instantly.

  • 3ICE Says:


    Identified all the unknowns for you. (28 blp and 15 mdx files) I still don't know their name, so the price remains the same. $7.50

    I manually renamed each file to have the correct extension. (blp files begin with BLP1[NUL][NUL][NUL][NUL][EOT], mdx files begin with MDLXVERS[EOT][NUL][NUL][NUL])

    DotA v6.72c.w3x 15 MB, deprotected (Loads successfully and is playable, but the minimap is black and the night elf tree model is missing. There might also be other problems with it.) 7.8 MB, 1212 extracted files
    listfile.txt 62.4 KB, holds every extracted file's name (can be imported into the original dota map to partially deprotect it) 132.6 KB, 43 files (30 of which I was unable to identify and 13 duplicates. Got 28 pictures and 15 models in there.)


    p.s.: Total size: 23 MB (15 416 + 8 059 + 63 + 133 = 23 671 K)

  • DotAFan22 Says:

    Hi. I'm not sure yet either I want to buy the deprotected DotA v6.72c from you. Hope you can wait for a period of time. Within this week I confirm my decision to you. Owh, yeah, by the way, do you know how to make an Impale System like DotA? If you can, make it in GUI. I'm not pro at JASS, frankly 1% JASS knowledge. I have found some of the Impale System from some websites, but not working in my map. It runs only once, after that, only the impale effects triggered, the others (flying triggers, damage and stun triggers) doesn't work. I've test the test map, it works, only in my map. I've check all triggers in my map to be exact with the test map, but, epic fail. Kind of disappointed though. What's wrong with the triggers. Your help is very appreciated 3ICE. Here the link for the Impale System >>> (, could you have a look with the triggers? Half an hour spent, but nothing I've found what's the problem with. Thanks man.

  • DotAFan22 Says:

    The indexing system of the Impale System kind of poor though. About the DotA deprotected map, the other missing files still unknown?

  • 3ICE Says:


    #718 (1)
    That impale system is most likely graveyarded because it doesn't work or wasn't updated. It is also in GUI which is a good enough reason in itself for deleting. (Yes, I am not a big fan of GUI triggers.)
    I will not make systems in GUI, because it would be like trying to hammer in a nail with my hands. Painful and ineffective. I'd do it in JASS.

    #719 (2)
    I read Maker's post too.
    There are no missing files, just unknown file names. 30 of them.


  • DotAFan22 Says:

    "I will not make systems in GUI, because it would be like trying to hammer in a nail with my hands. Painful and ineffective. I'd do it in JASS."

    Yeah, agree with that. But, I need someone to guide me as my tutor instead of myself reading the JASS tutorial, kind of not getting it into my head. To me JASS coding seems like pseudocode.

    "I read Maker's post too."

    Okay!? How did you know that? So, you know that I'm the one who asking the question at THW. Okay.

    Okay about JASS, firstly I don't really understand it. Second, I don't know how to import JASS stuffs into my map, it just giving me script error which I know it is the raw code problem, spell ID and so on, if I'm not mistaken. Can you suggest me the best friendly JASS tutorial? I'm interested in learning JASS, but need something that can make me to understand it. I don't really know the warcraft scripts either, such as the call, destroy, and so on. Really need someone to guide me. I also don't want to use the ineffective GUI.

  • 3ICE Says:

    Terminology: Pseudocode is the easiest kind of code to read and understand, not the hardest. The hardest is machine code, it looks like this: 01001000 01100101 01101100 01101100 01101111 00100000 01010111…

    IF condition THEN
        //do stuff
        //do other stuff

    I am a member of the THW community and follow every topic in the map development and scripts section.

    The errors are most likely related to you not having JNGP - Jass NewGen Pack installed. No, rawcodes don't cause syntax errors, the worst they can do is cause your triggered spells to not fire.

    I learned JASS over at in 1 hour.

  • DotAFan22 Says:

    About the custom scripts, I know a few of them, not all.

  • 3ICE Says:

    There are as many custom scripts as there are possible JASS lines (~infinite).
    There are as many kinds of custom scripts as there are JASS functions in Blizzard.j, common.j and combined. (1543)

  • DotAFan22 Says:

    Owh, i see, no wonder you read Maker's post. You've join since 2007. No wonder I saw your name before. When I came across your blog, I was like, "hmmm, the name seems familiar…". You from Hungary? How old are you? If you don't mind telling. Just want to know you more 3ICE.

  • 3ICE Says:

    I have an about me page at and my age can be calculated from my birth date.

  • DotAFan22 Says:

    Owh, i see. Thanks for the tutorial link. I'll try to understand it. :) . Owh, so, if there's anything deal with jass scripts, JNGP is required? Owh, you're two years older than me. You still studying? Wow, lots of programming language you've mastered. I'm still studying, I take engineering in computer and networking course, but not so much concentrate on programming, more to networking though, is like 65% networking stuffs, 35% programming. My favor is more to programming. By the way, I'm from Malaysia. Quite lots of language you know there. I'm fluence at english and malay, chinese is like 50%/50%, plus, few other language such as japanese and so on. You understand malay? Nice knowing you 3ICE. Owh, yeah, if I want to call your real name, what should I call you? Daniel? My name is Danial Shah by the way, you can call me Danial. ;) . If I have any problems or what else, I just contact you here. Again, nice knowing you man. :D

  • 3ICE Says:

    Useful key on your keyboard:

    Use it.

    "Owh" is not a word. (At least not in English.)

    Yes, I go to university. I am looking to get two doctorates, which will take 8 more years.

    I'd prefer if people used the off topic section on my forum to discuss things like your comment above.
    Off topic = not related to this blog post (protecting warcraft maps)

  • DotAFan22 Says:

    I'm using my handphone, kinda lazy to type in a new line. :p

    I know 'owh' isn't a word, just using it for impression. :)

    I see. Good luck then.

    I realised that, just want to make a fast chat. Sure do next time. :)

  • DotAFan22 Says:

    Mind if you reply some of my question that you didn't answer yet. Thank you.

  • 3ICE Says:

    Sure, but first what about DotA? I have been waiting for 2 days.

  • DotAFan22 Says:

    By this week, you will have my answer. If I be able to find all the DotA mdx files, I don't need to spend my money though. The other files seems unuseful for me.
    Anyway, you'll have my answer as so on as possible. Okay? By the way, sorry keeping you waiting.

  • DotAFan22 Says:

    edit : as soon as possible

  • DotAFan22 Says:


    Its okay man, I think I don't need the unprotected DotA map, because of a few model, I need to spend $7.50, quite not reasonable.
    Anyway, I appreciated your effort and your help 3ICE.
    I will ask your help in the future, if I need your help.
    By the way, if you can make dota impale system, let me know, really need that system.
    I guess you didn't answer my previous questions yet. If you mind, thanks.
    Thanks again bro.

  • 3ICE Says:

    Not a few models, 268 of them.
    I don't appreciate you making me work for hours and then calling off the deal 5 days later. I don't have infinite amounts of free time, that is why I only work for paying customers now. If you don't want to spend money, go find someone else or learn to do it yourself.
    Sure, I answer all questions and help requests for free on my forum, but that only takes 5 minutes. Your little project took much longer.
    Leeches are not welcome here. You will not ask me for help in the future.

  • DotAFan22 Says:

    Yeah, I know about that, but what I mean is I only
    want a few of the models not all. Its like 15 more
    models I need from DotA, others I already have it.
    Got it?

    I know that, but one thing, you don't aspect your customers to 'must pay'.
    Customers wanted to see either you can get the request done or not, then, if they wanted to buy it or not, that doesn't matter. Customers are always right.
    If you wanted to do business, you should have balls to take the risk, either minor or major.

    Yeah, time is precious. But if you afraid to spend your time doing something either its worth it or not, you couldn't know something.

    I'm willing to spend my money, but not for something
    that is not worth for me, even it is 1 cent.

    "You will not ask me for help in the future."
    Don't be like that man, you shouldn't said that, its like you kind of ego there. Chill, don't be mad.
    Anything happened, there are something behind
    it that you don't know.

    I don't mean to harsh with you man, I have my own concept too, not only you. I don't want to mess with anybody. I treat you like my own friend, not like an unknown stranger.
    Anyway, sorry if I make you feel bad.

    Quote :
    "it is better you have 1000 friends than 1000 enemies".

    By the way, I really, really, really want a DotA-like impale system that can run smoothly and function properly. (if possible, in GUI since I'm not quite into JASS).


  • Fatty Mieo Says:

    Can help me to disprotect a map?
    I trust you…
    Download link is on my facebook, Fatty Mieo(Page).

    Edited by 3ICE: Deleted a total of 5 messages from this guy. What do we call that, a quintuple post?

    Edited by 3ICE: And his 7th post was worth merging into this one instead of deleting:
    I just addciently deleted my disprotected map while I am fixing my map, help me pls…

  • 3ICE Says:

    Sure, send me 5$ and I'll do it.

    But please don't triplepost.

    Edited by 3ICE: Your Facebook links won't work unless I add you. Which I won't. Please use or any of the following:,,,,

  • Fatty Mieo Says:
  • 3ICE Says:
  • Fatty Mieo Says:

    Can help me without paying?
    I really no money for you, I am just a kid…
    How can I pay for you?

  • 3ICE Says:

    Ask your parents

  • Fatty Mieo Says:

    Thx, but I can't go into the website, it says need to login.

  • 3ICE Says:

    If you have never used paypal before, you will have to register.
    You are underage so you will need your parents' consent. (And their credit card.)

  • Fatty Mieo Says:

    I will pay you when I get the money.

  • 3ICE Says:

    And I'll send you the map when I get paid. Deal.

  • Fatty Mieo Says:

    Pay in US Dollar?

    Fatty Mieo Says: Addition: Can you fix the comment page? Too many comments out here.

    Fatty Mieo Says: Money sent.

    Fatty Mieo Says: Where is my map?

    The King that rudes you Says: May I ask you a question? What is "Open Map Batch" use for?

    Anonymous Says: How to disprotected a map? Can give tutorial?

    Edited by 3ICE: Merging 6 comments into one.

  • 3ICE Says:

    1: "Pay in US Dollar?" → You can pay in whatever currency you like. Just make sure it is worth 5$ (USD). I accept ringgit too. (But keep in mind that 1 Malaysian ringgit is only worth 0.3 U.S. dollars.) I accept yuan too. (But keep in mind that 1 Chinese yuan is only worth 0.15 U.S. dollars.)

    2: "Can you fix the comment page? Too many comments out here." → No. I like the comments. They keep a public record of all my past interactions and answer most questions if anyone cares to read them.

    3: "Money sent." → You sent me an e-mail with "5$" written in it. That is hardly real cash. (Fake payment.png) If you don't know how to use paypal, ask your parents.

    4: "Where is my map?" → Where is my money?

    5: "What is Open Map Batch use for?" → I use it when I have a lot of maps to protect at once.

    6: "How to disprotected a map? Can give tutorial?" → The tutorial is above in the comments. Or just reverse the effects of protection and you've got yourself a deprotection tutorial.

    Yes, I know that Fatty Mieo = The King that rudes you = Anonymous = IP: = (resolved IP) = Fong Jian Ping (real name). You don't have to hide behind aliases, I answer all questions no matter who asks them.

  • I'm lame Says:



  • Risugami Says:

    Deprotecting isn't that hard.

  • 3ICE Says:

    Of course it isn't…

    …for some of us at least.

  • Hygarion Says:

    Hey 3ICE,

    i have a few troubles with this program.
    It used to work well, and since i made some modifications on my map - and i don't know what because i did some one day and others an another day, and no way to remember what i've done - i have an error message

    " optimize string usage: Extremely big number of mods in object.
    address;1195620 ; 7006"

    When i uncheck "Optimize string" there's no more error message BUT no way to play with my map anymore.

    I ran into your post randomly, and well, i hope you'll be the man for me as you have been for the others.

    In anyway, thanks!

    And now when i try to erase an unit, there's an error message saying "not enough memory" and the world edit shuts down itself…

    Edited by 3ICE: Merged doublepost, removed 1 swearword

  • 3ICE Says:

    Not without seeing your map first.

    If you don't trust me, send your map to Vexorian, and he will tell you what's wrong with it.

  • Hygarion Says:

    Thanks for answering me quickly.

    It's fine i can send you my map. It is not a secret map that i don't want to share.
    To which email do i have to send it?

  • 3ICE Says:


    I can receive from any address at this domain name (* but I'd prefer a link to some file upload website (MediaFire comes to mind) as to not clog up my inbox with a big file.


  • Hygarion Says:

    I don't know if i get it right, but i sent you an email at Hygarion@3***.hu

    I don't know how to upload a map so i sent you an email. I will try after dinner to upload to your MediaFire.

    Let keep in touch.


    Edited by 3ICE (2016.01.14.): Finally I found out why I get spam… After more than four years!

    Blanking out my global email domain name — — from the above comment, to stop the ever increasing amount of spam email I get there.

    A handy note to all website administrators: Don't EVER leave plaintext email addresses on your website anywhere. Bots harvest these with ruthless efficiency. I now receive at least 5 new spam emails per day just to this one throwaway address alone.

    I've not blocked that inbox because what if Hygarion wants to contact me again and his email program's contact search offers me, "3ICE" up via that address instead of one of my more usual addresses.

    He is one of my top ten supporters (via donations in exchange for my work), so I'm committed to giving him all the special treatment possible.

    Yes, I delete my spam by hand, so that each email gets a one second chance to convince me it's actually a false positive.

  • Hygarion Says:

    Here the link = -removed-

    Edited by 3ICE: Removing link as requested:

    Ah, could you hide the link i gave you 2 day ago to my buggy map ?

  • 3ICE Says:


    I checked and found that there are 131645 lines in your string table. It is ridiculous!

    Some entries are repeated hundreds of times.

    For example this one 2002 times:
    A0WW (Psychic Link)

    This one 1014 times (Has multiple copies, each with different Ability IDs):
    One to another

    This one 402 times:
    A0WK (Encore)

    This one 324 times:
    A0X9 (Dark Connection)

    This one 222 times:
    A0WX (Necrophage)

    And so on…

    I am almost too afraid to look at the object editor.

    Yup, I guessed that right. Tabbing to Abilities froze my computer and crashed the editor after 2 minutes of hard lock up. I gave it some more processing power on my second attempt and got it to load. There are two Psychic Link abilities (One is named "Bad Psychic Link", I think for a good reason), and another one with 600 levels. This is too much.

    To fix this, you are going to have to rework that ability. You can't have 600 levels on an object and expect it to work efficiently. You can, however use triggers to achieve the same effect (nearly the same, anyway).

    After deleting the biggest offender, A0WW (Psychic Link), I am able to protect your map. Though it would benefit both your editor's and the players' game load times to fix the other abilities too. (The ones I listed above.)

    In case the editor crashes when you try deleting it (mine did), you can use any external tool or hex editor to force-delete the ability and then clean up the string table with a regular save command.


    p.s.: It also takes a very long time to load your map in the editor. Twenty to fifty times as long as my biggest project, Maze Designer. 11 seconds vs 9 minutes. (Though my map is in JASS so I have a slight advantage there. Not having to load any GUI triggers helps.)

    It has been a pleasure seeing the World Editor being taken to the extreme, thank you. I learned a new thing today. (Ability level limit.)

    Edited by 3ICE: Added p.s.

  • Hygarion Says:

    Oh yeah, thanks!

    Mind if you fix those abilities? I will pay.
    Of course i will send you 10$ right now for the time you spent on my map. As i've spoken on my mail time is money.

    And what advice(s) could you give me to greatly reduce the loading time ?
    you can teach me good things, and i'm all listening.

    And i read upper you can teach how to create GUI and MUI triggers, that would be nice to learn. Maybe after Christmas if you're busy.

    Again thanks!

    Ps: it would be nice to at least fix the "Psychic link" because it is very important for my map.

    Edited by 3ICE: Merged doublepost.

  • 3ICE Says:


    Thanks for the 10$, you are very generous.

    I'm working on a fixed version of the map as we speak. I'll be mailing it to you in a few hours. (Feel free to move the "Psychic Link fix" trigger to wherever you like. I'll put it at the top.)
    Working with GUI after such a long time of pure JASS really opened my eyes to just how bad GUI is. So slow and limited! But everything is possible. :)

    Loading time is reduced by wigetizing. PitzerMike made a nice tool:
    I don't use it myself, as none of my maps suffer from too long load times. (Generally 7 to 10 seconds.)
    The order in which you should use the two tools are: Widgetize, then optimize (protect).

    MUI triggers in GUI used to rely on a trick:
    You created placeholder global variables and then overwrote them with local variables using custom script. Then you could use those globals as locals in triggers that have this trick at the beginning. This workaround was very limited, and a better solution exists today with hashtables.

    Sadly, there are no good tutorials out there that I could find. Maybe use the one with indexing (first result for mui gui war3).

    I can't use hashtables at all, because I decided to leave my editor unpatched, for better compatibility with third party tools.


    Edited by 3ICE: Update - It is going to take a while. War3 simply refuses to open your map and I need to play it in order to see how the abilities work.

    Edited by 3ICE: Update - It opened! Everything is in order now.

    Edited by 3ICE: Update - Err, it is still loading after 10 minutes. Stuck at 27%

  • 3ICE Says:

    I would love to play your map but loading is still stuck after hours. This is too much for my computer to handle… You are going to have to fix this on your own. Here are some ideas:
    Create hidden buffs that add +1% +2% +4% +8% +16% etc bonus damage to the affected unit.
    Or if you don't like binary maths, use the much simpler (only simpler for us, not for computers) decimal system: +1%, +10%, +100%.
    Or if you want to be really cheap, just use one buff: +1% and apply it hundreds of times. (Advantage: you don't have to remove any buffs or do maths. Disadvantage: Adding 600 buffs to one unit is likely to break the game)
    Count the kills in variables, add/remove the buffs to the units as many times as needed. Here are four examples and 5 example steps:

    253 kills:
    Binary: +1% + +4% + +8% + +16% + +32% + +64% + +128%
    Decimal: +100% + +100% + +50% + +1% + +1% + +1%
    Single: +1% + +1% + +1% + +1% + …+1% + +1% + +1% 253 times.

    254 kills:
    Binary: +2% + +4% + +8% + +16% + +32% + +64% + +128%
    Decimal: +100% + +100% + +50% + +1% + +1% + +1% + +1%
    Single: +1% + +1% + +1% + +1% + …+1% + +1% + +1% 254 times.

    255 kills:
    Binary: +1% + +2% + +4% + +8% + +16% + +32% + +64% + +128%
    Decimal: +100% + +100% + +50% + +1% + +1% + +1% + +1% + +1%
    Single: +1% + +1% + +1% + +1% + …+1% + +1% + +1% 255 times.

    256 kills:
    Binary: +256%
    Decimal: +100% + +100% + +50% + +1% + +1% + +1% + +1% + +1% + +1%
    Single: +1% + +1% + +1% + +1% + …+1% + +1% + +1% 256 times.

    To go from 253 to 254:
    Binary: remove +1%, add +2%
    Decimal: add +1%
    Single: add +1% (always this simple)

    To go from 9 to 10:
    Binary: remove +1%, add +2%
    Decimal: remove +1% 9 times, add +10%

    To go from 10 to 11:
    Binary: add +1%

    To go from 11 to 12:
    Binary: remove +1%, +2%, add +4%

    To go from 255 to 256:
    Binary: remove +1%, +2%, +4%, +8%, +16%, +32%, +64%, +128%, add +256%

    A much simpler idea would be to rework the towers into hero towers. Each kill levels them up by one, balance it with the attribute gain. They would share xp globally, so no extra work necessary.

    By the way, what are your computer specs? Must be very impressive to be able to handle such an enormous project. I'm on 4GB ram with a core i5 cpu, and a mid range 1GB video card (Runs Starcraft II at 200 fps when all settings are on lowest.)

    While waiting for warcraft to load, I found a map symmetry bug: Move Chez Antoine 1 unit to the right to fix it.

    If you want the map without the Psychic Link ability, let me know. (Takes a bit of work to delete it without crashing.)

  • Hygarion Says:

    Hello, sorry to answer you with delay. I had to buy gifts for Christmas and was quite busy lately.

    I've found tutorials about indexing and hashtables into hiveworkshop but i'm too lazy to read and do them.
    The funniest thing is i was about to release this last version on my map and quit and this one is full of bugs. Haha

    I don't have the strength to jump into a massive project anymore. But you're a very good teacher. I will do what you wrote about adding % of damage. It is clever to add/remove depending of how many kills it gets. 100 kills = removes +99% and add +100%, better than add +1% 100 times.

    Say more about that widgeting-thing. if i was able to greatly reduce the loading time that'd be awesome or even perfect.

    Hmm about my laptop i don't now the specs. I just bought the best computer as always. A sony one.

    You spent a lot of time on my map, i will send you 10 more dollar. Time is money my friend.

    If you found a way to clean up my map, to make it playable again and why not to rework that "psychic Link" ability, i will send you 50 buck (at least) up to 100 depends on the job.

    Answer me if you're interested because i don't want to look into this problem while you're doing it too.

    Anyway you're a great guy!! Approachable, gentle and very clever. And you have a big heart to help someone like this.Thumbs up for you 3ice. And i mean it.
    Ps(1); Oh yeah, to check up my map, i used to use vexorion mapoptimizer first and play the game. When i don't do that, i must wait for 1 hour because the game is up … taht might help you to play it… if it is stille playable.

    I have an "old" version without maybe things but it will be ugly for me to restart from this one, because i've spent several hours to produce the lastest buggy version which wasnt buggy until 3 days ago though i only added few featurers.

    Ps(2): Sure. if you're not interested or you cannot help me anymore, a version without the Psychik Link ability would be nice.

  • 3ICE Says:

    Thanks for the second 10$ donation.

    I got to play your map today, and I have to say it is very impressive. There is a ton of content!
    Warcraft handled the 600 levels of Psychic Link without any lag. All I had to do to get it running is Widgetize it. (I did it with all except 2 options checked, but the default settings are good too).

    The process took 6 minutes.

    And the widgetized map loads in under a minute! (Still can't protect it though…)

    Widgetizer makes a copy of the map, so no backup is needed. The result will be at:
    C:\Program Files\Warcraft III\!\Widgetizer\Output\ (Path depends on where you extracted the Widgetizer folder to.)


    Edited by 3ICE: Working on a version that doesn't crash when deleting abilities, in case you still want it. (Abilities over 80 levels reduced to 3) I went through all abilities one by one, and found these: One to another, Ancient, Bad Psychic Link, Coppery Breath, Dark Connection, Encore, Water Coagulation, Water Coagulation Test, Necrophage, Ancient (1), One to Another (On Tower), and of course Psychic Link with its 600 levels takes the prize. (I used Zepir's Editor to avoid crashing.)

    Edited by 3ICE: Done. I'm e-mailing it to you right now.

  • Hygarion Says:

    I tried to delete an unit (the one called "Joka" that i don't have any use) and the world editor crashed :(

    And i still have the same problem when i use the vexorian's map optimiser ==> Same error "too much mods in object".

    I guess i must forget about mapoptimiser and use the widgetizer ?

  • 3ICE Says:


    I can delete it for you. Send me the latest version.

    Yeah. We can't optimize, even if we drastically reduce the object count. I removed over 2000 objects (ability levels) and it still fails to optimize. I guess there are about 1000 more objects that need to be removed. But that'd mean a great deal of your work was for nothing and that's unacceptable. (I base this on the error messages. The "what I'm guessing is a variable counter / array index" keeps decreasing as we lower the object count, it will hit zero (no error) after around 3000 objects are removed.)

    But widgetizer makes your map hard enough to edit. Only people who have the Dewidgetizer tool can mess with your map now. And the load time is wonderfully short after widgetizing. (Doesn't help the map size though.)

    Also, send your map to Vexorian, he can fix this. I think all we need is the removal of a hardcoded limit. Say he has an array initialized as: mod object[10000];, that can only hold 10k mods. If the map has more than that, there is no support for that map. To fix this all we need is to change that to int mod_count = count_mods(); and then mod object[mod_count];. This way the next hardcoded limit would be: 32k (already 3 times better), or on a 64bit system: 2B (awesome).


  • 3ICE Says:

    Man you are making me rich beyond belief. (For a student, that is.)

    Just received 70$!

    Edited by 3ICE: Of course that's only 67 dollars after paypal's ridiculous transfer fees. They milk us hard, one transaction at a time.

  • Hygarion Says:


    Oh no it is alright. There are many unsused or useless units even skills i dont mind if i cannot delete them.
    But if using that zepir's editor could avoid crashes AND if it isn't too hard to use it would be nice to use it once and for all to erase useless stuffs.

    So do i have to send to Vexorian my map or just to ask him to remove that limit ?
    Do you have his email or forum website ?

    You spent a lot time on my map and you gave him a lot of advices that deserves 70 $ !

  • 3ICE Says:

    Zepir's editor was just an example.
    A more mainstream and easier to use editor is JNGP. Jass NewGen Pack. Get that instead.

    PM him on wc3c, you will need to send the whole map.


  • Hygarion Says:

    Ok i Will pm him tomorrow or the day after. It is Time now to drink and eat. Merry christmas dude.

    Let keep in touch.


  • 3ICE Says:

    Merry Christmas!

    I'll be back on Wednesday. (Visiting parents, then grandparents, then my nieces and nephews.)

    Edited by 3ICE: Oh yeah, and after that it's exam season until February… :s

  • Hygarion Says:

    No problem.

    It's not like the world is going to explose right now.
    Good luck with your exams even if "luck" is nothing to deal with exams.

  • Hygarion Says:

    Haha i didn't noticed your answer about those 70$!
    It is nothing. Thanks yourself for being awesome lol

    More seriously, time is money my friend. For me, it is normal to give you what you deserve. Otherwise that would make me like a …an asshole.

    Some people has created their consulting firm and they get richer day after day - as paypal i guess. You're like a consultant for me. You did the duty you're rewarded.
    This is capitalism.
    And Santa Clauss likes capitalism! ahah

    Ps; i sent an email with the link of my map to Vexorian. let see if i'll have an answer.

  • 3ICE Says:


  • Hygarion Says:

    I just sent an email to vexorain, he answered me like you did (quickly i mean) he gave me a version without any limit but he wasnt sure than i will work… and guess what dude??? IT WORKS!!!!!! hahahahhah

    I'm a so happy.

    Thanks both for that present for chrismas. Awesome!

    So what's now? Can i widgetised an optimised map or the opposite?

    Tell me more to reduce loading time and why not turn my map into an awesome one. Even if it is already awesome right? :p

  • 3ICE Says:

    Yeah, Widgetize, then Optimize. The map is already going to be awesome then. My brother wants to play it. Put a release version here:

  • Hygarion Says:


    Give me some days to release a final version. And i will put it in your forum. Even if i don't know how. But you will tell me in time.

    Mind if i name one of my hero "3Ice" ? for you great job?

  • 3ICE Says:

    That'd be an honor, thank you. Hope my in-game representation turns out OP. :) (Connect it to the Psychic Link buff and I'll be a happy hero.)
    Though I insist on having a fully capitalized name: 3ICE (Or I'm willing to accept a compromise: 3ice. But I'm no 3Ice.)

    Edited by 3ICE: Fixed a typo, added a request for my hero to be slightly overpowered, a note about capitalization of 3ICE, and some screenshots on how to register below.

    First, find the website (

    Then, click register in the top-right corner menu (register).

    By the way if you click "I agree" you officially sell me your soul and I inherit all your belongings. (joke)

    Your username will probably be Hygarion.

    Your e-mail address and a safe password for your account, like:
    I like to generate my passwords with Random.­org:

    Realm, account name, Clan tag are all optional (But 99% of the members fill it in, because that's how I know they are real people.)
    And as an extra safeguard against spammers you have to type 333 in the 4th box. (It works on most spam scripts, even ones that have a captcha solver.)

    Solve the captcha. (I can guarantee it won't be as easy as in the example above. But I set it to the easiest difficulty as to not waste anyone's time.)

    Click "Submit" to register.

  • Hygarion Says:

    Deal then!
    Time to go to bed for me, tomorrow i have to get up at 7 in the morning to go to work and i still have to digest what i ate for christmas! i'm so greedy.
    And the honor is fully shared:)

    Ahaha nice :)
    I'm creating your character right now. And his name will be 3ICE! with a Psychic Link of course ;))

    hum… first could you erase for me some unused skills or units?
    I send you the list in a few minutes

    actually no need to erase for now

    i tried to open a my map on zepir editor and i had an error!
    I tried to dl the Jngp but no way to find it on google. And when i found a link.. the link was empty.

    Edited by 3ICE: Merged 5 posts into one.

  • 3ICE Says:

    I am surprised you managed to find a working download for Zepir's editor. (I couldn't.)
    Here is a direct link to JNGP:
    You might need to be logged in for it to work. Scratch that, I logged out to test it and it worked fine.

  • Hygarion Says:


    But my antivirus Mcafee treats it like a virus. And when i try to extract it from the zip, it erases four files so the editor cannot be launched.

  • 3ICE Says:

    Yes, many lesser known anti virus solutions treat JNGP like a virus and block it. The way JNGP works is indeed virus-like. They hook into an other process (World Editor) to add features into it. But antivirus programs have no way to tell the difference between hooking with bad or good intentions, all they see is: This software is touching another application's memory, therefore it is very likely a virus. Lets delete it!

    You will have to whitelist JNGP or disable your antivirus. (The latter is strongly not suggested!)

  • Nightwing Says:

    Is there any optimizer besides this?

  • 3ICE Says:

    Sure, there are tons. This one is the best though. In my opinion (and everyone else I know).
    Look at pages 1 through 10 on this google search: and you will find the other map protectors.

  • Hygarion Says:

    Happy new year my friend!

    I'm working on a final version but i have a few issues. The widgetiser erases some units' skin. So you can build those units but they've got not model at all. So i guess i have to uncheck some squares.
    Not a big deal i guess.

    I just wanted to say hi.

    When i will finish, i will register myself and post my map.

    Ps: I have created your hero :)

  • 3ICE Says:

    Yeah, the widgetizer likes to eat things. Especially trees. (That is why doodads are unchecked by default.)


  • Hygarion Says:

    It took time but i finally made it :))

    I've changed many things. Tonight i will test it with a friend and tomorow i will register myself!

    I hope you're doing well !


  • 3ICE Says:

    Great news!

    I am doing all right. (But I have exams tomorrow, next week and the week after next.)

  • Hygarion Says:

    Registration done.

    Where do i am supposed to post my map?
    On the topic?

  • 3ICE Says:
  • Hygarion Says:


    Maybe i need a picture of my Map…?

    I will try without it and if it is badly needed, i will try to capture something.

    Edited by 3ICE: The correct phrase is "badly needed" instead of "hardly needed".

  • 3ICE Says:

    Posting screenshots is always an excellent idea.

  • Hygarion Says:


    And how to add screenshots?

    Edited by 3ICE: Merged doublepost.

  • 3ICE Says:

    Writing guide…

  • Hygarion Says:


  • 3ICE Says:

    Step 1: Start creating a new topic.

    Step 2: Attach your screenshot.

  • Hygarion Says:

    Dude you rock!!!!!xD

  • Hygarion Says:

    At to post the adress where i have uploeaded the name i must put it this way ?
    [url][/url] ?

  • 3ICE Says:

    Please use the preview feature and experiment.

    p.s.: The answer is yes.

  • Hygarion Says:

    Done !!!!
    I hope it's readable and comprehensive. can you check for me?

  • 3ICE Says:

    Done. Everything checks out. The screenshot is quite big, but that's just my small screen's fault.

  • Hygarion Says:

    Thanks a lot :)

    If your brother plays the game and you have any feedback good or bad criticisms i count on you to share them with me!

  • DyS Says:

    Dude, I came across this page for w3x information, and I must say, I couldn't stop reading your posts. You sir, are an excellent human being. Keep it up!

  • 3ICE Says:


  • Hygarion Says:

    Hey 3iCE my friend,
    First how are you ?

    Dude, i need you more than ever !!
    My map is finished, i made many changes since the version i've posted on your forum… But the loading time is about 1 min.
    The loading line stays blocked during 1 min before running normally, i guess it has to upload by heavy map first.
    The thing is 1 min is too long.

    I used the widgetizer…the loading time dramaticaly falls to 20 seconds BUT many units are "eaten" they can attack but theirs skins have disapeared, si you cannot sell them. Sometimes it is even the structure itself that is skinless and then you cannot buy stuff into it.

    Dude help your old friend!!!
    I've played maps bigger than mine but their loading time is about 10 seconds max. How come… So i was wondering if you want to earn some money and help me again.

    -rm- This is the link of my map

    -rm- this is the link of vexorians mapop ex with no mod limit. you will need it to mapop the map

    Erase links as soon as you can.

    If you don't accept, thanks anyway ^^

    Edited by 3ICE: Deleting links as requested.

  • 3ICE Says:


  • Hygarion Says:

    You're the dude!! GOOD LUCK!

  • Hygarion Says:

    Hmmm, i don't know if you're working on my map or not. I will start to deal with these issues by myself because people are waiting for that!

  • 3ICE Says:

    Sorry about that. University is taking up most of my free time.

  • Hygarion Says:

    No problem! School before everything!!! That's the point!
    Courage !

  • 3ICE Says:

    In my heart, school comes last…

    If it was interesting I would love it, but they just spew dry mathematics at my head and expect me to memorize all of their theses for the next exam. I came here for a programming degree, not a mathematician one! (Too late now…)

  • Hygarion Says:

    ahah that's school dude ! There is no logic at all. They always spread theorems, formulas, and they do not care if you haven't understood them, but they just want you to memorize everything!

  • 3ICE Says:

    5.0 was released.

  • Gold1 Says:

    hey 3ICE! long time no see!

  • 3ICE Says:


  • VAn_DAmme Says:

    can i use this program to play witout lagg a map created by another person ? sry imn new at online and kinda retrde question sry english me frm maroc

  • 3ICE Says:

    This program does not reduce lag.

    However, you can use the Widgetizer application to make maps made by other people load faster.

  • VampIrE Says:

    Please my map is too big and I need your help.

  • 3ICE Says:

    I'm here to help.

  • VampIrE Says:

    My map size has exceeded 8mb. I cant create it at LAN.
    Please can do you show me a path to decrease the size?

  • 3ICE Says:

    Delete some big files from it.

    In my maps I have two rules:
    No music
    No custom models

    Keeps my map sizes below 0.1 MB.

    But why is the 8 MB map size limit applied to LAN now? I remember playing 70 and 180MB big maps on LAN.

  • VampIrE Says:

    Err.. Okay I will Delete the musics than.But Seriously, I really cannot create it in LAN with 8mb

  • brandon Says:

    music does add up

    email -hidden-

    hi can you unprotected my map? ill pay you! my hard drive got wiped :(

  • 3ICE Says:

    Yes, I can.

    But are you aware of all caveats of map deprotection?
    Such as not being able to restore GUI triggers?
    You'll need to know JASS.

    Sent you an e-mail.

  • brandon Says:

    i know nothing of jass :( but i guess i can start over…

  • 3ICE Says:


    It is done.

    Please send 5$ to and you'll receive a 3.6MB zip file containing:

        • wok.3.43.w3x - Your deprotected map that already contains everything below:
        • war3map.j - The map script
        • war3mapExtra.txt - Sky model and time of day settings
        • war3mapMisc.txt - The gameplay constants
        • Fullscreen.blp - The loading screen
        • War3mappreview.tga - The map icon
        • wok.terrain.w3x - Just the terrain in a separate map
        • Units, items, abilities, etc.w3o - and a file containing all objects

    You can import the w3o file into the terrain map in case you want to work in a clean environment instead of the deprotected version. I usually do it that way.

    Here's a screenshot of the terrain:





  • Halosheep Says:

    Alright, I give up. I've been attempting to add cheats into this Korean map (my friend and I are attempting to find out how to tier-up) but after adding the JASS script for the cheats the map is then too big. So after many Google searches and a few hours of trying other things, I came here.
    I followed everything and did the tutorial, but once it came to "Rebuilding Mpq with new buffer size and Zlib deflate compression…" I get an I/O error 998.
    Another few google searches ensued but that ended with me being even more confused than I was before.
    If you know anything about what might be causing this, I would appreciate the help.
    If not, I can send you the map and have you take a look at it. I wouldn't ask for you to do anything but tell me if I'm missing something.

  • 3ICE Says:

    Send me a link to the map, that's the fastest way.

    I have a test build of the optimizer that works better with big files, I'll see if it makes a difference.

    I/O 998 is a block read error so I assume the optimizer went into an infinite loop and wrote a big 4GB file to your hard drive in the process. I advise you to go see if it's still there, and delete it. No reason to waste that much space.

  • Halosheep Says:

    Here's the map:

    I looked around the Warcraft folder for any files that seem out of place, nothing seemed to be there. I've got enough space so it wouldn't matter too much, I'll just remove them if I ever come across them at some point (I tried around 20 times with different options, so I'm sure if they were on here I would find them).

    Edited by 3ICE: RIP mapgnome :( It's a spam site now.

  • Lacolst Says:

    Добрый Вечер) Мне нужна защита лучше spazzler, что бы MPQ программы такие уву WinMPQ, MPQ Editor, MPQ master… и особенно не могли открыть мою карту warcraft особенно MPQ viewer, т.к я хочу вставить туда читы и закрыть её. Могу заплатить за вашу работу.

  • 3ICE Says:

    Google Translate to the rescue!
    I sent you an email:


    I can install cheatpacks for 5$. Please send me a link to the map and which cheatpack you'd like.

    Or if you are looking for better protection against cheatpacks, I can do that too. Send me 7$ and your map script. (It can be protected or unprotected, makes no difference.) Once I protect your script, it will be protected from cheatpacks, and crash the game if a cheatpack is installed.


    p.s.: If I misunderstood your intent, please let me know. Google Translate is not very good, as you can see below:

    Good Evening) I need better protection spazzler, whatever MPQ program such UBV WinMPQ, MPQ Editor, MPQ master … and especially could not open my map warcraft especially MPQ viewer, I want to unnecessarily put there cheats and close it. I can pay for your work.

  • Lacolst Says:

    Мне просто нужна защита что бы не кто не мог открыть мою карту в увидеть активацию читов. Например как spazzler но его уже взламывают( и MPQ viewer может его открыть, а мне нужна защита что бы не одна программа не могла открыть мою карту и посмотреть активацию читов.

  • 3ICE Says:

    Google Translate:

    I just need the protection that would not be who could not open my map to see the activation of the cheats. Such as spazzler but he was breaking into (and MPQ viewer can open it, but I need the protection that would not be a single program could not open my map and see the activation of the cheats.


    What you are asking for is impossible. As I explained in an earlier comment: There is only one way to protect your map perfectly: Delete it! Every other method has flaws. As long as Warcraft 3 can open the map and load it, anyone can do the same with some work.

    The Spazzler tool is really impressive. It almost got it all right… But you can never achieve perfection in this ecosystem, as we are all limited by Wc3. The requirement that "the map should be openable by Warcraft 3" is the factor that limits us all.

    I have a DeSpazzler, which fixes all corruption introduced by Spazzler.pyc
    This is true for every tool as well; All kinds of protection can be undone with more or less work.
    Spazzler - DeSpazzler
    Protector - DeProtector
    Compressor - UnCompressor
    Widgetizer - DeWidgetizer
    Obfuscator - DeObfuscator

    What I can do is hide the activator string to make it very hard to find, for 3$. But no matter how well I hide it, someone that can read and understand JASS will still uncover it if they work at it hard enough. No protection is unbeatable. But I can get very close to unbeatable. For as cheap as 3$.


    p.s.: I also received your email with the video in it.
    Google Translate is really struggling to make sense of it all:

    I need to protect whatever MPQ program could not open the map and see Activation cheats. Here's a video for this protection. (Protection from opening in MPQ.wmv)

    My answer: Impressive demonstration, albeit a bit slow. Practice your windows skills! Use the keyboard.
    Indeed there will always be a tool or combination of tools that can open any protected map you throw at it. There is no way around that.
    You need to scramble the map script much more than it is now.

  • Lacolst Says:

    Вот карта на ней стоит защита от открывания в MPQ. но DeSpazzler её не может снять. Её обходит только MPQ viewer. Возможно ли сделать такую же но что бы уже MPQ viewer не мог её открыть? Мне нужна защита именно от MPQ программ. map email

  • Lacolst Says:

    Понятно что знающие люди её откроют. Они это будут делать за деньги. Кто заплтатит вряд ли скажет кому потом активатор бесплатно. Может всё таки у вас получится сделать защиту как у cyber_rpg_2.8ver.w3x + защиту от MPQ viewer

  • 3ICE Says:

    Google Translated: "Here is a map on it is protected from opening at MPQ. DeSpazzler but it can not be removed. It costs only MPQ viewer. Is it possible to do the same but that would have MPQ viewer could not open it? I need to protect it from the MPQ programs. map email"


    Got your email. I looked at that map, it wasn't even Spazzled. Every Spazzled map has the string "SPAZZLER" in it. Or "53 50 41 5a 5a 4c 45 52" for hex viewers. (I got this info from Dr Super Good, here.)

    Further research: I found the string "MoonLight" near where "SPAZZLER" was supposed to be, not sure if that's a different tool's signature or just an author name or something. Edit: Found lots of occurrences of "LastMoon" and "koon2001" too. What is this?

    Either way, that map can still be opened and deprotected. And if I add further protection on top of what it currently has, it will still remain openable. You'd just need to use two tools for opening it. One that repairs protection #2, then another that repairs protection #1. Some guesswork is involved in determining what those tools will be. Until a new tool comes out that can handle both protection #1 and #2 at once.


    Google Translated: "It is clear that the people who know it will be opened. They will do it for the money. Who zapltatit hardly tell who then activator free. Maybe all the same you'll have to make the protection like cyber_rpg_2.8ver.w3x + protection from MPQ viewer"


    Again, it is not possible to protect a map from all MPQ viewers. But I don't think I understood you correctly. Especially the part about "zapltatit".

    About the activator: I would hide it deeper in the code, and not save it in the globals block. I wouldn't keep it as a string either. Or call the variable "Activator". I wouldn't even use a variable, just some magic numbers (or as I like to call it: "hardcoded").


  • Lacolst Says:

    Вы можете мне сделать такую защиту как на этой карте или нет? + что бы она не открывалась MPQ viewer. Больше мне не чего не надо))

  • 3ICE Says:

    Translated: "Can you tell me how to make such a defense on the card or not? + That she would not open MPQ viewer. More I do not what not to))"
    I told you it's impossible. Any map protection can be reversed.

    The reason why we protect our maps at all is so noobs can't access them. An experienced enough person will always find a way to get inside your maps. We need to learn to live with that. And might I suggest you obfuscate your scripts better. The variable names are still human readable. The Optimizer can rename them for you to gibberish.

  • Lacolst Says:

    я понимаю что знающий человек откроет. Но не мелкие читеры. Так вы можете сделать защиту которую я прошу?

  • 3ICE Says:

    Translated: "I understand that a man of understanding will open. But not small cheaters. So you can make the protection that I ask?"
    I'm sorry, but all I can do at this point is hide the activator string. Spazzler is the limit at the moment.

    But small cheaters won't have that specific MPQ Viewer application, they only know how to download and use WinMPQ or MPQMaster, which we are protected from quite well.


  • ogmaend Says:

    The map:

    is it possible to somehow unprotect this map so that i can make changes in the skill descriptions?
    my friends have trouble understanding what the skills do and the damage/range information……
    i already know how to use the world editor, but i cant seem to open this map or unprotect it


  • 3ICE Says:

    Sure, send 15$ to and I'll send you the map.

  • ogmaend Says:

    im sorry sir, i cant afford to spend any money right now, but is it possible for me to learn how to unprotect it somehow on my own? perhaps a tutorial on it?

    sorry for for trouble……thanks

  • 3ICE Says:

    Instructions for that are in the blog post: #deprotect


  • ogmaend Says:

    oh ok, thank you sir.

  • Halosheep Says:

    Hey, 3ICE, did you ever get around to trying that map?

  • 3ICE Says:

    I did, to no avail. They have some modern protection that I can't deal with yet. Giving up for now…

    Some of the automated cheatpack installers might work, but I don't trust them at all. So I haven't tried that route.

    Sorry about forgetting to let you know this earlier, that Russian guy distracted me. He showed me some great stuff while being completely ignorant of others.

    He still believes in "perfect protection", which I say is impossible.

  • Ario Says:

    Hi 3ICE
    I just wanna open a map, and make the heroes just stronger for more Fun. Infernals from sky perhaps!!:-)
    But: it is not opened anyawy. The editor begins to load everything but at the end a message comes up telling there are triggers missed or invalid. Then the map doesn't get opened at all.
    I don't need the triggers. I hardly can work with the editor.
    Any help?
    The maps is old Taylor Hero Siege V1.0.
    Thanks for your handy site

  • 3ICE Says:


    Yes, those are the symptoms of map protection.
    Help me (financially) and I'll help you (by making all heroes 200% stronger).


  • Lacolst Says:

    Добрый вечер) у меня проблемка не могу найти активатор вот этой карты

  • 3ICE Says:

    Translated: "Good evening) I can not find a poser activator here this card"


    I deprotected the map and it contains no activator string. At least not a commonly known one.

    But, it does contain a trigger named tr_ggg_zTrig_zCheatz. So yes, the map contains cheats. And whoever added them did a bad job protecting it…

    There is also a suspicious global variable that follows a similar naming convention (unnecessary "z" at the end of the variable name to make it look "cool"):

    string Playerz="-WasabiNaim"

    But I think the real way to activate the cheats is to execute a meticulously crafted and complex set of steps. Yes, whoever hacked this map, probably made their own activator trigger! That counts.

    Reading the code in tr_ggg_zTrig_zCheatz, you will see that you have to be in the unp_termit_tr7 player group if you want to use any of the cheats. To get in, you have to pass:

    local player tr_ggg_p2p=GetTriggerPlayer()
    set unp_termit_tr5="   "
    if SubString(GetEventPlayerChatString(),0,100)==unp_termit_tr5 and not IsPlayerInForce(
    call ForceAddPlayer(unp_termit_tr7,tr_ggg_p2p)
    call TriggerRegisterPlayerChatEvent(unp_termit_tr3,tr_ggg_p2p,"-",false)
    call SetPlayerName(tr_ggg_p2p,"~["+GetPlayerName(tr_ggg_p2p)+"]~")
    call PlaySoundBJ(gg_snd_lt01)
    elseif SubString(GetEventPlayerChatString(),0,100)==Playerz then
    call SetPlayerState(tr_ggg_p2p,PLAYER_STATE_RESOURCE_GOLD,GetPlayerState(tr_ggg_p2p,
    call SetPlayerState(tr_ggg_p2p,PLAYER_STATE_RESOURCE_LUMBER,GetPlayerState(tr_ggg_p2p,
    call CustomDefeatBJ(tr_ggg_p2p,"?????, ??? ????? ??????!")

    Reading the code above, you can see that the activator string "-WasabiNaim" is actually a well crafted trap. (I knew it was too good to be true!) Look at this part:

    if SubString(GetEventPlayerChatString(),0,100)==Playerz then call CustomDefeatBJ(tr_ggg_p2p)

    So if you type in the fake activator, you get kicked from the game. That's clever. Very clever.

    The actual activator is a very commonly used trick of typing three spaces ("   "). But that's only a small part of it. There are variables all the way from unp_termit_tr1 to unp_termit_tr7. That means multiple steps need to be passed.

    Digging deeper… During a different activator sequence, the following trigger is enabled for the player that passed:

    function tr_ggg_zTrig_zDirectCheat takes nothing returns nothing
    local player tr_ggg_p2p=GetTriggerPlayer()
    local string tr_ggg_s2s=GetEventPlayerChatString()
    if SubString(tr_ggg_s2s,0,10)=="-clearkeys"then
    call DisplayTimedTextToPlayer(tr_ggg_p2p,0,0,5,"|cffff0000Key Bindings Cleared.")
    elseif SubString(tr_ggg_s2s,0,7)=="-bindup"then
    call DisplayTextToPlayer(tr_ggg_p2p,0,0,"|cffff0000'"+SubString(tr_ggg_s2s,8,30)+
       "' was bound to Up Arrow Key")
    call tr_ggg_zTrig_zBindKey(tr_ggg_p2p,SubString(tr_ggg_s2s,8,30),"up",
    elseif SubString(tr_ggg_s2s,0,9)=="-bindleft"then
    call DisplayTextToPlayer(tr_ggg_p2p,0,0,"|cffff0000'"+SubString(tr_ggg_s2s,10,30)+
       "' was bound to Left Arrow Key")
    call tr_ggg_zTrig_zBindKey(tr_ggg_p2p,SubString(tr_ggg_s2s,10,30),"left",
    elseif SubString(tr_ggg_s2s,0,10)=="-bindright"then
    call DisplayTextToPlayer(tr_ggg_p2p,0,0,"|cffff0000'"+SubString(tr_ggg_s2s,11,30)+
       "' was bound to Right Arrow Key")
    call tr_ggg_zTrig_zBindKey(tr_ggg_p2p,SubString(tr_ggg_s2s,11,30),"right",
    elseif SubString(tr_ggg_s2s,0,9)=="-binddown"then
    call DisplayTextToPlayer(tr_ggg_p2p,0,0,"|cffff0000'"+SubString(tr_ggg_s2s,10,30)+
       "' was bound to Down Arrow Key")
    call tr_ggg_zTrig_zBindKey(tr_ggg_p2p,SubString(tr_ggg_s2s,10,30),"down",
    call tr_ggg_zTrig_zCheatz(tr_ggg_p2p,tr_ggg_s2s)
    set tr_ggg_p2p=null
    set tr_ggg_s2s=""

    This is standard functionality I first saw in JJ's cheatpack. But most cheatpack authors "borrow" code from each other so I'm not going to go hunting for the original author.

    Either way, the map has a cheatpack with a trapped activator string and a hidden, real way to activate it. You can find it all in the map script. I'll leave the rest of the research to you.



  • Lacolst Says:

    Спасибо=)) уже нашоел как активировать

  • arsid Says:

    I've done what's on this website
    but why when I open a folder that had me edit the throne warcraft 3 frozeen why there is written:

    This application has encountered a critical error:


    why is it sir

    an explanation please!

  • 3ICE Says:

    You can't open a folder with TFT. It only handles files (maps, campaigns, and replays).
    You were not supposed to edit Frozen Throne.exe, only yourMap.w3x

    The purpose of this article is to cause a fatal error in the World Editor, not in Frozen Throne.

    Please share with us the result of your work so that we may find out what went wrong.

  • Halosheep Says:

    Well thanks for trying 3ICE! Glad to know I'm not just stupid and even a pro couldn't do much more than I could.
    I tried some of the automated installers, didn't do anything, sadly.
    Anyways, thanks for the try!

  • 3ICE Says:

    No problem. I still have that map on my hard drive by the way. So if I come across any new tools I'll try them on it right away.

    Try asking the guys at wc3edit for help, they are a much bigger community and their combined knowledge far outshines mine.

    Remember my saying: no protection is unbreakable. That map _can_ be cheated. We just haven't tried hard enough.


  • Obnoxius'fly Says:


    I started reading trough all of the coments, but after reading perhaps two thirds of them; I realized how manny there were, so I skipped the rest.

    I was wondering about two things:
    1. Why have you protected your own map? I felt that you're exactly the kind of person who would leave it open for people to learn, but perhaps I'm terribly misstaken.
    2. Could you make a video set (forgive me if such a set already exists) where you explain some basics for JASS and how to learn about it. That would be really cool.

    Hope I had no spelling defects.


    Edited by 3ICE: Removed website. (Was "http://Idonthaveone!".)

  • 3ICE Says:


    Indeed there are far too many comments here to read in one sitting. Eventually I'll need to paginate the comments section. (Hoping to avoid that for as long as I can.)

    Here are your answers:

    1. That's explained in the blog post: #myopinion. Basically I want to discourage map thieves and reduce the number of cheated versions of my maps in circulation. I used to offer unprotected versions in email, but stopped with it a while ago.

    2. Other people have made such videos: (But I cannot comment on their quality because I have not watched any.)


    p.s.: Not many spelling defects at all, just the three: coments (+m), manny (-n), misstaken (-s).

  • Johnysone Says:

    Hello guys , I used to be reading this tutorial many times , and indeed that worksssss , but , please tell me how to decrease the map's size more than 8% , I saw Naruto Castle Defence , this map has more than 8 MB size , and he imported more than 17 MB , How could the maker import all of this and could he protect it more than 8% , besides , How does a 8,375 MB map work in Wc3 in 1.24e patch ? NEEEEEEEEEEEEEEEEEEEEEEED ANSWEEEEERS

    Edited by 3ICE: Removed URL, was "none".

  • 3ICE Says:

    Nobody said 8% is the limit. I have gotten 80% or more.

    Show me the map and I'll show you the results.

  • Davis Says:

    This article is truly a pleasant one it helps new the web people,
    who are wishing for blogging.

    Edited by 3ICE: This comment is truly a pleasant one it helps new the web sites,
    …get higher Google Page rank by spamming my blog. (URL removed, was a blogspot link about Diablo 3 hacks.)

  • nhattuanbl Says:
  • Daniel "3ICE" Berezvai Says:

    The following email conversation is published with permission from both parties. (Edit: Re:

    Subject: [PAYED] Map Deprotection

  • Inyush34 Says:

    I'm in need of your assistance in de-protecting a map. Payed upon completion.

    My attempts, have included using "RMPQEx.exe" to scan the mpq to recover names and imports of unknown file. I then use "xdep.exe" to deprotect the map using the listfile made with the first tool.

    The issues are, triggers are all compiled into 1 lump of JASS and the functions of all the names in the coding is compressed to names such as W4C8. The placements of units and such have been removed from the map, but once trying to play the map leaving map untouched from changes the units are at their right place which seems to be a characteristic of Vexorians Optimizer with the being said, i guess that tool was used to protect the map.

    Units, items, abilities, buffs, upgrades, regions, and camera have all been removed, and couldn't be recovered for some reason, but the majority if not all of the imports of the map seem to have been recovered.

    I am offering to pay for your assistance to de-protect the map, the main reason for it is to fix some coding issues and unit balancing adjustments. I have an acceptable understanding of both GUI and JASS.

    I do understand that recovering the original triggers within the map might be nearly impossible, but i am willing to pay for that.

    If the map is deprotected with all the data recovered(Imports, Units, abilities, items etc..) im willing to pay $10 PayPal. if the triggers are recovered im willing to pay $20 PayPal (and by triggers recovered i mean, when i open the map, the triggers are all there, in the folders etc… without having to extract the ,j and edit)

    The maker of this map stopped playing around 2010, and as since, his 2 clans have died, no help there, his website last activity was late 2010.

    I've attached the map to this email. Let me know.

    Edited by 3ICE: Map link:

  • Daniel "3ICE" Berezvai Says:

    I'm sorry to hear that the map author (Gotenkz?) quit. This kind of regression happens more and more nowadays as people move on to other games…

    And I'm also sorry to bring you the following bad news:
    The map you have been playing isn't official. It has a cheatpack installed inside it by a Brazilian gaming community. You can enable cheats using the "-BrazilRPGRoom" command. The message "Saindo da Brazil RPG Room para nunca mais voltar. Nao usem o cheat pls." will confirm it worked. A list of all the cheats will then be available to you through the -list1, -list2, … -list8 commands. The map has invulnerability, infinite resources, editable health, mana, xp, agility, and other attributes.

    Further bad news:
    Reconstructing war3map.wtg (the GUI triggers) has been proven to be impossible. (Unless you manually recreate the whole map trigger by trigger.)
    So this is actually the best level of deprotection we can currently do. And it most likely won't get better in the future as there are no active developers on the project anymore.

    From my comments:

    Because it is obfuscated by the optimizer. Obfuscation prevents automated tools from rewriting the GUI triggers.
    Yes, there are tools for reconstructing GUI triggers (the wtg file) from JASS (the war3map.j file), but they only work if war3map.j is untouched.
    And because JASS is more advanced. It has more features than GUI. GUI is a dumbed down version of JASS. It is more user friendly. (Where user means a beginner map maker or someone who has never met a programming language before. If you know how to program, or want to improve, you will prefer JASS.)

    From the article itself:

    Once you have opened a protected map, you will find a huge wall of text instead of triggers. That is the map code, it's in JASS. All triggers are in there, somewhere. You can not access the GUI triggers in a protected map unless you manage to restore the war3map.wtg file, which is nearly impossible. You may, however, add triggers under, or insert JASS functions directly into the map code.

    I've attached a zip file file containing the data necessary to recreate units and items (all in one file) that I was able to recover from the map. You can import it to your deprotected version by clicking:–Import-all-object-data.png (Link to larger version of the above picture)

    But if you want to continue this project I recommend a different approach:
    Try contacting Gotenkz for permission to do it. (best)
    If that doesn't work, you should edit the game files directly instead of deprotecting. (second best)

    When I have to make changes to a map I generally like to extract war3map.j and the following data files:

    • \Units\AbilityBuffData.slk
    • \Units\AbilityData.slk
    • \Units\ItemData.slk
    • \Units\UnitAbilities.slk
    • \Units\Unitbalance.Slk
    • \Units\UnitData.slk
    • \Units\Unitui.Slk
    • \Units\Unitweapons.Slk
    • \Units\Upgradedata.Slk
    • \Units\CampaignAbilityFunc.txt
    • \Units\CampaignAbilityStrings.txt
    • \Units\CampaignUnitFunc.txt
    • \Units\Campaignunitstrings.txt
    • \Units\CampaignUpgradeFunc.txt
    • \Units\CampaignUpgradeStrings.txt
    • \Units\CommonAbilityFunc.txt
    • \Units\Commonabilitystrings.txt
    • \Units\HumanAbilityFunc.txt
    • \Units\Humanabilitystrings.txt
    • \Units\Humanunitfunc.txt
    • \Units\HumanUnitStrings.txt
    • \Units\HumanUpgradeFunc.txt
    • \Units\HumanUpgradeStrings.txt
    • \Units\ItemAbilityFunc.txt
    • \Units\ItemAbilityStrings.txt
    • \Units\ItemFunc.txt
    • \Units\ItemStrings.txt
    • \Units\Neutralabilityfunc.txt
    • \Units\NeutralAbilityStrings.txt
    • \Units\Neutralunitfunc.txt
    • \Units\Neutralunitstrings.txt
    • \Units\Neutralupgradefunc.txt
    • \Units\NeutralUpgradeStrings.txt
    • \Units\NightElfAbilityFunc.txt
    • \Units\NightElfAbilityStrings.txt
    • \Units\NightElfUnitFunc.txt
    • \Units\NightElfunitstrings.txt
    • \Units\NightElfUpgradeFunc.txt
    • \Units\NightElfUpgradeStrings.txt
    • \Units\OrcAbilityFunc.txt
    • \Units\OrcAbilityStrings.txt
    • \Units\OrcUnitFunc.txt
    • \Units\OrcUnitStrings.txt
    • \Units\Orcupgradefunc.txt
    • \Units\OrcUpgradeStrings.txt
    • \Units\Undeadabilityfunc.txt
    • \Units\Undeadabilitystrings.txt
    • \Units\Undeadunitfunc.txt
    • \Units\Undeadunitstrings.txt
    • \Units\UndeadUpgradeFunc.txt
    • \Units\UndeadUpgradeStrings.txt
    • \war3mapExtra.txt
    • \war3mapMisc.txt
    • \war3mapSkin.txt

    I then edit the jass and txt files in Notepad++. The slk files are easiest to work with in Excel or similar spreadsheet editors.
    And finally reimport the changed files into the protected map and reprotect it.

    Example: Say you want to nerf Goku because he gets too much base health regeneration:

    • Open unitui.slk
    • Select all
    • Click data then filter
    • Filter model column for goku
    • Note down the unitIDs
    • Open unitbalance.slk
    • Filter this too
    • Filter column 1 for the unitIDs you noted down
    • Result
    • Scroll to the right until you find regenHP
    • Nerf away ignoring obvious dummy units with negative regen
    • Save and click yes to keep the slk format

    (instructions again)
    • Open unitui.slk
    • Select all
    • Click data then filter
    • Filter model column for goku
    • Note down the unitIDs
    • Open unitbalance.slk
    • Filter this too
    • Filter column 1 for the unitIDs you noted down
    • Result
    • Scroll to the right until you find regenHP
    • Nerf away ignoring obvious dummy units with negative regen
    • Save and click yes to keep the slk format

    Should you have any more questions, please don't hesitate to contact me.

    Can I publish this email conversation to my blog? I like to keep these things out in the open. Especially ones involving money.


    todo obj zip

  • Inyush34 Says:

    Yeah, you are more then welcome to post it on your site, although would it be too much to ask to block out my email? and please send me your PayPal so i can reward you with your work.

    Also, when you said "you should edit the game files directly instead of deprotecting. (second best)" how would i do that?

  • Inyush34 Says:

    Oddly, I cant seem to import the object data, mind sending me the deprotected version you have, with all the data. My editor just freezes and never loads.

  • Daniel "3ICE" Berezvai Says:

    Of course, I'll hide your email. Would you like your name hidden as well? Or replaced with a nickname / online handle?

    My paypal is: (← Donation link.)

    For editing the game files directly you'll need an MPQ editor that doesn't crash or corrupt the files. I've been using the Total Commander plugin by Ladik, who created it with the help of Ziutek, the author of the previous plugin. It's pretty stable. Their website at also has a standalone mpq editor if you'd prefer that. I've never used it myself but it looks all right.

    The World Editor freezes for several minutes when importing huge data sets. This is normal.
    But I attached my deprotected version anyway, in case you still need it. Although I must recommend that you try and move the object data to your own deprotected version, if you can. Because I didn't RMPQEx mine and I even deleted all sounds, models, and skins to save some space.
    It won't have anything in the trigger editor either, besides a fake protection message, because I don't use GUI triggers. I edit the war3map.j file directly.
    Also, saving the map would instantly overwrite war3map.j, deleting every JASS trigger.


    todo deprotected

  • Inyush34 Says:

    You can use a nickname for me yeah…

    Also i dont know why its freezing, i tried to import the data to a blank map, it works in 2sec. i try to import it to dbz map freezes, left it for 5min still nothing.

    I still dont have a map, with anything i need. i have 1 copy with data and no imports and 1 copy with imports and no data :P

    Would you be interested in making a generously decent amount of money for you to make the changes i need to the map, Im offering 30-60

    The changes i would require is as followed.
    Currently when Player (Red) types "ss4" it gives him some aura effect & stats. Instead i need it to replace his unit to a unit called Gogeta that currently is already preplaced on the map in the start of the game i think unit ID is H01D, in the war3map.j it shows

    "set unit087=CreateUnit(loc_player01,'H01D',-13874.7,15586.9,270.)"

    I guess unit087 is what i need Goku replaced as, BUT still making sure the SS4 stats are added so let the trigger run all its actions wait trigger is done then as a last line replace unit to gogeta and still keep stats the same. the tricky part is when you want to revert to normal form, you type "r" or "revert", i'd like goku to go back from Gogeta to his regular form and stats before he used SS4. i THINK the function is Func1330 in the war3map.j where SS4 trigger is

    and 2-3 other easier fixes might be needed but this is a main, Let me know if your interested

  • Daniel "3ICE" Berezvai Says:

    All right, what should your nickname be?

    It's freezing because it has to overwrite every stat on every unit. Peasant, Footman, etc. Not just customs. It's all caused by those slk files. They contain all the data on every unit, so the editor thinks we've edited every field of every unit too. Importing this many changes can easily take up to half an hour as it's done inefficiently.
    So yeah, Widgetizing is a very clever form of map protection. And it's useful too! Not only does it slow down us, hackers, it also speeds up the map load times for everyone else.

    I'd love to do that, yes. But it'll take hours of work. Please tell me the other changes you'd like.

    The rest of my email will be my notes I prepared for us. I'll use them when I'm making the first change you wanted and to explain to you what information is missing still.
    Note that I have not changed the script yet, as it's best to be done with that in one quick edit. I want to lower the chance of corrupting the map as much as possible. We'll be editing the map without any kind of deprotection.

    //All "ss4" triggers:
    //Player 1:
    function T1E takes nothing returns Boolean
    //↓ (If the above condition is true, execute the action below)
    function T2E takes nothing returns nothing
    //Player 1, different trigger, no condition:
    function NBX takes nothing returns nothing
    //Player 2:
    function WSE takes nothing returns Boolean
    //↓ (If the above condition is true, execute the action below)
    function WTE takes nothing returns nothing
    //Player 2, different trigger, no condition:
    function NBX takes nothing returns nothing
    //All revert triggers: (Finding which one is the right one won't be easy.)
    //Player 1:
    function UXE takes nothing returns Boolean
    function UOE takes nothing returns nothing
    //Player 2:
    function W4E takes nothing returns Boolean
    function W5E takes nothing returns nothing
    //Player 3:
    function VPX takes nothing returns Boolean
    function VQX takes nothing returns nothing
    //Player 4:
    function XEX takes nothing returns Boolean
    function XXX takes nothing returns nothing
    //Player 5:
    function OIX takes nothing returns Boolean
    function OAX takes nothing returns nothing
    //Player 6:
    function RQX takes nothing returns Boolean
    function RSX takes nothing returns nothing
    //Player 7:
    function G4X takes nothing returns Boolean
    function G7X takes nothing returns nothing
    //Player 8:
    function B8X takes nothing returns Boolean
    function B9X takes nothing returns nothing
    //Some more revert triggers for Player 1 and Player 2: (These look universal, this could be it.)
    function ILX takes nothing returns nothing
    function NPX takes nothing returns nothing
    //Replacing your hero with Gogeta (H01D) should be easy enough, as a Gogeta is already created for us:
    set R_V=CreateUnit(p,'H01D',-13874.7,15586.9,270.)
    call SetHeroLevel(R_V,35,false)
    call SetUnitState(R_V,UNIT_STATE_MANA,0)
    call SetUnitColor(R_V,ConvertPlayerColor(5))
    call SelectHeroSkill(R_V,'A00A')
    call IssueImmediateOrder(R_V,"")
    call SelectHeroSkill(R_V,'A00S')//x15
    call IssueImmediateOrder(R_V,"")
    call SelectHeroSkill(R_V,'A00L')//x7
    call IssueImmediateOrder(R_V,"")
    call SelectHeroSkill(R_V,'A01H')
    call IssueImmediateOrder(R_V,"")
    call UnitAddItemToSlotById(R_V,'I002',0)
    //Problem is, the Gogeta unit will probably have much different stats than your Goku and the map has no facility for copying hero stats over so I'd need to write that bit myself.
    //Either way, copying over stats is easily done, like so:
    call ModifyHeroStat(0,X+V,0,GetHeroStr(X3V, false))
    call ModifyHeroStat(1,X+V,0,GetHeroAgi(X3V, false))
    call ModifyHeroStat(2,X+V,0,GetHeroInt(X3V, false))
    //And that should work for str, agi, int. But I'm not sure what you want to do about details like hero level, health, mana, etc, because I've never played Dragon Ball Z. Please let me know how the ss4 transformation should work.
    //Reverting is tricky indeed. But I'll figure something out.
    //Function 1330 by the way is:
    function T2E takes nothing returns nothing
    //in the real script.


  • Inyush34 Says:

    Glad your on board!

    Ok, so that is the main change i wanted, now the second change would be to fix Vegeta, I've been told that Vegeta once he uses Oz (where he turns into a big monkey) not sure if its a command or an abilitiy, but he gains perm stats which is a bug, i think its when he reverts it doesnt remove enough stats from his previous form im not sure but it causes vegeta to be over powered late game. I'll ask the person who told me about it to clarify more if you cannot see it in the triggers. if not then the 3rd change and prob lastly is nothing to do with triggers, its making the game RoC compatible, i dont need the map itself to w3m, i just need things like creeps, some tft model changed for ex King Kai in heavon is a tft model, not sure how you'd go about editing unit data without deprotecting but hell you can change it to w.e you feel fits as long as its RoC, but dont worry about King Kai so much go for stuff that appears more often in the map, like tft creeps oh and i think Andriod 17 is a tft model, i need him any any RoC model just as long as its visual.

    In terms of the other important features that need to be converted like Revive tickets are tft, i just import the model to the protected map using winmpq and it seems to work, same with the tft terrain, i import the terrain using winmpq and it works without deprotecting the map. so other then that, that is it.

    just a quick recap. Firstly the Gogeta ajustment. Secondly, If you can find out what im talking about with vegeta then great, go ahead and fix that, if not i will get more detail on when and how it happens, and thirdly, converting creeps tft creeps to roc. I will try to get a list of creeps that show up the most on the map. with the names of the units

  • Inyush34 Says:

    and 2 other things i forgot, the gogeta thing only do it for player red, since red is goku, and the nickname just put Inyush34


    Fuck, my bad on sending another short message, i don't know if there is an edit button.

    The SS4 transformation, i belief all it does is add stats, to STR, agi, int, and i guess hp and such increases because of that

    and reverting, there should already be a trigger for that in the map, that you can use to work with to revert goku from SS4 gogeta back to regular form since when u use revert it doesnt go down levels example SS4 u type revert u go to SS3 no, it just goes from w.e form ur at lets say its SS4 u type revert u go back to normal form, i belief goku has, kao, ss,ss2,ss3,ss4 and none of them really "change unit" just change stats and some visual effects, and i guess each SS form adds more stats then the previous.

    I will try to play the map today and get the numbers


    Ok i did testing with the SS forms.

    "SS" = x2 stats
    "SS2" = x3 stats
    "SS3" = x3.5 stats
    "SS4" = x4 stats

    Other things that effect stats is attacking enemies, and when you level up. It seems every 2-3 attacks ups your STR, AGI, INT, by 1 or 2, and when you level up by 2-4 stats. But STR, AGI, INT are always the same so they all go equally.

    Ok now we know how it bases its ss stats from and what changes stats, im not sure how you will incorporate the Gogeta change. I am thinking maybe let the trigger run its actions for SS4, but as a last line, replace goku with Gogeta and use same stats as old units stats but the issue with this is will i continue to get more stats by leveling up and attacking enemies, since im sure the stats are being added by the unit being saved in a varible? so to fix that just make sure whatever varible is set to goku, make sure its replaced with gogeta, and then when i use revert subtract x4 stats and replace Gogeta with Goku and again change the vatible back to last replaced unit. Do you know what i mean?

    Edited by 3ICE: Merged quadruple post

  • Daniel "3ICE" Berezvai Says:

    Thank you, that's a very through description. I'll get to work immediately.
    It'll take me the better half of the weekend, so expect delivery by Monday.


  • Inyush34 Says:

    Take your time!

  • Daniel "3ICE" Berezvai Says:


    Since I promised results on Monday, and today is Monday, here is a progress report:
    Progress is being made.

    It is slow going though…

    I've been reading through the JASS code in my free time, identifying and deobfuscating key parts of it.
    You will get a full copy of this deobfuscated script once it's completed. I've included a sample at the end of this email.

    My excuse for the slow progress: I finally got my brother hooked on Path of Exile and we've been playing on Hardcore all weekend. I went two days straight without any sleep.
    My excuse for the future: StarCraft 2 HotS launches tomorrow, March 12. I'm going to the midnight launch event and won't be leaving my computer until I've beat the campaign with all side missions and fully unlocked all upgrade paths. Oh, and I go to university too… (Heading to my next class in 5 minutes in fact.)

    I expect I'll have this commission work done by Thursday this week. Or have another progress update for you at the very least.

    Would you be available to help me test my Vegeta fix in multiplayer? Sometime this week.
    I'm in the GMT+1 timezone. I can host on or on your preferred realm. I have accounts on all 4.

    Also, what should I do with all the cheats in the map? I know how to uninstall cheatpacks and will do it for you at no extra cost if you'd like. (It's a rather easy process of reverting the install steps one by one.)

    I've identified and renamed most of the obfuscated functions and variables. Here is a small example:

      unit X3V_Goku = null //Edited by 3ICE.
      unit Q_SpellTarget = null
      player GE_SpellTargetOwner = null
      trigger FY_RevertTriggerForRed = null
      trigger E4_RevertTrigger = null
      effect RX_LastCreatedEffect3ICE = null
      unit VE_TempUnit3ICE = null
      trigger MW_SpecialEffectsForSs4Transformation3ICE=null
      trigger XPV_SpecialEffectLeakCleanup3ICE=null
    function Debug3ICE takes string s returns nothing
      call DisplayTextToPlayer(GetLocalPlayer(),0,0,"3ICE's debug message: " + s)
    function T1E_ss4_condition_NY takes nothing returns boolean //Edited by 3ICE.
      return(X3V_Goku!=Q_SpellTarget)and(GetHeroLevel(X3V_Goku)>=$96)and(GetUnitTypeId(X3V_Goku)!='H004')and(GetUnitStateSwap(UNIT_STATE_MANA,X3V_Goku)>=100.)and(GetOwningPlayer(X3V_Goku)!=Player($F))and(BE[1]<5.) //Edited by 3ICE.
    function T2E_ss4_action_NY takes nothing returns nothing //Edited by 3ICE.
      call Debug3ICE("Goku default ss4 transformation main thread begin.")
      call TriggerExecute(FY_RevertTriggerForRed)
      call SetPlayerAbilityAvailableBJ(false,'A035',Player(0))
      call AddSpecialEffectTargetUnitBJ("origin",X3V_Goku,"Models\\SSAura.mdx")
      set RX_LastCreatedEffect3ICE=bj_lastCreatedEffect
      call SetUnitVertexColorBJ(X3V_Goku,100.,65.,20.,0)
      call EnableTrigger(JY)
      set AE[1]=4.
      set BE[1]=4.
      call TriggerExecute(BY)
      set VE_TempUnit3ICE=X3V_Goku
      call ConditionalTriggerExecute(MW_SpecialEffectsForSs4Transformation3ICE)
      call Debug3ICE("Goku default ss4 transformation main thread end.")
  • Inyush34 Says:

    Yes, im avaible to assist you in testing it Multiplayer. Im normally free around this time, and any realm, doesn't really matter!

  • Daniel "3ICE" Berezvai Says:


    Awesome. Tomorrow then. Add me: 3ICE.

    Which realm will I find you on?

    I'll send another email tomorrow. If all goes well.
    But I might still be playing HotS then, or more likely sleeping off the all-nighter I'll have pulled.
    In that case we'll postpone to Wednesday.


  • Inyush34 Says:

    I'll be sure to be online around the time i stated in the previous message i sent you that message, I'll be on GoTRUNKS[x] account on US.East. I've already added you. If anything just send me an email if you cannot make it.

  • Daniel "3ICE" Berezvai Says:


    I've been playing and replaying the game for two hours and can't for the life of me reproduce the Vegeta bug. Got a replay I could study?

    I'm online by the way. Hop on if you can.


    I have one more hour before I go to bed. Join us in "clan tew" when you are on.


    I'll wait an additional 30 minutes before heading to bed.


    I'm off to bed. Try again tomorrow.

    p.s.: Changing a unit's model is ridiculously hard if the map is protected. It's still not done… But at least I know how to do it:
    Custom Berserk ability

  • Inyush34 Says:

    I'm so sorry had some issues, to deal with that postponed me getting online, I will positively be online today I will be online as long as I can I'm sure I will catch you online.

    EDIT: I'm going to be online in 20min

  • Daniel "3ICE" Berezvai Says:

    Yup, we are chatting right now :)

  • Inyush34 Says:

    What is going on with the map.

  • Daniel "3ICE" Berezvai Says:

    I ran into a bug. Take a look:
    todo modelswap map

  • Inyush34 Says:

    Im guessing the bug is the form doesn't stay permanent is weird i tried looking online found this
    but not sure if its relevant.

  • Daniel "3ICE" Berezvai Says:

    Thanks, that was a pretty obvious mistake I made. From your link, the
    first reply solved it.


    All right, I am basically done.

    We'll test once you come online.

    Try to think of ways we can possibly break the transformation. I'll do the same.


    todo pic

    Three problems:
    Metamorphosis hides an icon on the ability bar.
    The text+progress bar of Metamorphosis hides hero level and xp. (The text itself can be edited to anything you'd like but it can't be hidden.)
    We are breaking DBZ canon with this. Gogeta is originally a fuse of Goku + Vegeta. My modelswap basically just removed the Vegeta requirement from the equation, which makes this ability incredibly OP. Visually only, of course. Stats are still balanced.

  • Inyush34 Says:

    That is fine since Vegita is always disabled on the bots i play on because of the OP bug he has, in terms of the "Metamorphosis" text just change it to Goku (SS4) or whatever. Also could you remove the unit tint it adds in SS4 im sure its triggered, just simply remove the lines that change his color only for SS4. Also what do you mean it hides an ability.

  • Daniel "3ICE" Berezvai Says:


    Commission work completed.
    Attached is the final result.

    Import the two war3map.* files into a fresh, still protected dbz map.
    Do not protect afterward.

    Daniel "3ICE" Berezvai



    As requested:

    todo map final

  • 3ICE Says:

    The above email conversation was published with permission from both parties.

    Edit: Re:

  • wp7 Says:

    Any attachments at all about an article are available.

  • Daniel "3ICE" Berezvai Says:

    Not sure what you mean.

  • Dennis1337 Says:

    where can i download

  • Daniel "3ICE" Berezvai Says:


  • ehsan Says:

    hi mr 3ice i wan't edit map dota with hex editor can you tell me what is hex number of gold?
    when i change it other peple must download again? or not?

  • Daniel "3ICE" Berezvai Says:

    Doesn't work like that. Payment first.

    Yes, they'd have to download the map again.

  • Anonymous Says:

    I have a question about the MPQ header corruption.
    I have edited the line after MPQ, and it seems to work as WinMPQ can no longer open the map, however when I try to play it with warcraft 3, it says it cannot find the file on my computer. I'm just wondering if I'm doing it wrong or if I have to host the map with a bot in order to play it…

  • Daniel "3ICE" Berezvai Says:

    I fear you did it wrong indeed.
    What you just achieved, is total corruption. It's like protection via deleting the file. Not actually useful.
    MPQ editors cannot open it anymore, but neither can the game.

  • wilbert Says:

    I tried your WC3Map optimizer, however, when i click at the 'Step 4' which is opening the patch file, I was not put to the next step(Step5). I don't know where is the problem. I wanted to play warcraft, but my map is too big. Please help. Thank you

  • Daniel "3ICE" Berezvai Says:

    It's not mine. (Vexorian made it. I am 3ICE.)

    Can you post a link to a screenshot? (Preferably through the image hosting service.)

  • wilbert Says:

    Hi 3ice, the 'save optimized as…' button is dull, i cannot save the patch-opt. how to do it? please help . thanks

    here is the screenshot

    Edited by 3ICE: Merged doublepost (Comments were 6 minutes apart.)

  • Daniel "3ICE" Berezvai Says:

    Thanks for the screenshot, it was very helpful in finding your issue:

    The problem is, you opened an entire folder, not a map. You never clicked the Open button, or never selected a map to open. You chose an entire folder.

    Opened map batch:
    C:\Program Files\Warcraft III\Maps\Scenario\

    You used the [Open Map Batch] button, so naturally you would have to use the corresponding [Mass optimize Batch...] button to save them.
    But don't use the batch feature if you are only protecting one map!

    Use the [Open] and [Save Optimized As...] button pair instead, it makes more sense that way.

    Edited by 3ICE:
    On a side note, I see you have some applications that I would consider bad software in a heartbeat. I'll list two examples below.

    OpenFreely warning: (Takes over parts of your computer, won't let you uninstall without causing collateral damage.)
    Internet Download Manager: That shit costs 30 dollars! (Shareware) While using free, open source tools to do the job. That is theft, and also breaks most open source tools' copyright rules. (You are allowed to use, but you may not resell or make profit from open source tools.)

  • Mazzell Says:

    I heard you would de-protect maps for some money. While I dislike maps being un-protected I have a request myself. This is for the map called Founders of the North. The map has stopped being worked on for about a year now. And the mapmaker is no longer reachable for contact. Thus I would like you to un-protect it. If possible with Working triggers and all, the full package lets say.

  • Daniel "3ICE" Berezvai Says:


    I have successfully deprotected Founders of the North 1.24 and I am ready to send you the files.
    Please send payment to or use this donation link:

    Amount can be whatever you feel is fair.

    Triggers are in text form as usual. Obfuscated too. They will run perfectly fine as is, but modifying them will be a pain. Adding brand new triggers is considerably easier. Basic JASS knowledge required: How trigger creation works, declaring functions, adding events and actions to triggers.

    Screenshots proving deprotection:–interface.png–imports.png–terrain.jpg–start.jpg–units.png–abilities.png–items.png


  • Mazzell Says:

    Thanks I will transfer €10 later today. I believe you already have my E-mail for when it arrives?

    Kind regards,


  • Daniel "3ICE" Berezvai Says:

    Yes, I already wrote the email and saved it as a draft.

    Edit: Sent.–email.png

  • Kristian Says:

    Hey 3ice,

    Dont know if you're still active, but i would like to send you some money to deprotect my map. let me know how i can reach you.

  • Daniel "3ICE" Berezvai Says:


    I received both your emails. Attached is the preliminary deprotect:

    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\(listfile)
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Arabian Marauder.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Arc.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\arrowquiver3noteamcolor.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Textures\Arthas.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\BanditChampion.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\BanditChampion_Portrait.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\BeamMissile.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\BlackSteelChainMail.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\BlackSteelChainMail_Portrait.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\BlingBlade.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\BlingBlade.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\BlueWave.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\ReplaceableTextures\CommandButtons\BTN_CW_Galen_Trollbane.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\BTNBloodelf_Hero_SwordChampion.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\BTNHalduronBrightwing.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\BTNRagnarFlamebeard.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\crown.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\CW_Galen_Trollbane.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\CW_Sir_Valiant.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\CW_Valiant.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\CW_Valiant_Portrait.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\CW_Valiant_Sword.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\DarkElfAura.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\DarkElfAura.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\ReplaceableTextures\CommandButtonsDisabled\DISBTN_CW_Galen_Trollbane.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\ReplaceableTextures\CommandButtonsDisabled\DISBTNBloodelf_Hero_SwordChampion.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\ReplaceableTextures\CommandButtonsDisabled\DISBTNHalduronBrightwing.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\ReplaceableTextures\CommandButtonsDisabled\DISBTNRagnarFlamebeard.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Elrond.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\ElvenBow.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\ElvenRangerBow.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\EvilKing.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\FootArcher.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Gondolian_Roof.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Gondolian_Tower2.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Gondolian_Wall.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Gondolin_Tower.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Textures\HalduronBrightwing.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\HalduronBrightwing.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\HalduronBrightwing_Portrait.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Helmet1.02.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\HeroArchMageOnFoot.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\HeroArchMageOnFoot_Portrait.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Textures\heromountainking.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\HighElf.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Human Archer_squished.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\UI\Feedback\HPBarConsole\human-healthbar-fill.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Lantern.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\MercenaryArmor_v2.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\MinasHouse01.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\MinasWall2.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Monk.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\SindarArcher.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\SindarElf.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\SindarSpearman.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\SindarSwordsman.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\SindarWeapons.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Sipahi.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\StoneBridge.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\SunchipsArmor.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Tower2.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\war3map.doo
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\war3map.imp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\war3map.j
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\War3map.mmp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\War3map.Shd
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\war3map.w3a
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\war3map.w3b
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\war3map.w3d
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\war3map.w3e
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\war3map.w3h
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\war3map.w3i
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\War3map.w3q
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\War3map.w3t
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\war3map.w3u
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\war3map.wct
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\War3map.wpm
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\war3map.wtg
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\War3map.wts
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\war3mapExtra.txt
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\War3mapmap.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\war3mapMisc.txt
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\War3mappreview.tga
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\war3mapSkin.txt
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\war3mapUnits.doo
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Warfang.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Woodbow.mdx

    Missing files: File00000030.blp, File00000039.mdx, File00000043.mdx, File00000057.mdx, File00000061.blp,, File00000066.mdx, File00000067.mdx, and File00000074.blp

    Daniel "3ICE" Berezvai

  • Vir. Sch. Says:

    Good piece - I loved the analysis . Does anyone know if I could possibly access a sample NY UD-11 copy to edit ?

    Edited by 3ICE: Spam neutralized and spammer neutered.

  • Alex Says:

    HI ,

    How much will you charge for a map to be deprotected ? I gave up … tried in different and different ways … can't do it… The map is protected with Vexorian!Let me know .. thanks!

    Edited by 3ICE: Removing URL. (was: "http://notrequired") Feel free to just leave the URL field blank in the future :)

  • Daniel "3ICE" Berezvai Says:


    Just 5$ for a basic deprotection. You can send it by clicking here:

    Big or complicated projects run higher. Record amount is 40€ for now.


  • Alex Says:

    Send me your e-mail address so we can discuss better!

    Edited by 3ICE: Removing URL. (was: "http://notrequired")

  • Daniel "3ICE" Berezvai Says:


    p.s.: Feel free to just leave the URL field blank in the future :)

  • Alex Says:

    check your e-mail!

    Edited by 3ICE: Removing URL. (was: "http://notrequired")

  • Daniel "3ICE" Berezvai Says:

    Checked. Replied.

  • Alex Says:

    check your e-mail dude!

    Edited by 3ICE: Removing URL again. (was: "http://notrequired")

  • Daniel "3ICE" Berezvai Says:

    I actually check my email before these blog comments, dude. No need to remind me here :)
    All comments generate an email notification. That is how I am informed about new comments 99% of the time. The only comments I ignore for a long time are spam. (No notification for that, I look through what's in the spam bucket maybe once a month.)

  • lhp Says:

    Do you charge if you give me a personal tutorial in layman term?? MY map have even more details than dota, so can you teach me to make the map to be as difficult to deprotect like dota?

    Edited by 3ICE: Discussion continued in email. Putting it here as it develops:

    Subject: Re: Advanced protection personal tutorial enquiry | Hi, Yes, I have done this in the past. Most of the material is already written in fact, and it’s ready to be personalized. Tell me about your budget, map name and its file size, website of the map or even just a download link. What are the major libraries used, approximate script length (of the generated war3map.j or the handwritten source code), favorite editing tools, and let me know your technical competencies. By that last one I mean: Do you know python, for example? I will tailor my private tutorial just for you after we agree on a price. Sincerely, Daniel ”3ICE” Berezvai Sent from my Windows 10 phone

    l hp Thu, Jan 12, 2017, 10:44 AM to me

    Thank you for speedy reply

    I don't know any programming language, if not I wont be asking you to provide layman tutorial. Actually I haven't release yet the map to the public because it is still in testing phase and so probably will take another few months.
    I only use the traditional world editor with GUI triggers. Those codes work for me and simple, so far no problem in gameplay. The original map size around 9mb I estimate.
    I know experts can open maps, I dont mind the map being opened to view and take the imported stuffs. I just want the map to be near imposible, or better impossible, to save & update.

    3ice Thu, Jan 12, 2017, 11:01 AM to l

    Hi, Okay, we'll focus on that. Make the editor crash when people attempt to save ;) Also some automatic tools that prevent the use of more advanced Mpq editors. Daniel

    From: l hp Sent: 2017. január 12., csütörtök 11:44 To: 3ice
    l hp Fri, Jan 13, 2017, 11:09 AM to me

    Can you quote the price?

  • Asqwerdian Says:

    Do you have any experience with restoring maps that were broken after the 1.24 bnet patch? Would love to discuss a transaction or two if so.

  • Daniel "3ICE" Berezvai Says:


    Yes I do. Please give me until Monday to finish a previous project, then I’ll dedicate my full attention to your map. You can already send me the link (or attach the raw map if the public version is protected), and send the money (any amount) to if you want. Any donation link on my site, will work for this purpose.

    Include all pieces of information that you think might help me fix the map as well, in your next email. Or reply by leaving more comments on my blog, as I get emails like the one below automatically, and it’ll make my job easier when I go to publish our conversation once it’s concluded. Thank you.


    P.s. Yes, I will post this conversation as comments on my blog as well, but email first. I am approving your comment in a few hours, and then any more comments you leave will appear automatically.

    Sent from my Windows 10 phone (…yeah, I'll be back at my PC soon though.)

  • Asqwerdian Says:

    The map's protected, I sent you a link via email, along with a small donation. I don't need any of the code or anything, just want to be able to play it again for the current 1.28 Bnet patch. I tried some methods from though I'm no good at JASS. is another snippet I thought might be useful. Anyways, let me know how it goes. Appreciate it.

  • Daniel "3ICE" Berezvai Says:

    Note to self:

    ToDo: Publish the above referenced email exchange between Asqwerdian and me.

    ToDo: Publish some of the 300+ emails Murradin and I exchanged recently, regarding Vamp Zero (new project).

    Also ToDo: Double check I asked for their permission to publish. Not sure about the second email thread.

  • jkjks33 Says:

    hi ,
    when i open map in ladiks mpq editor and ladiks mpq extract all file , when i open file with Notepad ,in notepad there is a unknown font file , and i cant change anything
    Help me
    is this problem for my font ?

  • Daniel "3ICE" Berezvai Says:

    Unfortunately that's not enough information for me to be able to troubleshoot your issue. More details please. For example: Name of the file, some screenshots of the process, etc. Thank you.

    Also I'm two weeks late in replying so you probably already solved it or moved on. I'm sorry! (Somehow I didn't get an email notification about this comment…)

  • krajacz Says:

    Hi! Are you familiar with latest protection methods and can you deprotect map for me? Regards

    Edited by 3ICE: rm website, was "war3player"

  • Daniel "3ICE" Berezvai Says:

    Yes, I am. My tool set was last updated in March of 2018.

    Edited by 3ICE: And yes, I can deprotect maps. Send payment and the map to my PayPal address (find it above, in older comments).

  • Daniel "3ICE" Berezvai Says:

    Version 1.29/1.30 of Warcraft 3 broke script optimization in Vexorian's Map Optimizer. Because there is no more war3patch.mpq file.

    It still works as long as you uncheck these two options:
    Map Optimizer VXJWTSOPT - optimize script or compress names with the latest WC3 patch is not advisable.png
    Map Optimizer VXJWTSOPT - optimize script or compress names with the latest WC3 patch is not advisable.png

    I'll create an mpq file (tiny war3patch.mpq) with the required common.j & Blizzard.j files inside, to make the Optimizer work with scripts again.

    Edit: Promised here as well:

  • Dandan Jolo Says:

    Can you deprotect map for me?

    Edited by 3ICE: Yes

  • Jolo Vexer Says:

    I've put my discord link in the Mail section, which I assume you can see. Spazzler and Wc3SLKOpt no longer work with 1.30 and I need a method of protection that will stop people from extracting models from my map. I can either pay you or trade you, I have an undetectable method for hiding cheat code activators, completely unbreakable, which I'd be happy to demonstrate to you. If you knew this method, you could make some real cash, much better than 5$ per request. You help me and I'll help you. Send me a request if you're interested.

  • Daniel "3ICE" Berezvai Says:

    Yes! Please do demonstrate your undetectable cheatpack, I love breaking unbreakable things. Set me a challenge, I'd love to find the activator in a map of yours. (Defcon teaches us that there is no such thing as perfect security.)

    A combination of the tools still works to offer reasonable protection. (But models are easy to steal no matter the defense used. I'm much more interested in script obfuscation.)

    • Two comments above I explain how to use Vexorian's in 1.30+
    • Spazzler should work fine between all patch versions, as the MPQ file format was not changed for maps. Spazzler lightly touches the header.
    • Wc3SLKOpt will be updated next month I expect, for 1.30.3)
    • An additional tool I recommend is W3×2Lni (but map needs to be in old version, 1.27 IIRC)

    Unfortunately, the Mail section only allows email addresses. (No # symbol) Your Discord link was certainly mangled or only partially saved.
    I don't use Discord (but could be persuaded to log in)

  • Jolo Vexer Says:

    I have spazzler right now, it's returning the error of "There was an error reading the map file" this happens with both Spazzler and Wc3SLKOpt, these are the only two options I've seen which prevent xdep from running and both make the map unplayable as well. I know there's no such thing as perfect protection, I don't need it impossible. I just need it as close to impossible as we can get.

    As for my security, how would you like me to demonstrate it? The people over at wc3.edit have tried and couldn't break my protection. I can include a link to one of my maps if you would prefer? Though I would also like to move this out of the public space, having a lengthy discussion about protection methods seems counter productive.

    I also know how to use Vex's with 1.30, I'm not some random nobody who doesn't understand how to use the editor. However Vex's protector, while good, does not prevent xdep. Ideally I'd like to use Vex in combination with something else due to Vex's script obfuscation feature.

    Edited by 3ICE: Merged doublepost.

  • Daniel "3ICE" Berezvai Says:

    Yes a link to a map would be best, thank you. If it stumps wc3edit folks I am already most impressed by it.
    You can reach me via email; any random address at this domain will be forwarded to me. (Even messages sent to the paypal account I use for donations will arrive in my inbox.)

    Wait, did you get Vex's script obfuscation working in 1.30? I couldn't. I just found a (not as good) workaround. I have to use Jasshelper / W3×2Lni separately now. Vex is working with everything enabled except script obfuscation. The best feature, lost.

  • Anonymous Says:

    "Wait, did you get Vex's script obfuscation working in 1.30?"
    As far as I know script obfuscation works fine, as long as you provide common.j and Blizzard.j. The only issue I've seen is that you have to also check "AntiBJ" in "Tweaks -> Avoid" else the neutral creeps will belong to the wrong player.

    Edited by 3ICE: Thank you. Until now, I had to keep a separate 1.26 install around (that still has usable MPQ files) to be able to give war3patch.mpq to Vexorian's Optimizer.

  • relaxing meditation music spammer Says:

    Hey! Do you know if they make any plugins to protect against hackers? I'm kinda paranoid about losing everything I've worked hard on. Any tips? (IP: ,

    Edited by 3ICE: Spam neutralized. + Additional sampling of what I have to put up with below (from now deleted comments):

    keyGetter | |
    just found out keyGettercom was one of the best websites for licence and keys
    From How to download Warcraft III (Legal if you have a CD key) (Illegal if you don't), 2019/02/05 at 12:32 PM

    oceans of games | |
    This is a really good site post, i am delighted I came across it. I will be back down the track to check out other posts that
    From How to download Warcraft III (Legal if you have a CD key) (Illegal if you don't), 2019/01/31 at 5:21 PM

    198,54,125,136 | |
    Hi there, You have done an excellent job. I will definitely digg it and personally recommend to my friends. I'm sure they will be benefited from this web site.agen bola
    From All about colors (in Warcraft 3), 2019/01/31 at 6:42 AM | |
    I truly enjoy looking through on this website , it holds fantastic blog posts.
    From How to download Warcraft III (Legal if you have a CD key) (Illegal if you don't), 2019/01/23 at 1:29 PM

    123.hp,com/setup envy 5531 | |
    Thank you very much for this valuable contribution and informative.
    From How to download Warcraft III (Legal if you have a CD key) (Illegal if you don't), 2019/01/21 at 1:27 PM

    Edited by 3ICE: I additionally reported two gmail accounts of the spammers in question, the most obvious ones.

  • skydawg Says:

    Moved from Affiliate submission rules, 2019/08/04 at 12:34 AM
    Hello, I’m not sure where to post. But is like to pay you to deprotect a map for me in Warcraft 3 . If you could get back to me ASAP I’d appreciate it

    Moved from Introduction, 2019/08/04 at 12:36 AM
    Hey, can I pay you to de protect a wc3 map for me? Thanks

    Moved from Protecting Warcraft 3 maps - Vexorian's Map Optimizer and other methods, 2019/08/04 at 12:44 AM
    Hello, id like to pay you to deprotect a few maps for me. Please reply or send me an email. Thanks!

    Edited by 3ICE: Merged four comments into one. ^

    the maps i need are War of the Lost Kingdoms 6.0
    Middle Earth Risk 8.1
    I'll pay extra if you can get them done quickly. Thanks

  • Daniel "3ICE" Berezvai Says:


    Got your messages. (Merged them into one.)

    Yes, I can get them done today. Payment first:

    Edit: I downloaded Middle Earth from
    and WotLK @ — It's version "8.1 (K)", close enough

    Edit 2: 9,36 $ received. Deprotecting… Done! Uploading…

    Edit 3 a month later, to fix a small thing: Just noticed the links were swapped.

  • skydawg Says:


  • Daniel "3ICE" Berezvai Says:
  • skydawg Says:

    the World editor wouldnt let me open them, Still says the same error :(

    #3777 is my discord. Let me show the error messaqe im getting.
    The application has encountered a critical error
    Not enough memory resources are availiable to process this command
    requested 35281317632 bytes of memory
    press ok to terminate the application

    Edited by 3ICE: Merged doublepost.

  • Daniel "3ICE" Berezvai Says:

    Oh shoot! It worked on my end…

    Well, you are eligible for a refund. Or we can work on fixing the error?

    First things first, grab Jass NewGen Pack (JNGP) 2.0 - it removes editor limitations and fixes most of the usual protection-related crashes. Please let me know if that fixed it.

    Edit: The password for unpacking is "JNGP", in case it asks for one. The old JNGP's readme.html file contains it.

  • skydawg Says:

    Do you have a download link for Jass NewGen Pack (JNGP) 2.0 ?
    What do i do when i download it? Sorry i am not technically savy

  • Daniel "3ICE" Berezvai Says:
  • skydawg Says:

    What program do i unpack it with? when i downloaded it, it shows up as a document.

  • Daniel "3ICE" Berezvai Says:


    Make sure to follow the instructions included with the readme file or read the tutorial at:

    Additionally you will need to "obtain" an older copy of Warcraft 3. Not the latest 2019 experiments, nor fancy stuff like the PTR / Public Test. (Which is cool and new, but a bit too different.)

    Over at I suggest significant version numbers to avoid/keep:
    1.13 World Editor receives a lot of upgrades and additions.
    1.22 Some map making tools broken (see below).
    1.23 The return bug was removed. No more H2I. But we got HashTables.
    1.24 The multiplayer map size limit was increased from 4MB to 8MB.
    And I claim the following:
    Advanced map makers now have two installs of Warcraft, because 1.22 broke Grimoire, war3err, and japi (important tools for JASSers). I maintain three separate War3 installs, because I make RoC maps, and they need to be tested in a RoC-only environment too. (To make sure I didn't use anything that's TFT-only. Otherwise the map would crash.)

    Preferably get the same version that was used to create the maps originally. I think these two are 2010-2014 era maps, so around patch 1.26 will work for them.

    Version 1.26 is a safe bet today. I keep many old versions around for personal use (like watching replays, compatibility with third party tools, playing on private servers, accessing old features now removed, and for loading up unplayable maps today, etc.)

    This new "Reforged" patch breaks many third party tools we used to use back then for map making. And includes others by default. (Which is nice for newbies, but causes conflicts for us old pros. For example I already had JassHelper installed, so after the update I got stuck with two copies running in parallel on map save. They killed each other so I had to uninstall one and reinstall the other to fix things.)

  • skydawg Says:

    Okay man, ive been fiddling with downloading 7zip / jassnewgen pack for awhile now. jng cant locate my world editor in my files and its getting frustrating.
    Honestly would it be better if you added the things i wanted to the maps and we just called it a day? or you could somehow fully deprotect them and upload it as a new map that didnt have deprotection on it? thanks

    I just want a trigger added to both maps that increases player1 (red) gold and lumber to 2000.
    By using the keyword: -legolas as an exact match

    Edited by 3ICE: Merge doublepost

  • Daniel "3ICE" Berezvai Says:

    Sorry for the hour long break — I took a bath. Any progress with the 1.26 download?

    The maps are fully deprotected. Or at least as fully as possible with the Optimizer deleting stuff… It's just that an older version of Warcraft is needed, one that doesn't check for the existence of formerly optional files. They now became mandatory.

    Here's an updated War of the Lost Kingdoms - Beta 6.0 - Deprotected by 3ICE.w3m

    I'll add the cheat trigger you need to them. But increase gold/wood TO 2000 or BY 2000? Important distinction. Add vs Set to.

  • skydawg Says:

    its okay hahah . ahh okay so i get thats why u want me to download the old verison.
    add gold / wood to 2000 not set :D
    Trying to find a viable 1.26 link, uhm happen to know a good one? :D

  • Daniel "3ICE" Berezvai Says:

    Not sure if I'll get into trouble for posting links to torrents…

    Edited by 3ICE: AdBlock strongly recommended. Porn game banners are probably rampant over there.

    This one claims to be 1.26:×1080-1440×900-4K-8K-The-Frozen-Throne-MULTi6-PL-ISO-ELAMIGOS

    And here are some more because why not:


    Some random italian copy, not sure about patch version:

    None of these are tested by me by the way. Could be virus, scam, or anything. I just grabbed the ones with most seeders.

    I own legal WC3 and had the foresight to save backup copies before updating, so I didn't need such torrents before.

  • skydawg Says:

    Right i see. well when you get done editing those triggers in the map please post the updated maps and i think thats all ill need
    Again just want
    add Player1 *red* gold and wood to 2000 when i type -legolas as an exact match

  • Daniel "3ICE" Berezvai Says:


    // Generated
    trigger gg_trg_cheat= null

    // Trigger: cheat
    function Trig_cheat_Actions takes nothing returns nothing
    call SetPlayerState(Player(0), PLAYER_STATE_RESOURCE_GOLD, GetPlayerState(Player(0), PLAYER_STATE_RESOURCE_GOLD) + 2000)
    call SetPlayerState(Player(0), PLAYER_STATE_RESOURCE_LUMBER, GetPlayerState(Player(0), PLAYER_STATE_RESOURCE_LUMBER) + 2000)

    function InitTrig_cheat takes nothing returns nothing
    set gg_trg_cheat=CreateTrigger()
    call TriggerRegisterPlayerChatEvent(gg_trg_cheat, Player(0), "-legolas", true)
    call TriggerAddAction(gg_trg_cheat, function Trig_cheat_Actions)

    function InitCustomTriggers takes nothing returns nothing
    call InitTrig_cheat()

    to both maps…

  • skydawg Says:

    for both maps

    thanks thanks , btw are you excited for reforged?

    also im seeing a "version switcher" rather than wc3 tft 1.26 download, i dont think that would help my case because im trying to access the world editor from 1.26 not the game

    i found a 1.26 link and when i downloaded it im kinda confused on what to do next

    Edited by 3ICE: Merged quadruple post.

  • Daniel "3ICE" Berezvai Says:

    Done. One map already contains cheats by the way. I did not touch them.


    Yes excited but if it's compatible (as promised) with old WC3 I'm not buying WC3 yet another time. I play on low graphics anyway and still lag late game.

    Version switcher's been great. I don't use it because I have my own solution, but I'm sure it switches the editor as well as the game without trying it. I know it manages every file in the install directory. And the Editor is included in that category.

    Note that probably Reforged breaks version switcher too. Any third party program needs update in 2019. Game stopped using MPQ to store its data. So unless it's Version Switcher 2019, it won't help.

    Any BitTorrent client can grab the linked files. I use uTorrent (old version, before it went full AdWare status on us).

    You're learning a lot for just 10 dollars :D I should start a school for training advanced computer users.

  • skydawg Says:

    sheesh ikr? hahaha i am learning alot. It took me forever to slowly get used to world editor by myself without any help. and i know i dont know how to edit maps worth a damn
    im excited for reforged too i want to see what new custom games and such people will breathe into the game,
    cheats already?? thats funny. i play with my friends only to show off so its going for a good cause hahah .

  • Daniel "3ICE" Berezvai Says:

    Here's a screenshot:


    Notice the 2000 gold/wood ;)

    Here's the download:

    (Other map coming soon, taking a long time to upload…)

  • Daniel "3ICE" Berezvai Says:
  • skydawg Says:

    Thanks man!! i feel bad so ill leave a tip, u da best

  • Daniel "3ICE" Berezvai Says:

    Much appreciated. Hit me up if you need anything else. Computer advice, mapping, triggering, beta testing, or just Someone to play with.

    I made you a list of all the advanced cheats in War of the Lost Kingdoms btw:
    Just make your name cr4zykil3r or COcr4zykil3r

    Then you can use any of these commands:

    Line 19: string udg_name="-name"
    Line 541: call TriggerRegisterChatEvent(t2t,p2p,"-clearkeys
    Line 1041: call WaitForString(p2p,"-nomh"
    Line 1132: 0,6 -gold "
    Line 1134: 7 -lumber"
    Line 1136: 5 -mana"
    Line 1137: call CDandMana(p2p,true,"-nomana")
    Line 1138: 5 -nocd"
    Line 1139: call CDandMana(p2p,false,"-cdon")
    Line 1140: -showkeys"
    Line 1145: -locktrade"
    Line 1147: -unlocktrade"
    Line 1149: -lock"
    Line 1153: -unlock"
    Line 1156: -shareall"
    Line 1164: -soff"
    Line 1174: -share "7,97,9
    Line 1178: -unshare "9,117,9
    Line 1182: -ally "
    Line 1186: -unally "8,108,10
    Line 1189: -unallyall"
    Line 1199: -allyall"
    Line 1207: -setname"
    Line 1209: -food "
    Line 1212: -setcolor"
    Line 1214: -say"
    Line 1216: -fast"
    Line 1217: call FastUnit(p2p,"-nofast")
    Line 1218: 6 -ufast"
    Line 1219: call FastBuild(p2p,false,"-noufast")
    Line 1220: 7 -bfast"
    Line 1221: call FastBuild(p2p,true,"-nobfast")
    Line 1222: 5 -tele"
    Line 1223: call Tele(p2p,"-note")
    Line 1224: -colors"
    Line 1226: -g "
    Line 1228: -l "
    Line 1230: -f "
    Line 1233: -sc "
    Line 1235: -sn "
    Line 1237: -kick "
    Line 1239: -hear"
    Line 1242: -nohear"
    Line 1244: -noreplay"
    Line 1246: -time"
    Line 1248: -disable"
    Line 1250: -reg "
    Line 1253: -cheatoff"
    Line 1255: -cheaton"
    Line 1258: -unit "
    Line 1263: -nounit"
    Line 1265: -area"
    Line 1271: -noarea"
    Line 1273: -act"
    Line 1275: -destid"
    Line 1283: -int"
    Line 1285: -agi"
    Line 1287: -str"
    Line 1291: -invis"
    Line 1293: -vis"
    Line 1295: -revive"
    Line 1299: -destroy"
    Line 1301: -addhp "
    Line 1311: -nofood"
    Line 1313: -food"
    Line 1315: -unitid"
    Line 1317: -itemid"
    Line 1319: -float"
    Line 1323: -stop"
    Line 1325: -resume"
    Line 1327: -heal"
    Line 1329: -autoh "
    Line 1336: -autohoff"
    Line 1338: -attack"
    Line 1340: -dead"
    Line 1342: -birth"
    Line 1344: -stand"
    Line 1346: -music"
    Line 1352: -owner"
    Line 1354: -size"
    Line 1356: -lvl"
    Line 1358: -xp"
    Line 1360: -hp"
    Line 1362: -mp"
    Line 1364: -invul"
    Line 1366: -vul"
    Line 1368: -kill"
    Line 1370: -ms"
    Line 1372: -pathon"
    Line 1374: -pathoff"
    Line 1376: -debuff"
    Line 1378: -charges"
    Line 1380: -additem"
    Line 1387: -add"
    Line 1390: -remove"
    Line 1392: -spawn"
    Line 1397: -ground"
    Line 1399: -spa "5,7
    Line 1401: -copy"SubString(s2s,6,7)!="0"
    Line 1413: 0,3 -mh"
    Line 1448: call WaitForString(p2p,"-bind"+q2q,true)
    Line 1465: 0,10 -clearkeys"
    Line 1467: 7 -bindup"
    Line 1470: 9 -bindleft"
    Line 1473: 10 -bindright"
    Line 1476: 9 -binddown"
    Line 1490: call TriggerRegisterChatEvent(CH34TS,p2p,"-"
    Line 5622: call TriggerRegisterChatEvent(ICH34T,(zzz),"-"
    Line 5929: cheat, (0), "-legolas", true)
    Line 6379: Gate_Open,(0),"-open
    Line 6394: Gate_Close,(1),"-close
    Line 6409: Gate_Open_Copy,(2),"-open
    Line 6432: Gate_Close_Copy,(11),"-close
    Line 6621: red_ally_alll,(0),"-ally all
    Line 6656: clan_match_Copy,(11),"-mode clan match mode
    Line 6700: Ally_Blue,(11),"-ally blue
    Line 6703: All_Resd,(1),"-ally red
    Line 6726: Ally_Teal,(11),"-ally teal
    Line 6729: Ally_Purple,(0),"-ally purple
    Line 6752: Ally_Yellow,(11),"-ally yellow
    Line 6755: Ally_Orange,(0),"-ally orange
    Line 6778: Ally_Green,(11),"-ally green
    Line 6781: Ally_Gray,(0),"-ally gray
    Line 6805: Ally_Dark_green,(9),"-ally dark green
    Line 6808: All_brown,(0),"-ally brown
    Line 6831: Allly_pink,(11),"-ally pink
    Line 6834: Ally_light_blue,(0),"-ally light blue
    Line 6857: war_red,(11),"-war red
    Line 6860: war_blue,(0),"-war blue
    Line 7000: war_light_blue,(11),"-war light blue

    Edit 2019/08/04 at 5:58 AM: 10 more dollars received, ty

  • skydawg Says:

    Awesome! your welcome, now do i need to make a acct with that name or do i set my name to that name in game?

    Awesome! your welcome man, Now do i need to set my name in game to that for the cheats to work? or make an acct with that name

    Edited by 3ICE: Merged doublepost. + The answer is yes. Register his account, it's probably been deleted so free to take. Alternatively use a name spoofer. If not, maybe try on UsWest or Asia it's bound to be available there.

    Awesome ty, im using some of these cheats by myself now and i dont know what most of them even do, like what does
    Line 1230: -f "
    Line 1233: -sc "
    Line 1235: -sn
    what do these even do? haha

    Edited by 3ICE: Another merge.

  • Daniel "3ICE" Berezvai Says:

    -f sets your food cap:
    call SetPlayerState(Player(S2I(SubString(s2s,3,5))),PLAYER_STATE_FOOD_CAP_CEILING,S2I(SubString(s2s,6,20))) call SetPlayerState(Player(S2I(SubString(s2s,3,5))),PLAYER_STATE_RESOURCE_FOOD_CAP,S2I(SubString(s2s…

    -sc changes your color:
    lseif SubString(s2s,0,4)=="-sc " and S2I(SubString(s2s,4,6))<16 and S2I(SubString(s2s,3,5))>-1then call SetPlayerColor(Player(S2I(SubString(s2s,4,6))),StoPC(SubString(s2s,7,13),Player(S2I(SubString(s2s,4,6)))))

    -sn sets name:
    elseif SubString(s2s,0,4)=="-sn " and S2I(SubString(s2s,4,6))<16 and S2I(SubString(s2s,3,5))>-1then call SetPlayerName(Player(S2I(SubString(s2s,4,6))),StringConv(SubString(s2s,7,300)))

    -c is not a command?

    -tele teleports you to wherever you issue a patrol order (= ID 851990):
    if GetIssuedOrderId()==851990 then call SetUnitPosition(u2u,GetLocationX(k2k),GetLocationY(k2k))

    -spa does this:
    elseif SubString(s2s,0,5)=="-spa " and S2I(SubString(s2s,5,7))<16 then call CreateUnitAtLoc(Player(S2I(SubString(s2s,5,7))),Str2RAW(SubString(s2s,8,12)),GetUnitLoc(u2u),GetUnitFacing(u2u))
    Edited by 3ICE: 2019.08.07. 12:12 addition below.
    Basically it creates any unit you want. Examples: Edem for a free demon hunter, hfoo for a simple Human Footman, ngol for a neutral Gold Mine, also we have Starcraft units: zmar zhyd zzer zjug and zcso. Last of all Archimonde is Uwar, probably the most OP hero in the game. Divine armor included.

  • skydawg Says:

    ahh thanks for the cheat list. i came across another map i wanted my
    add player 1 (red)gold to 2000 with chat message -legolas with if you could, its
    Risk Reforged_1.53ip.w3x

    u there? :D

    did u go on vacation or something haha

    Edited by 3ICE: Merged.

  • Daniel "3ICE" Berezvai Says:

    Ye, we went to Lake Balaton for Monday and Tuesday (Off-season days so traffic wouldn't be bad on our way there, nor back.) I'm home now. Back in the grind wheel.

    The link you sent me points to an email attachment in a private/suspended gmail account, for which I would need your username and password unfortunately. Don't do that though.

    I even joined their "Official Risk Discord" and found the Risk Reforged chat rooms, but the doofuses don't have a download link pinned anywhere - just General chit chat…

    I searched through 7600 pages of chat history (for w3m|w3x|download|etc) but the only results were file names (not downloadable) like Risk Devo 2.1.w3x*, troubles with downloading warcraft 3 itself, and them discussing how they will host the map on Bnet for someone to download…

    * = TitanBOT 11/27/2018
    [adolf_riskler#4862] so whats the correct map now
    [adolf_riskler#4862] im gonna host
    [adolf_riskler#4862] someone send me map

    Col.Ellis 11/27/2018
    It’s v 2.1

    [adolf_riskler#4862] Risk Devolution Reborn 2.1.w3x
    [adolf_riskler#4862] this one?

    All they care about is reporting and maintaining huge listings of preteamers it seems. Oh, and catching cheaters! Here's a quote:

    Saran 03/07/2019
    and check map properties
    if any map has more than 4 516 650 bytes then it's cheated
    for example the cheated one has 4 581 … as I checked
    Or just download new version from #deleted-channel

    // 3ICE: I guess #deleted-channel is where they USED to offer map downloads… Well, no more. Also the increased map size method is shit. Cheated maps usually become smaller not larger due to unused ~unknown files getting wiped out. Another quote:

    Nod 02/11/2019
    Ya call him serin

    Saran 02/11/2019
    Ah it's you, in future check #deleted-channel for download links

    // 3ICE: Thanks serin m8, in future I will! Oops it's been deleted. It was not future proof after all.

    With that nonsense finished I stopped my crawler (once it reached 2017), obviously nothing useful here. Except a brand new warning that just popped up at the bottom that's going to be pretty useful to avoid getting you banned:

    VNV-Nation Today at 8:26 PM
    Theres a hacked Risk Map, dont play a game if you have to download the map when you join a lobby @Nod @2nerla

    Then I went to the new maps.w3reforged website and perused the categories/risk/risk-reforged section where they do have Risk Reforged but only versions up to Beta 1.53g — that's something at least. What now?

    I'm also emailing this to you because I assume you got tired of checking here for new replies :)

    p.s.: I edited #comment-2024

    Check it:

  • Skydawg Says:

    Thanks Ice, looks like I will have to host the risk map so you can get the version downloaded in your files, or you can join one yourself. Either way, let me know when you are ready and I can host the map I have.

    I actually went tubing and jet ski on a lake yesterday too haha

    Edited by 3ICE: Merged doublepost. + I am ready and online. 3ICE at Europe (or US East) Edit 2: Time now is "30 minutes have elapsed since your two comments".

  • Daniel "3ICE" Berezvai Says:

    Nice. Seahawk inflatable dinghy is excellent for tubing.

    Got in a game, grabbed Risk_Reforged version 1.53kP

    Hidden commands are -rpiscool and -secret

    Already found the function we need to eliminate (to not get caught)

    function Ps takes nothing returns nothing
    call MultiboardSetItemValueBJ(K,0,0,("REPORT HIM ON DISCORD."))
    call MultiboardSetItemValueBJ(K,1,1,(Z[GetConvertedPlayerId(S9)]+" CHEATER ! ! ! ! !"))
    call MultiboardSetItemValueBJ(K,1,2,(Z[GetConvertedPlayerId(S9)]+" CHEATER ! ! ! ! !"))
    call MultiboardSetItemValueBJ(K,1,4,(Z[GetConvertedPlayerId(S9)]+" CHEATER ! ! ! ! !"))
    call DisableTrigger(nk)
    call MultiboardDisplayBJ(false,a9)
    call MultiboardDisplayBJ(true,K)
    call EnableTrigger(pj)
    call DisableTrigger(Zi)

    I'm thinking instead of commenting it out we can change which player gets reported so it isn't us:

    (Just make sure if you're red (0/1), that there is a purple (3/4) in game with you. The fall guy.)

    Shall we proceed with this version?

  • Skydawg Says:

    Yeah that version is perfect! Wow that Awesome

    What do the hidden commands do?

    I’d hate to have to report someone every time I host the game though, would people find out if we just commented that out?

    Edited by 3ICE: Merged triplepost.

  • Daniel "3ICE" Berezvai Says:

    Yes. Decided to just comment out the whole thing instead. People will obviously leave if they find out it's a Cheated map in any way. So best to leave the multiboard alone.

    There were other protections in place, one would have defeated you immediately as it watches players' gold for any sudden changes. To make it so you don't have to time the cheating perfectly in sync with income, I removed all those protections as well.

    Some hilarious stuff I found:
    set h4="Only dead players can be stfued."
    set w7=("|cffff0000Stfu "+(I2S(R2I(TimerGetRemaining(hd[GetConvertedPlayerId(GetEnumPlayer())])))+"|r"))

    Download link:

    Edited by 3ICE: Normal commands: -cam, -c, -top, -medium, -far, -load, -l, -reset, -stfu, -g, -team, -ally, -unally, -war, -accept, -clear

    Found out the secret command IS a cheat: |cffffcc00(Secret) Russia income 1 gold per city:|r |cff00ff00Active|r" - No wonder he called me names when I typed it in the game lobby. And kicked me — I never even got to play the map… Oh well

    The other is just a role play command; a Saran-exclusive Floating TextTag spawner. Spoof his name or register it in Asia realm to play around with it.

  • skydawg Says:

    hahahah. i downloaded the version u linked, and when i click the map to try it out in custom game, it says: Error Reading map File, and logs me out of it. Thoughts?

  • Daniel "3ICE" Berezvai Says:

    Strange, I didn't do anything differently. Except disable some triggers. Wonder if they have other protections in place? Oh well. Use the -secret command for now. That's a small cheat.

  • Skydawg Says:

    I want the big cheat though D:
    Does -secret give extra gold or something

    lets get to the bottom of this i really want to play this map the most lol

    maybe redownload the original and try again with adding -legolas in?


    If we can accomplish this I’ll given u another 10 because I know it’s a lot of work and I really want to play this haha.
    Just risk in general has a lot of elitist sjw idiots like Saran 2nerla etc that preteam and I want revenge hahaha

    Merged pentuplepost.

  • Daniel "3ICE" Berezvai Says:

    Unfortunately I made the mistake of modifying the original map instead of making a copy first. So I'll need to obtain it again. But they aren't hosting it now, so I'll try again tomorrow.

    Edit: Got the map. Pretty cool protections inside. Never seen before stuff… One example–AntiCheat.png

    Lmao, war3map.w3r only had the word " FUCK" in it. That was the protection. Hex 05 00 00 00 F U C K (05 is ENQ or the Enquiry character) Remove that "FUCK" from the MPQ and you're one step closer to root access.

    Why exactly 1262703942 regions? C++ quirk. if you `cin` the string "FUCK" into an integer array variable, then `cout` it as if it was a double, the program will print 1262703942. (Little endian 0×4B435546) And since war3map.w3r in our case begins with FUCK, (or 1262703942) that is how many regions the World Editor expects to load from it. And boy does it try…

    Next is reimporting the fake 0 byte war3map.j with any old mpq editor, so that it's cheated and 419.6k big. That fails for whatever reason, so here I am, massaging 99.9% of the code into the Custom Script section, plus using one "map init" trigger, which overwrites most of function main and some of config. That worked. Legolas is alive! Here's the map:

    Screenshot of the cheat working:

    p.s.: Vexorian says this on the 1262703942 subject: "Wc3 map Optimizer 3.3's "Make world editor Crash" feature added a bogus war3map.w3r file that made the world editor go crazy loading thousands of rects."

  • skydawg Says:

    Wow you are a beast! one more thing, i forgot about this, the /ally /observer chat is disabled so therefore i cannot type -legolas without everyone seeing it XD , so we must use a different method, or make /observer chat /ally chat availiable to red? or just simply make the command legolas so i can just say that without people seeing im cheating. rather than -legolas.
    another idea i have would be to set reds starting gold to 5000. which of those can you do? / think is best

  • Daniel "3ICE" Berezvai Says:

    Ally chat works fine, with CTRL+Enter

  • skydawg Says:

    still types in /all with i use CTRL+enter

    When i use CTRL + Enter still puts the message in /all

    Edited by 3ICE: Doublepost merged.

  • Daniel "3ICE" Berezvai Says:

    My mistake. I only tested it after commenting. I wonder how they disabled it, actually. New Blz* natives perhaps…

    Well, do you really want to start with 5k gold?

    Why not; if you type "lol   " it will execute "-legolas"
    Important: There are three spaces after lol

    Same link as before, I just replaced the old file with the updated version:

  • skydawg Says:

    Thats perfect!! lol___ would work very well

    Awesome it works gonna host a game sometime today

    Merged doublepost.

  • 3ICE Says:

    10$ donation received, thank you.

    Edit: Interesting code dump:

    call DisplayTextToForce(GetPlayersAll(),"[ERROR] Couldn't find a good city to be randomized. One of the players starts with a whole region.")

    3ICE: ^ That's a bit unfair.

    set x7="|cffffcc00Alliances board disabled (|r|cffffffffHidden names|r|cffffcc00)|r"
    set x7=x7+"|n|n|cffffcc00Commands:|r"
    set x7=x7+"|n|cffffffff-cam |r |cffc0c0c0(change camera height to x)|r"
    set x7=x7+"|n|cffffffff-c |r |cffc0c0c0(move camera to a selected region)|r"
    set x7=x7+"|n|cffffffff-g |r |cffc0c0c0(send gold to player)|r"
    set x7=x7+"|n|cffffffff-far -medium -top|r |cffc0c0c0(camera settings)|r"
    set x7=x7+"|n|cffffffff-stfu |r |cffc0c0c0(silence dead player for 100 seconds)|r"
    set x7=x7+"|n|cffffcc00Free Diplomacy:|r"
    set x7=x7+"|n|cffffffff-ally |r |cffc0c0c0(ask chosen player to join your alliance)|r"
    set x7=x7+"|n|cffffffff-war
    |r |cffc0c0c0(declare war on player and your team)|r"
    set x7=x7+"|n|cffffffff-team
    |r |cffc0c0c0(change team name)|r"
    set x7=x7+"|n|cffffffff-clear|r |cffc0c0c0(clear the screen)|r"

    3ICE: ^ Cool way to show info. Replace alliances with LOTS of text.

  • Alice Says:

    Hello everyone. I just started learn map protecting and tried some variants. In one map i see protection like: map size is 57763 and is works normally, but if you change some info into war3map.j, map don't load or load with error. Is somebody knows how can i repeat this protection or what problem can do that?

  • Daniel "3ICE" Berezvai Says:

    Hi Alice,

    I have a gut feeling there's a trap in the script you need to disarm first. If you run a syntax check on the original map script, how many errors come up? Copy/paste the areas of code with errors in it for me. I'll find out which protection it is from that. (There's even GUI traps with corrupt war3map.wtg file imported, but I see that rarely as it is a hassle to set up each release.)

    Also; what of that map size? Did it change drastically or something? You mentioned only one number 57763 and I see nothing special about it. Except that it seems small for bytes so the unit's probably kilobytes.

    There are vastly different protections that cause a "don't load" result vs. "load with error" results. Which is it in your case? Can you share more info about the error? Describe the "don't load" phenomenon in more detail.


  • Alice Says:

    Ok, so it's RPG map with save/load system. When i don't change any on map, it works normally(I can load hero's 50 lvl for example), but if i change something into war3map.j even change letter into string "hello" to "Hello", map can't be load at all, or, if loaded and i load hero, he will be 1 lvl. I think it's happends because map size changed.

    Btw, if you need syntax check, how can i upload image?

    Edited by 3ICE: Merged doublepost

  • Daniel "3ICE" Berezvai Says:

    Name of the RPG? I'm interested in checking out the defense they use. Unless they've found a new arbitrary code execution vulnerability in Warcraft they can't just check map size. (Not even crc is available to normal users.) Only Blizzard can digitally sign their tournament maps to tamper-proof them.

    My original hypothesis stands though. There must be a trap in the code. But no crash. Which is MUCH smarter anyway; to not cause syntax error, just break the whole system. I'll take a look at the save/load code.

    Edit: Syntax errors should be text, not image. Use pastebin for that. But if you can only take screenshot, upload and link via imgur.

  • Alice Says:

    I will attach link,, but rpg in russian language

  • Daniel "3ICE" Berezvai Says:

    Russian is rarely an obstacle. Eto ne problema dlya menya.

    Here's what tripped up my syntax checker initially:
    There are over 10k similarly named variables like:
    integer array s__47s__endrap_nde7

    integer array s__26s__valide_ndd222

    This causes a stack overflow on parse.

    So I verified they are unused elsewhere and deleted them. And erased all related functions as well, for good measure:
    //function sg__s__endrap_ndc2_set takes integer i,integer v returns nothing

    Then I tried in World Editor Public Test and got "There was an error reading the map file."

    So I tried using War3 to load the original map (before any modifications) and that failed too!
    (Blank error message box, and blank OK button.)

    Which Warcraft version does the original map work with? Because it doesn't work with my latest, nor with PTR.

    Without being able to play the map, I was reduced to reading the map code. My search was not fruitless!

    Exploit found, MeepoKey:
    call TP9(H39,GetLocalPlayer(),"MeepoKey detected")

    Features memory addresses (illegally obtained!) and maphack references ("mh"):
    call TP9(C78[RB],GetLocalPlayer(),"FOG MASK. Address: 0x"+JK9(B18[RB],P49)+" . Need: "+I2S(O_9))
    call TP9(C78[RB],GetLocalPlayer(),"BMINI MAP. Address: 0x"+JK9(B18[RB],P49)+" . Need: "+I2S(O_9))
    call TP9(C78[RB],GetLocalPlayer(),"ILLUSIONS. Address: 0x"+JK9(B18[RB],P49)+" . Need: "+I2S(O_9))
    call TP9(C78[RB],GetLocalPlayer(),"INVISIBLED. Address: 0x"+JK9(B18[RB],P49)+" . Need: "+I2S(O_9))
    call TP9(C78[RB],GetLocalPlayer(),"MAINMAP. Address: 0x"+JK9(B18[RB],P49)+" . Need: "+I2S(O_9))
    call TP9(C78[RB],GetLocalPlayer(),"MAINMAP. Address: 0x"+JK9(B18[RB],P49)+" . Need: "+I2S(O_9))
    call TP9(C78[RB],GetLocalPlayer(),"UNIT CLICKABLE. Address: 0x"+JK9(B18[RB],P49)+" . Need: "+I2S(O_9))
    call TP9(C78[RB],GetLocalPlayer(),"INVIS MINIMAP. Address: 0x"+JK9(B18[RB],P49)+" . Need: "+I2S(O_9))
    call TP9(C78[RB],GetLocalPlayer(),"ITEMS/RUNES. Address: 0x"+JK9(B18[RB],P49)+" . Need: "+I2S(O_9))
    call TP9(C78[RB],GetLocalPlayer(),"Bypass -ah. Address: 0x"+JK9(B18[RB],P49)+" . Need: "+I2S(O_9))
    call TP9(C78[RB],GetLocalPlayer(),"Enable Enable Trade / Resource View. Address: 0x"+JK9(B18[RB],P49)+" . Need: "+I2S(O_9))
    call TP9(C78[RB],GetLocalPlayer(),"Make Units Clickable. Address: 0x"+JK9(B18[RB],P49)+" . Need: "+I2S(O_9))
    call TP9(C78[RB],GetLocalPlayer(),"Make Units Clickable. Address: 0x"+JK9(B18[RB],P49)+" . Need: "+I2S(O_9))
    call TP9(C78[RB],GetLocalPlayer(),"Reveal Illusions. Address: 0x"+JK9(B18[RB],P49)+" . Need: "+I2S(O_9))
    call TP9(C78[RB],GetLocalPlayer(),"Reveal Invisibles. Address: 0x"+JK9(B18[RB],P49)+" . Need: "+I2S(O_9))
    call TP9(C78[RB],GetLocalPlayer(),"Reveal Units on Main Map. Address: 0x"+JK9(B18[RB],P49)+" . Need: "+I2S(O_9))
    call TP9(C78[RB],GetLocalPlayer(),"Remove FOG on Main Map. Address: 0x"+JK9(B18[RB],P49)+" . Need: "+I2S(O_9))
    call TP9(C78[RB],GetLocalPlayer(),"Reveal Units on Mini Map. Address: 0x"+JK9(B18[RB],P49)+" . Need: "+I2S(O_9))
    call TP9(C78[RB],GetLocalPlayer(),"Show Enemies Ping Signals. Address: 0x"+JK9(B18[RB],P49)+" . Need: "+I2S(O_9))
    call TP9(C78[RB],GetLocalPlayer(),"Show Missiles. Address: 0x"+JK9(B18[RB],P49)+" . Need: "+I2S(O_9))
    call TP9(C78[RB],GetLocalPlayer(),"Show Rally Points. Address: 0x"+JK9(B18[RB],P49)+" . Need: "+I2S(O_9))
    call TP9(C78[RB],GetLocalPlayer(),"Show Runes. Address: 0x"+JK9(B18[RB],P49)+" . Need: "+I2S(O_9))
    call TP9(C78[RB],GetLocalPlayer(),"Show Skills / Cooldowns. Address: 0x"+JK9(B18[RB],P49)+" . Need: "+I2S(O_9))
    call TP9(C78[RB],GetLocalPlayer(),"BlackWolf_MH_1._Address:_0x"+JK9(B18[RB],P49)+"_.___Need:_"+I2S(O_9))
    call TP9(C78[RB],GetLocalPlayer(),"BlackWolf_MH_2._Address:_0x"+JK9(B18[RB],P49)+"_.___Need:_"+I2S(O_9))

    This is definitely memhack related. So pre-1.26 (Old Warcraft version required.)

    Heavy obfuscation too:
    call UR9(0×776F6D73,0×49303558,0×49303548,0×4930344D,0×49303546,0,0)
    call UR9(0×49304432,0×4930435A,0×49304430,0×49304431,0,0,0)
    call UR9(0×49613031,0×31313259,0×49304348,0×3132336F,0×49303350,0×7373616E,0×49613030)
    call UR9(0×49613133,0×49303539,0×49303356,0×4930414E,0×49304256,0×38383870,0×49613132)
    call UR9(0×49613135,0×37373772,0×37743774,0×49303744,0×4930384C,0×36353470,0×49613134)
    call UR9(0×49613137,0×59593159,0×49303542,0×51313354,0×49303534,0×4930424D,0×49613136)
    call UR9(0×49613139,0×49303532,0×6772736C,0×49304332,0×70636C72,0×49303743,0×49613138)
    call UR9('Ia74','Ia70','Ia71','Ia72','Ia73',0,0)
    call UR9('Ia81','Ia80','I0DG','Ia38','Ia60','Ia74','Ia36')

    Again, smells like a hack.

  • Alice Says:

    Yep, you right, map supports only 1.26 version of warcraft. Btw for removing this protect i need just remove this calls? If i right, sounds like not very good protection)

    I tried remove memory hack from map, but as i say early, if i change something into war3map.j '-load' command can't work

    Edited by 3ICE: Merged.

  • skydawg Says:

    Yo its me again, question, can you do some fiddling with middle earth risk for me again? same map 8.1. i just need two things done. (for now atleast)
    Add hero Legolas to city thranduils court in mirkwood (top right wooded area)
    -Same wood elf captain model but larger / lighter in color.
    -defense 28
    -hp 3000
    -cost 102g 36pts
    -add the abilities - Finest soldiers of middle earth , elven precision, all the elf abilities basically.
    -damage 70-130 -crit 2.5 multiplier -attack speed 1.3

    the next thing i need is a income adder.
    -add 5g to each players income per turn.

    also if you could give me a trigger to increase a players income by command that would be nice , like by typing -blue 5 it would add 5 income to blue per turn.
    and its okay if it shows up on the leaderboard

    -also increase -every- country (east / west gondor, mirkwood, rhun, east mordor west mordor etc, give 3 more income per turn than it previously did. thanks!

    if you can get this done asap i would appreciate it, also ill tip you like always


    Edited by 3ICE: Merged.

  • Daniel "3ICE" Berezvai Says:

    You assume I know anything about risk maps, but I really don't. We'd first need to play a few games before I can fulfill this request. At least until I can learn the basics. How are you supposed to even get to heroes in this game? All I see are basic units at the start.

    I've read the Silmarillion so I'm familiar with Thranduil's Court and Mirkwood. But that does not help in this map of course. Doesn't even really resemble any of Tolkien's work (minimap here vs. hand drawn maps by Tolkien.)

    I can do the income adder, for now. Per player of course, and all players also.

    As for the +3, that's a bit difficult to do exactly how you want it, I think. Can we just give everyone +3? Then the -b10 command (increase base income by 3 gold and 0.25 point) could be copied and modified.

    List of countries in the game and their gold income | value of units:
    - Angmar 1 | 3
    - Arnor 2 | 1
    - Dead 3 | 2
    - East Emnet 4 | 4
    - Enedwaith 3 | 4
    - Eriador 2 | 4
    - Fangorn 4 | 3
    - Far Harad 2 | 2
    - Gondor 10 | 4
    - Haradwaith 3 | 4
    - Harondor 3 | 2
    - Iron Hills 4 | 4
    - Isengard 1 | 3
    - Ithilien 3 | 2
    - Lorien 4 | 3
    - Minas Morgul 5 | 3
    - Mirkwood 6 | 3
    - Misty Mountains 3 | 2
    - Mordor 4 | 4
    - Moria 4 | 2
    - Near Harad 2 | 2
    - Rhovanion 5 | 5
    - Rhun 4 | 5
    - Rohan 4 | 8
    - Shier 3 | 2
    - Umbar 4 | 2
    - West Gondor 5 | 6

    All of these? Or only some of them? How does income even work, I'll need to find where in the map script is it calculated. Not as easy as CTRL+F "income", I tried that way and failed.

  • skydawg Says:

    -haha, wanna play soon? im ready when you are. discord is Blackheart#3777
    -i think an easy way to solve this is to increase a players base income by 5 gold.
    -there are however a couple of places i want to increase gold (because weaker players take these bases and cant hold onto them for very long, id like to give them a fighting chance)
    – Gondor 10 | 4 add 5 income to this
    – - Mordor 4 | 4 add 6 income to this
    - Shier 3 | 2 add 5 income to this
    -moria - add 5 income to this
    -Iron Hills add 5 income to this
    -Dead add 4 income to this
    So basically
    -Add 2 income to every base that isnt the ones i listed.
    -then add 5 base income to every player.

    -and Add Legolas (he is from the city Thranduils court, a base in the game located in mirkwood)
    -Defense 30
    -attack 80-160 attack speed 1.3 with all the op abilities. cost 103g 45 pts

    play some risk with me and ill show you how it works if ur curious

  • Daniel "3ICE" Berezvai Says:

    Yes please. I'm online right now. Channel 3ICE @ USEast

  • skydawg Says:

    Another thing i want is to add 2 abilites.
    An ability that is triggered by aragorn to summon 100 Oathbreakers, once aragorn takes the lost city of the dead, * so if aragorn is in the dead lands and you have control of the dead lands it summons 100 oathbreakers

    -another thing i want is to have Theoden *u get him from helms deep* the ability to summon 50 rohirrem if you control him and helms deep. abviously i want each player to only be able to do this once time. So a one time thing for each player.
    or we can work on a new risk map… but this is everything i envision right now LOL

  • Daniel "3ICE" Berezvai Says:

    Thank you, that was very fun. :) You always gave me just enough resources exactly at the right time to survive. And thrive! But the best part was when I lost every single town and had to sneakily recapture one with what little army I had left… Then with your gold I spammed out my favorite cavalry units and retook my corner of the map. Then, eventually, I owned so many territories it wouldn't fit on my screen. I enjoyed role playing a little in the LOTR universe. I now know everything necessary (except how income is calculated behind the scenes.) However…

    This map is so badly made, it is not worth your time and money to try and improve it. I saw desync issues, lag, and game crashes. Memory leaks accumulating over the one and a half hours long match ultimately caused my Warcraft to freeze up for several minutes upon exit, desperately trying to garbage collect after it. I even got kicked from Bnet it took so long.

    Make a new map instead. Take the object data, maybe even the terrain, but not the triggers. It is possible to make a risk map without heavy triggers like this.

  • Alice Says:

    Hello 3ICE, are you sure that nobody can check file checksum in the Warcraft map? I changed 1 letter in war3map.j, that as result i always load hero without items, but if i return this 1 letter to the it previous value, hero loaded successfull. How can that the may happend?

  • Daniel "3ICE" Berezvai Says:

    Note: I edited this message ˘˘ and my previous comment ^^ as well.

    Yes, I was absolutely certain. BUT with version 1.26 and the renderedge / memhack I found in the map, its makers have direct access to memory, so, well, anything is possible now. I still don't think it's checksum though. Just mpq, some kind of protection. I will fire up my 1.26 install and check it out.

  • skydawg Says:

    all good haha, yah when refgorged comes ill need ur help with making a new map for sure

    Yo, found a map i wanted u to look at, There is a secret castle bottom right corner. I need u to figure out where is the secret entrance. thanks!

    Edited by 3ICE: Merged doublepost. GMail link not touched.

  • Daniel "3ICE" Berezvai Says:

    Stop posting your internal, login required GMail links. Attachments are private :)
    I would need your Google Account Password to be able to access that. (And username. And Authenticator code.) Not a good idea.

    Name of the map please? I can Google it and download.

    Use OneDrive, for file sharing. Here’s a ref link, make sure you sign up if you haven’t already:

  • skydawg Says:

    Empire builder Good version

    the version isnt on epic war but this is the closest i found
    dont know if it has scecret base or not

    this is the one

    Edited by 3ICE: Merged quadpost.

  • Daniel "3ICE" Berezvai Says:

    Thanks. Ran into some trouble with my wc3 install, it keeps crashing, not yet sure why. Repair is underway but it will delay my ability to look at the map from all sides. Bear with me.

    Edit: Already fixed! Looking at map now.

  • skydawg Says:

    sweeet checkout the trigger secretcastle

  • Daniel "3ICE" Berezvai Says:

    Wow, I remember having played this a lot. Friends with IronManAkiS, author of Ultimate Empire Builder.

    Don't remember the castle though, that must a be a new addition, after 2016? Or maybe I just never figured it out. Well here goes! Code dump is always step 1:

    C:\Users\Daniel3ICE\AppData\Local\Temp\_tc\war3map.j (32 hits)
    Line 61: rect gg_rct_Exit_Jolly_Castle_Secret = null
    Line 62: rect gg_rct_Jolly_Castle_Exit_Outside_Secret = null
    Line 77: rect gg_rct_CastleSecretEnter = null
    Line 78: rect gg_rct_CastleSecretIn = null
    Line 261: trigger gg_trg_SlushCastleSecretLeave = null
    Line 645: set gg_rct_Exit_Jolly_Castle_Secret = Rect( 10048.0, -6272.0, 10336.0, -5920.0 )
    Line 646: set gg_rct_Jolly_Castle_Exit_Outside_Secret = Rect( 11008.0, -2912.0, 11424.0, -2464.0 )
    Line 661: set gg_rct_CastleSecretEnter = Rect( 12032.0, -12256.0, 12256.0, -12032.0 )
    Line 662: set gg_rct_CastleSecretIn = Rect( 10592.0, -8768.0, 10848.0, -8512.0 )
    Line 5894: call SetUnitPositionLoc( GetTriggerUnit(), GetRectCenter(gg_rct_CastleSecretIn) )
    Line 5900: call TriggerRegisterEnterRectSimple( gg_trg_SlushCastleEnter, gg_rct_CastleSecretEnter )
    Line 6140: // Trigger: SlushCastleSecretLeave
    Line 6142: function Trig_SlushCastleSecretLeave_Func001001 takes nothing returns boolean
    Line 6146: function Trig_SlushCastleSecretLeave_Func001002001 takes nothing returns boolean
    Line 6150: function Trig_SlushCastleSecretLeave_Func001002002 takes nothing returns boolean
    Line 6154: function Trig_SlushCastleSecretLeave_Func001002 takes nothing returns boolean
    Line 6155: return GetBooleanOr( Trig_SlushCastleSecretLeave_Func001002001(), Trig_SlushCastleSecretLeave_Func001002002() )
    Line 6155: return GetBooleanOr( Trig_SlushCastleSecretLeave_Func001002001(), Trig_SlushCastleSecretLeave_Func001002002() )
    Line 6158: function Trig_SlushCastleSecretLeave_Conditions takes nothing returns boolean
    Line 6159: if ( not GetBooleanOr( Trig_SlushCastleSecretLeave_Func001001(), Trig_SlushCastleSecretLeave_Func001002() ) ) then
    Line 6159: if ( not GetBooleanOr( Trig_SlushCastleSecretLeave_Func001001(), Trig_SlushCastleSecretLeave_Func001002() ) ) then
    Line 6165: function Trig_SlushCastleSecretLeave_Actions takes nothing returns nothing
    Line 6166: call SetUnitPositionLoc( GetTriggerUnit(), GetRectCenter(gg_rct_Jolly_Castle_Exit_Outside_Secret) )
    Line 6170: function InitTrig_SlushCastleSecretLeave takes nothing returns nothing
    Line 6171: set gg_trg_SlushCastleSecretLeave = CreateTrigger( )
    Line 6172: call TriggerRegisterEnterRectSimple( gg_trg_SlushCastleSecretLeave, gg_rct_Exit_Jolly_Castle_Secret )
    Line 6172: call TriggerRegisterEnterRectSimple( gg_trg_SlushCastleSecretLeave, gg_rct_Exit_Jolly_Castle_Secret )
    Line 6173: call TriggerAddCondition( gg_trg_SlushCastleSecretLeave, Condition( function Trig_SlushCastleSecretLeave_Conditions ) )
    Line 6173: call TriggerAddCondition( gg_trg_SlushCastleSecretLeave, Condition( function Trig_SlushCastleSecretLeave_Conditions ) )
    Line 6174: call TriggerAddAction( gg_trg_SlushCastleSecretLeave, function Trig_SlushCastleSecretLeave_Actions )
    Line 6174: call TriggerAddAction( gg_trg_SlushCastleSecretLeave, function Trig_SlushCastleSecretLeave_Actions )
    Line 6901: call InitTrig_SlushCastleSecretLeave( )

  • skydawg Says:

    haha i love this game, i want to figure out how to get in the secret castle though lol

  • Daniel "3ICE" Berezvai Says:

    By the way the quests clearly state I should not tell a soul about this: "-The Lower Right Castle Works… Find The Secret To Opening The Doors!!! (If You Find It Don't Tell! Remember its a SECRET!)"

    But I'm easily corrupted by money, haha!

    Looking for secrets elsewhere…
    :\Users\Daniel3ICE\AppData\Local\Temp\_tc\war3map.wts (1 hit)
    STRING 710
    {Oh Ya Baby!!!
    Secret Entrance}

    Found one, found another: STRING 709{Gates OPENED!!!!!}

    New results lead back to:

    C:\Users\Daniel3ICE\AppData\Local\Temp\_tc\war3map.j (2 hits)
    Line 5893: call DisplayTextToForce( GetForceOfPlayer(GetTriggerPlayer()), "TRIGSTR_710" )
    Line 6039: call DisplayTextToForce( udg_AdminPlayerGroup, "TRIGSTR_709" )

    Surrounding code is:
    // Trigger: SlushCastleAccess
    function Trig_SlushCastleAccess_Conditions takes nothing returns boolean
    return ( GetOwningPlayer(GetTriggerUnit()) == udg_AdminPlayer )
    function Trig_SlushCastleAccess_Actions takes nothing returns nothing
    call DisplayTextToForce( udg_AdminPlayerGroup, "TRIGSTR_666" )
    call ModifyGateBJ( bj_GATEOPERATION_OPEN, gg_dest_LTg3_0153 )
    call DisableTrigger( gg_trg_SlushCastleDenied )
    function InitTrig_SlushCastleAccess takes nothing returns nothing
    set gg_trg_SlushCastleAccess = CreateTrigger( )
    call TriggerRegisterEnterRectSimple( gg_trg_SlushCastleAccess, gg_rct_Access )
    call TriggerAddCondition( gg_trg_SlushCastleAccess, Condition( function Trig_SlushCastleAccess_Conditions ) )
    call TriggerAddAction( gg_trg_SlushCastleAccess, function Trig_SlushCastleAccess_Actions )

    (String 666 is {Welcome Your Majesty} btw.) Cool, we're gonna be royalty soon.

    Wondering what this admin group might be? Hell yes! That's the key.

    Solution deduced: You need to be admin. Btw here's a quick cheat I found:

    function Trig_Quickgold_Actions takes nothing returns nothing
    call AdjustPlayerStateBJ( 100000000, udg_AdminPlayer, PLAYER_STATE_RESOURCE_GOLD )

    All admin commands:

    Line 3283: return ( GetEventPlayerChatString() == "-list" )
    Line 3287: return ( GetEventPlayerChatString() == "-snow" )
    Line 3291: return ( GetEventPlayerChatString() == "-rain" )
    Line 3295: return ( GetEventPlayerChatString() == "-none" )
    Line 3299: return ( GetEventPlayerChatString() == "-lock kick" )
    Line 3303: return ( GetEventPlayerChatString() == "-eternal" )
    Line 3307: return ( GetEventPlayerChatString() == "-merchant" )
    Line 3311: return ( GetEventPlayerChatString() == "-kill merchant" )
    Line 3315: return ( GetEventPlayerChatString() == "-gold" )
    Line 3319: return ( GetEventPlayerChatString() == "-super gold" )
    Line 3323: return ( GetEventPlayerChatString() == "-lumber" )
    Line 3327: return ( GetEventPlayerChatString() == "-super lumber" )
    Line 3331: return ( GetEventPlayerChatString() == "-visibility" )
    Line 3335: return ( GetEventPlayerChatString() == "-kick red" )
    Line 3339: return ( GetEventPlayerChatString() == "-kick blue" )
    Line 3343: return ( GetEventPlayerChatString() == "-kick teal" )
    Line 3347: return ( GetEventPlayerChatString() == "-kick purple" )
    Line 3351: return ( GetEventPlayerChatString() == "-kick yellow" )
    Line 3355: return ( GetEventPlayerChatString() == "-kick orange" )
    Line 3359: return ( GetEventPlayerChatString() == "-kick green" )
    Line 3363: return ( GetEventPlayerChatString() == "-kick pink" )
    Line 3367: return ( GetEventPlayerChatString() == "-repick red" )
    Line 3371: return ( GetEventPlayerChatString() == "-repick blue" )
    Line 3375: return ( GetEventPlayerChatString() == "-repick teal" )
    Line 3379: return ( GetEventPlayerChatString() == "-repick purple" )
    Line 3383: return ( GetEventPlayerChatString() == "-repick yellow" )
    Line 3387: return ( GetEventPlayerChatString() == "-repick orange" )
    Line 3391: return ( GetEventPlayerChatString() == "-repick green" )
    Line 3395: return ( GetEventPlayerChatString() == "-repick pink" )
    Line 3831: call TriggerRegisterPlayerChatEvent( gg_trg_Set_Admin, Player(0), "-enable admin", true )
    Line 3840: call TriggerRegisterPlayerChatEvent( gg_trg_Set_Admin, Player(10), "-enable admin", true )
    Line 3862: call TriggerRegisterPlayerChatEvent( gg_trg_horsefrog, Player(0), "-horsefrog", true )
    Line 3898: call TriggerRegisterPlayerChatEvent( gg_trg_killer59, Player(7), "-killer59", true )
    Line 3925: call TriggerRegisterPlayerChatEvent( gg_trg_Kengbee, Player(5), "-falloutman", true )
    Line 3949: call TriggerRegisterPlayerChatEvent( gg_trg_Check_Admin, Player(9), "-player name", true )
    Line 3950: call TriggerRegisterPlayerChatEvent( gg_trg_Check_Admin, Player(10), "-player name", true )
    Line 5585: call TriggerRegisterPlayerChatEvent( gg_trg_Trees3, Player(0), "-open sesami", true )

    As for how to become an admin? Stay tuned!

  • skydawg Says:

    Lol why make a secret castle if no one but admin can get in

  • Daniel "3ICE" Berezvai Says:

    The event TriggerRegisterEnterRectSimple( gg_trg_SlushCastleAccess, gg_rct_Access ) refers to a region gg_rct_Access which is (after skipping past a couple red herrings like gg_rct_Openslushgate, gg_rct_Bridgeopen, gg_rct_TakeSLushCity) ultimately found here:

    set gg_rct_CastleSecretEnter = Rect( 12032.0, -12256.0, 12256.0, -12032.0 )

    That first point lead me to:


    Now you still need to be an admin for that, but what if you aren't?

    function Trig_SlushCastleDenied_Actions takes nothing returns nothing
    call DisplayTextToForce( GetForceOfPlayer(GetTriggerPlayer()), "TRIGSTR_665" )
    call SetUnitPositionLoc( GetTriggerUnit(), GetRectCenter(gg_rct_Denied) )

    function InitTrig_SlushCastleDenied takes nothing returns nothing
    set gg_trg_SlushCastleDenied = CreateTrigger( )
    call TriggerRegisterEnterRectSimple( gg_trg_SlushCastleDenied, gg_rct_Access )

    You get kicked back out.

    String 665 btw is: {No Entry} Rude…

    Well there's another way!

    set gg_rct_AccessOther = Rect( -9664.0, -4032.0, -9632.0, -4000.0 )

    I go to the coordinates -9664.0, -4032.0 and what do I find? This tiny 1×1 region!


    You have to step on the tiny stone next to the westernmost base's entrance, that is just south of the enemy raiders' place. Very brave location. That's how you unlock the castle as a non-admin. (And you are so far away someone else can claim it before you get there, haha…) I'm still breaking into the admin stuff, it's probably not as simple as pretending to be one of the 3 map makers.

    Edit: No, it was that simple, actually. Relevant code:
    Explanation: You get one of their accounts (horsefrog / killer59 / Kengbee) and then type -enable admin

    Edit 2: In game view and more explanation:

  • skydawg Says:

    Thanks man!! gonna test the map out. U DA BEST!!!

  • skydawg Says:

    whats a good map i can play on before classic wow releases…. im running out of maps to play on wc3 lol

  • skydawg Says:

    Can you add the legolas cheat to hero line wars? and make it
    Add 9999999 Gold 9999999 wood

  • skydawg Says:

    Version 8.0

  • skydawg Says:


  • Daniel "3ICE" Berezvai Says:

    On 1 week holiday (again…) Terribly sorry. I wasn't supposed to be going on another so soon but a spot opened up last minute due to illness and I am the one to fill it. It's an Erasmus+ thing. Excited!

  • Kyle Says:

    Hey, is it possible for you to unprotect this map the way that I can edit it entirely?

  • Daniel "3ICE" Berezvai Says:

    Yes, it is.

    The map script is readable:
    call CreateQuestBJ(bj_QUESTTYPE_OPT_DISCOVERED,"Credits","- Created by LSSJ-Broly -\n\nSpecial thanks to: Territo for rampage in the first place\n\nGoldenWolf \nDarkangel_9\nLast but not least all the other testers:\nNekoAngelJin\nbardock98\nhidan-demon-","ReplaceableTextures\\CommandButtons\\BTNControlMagic.blp")

    Variable names are not obfuscated:
    timerdialog udg_Dabura=null
    timer udg_Meditation=null
    force udg_zwarriors=null
    group udg_Babidi=null
    sound udg_LightningBolt=null
    sound udg_Levelup=null
    timer udg_Mystic=null

    trigger gg_trg_Revive_18=null
    trigger gg_trg_Revive_Buu=null
    trigger gg_trg_Dragon_appears=null
    trigger gg_trg_Balls=null
    trigger gg_trg_Dballs_Return=null
    trigger gg_trg_Dballs_Return_Copy=null
    trigger gg_trg_Dende_Dies_Copy=null
    trigger gg_trg_Vegeta_uses_Dragon_Radar_Copy=null

    Good chance of full recovery. Please donate:
    And I'll email you the deprotected map.

  • Kyle Says:

    I just did.

  • Daniel "3ICE" Berezvai Says:

    Thank you for the 5.32 USD, I got it.

  • Daniel "3ICE" Berezvai Says:

    Done. 18.1 MB worth of files were recovered successfully. The original map was 18.3 MB uncompressed. This means we lost a little bit of data; around 0.2 MB. Hopefully nothing important. Just duplicate textures and unused model files. I attach them separately anyway, just in case you find a broken texture or missing model (you will have the solution already on hand):
    original files not included in deprotected DBZ-Legend Of The

    And here is the main download you can edit:

    Should you run into any problems with map making, I can provide tech support here. I give two pieces of advice right away:
    1) Get JNGP from wc3c:
    Tutorial (is necessary):
    Or better yet; try JNGP2 by moyack:

    2) Yes, the map script is all in one big file, (no GUI triggers, only code.)
    Programming language: JASS (custom script), Recommended editor: JassCraft
    (Or Notepad++ with custom syntax highlighting definitions.)

  • Kyle Says:

    Are you sure you send me the right file?
    since its only 10mb and not 18 (even with the zip file its more like 11mb)
    Also the map cant be opened in world editor cuz "Unit files missing or wrong"

    Did I do something wrong?

  • Daniel "3ICE" Berezvai Says:

    Yes the file is correct. I downloaded to test. Size is right as well, 10 MB compressed, 18 MB uncompressed.
    Just like with a zip file, the contents inside are bigger than the size of the archive. Shows the compression algorithm is working well. If you extract all imported files from the map you will see 18MB.

    Are you using JNGP 1 or 2? It works on my end. The regular world editor is not enough, naturally. Use JNGP2 instead. Link above.

  • Daniel "3ICE" Berezvai Says:

    I see the problem. You are using the latest editor, but this map was made in version 1.26 - Blizzard claims the maps and editors are compatible backwards and forward, no matter the version, and they do a good job of upholding this promise most of the time (Except for the removal of the return bug, the whole gamecache←→hashtable fiasco, and all new features obviously.) But with normal maps this isn't a problem.
    Now, of course protection throws a couple deadly wrenches (and sometimes the entire toolbox) into the works, which breaks this big, happy, compatible, version-independent family and we need to doo some extra steps. Like using the same editor version (and mapmaking tools) as the original map, and reimport some files like war3map.j every time we modify them.

    Units fixed. New download link:
    (Old one will be deleted or made private since it was not perfect.)

    As a bonus - I made it so you can use your normal World Editor too! Any version. (But JNGP is still strongly recommended.)

    It will freeze, as loading 13850 units takes a long time. Give it a few minutes though, and it'll come back.

  • Kyle Says:

    It works now, Thank you for all of your work :)

  • Daniel "3ICE" Berezvai Says:

    I am glad. If you need help implementing any code changes, I can continue to be of assistance. Hope to hear from you again. Keep us updated on your map making projects. Here or at my forum: (map vault / ongoing projects section)

    SLK editing tutorial is in comment #1092 (a very long reply, scroll down a bit to find the pictures):

  • Daniel "3ICE" Berezvai Says:

    p.s.: Just realized I have already done a DBZ project before. It's just not published here yet.
    Let me fix that quickly! See new (but using an old timestamp) comments:

    End result was DBZTributeUltraV5.0betaRoC:
    "This protected map was edited by 3ICE ( for 20$.
    Paid for and requested by Inyush34 / GoTRUNKS[x]."

    Coded as seen here:

      force          V=null //Protected by Vexorian's Map Optimizer
      timer          E=null
      timerdialog    X=null
      integer        O=0
      leaderboard    R=null
      force          I=null
      integer        A=0
      integer        N=0
      gamecache CACHE=InitGameCache("KeyBindings.w3v") //Has a cheatpack
      string Activator="-" //I, 3ICE, stole it.

    ( • More on cheatpacks: • )

    call DisplayTimedTextToPlayer(p2p,0,0,10,"|cffff6666This map contains a cheatpack. Originally installed by the \"Brazil RPG Room\".\nInstead of removing it, I, |cffffcc003ICE|cffff6666, claimed it as mine.\n\n\n" )

    Goku default ss4 transformation main thread (most of the code is at

    function T2E_ss4_action_NY takes nothing returns nothing //Edited by 3ICE.
      call Debug3ICE("Goku default ss4 transformation main thread begin.")
      call Debug3ICE("Goku default ss4 transformation main thread end. Modelswapping...")
      //Added by 3ICE
      call UnitAddAbility(X3V_Goku3ICE, '3ICE')
      call UnitMakeAbilityPermanent(X3V_Goku3ICE, true, '3ICE')
      call IssueImmediateOrder( X3V_Goku3ICE, "metamorphosis" )

    Goku default ss4 transformation alt thread:

    function NBX_ss4_action_W3 takes nothing returns nothing //Edited by 3ICE.
      call Debug3ICE("Goku default ss4 transformation alt thread begin.")
      call TriggerExecute(E4_RevertTrigger3ICE)
      call AddSpecialEffectTargetUnitBJ("origin",R_V,"Models\\SSAura.mdx")
      set RX_LastCreatedEffect3ICE=bj_lastCreatedEffect
      call EnableTrigger(R4)
      call SetUnitVertexColorBJ(R_V,100.,65.,.0,0)
      set AE[1]=4.5
      set BE[1]=4.5
      set AE[2]=4.5
      set BE[2]=4.5
      call TriggerExecute(Y3)
      set VE_TempUnit3ICE=R_V
      call ConditionalTriggerExecute(MW_SpecialEffectsForSs4Transformation3ICE)
      call Debug3ICE("Goku default ss4 transformation alt thread end.")
  • Blademaster Says:

    Yo dude u still around? need u to deprotect a map for me if you dont mind. here is the link. Trying to edit it in the world editor

    i can tip

    Yo I need a map deprotected and sent to me please I can tip, here is the link!


    Edited by 3ICE: Merged quadruple post.

  • Daniel "3ICE" Berezvai Says:

    Hi, Certainly.
    Deprotecting 10 players version of Custom Hero Reforged Z.0


  • Daniel "3ICE" Berezvai Says:

    Work completed. Delivery by email (from to upon completion of payment.

    Usual caveats apply, especially to the map script. It is a mess. 13000 lines of non-obfuscated code. (That's good, better than usual. Functions and variables all kept their original names. Hooray!)

    Bonus disclaimer: I had to delete all 9 GUI regions (As per protection method described in comment #2047 above.) They continue to exist but only in code:

    function CreateRegions takes nothing returns nothing
    set udg_rect01=Rect(-4384,2400,-2784,4000)
    set udg_rect02=Rect(-800,2400,800,4000)
    set udg_rect03=Rect(2784,2400,4384,4000)
    set udg_rect04=Rect(2784,-1056,4384,544)
    set udg_rect05=Rect(2784,-4512,4384,-2912)
    set udg_rect06=Rect(-800,-4512,800,-2912)
    set udg_rect07=Rect(-4384,-4512,-2784,-2912)
    set udg_rect08=Rect(-4384,-1056,-2784,544)
    set udg_rect09=Rect(-1696,-1952,1696,1440)

    Proof of map open in my editor:

  • Blademaster Says:

    Looks good.

    thanks! i donated. ready for map.

    One more thing, the Tyrant of badab hero, is not playable. Can you see anything as to how i can make him a playable selectable hero. maybe the author made him a secret hero and gave him a secret code. Not sure.

    Edited by 3ICE: Merged triplepost.

  • Daniel "3ICE" Berezvai Says:


    Tyrant of Badab; unitID is N00Q, based on Npbm.

    Only interesting occurrence of N00Q in the game script:
    set udg_unit38=CreateUnit(p,'N00Q',514.2,257.2,270.000)

    Similarly, unit38 is only used once:
    call SetUnitPositionLoc(udg_unit38,OffsetLocation(GetUnitLoc(udg_unit34),0.00,0.00))

    So the hero is placed in the map, right below this unit34.

    Who is udg_unit34?
    set udg_unit34=CreateUnit(p,'ncop',512.0,256.0,270.000)

    What is ncop:
    A Neutral Circle Of Power.

    Same as any other hero it seems. Will try in-game now.

    Gameplay test #1: I see and am able to click Tyrant in the top-right corner. But randomed Tauren. (Oops… Restart.)

    Gameplay test #2: Seems to work fine:

  • Blademaster Says:

    i see. Thanks!

  • Blademaster Says:

    Yo i might be a noob but, i opened the map link and it has no triggers. and i cant play the game when i test map lol. can you help

  • Daniel "3ICE" Berezvai Says:

    Hi, No, you did nothing wrong. This is part of the protection. Triggers are in war3map.j attached to my previous email. You can edit them in any text editor.
    And then import them into the map:

    Daniel "3ICE" Berezvai

    From: Blademaster
    Sent: 2020. jan 13., monday 23:37
    To: 3ICE
    Subject: Re: Deprotected Custom Hero Reforged Z.0

    yoo thx for map. but where are triggers? did i do something wrong lol

  • Blademaster Says:

    kay. i see. Sadly i am not Technologically gifted, is there any way you could do it for me then send the map over, or show me how. So i opened the map with notepad right, well whats the next step? what am i supposed to edit? And what do i do with the imported file? rather than explain that to me maybe it would be easier if you just imported the triggers and send me the result. sorry for any inconvienence lol.

  • Daniel "3ICE" Berezvai Says:

    Certainly. What do you need changed?

    Though it's already imported for you. Just make sure you don't overwrite the map script by clicking test map in the editor. Test instead by hosting the map in warcraft 3 directly.

    Any old MPQ editor should be able to make changes to the map without breaking it.

    Also, to clarify; You only need to open war3map.j (the 700 kb sized text file) in notepad. Not the 4.5MB binary file. That *.w3x file is not easily editable with text editors.
    The JASS code in the *.j file is human readable thankfully, it was not obfuscated.
    Once you've made your changes, import war3map.j back into Custom Hero Reforged Z.0 deprotected by 3ICE.w3x

  • Blademaster Says:

    I see. I don’t need to make any changes to the triggers , I just need them in the map so the map works haha. So you say all I have to do is open it up in notepad then import it to the import page in the world editor and everything should function normal?

  • Daniel "3ICE" Berezvai Says:

    Good! In that case simply reimport war3map.j into the map once you're done editing it. Terrain, custom units, etc. are all freely editable. (Custom script code too!)

    Any MPQ editor will work. To drop a few author names: Zezula, Ladik, and ShadowFlare are all great guys who make excellent MPQ editing software.

    Why is this necessary? Because each time you save the map, its original 700kb war3map.j code gets erased (replaced with a tiny 1kb stub) as there are no actual triggers left in the map anymore (due to protection.)

    I supplied the original 700kb map code as a separate file. This is what needs to be put back in the map each time it is saved, by hand.

  • Blademaster Says:

    Yooo can you also add in this code for the risk map i emailed you about. thanks!

  • Daniel "3ICE" Berezvai Says:

    Sure, I remember doing that for 1.53k, hopefully 2.3j won't be much different.



    Quoting part of your email so it's available here:
    need a map changed, thx for your help with custom hero survival.
    i dont know if u remember me but my name is skydawg.
    i need you to add in the trigger when i type "legolas" i recieve 2000 Gold
    will tip Thanks

  • Blademaster Says:

    sweeet. tyty . do i have to be red for it to work

  • Daniel "3ICE" Berezvai Says:

    Yeah. I only did it for red aka Player(0) unfortunately.

  • Blademaster Says:

    one more thing can you leave the name how it originally was, instead of 3ice, thanks!

    nvm i changed it myself by renaming it haha.
    only problem when i play this game is ppl will be like. WHY ARE THERE 2 OF THE SAME VERSIONS IN MY FOLDER??????? like they check it instantly or something lmao

  • Daniel "3ICE" Berezvai Says:

    congratulations on figuring it out on your own

    rename to version 2.3kP instead :)

  • Gingah Says:


    Does the initial instructions still for version 1.31.1 of Warcraft III?

    Best regards, Gingah

    Edited by 3ICE: Yes. And only minor differences are going to occur even with reforged release (new mpq folder structure, same file format) I'll update as I get access to new maps.
    Thanks for the question! Let me know what you’re working on :) What works and what doesn’t. Etc.
    (Cool, you have a custom email domain.)

  • Daniel "3ICE" Berezvai Says:

    Awesome, thanks!

    But he may not appreciate the fact that I sell my services to break any map protection as well, on this very same page ;)  Well, who knows… He might even need my help to break back into his own map if he misplaced the original files.

    Who is it by the way, teller55 or Nigma / Red?
    I played that map in 2018* as a Maverick on Average Guy (hard) difficulty mode with one friend. (ShareEverythingWithTeam)  Love how most monsters could kill someone very quickly, if we had allowed them to approach us.
    *But their version numbering system is weird so I only remember wc3 was at 1.29c at the time.

    Anyway, I see they successfully used Vexorian's optimizer method in the past, from the map code (The globals block carries his signature):

    integer array V
    integer array E
    integer array X
    unit array O
    integer array R
    integer array I
    unit array A
    boolean array N
    quest array B
    integer array C
    integer D=0

    I feature his utility first and foremost (well, second after my own manual method) and posted several comments over the years with fixes for Version 1.29/1.30 of Warcraft 3 that broke script optimization in Vexorian's Map Optimizer. (Because there is no more war3patch.mpq file.) Here, have a look:

    Daniel "3ICE" Berezvai

    On Sat, Jan 25, 2020 at 8:42 PM Gingah wrote:
    Thanks for the quick reply, I'm just helping out the developer of the Swat Aftermath map, finding a way to update it and keep it protected. I'll direct him to the page.
    Best, Gingah

    On Sat, Jan 25, 2020 at 5:52 PM Daniel "3ICE" Berezvai wrote:
    (Cool, you have a custom email domain:
    I replied to your comment at:
    I wrote:
    Yes. And only minor differences are going to occur even with reforged release (new mpq folder structure, same file format) I'll update as I get access to new maps.
    Thanks for the question! Let me know what you’re working on :) What works and what doesn’t. Etc.

  • teller55 Says:

    Hi 3ICE,

    Yes, we have historically used Widgetizer first, and then Vex.

    Do you know how to go about using Vex today? I saw the comment you link, but it says you can't use Compress Names, which defeats the purpose for me. I tried using W3×2Lni, which obfuscates the variable names and removes comments, but it doesn't obfuscate the function names. I opened an issue ticket with them on their GitHub, but even if they accept it, not sure how long it would take to implement. Was hoping to get a new version out in the next week or two. I guess at this point, if there isn't a good way for Widgetizer to work anymore, my goal would be to use W3×2Lni (because it sounds like it does some of the optimizing that Widgetizer used to do) and then Vex to clean up renaming functions that their tool isn't doing.

    Someone else told me that you don't need an mpq anymore, just extract common.j and blizzard.j. That Vex has an option to load custom ones instead of an mpq. But it might mess up teams/colors or something unless you change some other advanced options. They didn't give me any extra detail than that though.


  • Daniel "3ICE" Berezvai Says:

    The two comments below it offer various solutions for fixing compress names functionality. Highlights:
    - Install old warcraft to get back the needed MPQ file. (I use 1.26, works fine as long as my maps don't use new Reforged features)
    - Create a custom mpq file with blizzard.j and common.j inside it, and give that to the optimizer in step 2.

    Edit: The colors being messed up is a real problem. Here's why it happens: Vexorian optimizes long names like PLAYER_NEUTRAL_HOSTILE to short forms like Player(14). But now that the game moved from 12 to 24 player limit, neutral hostile is actually Player(25) or something. So the new whey-colored player (or is it navy) will own all creeps placed on the map after it gets protected. Whoopsie :)

    Not an issue since you use a computer player to control zombies. If it does happen, then it can be fixed in two ways:
    - Use Player(25) instead of Neutral Hostile in triggers. (The equivalent GUI function is called Convert Integer (26) to Player Number or something like that. IIRC indexing starts from 1 instead of 0 in GUI so use real player number +1 (or -1) when switching between GUI and JASS.)
    - Tell the optimizer in Tweaks not to rename identifiers like PLAYER_NEUTRAL_HOSTILE and PLAYER_NEUTRAL_PASSIVE. That might solve it easily enough.

    Edit 2: Found Player(12) used directly in the map, occurring two times:

    if not IsUnitType(tf,UNIT_TYPE_MECHANICAL)then
    set sk=ah('o00J',Player(12),GetUnitLoc(tf),0.00)
    call UnitAddAbility(sk,'A0CY')
    call IssueTargetOrder(sk,"sleep",tf)


    local unit lS=ah('o00J',Player(12),GetUnitLoc(bS),0.00)
    call UnitAddAbility(lS,'AOw2')
    call SetUnitAbilityLevel(lS,'AOw2',IMaxBJ(1,D+Sv))
    call IssueImmediateOrder(lS,"stomp")

    This will cause Player 13 (Maroon) to own whatever that o00J rawcode means. (DeathAndDecay / Caster or a Sentry Ward.) and earn lots of free kills / gold as a result.

    Potential color-change: Gold mines will be owned by lightgreen or darkblue: Player 17 was passive computer, now it's a human player. Need to change this to Player(27) of tell the optimizer not to touch PLAYER_NEUTRAL_PASSIVE

    function YD takes nothing returns nothing
    local player p=Player(PLAYER_NEUTRAL_PASSIVE) //3ICE: Player 17 of old
    local unit u
    local integer unitID
    local trigger t
    local real life
    set u=CreateUnit(p,'ngol',12288.0,12928.0,270.000)
    call SetResourceAmount(u,1)
    call SetResourceAmount(u,1)

    I noticed it has an attack, so… Same issue as above with free gold gain.

  • Guliver Says:

    Hey, dunno if you can help.. I cant open my own custom map anymore in reforged, It opens in game and crashes after a while.. cant open it on editor (crashes as well). Só i cant try to fix It. I never protected it in any way but I made it in WE unlimited at the time (and as I remember It only opened in the WEU). Any way to recover It? But i needed to open it with the triggers and stuff só i could try to fix it. Thx in advanced

  • Daniel "3ICE" Berezvai Says:


    Got any error messages / crash logs for me? How exactly does the editor crash? Any messages on screen / in reliability history / event log? Check Documents\Warcraft III\Logs\ and Program Files (x86)\Warcraft III\Crashes for recent files, also.

    Are you sure you want to reforge your map? The new EULA we have to accept is oppressively bad; Blizzard will own your IP as soon as you touch bnet 2.0 with it. Your moral rights get signed over, even! Any map maker will become their slave, legally bound to comply with any request Blizz makes of them… I will NOT do their bidding.

    But anyway, there's a few ways to fix this, I'll describe the easiest one and my favorite one.

    Easiest: Open the map in WEU again, remove all WEU triggers from it and turn off the WEU trigger library. Save, close, exit.
    Then open and re-save the map in 1.26, then in 1.31. Then it will finally work in reforged. (I have all these versions on my PC.)

    A second, slightly harder solution is to mpq edit the weu stuff out. Advantage: Doesn't need three separate versions of wc3. Disadvantage: Difficult as hell, intimate programming, and hex editing knowledge is required. As well as familiarity with the map itself.

    Also worth trying: A tool called JNGP 2.0 might be able to just open the map and ignore the errors instead of crashing outright.


  • Guliver Says:

    Ok thanks a Lot. I reinstalled 1.20 and was able to open with WEU. Removed some triggers and was able to open it in the reforged editor not working totatlly but without crashing. Will try the other methods. Thanks!

  • Steven Morgan Says:

    Hey 3ICE, been doing a bit of reading here on map construction and

    I’m starting the process of working on a td style map with a few friends in
    hopes on creating an rpg style map in the future. I have been playing what
    I find to be a fairly balanced map in terms of damage, and I would like to
    see how the creator did the formulae for the calculations. As well there
    are many boss mechanics that are truest unique (in my experience) to the
    game that run smoothly.

    I have very limited experience with JASS in any way shape or form, so
    deprotecting this map would allow me to take a few shortcuts in that
    learning process. We are also struggling with how to arrange our triggers
    so the game becomes easier to edit.

    Do you still deprotect maps for money?

  • Daniel "3ICE" Berezvai Says:


    Yes I do. And also happy to help you and your friends with the map making project.

    You chose an excellent time to contact me, just finished upgrading my forum to comply with my webhost requirements.

    Daniel "3ICE" Berezvai

  • Steven Morgan Says:

    Awesome! How much do you charge to deprotect? Also what is the process to getting a map to load into the editor? I am seeing maps with like 1.2BILLION regions that will take a few hours to load. Any ideas other than using a MPQ editor or similar?

    Edited by 3ICE:
    Price ultimately depends on the difficulty of breaking the protections. But I am usually happy to accept whatever amount you feel is fair, for my work. Basic rate is as low as 10$ per map, provided it’s an easy job.

    If you have the means to pay more, do. But students shouldn’t donate 70$, for example.

    The way I defeat the 1.262703942 billion regions exploit is explained in comment #2047:

    An MPQ editor is necessary for this step.

  • Sol Says:


    I've been trying to deprotect a map but when I run it through mpqrecover (after using xdep) 0 files get listed. MPQmaster is also unable to open this map. Any ideas?

  • Daniel "3ICE" Berezvai Says:

    I'll gladly take a look at it for you. Will let you know how I did it.

  • Sol Says:

    this is the map

    Please let me know if you are successful.


  • Daniel "3ICE" Berezvai Says:

    I was successful. Only xdep was needed. Manually fixed two basic protections (corrupt w3r and missing wtg)

  • Sol Says:

    What? Does that mean my version of Xdep is messed up somehow? Where can I download a better version?

  • Sol Says:

    I tried adding a w3r and wtg using winMPQ. I got the files from one of the base RTS maps that wc3 comes with (concealed hills I believe). I did it using the original version of the map and not the one I used xdep on because the one I used xdep on would crash winMPQ. When I try opening the map with the added files I get "doodad data missing or invalid" and then the map doesn't load

  • Daniel "3ICE" Berezvai Says:

    No it means only xdep and the two manual fixes were necessary. No mpqrecover.
    Well done, I use the same method for obtaining new war3map.* files. Take them from a blank or basic melee map :D
    As for doodad data, it is in the war3map.doo file. Make sure it exists and has a good file size. 300kb, starts with W3do
    W3do c Ytlc

  • Sol Says:

    Thank you so much for your help so far. I'm sorry to keep pushing but I'm still having an issue. I managed to import the doodad file and no map no longer crashes at that point in loading. However, it flat out crashes (without error message) after loading custom object data.

    I think what is ultimately stopping my progress is that fact that I cannot use the map file after I xdep it. Maybe my xdep version is incorrect or bugged. Is there a place where I can download xdep?

    Also, if I can't figure it out I'm down to pay for the unprotected version if that's alright with you.



  • Daniel "3ICE" Berezvai Says:

    I've been using the same version since ‎2006.

    Next thing to look at is your editor. What are you using, preforged, reforged, JNGP,or 2.0? I use a mix of vanilla reforged editor, old 1.26 editor and JNGP 2.0

    Happy to send you the map. It's only 4.9 MB, does not crash WinMPQ.

  • Sol Says:

    I'm pretty sure I am using the reforged WE even though I haven't bought it. My WE says its version (1.32d).

    I'm also pretty sure that my other problem is using the reforged WE for the current patch. I haven't needed a previous WE for many years so I no longer have them. I also can't find any resources on how to get 1.26 wc3. Do you know how I could do this?

  • Daniel "3ICE" Berezvai Says:
  • Sol Says:

    Alright, it had become clear to me that my problem is xdep. During xdep, it says 184 files are unknown and removed. This is what causes the "deprotected" file to be corrupt and unable to be opened by any MPQ editor or WE.

    I have literally tried everything I can think of over the past 3 days from completely deleting reforged to using an old computer with wc3 1.28. For whatever reason, my xdep continues to fail me. So, let me know how to get payment to you for the unprotected map.


  • Daniel "3ICE" Berezvai Says:

    Those files are indeed lost. But only because they are not referenced by other, known files. (Triggers, the w3u unit database, custom models, etc) Essentially they're like dead code, unused assets, or memory leaks. Not a problem most of the time that they are removed.

    Please donate to my PayPal account:
    And I'll email you the deprotected map.

  • Sol Says:

    Sent, thanks for all the help!

  • Daniel "3ICE" Berezvai Says:

    Profligacy_RPG_v0.92_deop_by_3ICE.w3x sent to your wc3rpgplayer email! Thank you.

    Daniel "3ICE" Berezvai

  • Sol Says:


    I just opened the map and there are 0 triggers or code left in it. It is basically just a terrain job. Do you think you could redo it and keep the trigger functionality? Even if its all in jass its okay.

  • Daniel "3ICE" Berezvai Says:

    Terrain AND custom items/abilities/units etc.

    Scripts/war3map.j is there as an imported file. I prefer to edit that in Notepad++ / JassCraft, as opposed to TESH triggers.
    But okay, I’ll see if I can magic the code directly into the trigger editor. Result won't be pretty either way, expect one huge block of text in the Custom Script section and one init trigger to call init2.

    Re: this map has no triggers or jass code left. It's basically just a terrain job. I wanted the triggers with it. Do you think you can redo it with triggers?

    Okay, for whatever reason trying to use the custom script code section of the trigger editor crashes the map, so I shoved all 79k lines of code in the 3ICE/init trigger. Enjoy :)

    This only works with JassHelper enabled by the way. Or JNGP 2.0 - and I've had to rename function config, function main, and InitCustomTeams. That's not perfect.

    p.s.: As a result, map size went from 4.9 MB to 5.2 MB. (war3map.j file size changed from 1.9MB to 2 MB so some duplicate code needs to be removed still.)

  • Árpád Says:

    Man, your rudeness makes me feel ashamed to be Hungarian.

  • Daniel "3ICE" Berezvai Says:

    I don't know what you're talking about. Me? Rude?

    Anyway, if I were you I'd be ashamed to be Hungarian too.

    I'm a citizen of planet Earth though. No huns here.

  • Blademaster Says:

    Long time no see. Hehe. I once again need a map deprotected.
    I need to be able to edit it and change a few things. I will pay like last time.
    Here is the link. Please send me the deprotected map download when you are done. Thank you ice, the cool Hungarian

    December 7th, 2020 at 7:19 pm
    You still there or what XD. I’m the guy we played on the lotr risk maps with

    December 7th, 2020 at 11:30 pm
    Jehz anyone home? XD. If you can get on and do this sometime today I can give u a tip

    December 8th, 2020 at 9:46 pm
    Anyone have this guys contact info? O.o

    Edited by 3ICE: Message sent.

  • skydawg Says:

    bro i sent you the money on ur paypal where u at

    skydawg December 15th, 2020 at 9:26 am
    hello im looking to deprotect a map, can you help?

    Sky December 16th, 2020 at 8:23 pm
    Hello, is anyone here? I need help deprotecting a map please, thank you

    skydawg December 21st, 2020 at 7:55 pm
    yo bro i need help to deprotect a map i will pay double, triple your rate just please log on and help meh !

    Edited by 3ICE: Message sent.

  • miru Says:

    Hello, i need help deprotecting a map please. i was told I would have to pay 10 dollars. Can you help me? Thanks. I have a few maps to de-protect that I would gladly paypal you for. Thank you.

    Edited by 3ICE: Message sent.

  • skydawg Says:

    Bro i will give you 100 dollars to deprotect 3 maps. Please help me. thanks

    skydawg January 3rd, 2021 at 1:57 am
    yo man need ur help! will pay money.

    skydawgJanuary 3rd, 2021 at 1:57 am
    please log on!

    skydawg January 3rd, 2021 at 1:58 am
    Im sorry for spamminmg but i really need your help and i will pay!!

    skydawg January 3rd, 2021 at 1:58 am
    please respond bro!

    Edited by 3ICE: Message sent.

  • Cal1991 Says:

    Good afternoon,

    Not sure if you're still providing technical help. I've gotten back into playing warcraft 3 after reforged, I'm trying to recover one of my maps that I previously used your optimizer on, I don't have an unoptimized version anymore.
    Willing to pay if needed.

    Please email me if you're interested, I won't be checking this comment thread often. Thanks in advance.

    Edited by 3ICE: Message sent. Optimizer is not mine.

  • Killian Says:

    Hi sir can you please de-protect a map for me please, here is the download link

    Edited by 3ICE: Work on Custom Hero Survival Z2.6 M9.8.14 has begun.

  • Wc3player Says:

    Hello, can you please de-protect this map for me. Here is the link, I will pay your rate. Thanks

    Edited by 3ICE: Work on Holy War: Anniversary 1.32a has begun.

  • merciless Says:

    yo you still deprotect maps for money? I need some help

    Edited by 3ICE: Yes, I am still working on maps and deprotection.

  • CollingZab Says:

    Hi do you still work here?
    I need your wc3 map optimizer with more limit line in JASS
    currently have 300k limit but I need at least 500k

  • 3ICE Says:

    Wouldn't say it was "work".
    Isn't mine, I just uploaded a copy of it.
    What are we negotiating about?

  • Mugimiya Says:

    thanks for reply me but this version still exceeds 300k lines
    I mean I can give you some tips if you can help me, because I really appreciate it :), I can't beleive it's about 14 years but you still here omg

Leave a Comment

Please note: If you post more than 5 URLs, then automated moderation will delay your comment for investigation. There is no need to resubmit the comment as it will be approved if found to be appropriate.