Did you know? elitepvpers has its own image host, epvpimg.com.
[Guide] Making HoN Mods
This is a discussion on [Guide] Making HoN Mods within the Heroes of Newerth forum part of the Other Online Games category; First of all, all the credits go to
"XplittR" for making a well explained guide that even helped me understand ...
First of all, all the credits go to
"XplittR" for making a well explained guide that even helped me understand the basics of hon moding in my early beginning of moding, I do not support plagiatorism therefore all the credits shall be redirected to XplittR, I'm just releasing this public to elitepvpers.com without taking any credits for the guide.
I have a personal permission from XplittR to do that. Do NOT give me any thanks for it since I'm not releasing this here to get thanks off somebodies hard work, I'm just trying to share the basic knowledge of HoN with intentions to HELP somebody.
Table of Content:
B. Third party software
First off all, there are two (three) types of mods out right now. There are actually just two types, but there is a third type that makes one of the others easier, just keep reading and you will understand.
The three types:
2. Third party software
So let's go into each of these in detail.
1.1 Where to begin?
If you go into your Heroes of Newerth folder, you should see a folder called "game". Full path should be something like "C:\Program Files\Heroes of Newerth\game\". This path may vary from operative systems, but I will take starting point in Microsoft's OS.
Here you will see files such as "game.dll", "resources0.s2z" and "textures.s2z".
1.2 The .s2z files
Have you ever seen a .s2z file before? No? Well, don't get scared, because it is only a renamed .zip archive. So if you have 7-zip or WinRAR or another similar program, then you can set Windows to open these files in your archive-program, and you will be able to open the files as a normal .zip or .rar.
1.3 resources0.s2z, the master file
Inside resources0.s2z the most of the code for the game lies, such as the effects and sounds from the heroes, item-icons and the ui(user interface) and probably everything that is client-side.
1.4 How does the game work
When you start the game, it wil load all "resourcesXXX.s2z", starting from the lowest number (0), and working it's way upwards. If I make a mod, I would name it to the next number (resources1.s2z, then resources2.s2z and keep going upwards). Inside this zip-folder I would put MY files, the ones I would like to edit. For it to work, I would have to open the "resources0.s2z" and copy the file that contains the code I want to edit (You have to open the file yourself, to see what I am talking about, as it is kind of hard to explain), then make a new .s2z file with it, and this new file will override the original one.
With this method you will be able to edit small things, and change ui and etc., but it takes some time to mod, and each time a new patch comes out, you will have to fix it. A better way to edit these files is .honmod, which we will get back to soon.
2. Third party software
2.1 What is this?
Third party software are stand-alone programs that works in a totally other way. In contrast to the .s2z files, these programs are not necessarily dependent on the files that lies in the /game/ folder.
2.2 How does these work?
The third party softwares may interfere with your game in several ways. To help you understand it, I will demonstrate it with an example: The famous maphack!
A maphack removes the Fog of War, and may also contain features as revealing invisible units, and showing which of the 3 Hammerstorms is the real one, and which is illusions. It might also zoom your camera further out. A maphack might work by changing the game state in memory or software, or intercepting/manipulating data in real-time.
Using a third party software might get unfair advantages over other players, in contrast to the .s2z-files. Such softwares usually violates the EULA (End-User Licence Agreement), though there also exists legal programs that do not violate the EULA.
3.1 Why even one more mod-option?
As the mod-creators used so much time on editing and reuploading the mods for each patch, a user called MaxGhost from the HoN-forums made a program that will make it easier to update the mods.
3.2 How does this work?
His program will automaticly create a "resources999.s2z" for you, so it will override all other mods if they edit the same file, and when you mod, you do not have to do everything over again whenever a patch comes out, though you may need to fix some bugs etc.
3.3 The .honmod files
.honmod files are scary too you say? Well fear no more! .honmod files are simply renamed zip-archives like the .s2z-files! Inside a .honmod you will find atleast 2 files; An icon.png and mod.xml, though there may be even more files. The mod.xml contains what files in the resources0.s2z should be edited, and where, and this will make it compatible even after a new patch has been released! We will come back to more of this when I will teach you on how to make simple mods.
By using .honmod-files both using and updating mods become easier. How? If you use several mods and you use the .s2z-way, you would have to combine your mods by yourself. If you are updating your mods, you would have to keep a record of what you have been editing, and then when a patch is released you would have to make the file over again, and fix the bugs afterwards. By using the .honmod-way, as a user, you simply have to copy your files to a folder, and activate them using the HoN Modification Manager. As a modder, you would not make separate files, but write in a file what you want to edit, and where.
Okay, so now you know what kinds of mods exist, so now you want to start using them?
4. How to install mods
I will advice you to not start with .s2z files, as most people have moved on to .honmod, as it is a lot easier both for the modders, and the users.
4.1 Where to find the mods? [Only registered and activated users can see links. ] [Only registered and activated users can see links. ]
Full list of third party applications (Link will come)
4.2 How to set up HoN Modification Manager
To use .honmod files you need HoN Modification Manager (HoN ModMan from now). To use it, you need .NET 2.0 (3.5 does not replace 2.0, you need 2.0 explicit). When you first open it (with Vista or Windows 7 with UAC enabled, make sure to run as administrator), make sure HoN is not open, and click Options -> "Change HoN path..." or "Enter Hon path manually...". Here, you would like to target the main HoN folder, which normally is "C:\Program Files\Heroes of Newerth\". You are not supposed to target the \game\ folder, or the HoN folder that resides in My Documents (This one is for screenshots and etc.). If you use Mac or Linux, you would have to visit the official thread to get more support.
4.3 How to use HoN Modification Manager
Using HoN ModMan is really simple. When you have set it up correctly, you can simply drag and drop the .honmod files into the program! When you do, the file will be copied to you "Heroes of Newerth\game\mods" folder (which just got created). If you for some reason can't drag and drop the files over to the program, you can copy/paste your files to the folder that i just mentioned, and re-open HoN ModMan.
When you have managed to get your mods into the HoN ModMan, you have to click File -> Apply mods, or use the shortcut: Ctrl + S. If you do not do this, you do not activate the mods. When you apply the mods, the program will create a resources999.s2z file for you, and place it in the right place for you. Now you can close HoN ModMan (it does not need to be open when you play), and start HoN. I advise you to start a game in practice mode to configure your mods.
5. Third party softwares
In my last post, I explained a little bit about third party software. Not so very many third party softwares exists as of today, but the game is only in beta, so I expect that a lot more programs will come when the game is released.
Here I will list all the third party softwares that I have been able to find. I will categorize them into two different sections; Legal softwares and Not-so-legal softwares. If you find a program that I have not listed, please tell me about it so I can add it here.
Color explanation (on parchnumbers):
Green color means it works with the newest patch
Magenta color means it is unknown if it works with the newest patch
Red color means it will not work with the newest patch
5.1 Legal softwares
[Only registered and activated users can see links. ] compatible with 0.1.53.1 (Wont be outdated)
This program will generate color-coded text (like a rainbow) for you, so you can easily copy-paste it into HoN. It was originally made for Savage 1 and Savage 2, but it works for HoN too as they color the three games color the text in the same way.
5.2 Not so legal softwares
The following softwares may come in conflict with Heroes of Newerth's Terms of Service, and is only made for educational purposes. Use them on your own risk. I do not take any responsibility if something happens to you if you use these softwares.
Adjustable Max Zoom & EasyDeny compatible with 0.1.53.1 (and upcoming versions, unless S2 change the way camera works)
With this software you will be able to zoom the camera out more than normal, so you can see more of the map. You can also just rightclick on friendly units and building to deny them, thus making following units not possible. It will also start HoN if it is not open and you try to open this program (works like a launcher). You can choose to only use Max Zoom, only EasyDeny or both, by editing the .ini-file. You can also set the camera distance there.
Original author: prj @ [Only registered and activated users can see links. ]
If you want to support prj for his work, you can [Only registered and activated users can see links. ]
[Only registered and activated users can see links. ], compatible with 0.1.53.1
With this software, you can be sure to get the hero you want in All Pick mode. Start HoN, then this program, and then join an AP-game. The program will read from an external HeroPicker.txt, and automaticly pick that hero for you. I (XplittR) have included a full list of heroes, and their code, sorted alphabetically. One bug: Silencer/Vindicator does not work. I will reupload when I have found the bug!
Original author: Sheppard @ [Only registered and activated users can see links. ]
How to make a simple mod
Okay, now you know how mods work (basics), and where to get and use them. Now, it is time to let you know how to make your own simple mods. I am not an expert at this area, so if you need support, you should ask someone at the official forums.
6. A button to ask the host to lock you and your friend(s).
So what I will explain to you now, is how to make a button in the game lobby, so that if you press it, you will automatically write a pre-set text into the chatbox (Example: "Can you lock me and Stroh please?").
6.1 Cleaning up
For starters, get rid of all your mods. To do this, you may want to take a backup of your mods, and then delete all your resourcesXXX.s2z (exept resources0.s2z!).
6.2 Necessary programs
Now you need to get the necessary programs:
2. An extractor-program, such as 7-zip or WinRAR.
(3. Compare plug-in for Notepad++)
6.3 To install the plugin
To install the plugin, you simply copy the .dll file into "C:\Program Files\Notepad++\plugins". Nothing more to say here. If you use Linux or Max, I do not know what you have to do.
6.4 Backing up
Now I want you to take a backup of "resources0.s2z". Why? Because you knever know when you make a mistake and suddenly edit the wrong file. Simply copy/paste it to somewhere safe.
6.5 Getting ready
Now you need to find out what you want to edit. I want to edit the UI in the game lobby, so what I do now, is that I open the resources0.s2z in WinRAR/7-zip, and there I will be met with a lot of folders, such as buildings, core, heroes, items and ui. As I said I want to edit the UI, so I would want to open the folder named the same. On my screen, I now have 5 folders, and a lot of files named "*.package" or "*.interface". Here is where you need to find out which file you want to edit. As I wanted to edit the game lobby, game_lobby.interface would be perfect for me. I will now extract this to "Heroes of Newerth\game\ui\". Don't you have a \ui\ folder? No worries, just make one!
6.6 Assessing whether or not this is going to be a simple mod
You should now concider if you are going to make a simple or more complex mod. If you want to make a more complex mod, you should make an external file, but if you want it to stay simple, you can stick to editing the main file(In this example, game_lobby.interface). For this mod, we will start by making it a simple mod, then extend it a little bit.
6.7 Making the mod
Open the game_lobby.interface that you just extracted with Notepad++. What we want to do now, is to create a panel in the correct place. I want my button to be just above the chat, and to the left. What I do now, is find the most suitable place in the game_lobby.interface to place my code. I find that to be under "<!-- Chat -->". I know that they have defined the "<!-- Chat -->"-area to be just what we see as the chat, but that does not prevent me for making a button outside that area.
I scroll to the bottom of the chat-code, and add my code as following:
<!-- LOCK US BUTTON!-->
<panel color="invisible" x="8h" y="-2h" height="3h" width="3h" name="chat_lockh_panel" >
onclick="AllChat('Can you lock me (DoubleDTheGreat) and ProButLags please? :)');"
onrightclick="AllChat('Pretty Please? :)');"
Now I am going to explain this code line by line(in detail): 1. When you have a <!-- SomethingSomething -->, it means that it is a comment. This has no effect on the code, and is only used for easier detection of code. So by adding this, I can look into my game_lobby.interface and find this quick if I want to edit it. 2. Okay, here the code starts:
The panel-code says that I want to create a panel.
The color="invisible"-code is there so that I can have my own graphics, instead of a black box.
The x=- and y=-code simply states where the panel is going to be. This is defined from the top-left of the chatbox.
The height=- and width=-code states how big the panel is going to be. Simple right? Notice that you need to have an "h" after the numer you chose. The number does not need to be an integer, nor a positive number.
The name="chat_lockh_panel"-code gives my new panel a name, so that I can refer back to it if needed. 3. This line imports my pre-made graphics, by telling it where it can be found. The size of the graphics is not needed to be 100% of the wanted size, as you set the size via the code in line 2. Notice that the file format of the graphic is targa(.tga). Most programs can save as targa, but Microsoft Paint can't. 4. Not much to say. Makes my panel a button, which is clickable. 5. Now we add a texture to the button. If we do not do this, we will get a grey box, and we do not want that. Grey boxes are ugly, and green boxes are awesome! Instead of button_bevel.tga I could have used button_roundhl.tga, but then I would have gotten a white sircle with low opaticy over my graphic. 6. This line sets what is going to happen when I click the button. I could have made another autobalance-button, but I want it to type something to everyone (If I am not on the same team as the host, or havent joined a team yet, the host cannot read what I write if it only goes to the team).
The onclick=""-code is there to set what is going to happen.
The AllChat(' ');-code is there to make everything I write between the apostrophes be written in the AllChat. AllChat is a global function. 7. Same thing as above, just with onrightclick="" instead, and the code itself is pretty self-explanatory. 8. Not much to say at all. Ends the <button> tag. 9. Not much to say here neither. Ends the <panel> tag.
If you save your file now (With your own graphic, panel-name and text) You can start HoN, and create a practice-game. You should then see your button just above the chat. You might have to configure the size of the button and the coordinates to fit your resolution.
Congratulations! You have now made your first simple .s2z mod!
Oops? Did you just make an .s2z mod? Haven't I just told you the whole way that we do not like .s2z, but prefer .honmod? Do not fear! .s2z is the easiest way to go when you are going to make a mod. .honmod is the best for updating it. So now you may want to make it into a .homod file? Well, First I will make this mod a little more complex, and THEN I will explain for you how to make it into a .honmod-file. If you are perfectly fine with the mod as it is now, you can skip to number 8, a bit further down.