![]() |
| |||||||
| Home | GzP Upload | GzP Arcade | Register | vbBux / vbPlaza | All Albums | FAQ | Donate | Members List | Calendar | Mark Forums Read |
| Maple Story Tutorials Tutorials only. No requests. |
![]() |
| | Thread Tools | Display Modes |
| | #1 |
| u hav AIDS LOLZ!!!1! | .Wz Editing 101 I know Neoaaron444 already posted this, but he didnt post the whole thing, only about half of it. So i tought i should post the whole Tutorial here. All credits goes to Cyclical Events from Mpcforums. --------------------------------------------------------------------------- Table Of Contents Introduction
Hello hello. Welcome to my 6th tutorial on how to do stuff and things. Don't remember the previous ones? They were for other things, before your time. So, as few of you know, I refuse to publicly release anymore edited .wz files. The main reason is that it's time consuming and I don't know how to make an auto edit script in Python to save me time. The other reason is that people ask very stupid questions / spam my inbox with requests / are asses and complain about it about releases not working, not including something, etc. So yes, instead I figured that instead of releasing things, it would be far more beneficial to write a tutorial so that all of you fine people can learn to make your own things :) Just what will you be making? I dunno. This is just a tutorial so that you can learn what you would need to know if you wanted to pursue editing .wz files to do a certain thing. So let's get write into it. Stuff You Will Need / Useful Links
So first there's some stuff that has to be set up before we get into anything:
Background Information You may have noticed that you can't just double click a .wz file and see what's inside. Luckily a bunch of incredibly smart people have developed the tools for us to do just that. They've made it so that we can "see" and modify values within .wz files. For our purposes, the method we rely on heavily is by using offsets. For those that don't know, offsets are useful because they tell you were in the code a particular item/value that you're interested in is located. That's not exactly the definition, but it's simple enough to understand the concept. So basically, if we want to modify a value, we need to know where it is so that it can be modified. Example 1 - Finding the Accuracy of Monsters The First Step - Obtaining Information It's certainly convenient when people post offsets for you, but you won't always be able to rely on other people to get you what you want, so I'll show you how to find various offsets. I will give three examples, so you can see what to do/look for when trying to get offsets. This way you can go out and figure things on your own instead of having to ask for them. Let's say you wanted to find the accuracy of monsters, but you didn't know how to search for it. Here's how.
The Second Step - Finding What You Want To Search For/Modify NOW HOW DO WE EDIT IT? To that we have to search for where it's located inside of the .wz file. This is where learn.py comes in. However, before we use it, we have to close MapleDump. Why? Because all these programs freak out if you are looking/editing the same file at one time. But how do I keep this information for reference? You can either write it all down or you can highlight 0100100.img and click on "Save HTML" at the top. This will save an html version of all this information in a folder named "Output" in your MapleDump directory. So go ahead and do that and open the html file. It will open in your browser. Okay...we still haven't done anything yet, but we're getting closer.
Now then, we've told it WHAT we want to search for. Now we have to tell it WHERE we want it to search. If you remember from the MapleDump, we were looking under Mob.wz. Open up Config.txt This file is what learnme.py references for the directory.
ZOMGWTFBBQZKITTEN?! 3. At this point a window should've popped up spewing out data like crazy. You should see something like this:1:787 Mob/0100100.img acc 21451 0 2:787 Mob/0100101.img // Green Snail acc 33091 0 3:787 Mob/0120100.img // Blue Snail acc 39919 0 4:787 Mob/0130100.img acc 47044 0 5:787 Mob/0130101.img acc 56273 0 6:787 Mob/0210100.img acc 63121 0 7:787 Mob/1110100.img acc 85619 0 8:787 Mob/1110101.img acc 99476 0 9:787 Mob/1120100.img acc 108668 0 10:787 Mob/1130100.img // Red Snail acc 122117 0 4. If you see this, you've done good. If not, you effed up something. As I was doing this, I still had MapleDump open, so I got an error. Make sure to close MapleDump. Now then, we must make sense of this gibberish. Let's look at it closely: 1:787 Mob/0100100.img acc 21451 0 5. 0100100.img!? That sounds familiar. Like the name of the Green Snails directory. Now you know that this particular portion deals with snails. And what's that "acc"?! Zomg, This has something to do with accuracy. But this 21451? What is this number? This is what you want. This is called an offset and tells you where the value for a Green Snail's accuracy is stored in the Mob.wz file for you to modify. Huh?...Don't worry, it'll make sense (hopefully) in a bit. The Fourth Step - Editing Values Okay, so now we have all the tools necessary for this modifying business. Open up i.Hex. Click Open in the top left corner. Navigate to the Mob.wz file in your MapleStory directory. When you find it, open it. You should be greeted by the most frightening combination of numbers and letters you've ever seen. Sooo...let's get started. First off, on the top part, make sure not to mess with stuff. UNCHECK Hex and Signed, CHECK LittleEndian. (Wonder how many people saw the irony in those last two statements). 1. Okay sooo, remember that 21451? It's an offset. There happens to be a box at the top of the window labeled Offset. Try putting the number in there and hitting enter. This will cause the giant mass of Matrix looking code to shift. It should place the cursor at the offset you're looking for. Just stare hard enough till you see it. Or move the arrow keys left and right till you notice where it's moving. 2. The offset should be at 03. If you're lost it looks like 03 14 00 FD CF... 3. Now then, we wanted to modify Green Snail's accuracy. If you'll recall, a Green Snail has 20 accuracy. If you don't recall, look back on the html thing you dumped, or check hidden-street. But those numbers are decimal numbers. This has letters in it!!! These are called hexadecimal numbers. The system we're used to is base10 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9), hex is base16 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F). Basically it's another counting system. Think about it how after we reach 9 we go to 2 digits to represent bigger numbers. In this system after you hit F (15) you go to two digits as well. Anywho, nobody wants to learn a new counting system, so that's why the link above to a hex converter is included. [Note: The calculator included in Windows can do this too.] 4. Okay, so you have 20 accuracy, but that's a decimal, and you need it as a hex value. Stick it in the converter and you'll get this value (14), So 14(hex) = 20(dec). Now look back at the array you have in i.Hex. OH MY GOOD LORD. It says 03 14!! That must be the number we want!! 5. Okay so, first off, let me remind you that numbers you enter here must be HEX numbers. So before you change anything make sure that you made a back up of your mob.wz, for if you screw up. Now then, lets say we want to reduce the accuracy to 0 so that Green Snails always miss. Change the 14 to 00. Now File > Save. Success! Congrats. The end. No really, you're done.... ... ... 6. Okay so we want to do the same thing with the Blue Snails as well as Red Snails. Good thing we looked up their img ID thing at the beginning. 1:787 Mob/0100100.img acc 21451 0 2:787 Mob/0100101.img // Green Snail acc 33091 0 3:787 Mob/0120100.img // Blue Snail acc 39919 0 4:787 Mob/0130100.img acc 47044 0 5:787 Mob/0130101.img acc 56273 0 6:787 Mob/0210100.img acc 63121 0 7:787 Mob/1110100.img acc 85619 0 8:787 Mob/1110101.img acc 99476 0 9:787 Mob/1120100.img acc 108668 0 10:787 Mob/1130100.img // Red Snail acc 122117 0 I've labeled them already for convenience. Sooo...take the offsets. Stick them in i.hex. Change the values from 03 XX to 03 00, or whatever value you want. You can do this selectively for each individual monster, or take that giant list that you got and do it for all monsters! Before you go about doing this for all monsters, it would be a good time to save and actually test it. So do that. Go in game, if these monsters can't seem to hit you, you've succeeded. You've just made your own Godmode! [Notes of importance] Through other peoples testing, you will encounter the following problems.
Let's try something different. This is something I made because I do Ludibrium PQ a lot. If you've ever done it, you know that there are lots of boxes involved. In particular, the boxes in the Bonus stage are what I was thinking of when I made this. Many people know that you have to hit the boxes in the Bonus till they break spilling out gold and items. However the rate that they break is a bit slow. To remedy this I changed the attributes of those boxes so that there is no delay between hits. It makes breaking them slightly faster, and will give you time to break one or two more boxes. This example is good practice for anyone still unclear after the first example. The First Step - Obtaining Information Not all things come easy. For example, to find the location of this file I had to manually go through all the files in Reactor to come across this. To save you the stress of doing this yourself, the boxes from Ludi PQ are located at 2201002.img. I'll walk through all the steps I went through to do this.
From all that work we came up with several useful pieces of information - the location of the box is at 2201002.img. It's located at Reactor.wz. There's an item we want to test named "delay" with a value of "150". So now all we need is an offset so that we can modify this value. That means open up learnme.py by right clicking it and clicking "Edit with IDLE"
Example Three - Map-Proof This one I made because I suck at Jump Quests, and the Mouse Fly thing doesn't work for me. It's no where near as good, but it does the job. What this does is make you invulnerable to all the crap that hits you in Jump Quests. To be fair, I've only tested it in a few jump quests, but I've had no trouble with it. That isn't to say that it will work in all cases. For this example I will be very vague and brief, and hopefully by getting this far you have a pretty decent idea of what's going on. The First Step - Obtaining Information First we need to find information on all the stuff that damages us in Jump Quests. Contrary to what you might think, it's located in Map.wz. Anything that damages you on the map in game will be located in Map.wz. I'll save you a bit of time by telling you it's under the "Obj" section.
You have the variable name so it should be straight forward how to set this up by now. If need be, you can always look at the previous examples. The Third Step - Finding Offsets Unfortunately, all obstacles are located under the same .img name so you're going to get a lot of modifiable values / offsets for what you searched for in the second step. There's no easy way to isolate which one's deal with a particular Jump Quest, and it might be easier to change the values here for all of them. As a side-note, it might be a good time to remind you to make a backup of Map.wz. The first time I attempted this I did something wrong, and MapleStory would crash whenever I entered a Jump Quest. The Fourth Step - Editing Values There's two ways to go about editing this depending on which variable you decided to try to modify. One method involves reducing damage to 0. (Yeah I totally gave away that variable). For this one it should be easy enough, since it follows how the previous two examples worked. This is also the method I haven't tested. If you used the other variable, then what you are playing with is collision detection. With this variable, you are basically making it impossible for collision between you and damaging objects on the map to occur. This uses a kind of true/false, or yes/no variable. This uses 00 and 01 to mean the same things. [Note - This doesn't mean that 00 means yes and 01 means no. I didn't actually check this. It could be the other way around. Either way, whichever number you initially see, you know that you have to change to the other number]. If you managed to put some effort into this last one then you'll be rewarded with a nice little hack to make it a bit easier on you in those nasty Jump Quests. Contents of .Wz Files This list was created by ashman_s2000. It's a quick rundown of what's inside of the various .wz files if you're curious about where you might go about finding something. Mob.wz - Contains all the monsters Skill.wz - Contains skills for all jobs and monsters Morph.wz - Contains morphing pictures for players (morph into orange mushroom, pig, alien, etc.) Base.wz - Contains all the information on weapons, skills, sound, etc Character.wz - Contains character related sprites and all equips Effect.wz - Contains all the effects of MapleStory such as, damage numbers, tombstone, level up, etc Etc.wz - Contains quests, buffs, curses, make a character, skill, etc. info Item.wz - Contains pictures of all items Map.wz - Contains all map visuals Npc.wz - Contains all info on NPCs Quest.wz - Contains all info on Quests Reactor.wz - Contains images of breakable objects (such as boxes, plants, etc) and opening doors (such as ludi PQ portal, Zakum door, etc) Sound.wz - Contains all sound effects and songs throughout out the game (you can rip songs from this file if you use MapleDump) String.wz - Contains all server side information (cannot be edited) TamingMob.wz - Contains all monsters available (Wild Hog, Silver Boar and Red Dragon) UI.wz - Contains all the icons in MapleStory (trade icon, cancel icon, etc) |
| | |
| The Following 5 Users Say Thank You to Triplexx For This Useful Post: | Conjenator (06-19-2008), iHackMS (08-22-2008), MKurama (06-12-2008), Stevenx99 (08-31-2008), valarlord (06-01-2008) |
| Sponsored Links |
| |
| | #2 |
| Registered User | Re: .Wz Editing 101 Thx for this tut but mapledumb gives me an error when i want to doubleclick on 0100100 snail ... and isnt there a way to find the monster values faster in maple dumb ? |
| | |
| | #3 |
| Lurker | Re: .Wz Editing 101 hey..about all these...can u post some videos about how to edit them slowly...because i am blur...jus by reading..and mostly confuse.. so..if possible...can u make a new one with videos.?.. plz..ur help wil be highly appreciated woshinimama added 9 Minutes and 48 Seconds later...< --- Please use the edit button in the future--- > man...is hard...haha...i reli confuse...n btw..when i click on mob..n sail according to ur code...an error occured..but i tried on another code...it works.How could tat possibly happens?..add on..about the data thing...i cant find no data..for most of the mobs..sumthing wrong with my mapledump? Last edited by woshinimama; 06-19-2008 at 04:32 AM. Reason: Automerged Doublepost |
| | |
| | #4 |
| Lurker | Re: .Wz Editing 101 i don't think mapledump works cuz snails (0100100) says error and how do you use sauna? |
| | |
| | #5 |
| Lurker | Re: .Wz Editing 101 I think this was for v.54... PHAIL... Notice how he doesn't have the list.wz file... |
| | |
| | #6 |
| Lurker | Re: .Wz Editing 101 I am trying this on GMS v58, not sure why but mapledump looks like giberish. The title, the folders everything has squares and characters that my keyboard doesnt have. Also I get errors when double clicking a few monsters in mob.wz. Maybe there is a newer version of this software or I need a language pack for xp or both. Anyway thanks so much for the detailed tut, even if its outdated or not it explains a lot of things. I dont seem to be able to add a screenshot of the giberish. |
| | |
| | #7 |
| Registered User | Re: .Wz Editing 101 WORKS EVEN ON .59 gMS! U just have to read more, and use ur head A LOT if u dont what u r doing. This its not just a boot, its manual work. |
| | |
| | #8 |
| Lurker | Re: .Wz Editing 101 Im having the same problem. When i open the mob file on mapledump, i get characters that look like this " >[]"yEe3/4/[]b" I dont get any numbers. About half of them allow me to double click them. THe other half errors. And there is no data on the data tab at all for me. Am i doing something wrong? Or is there a setting i need to change? Please post here or email me at [Only registered and activated users can see links. ] TY |
| | |
| | #9 |
| Lurker | Re: .Wz Editing 101 |
| | |
| | #10 |
| Registered User | Re: .Wz Editing 101 Sounds like MapleDump just took a huge dump on you guys. The reason it isn't showing the correct characters is because the program itself is linked with the older files, it not being constantly updated as where MapleStory and it's files are. Upgrade from that crap program to deMSwz version 2.2.0, it goes great with the more complicated, less simplistic editing in i.Hex for finding offsets of a creature's speed or damage. Last edited by Gamer Rob; 10-03-2008 at 03:55 PM. |
| | |
![]() |
| Bookmarks |
| Thread Tools | |
| Display Modes | |
| |