donderdag 28 oktober 2010

[Tutorial]Small modifications

Hi there, and welcome to another kind of blog entry!

Today I don't want to discuss just one big topic. Instead, I want to make a list of small, easily overlooked tips, which are actually pretty helpfull.

1. Changing the ingame tips.
2. Changing the startup logo.
3. Changing the weather on a map.
4. Changing the ingame graphics settings.
5. Adding hair or faces to the character select screen.


1. Changing the ingame tips

The ingame tips are the small notes at the top of your screen you see while you are playing.

Changing this makes your game more proffesional, and it can save you alot of time. When you first open the list of tops, there will alot of tips about maintainences and links to the original Rose Online website.

Well, you probably don't share the same dates for maintenences, and you probably don't share the same website either. So lets change it, shall we?

The file you are going to need is LIST_HELP.STL, which is located in 3DDATA>STB in your 3DDATA.VFS file.

As you probably noticed, this is an STL file. There is also a STB file, but you don't actually need it unless you want to change the color of the announcement.

Once you open the STL file with your favorite STL editor, the rest is easy. There are about 4 rows in the STL, the first 3 are numbers, and the last row contains the tips.

Just change the tips, save, and patch.

Easy, right? Now, so you don't forget anything, here is a list of things I always change when I start a server:
- Change the Rose Online website references to my own site;
- Change the Rose Online maintenance notices;
- Change the promotion of certain item mall items, because I might not have those items in my item mall;
- Change the tip about flying to other worlds in case I allow players to use /go;
- Change the tip about getting skills in junon, in case I allow players to use /allskill.



2. Changing the startup logo

This is going to be short and easy. I'm not a designer or anything, so I cant tell you how to máke a logo. But changing the logo is one thing I can explain.

What logo am I talking about? I'm talking about the logo you see when the game starts up. You know, the blue/gray logo that says Rose online.

You might want to change this, because it's always good to give your client a look that matches your server. If your server is called "Flaming Rose", and your game starts up with a Blue ice-like color.. It's not that much of a problem, but it adds some professionality to your server.

You can find the logo in your client folder, ánd in 3DDATA>CONTROL>RES>LOGO.DDS. I suggest you replace the both of them with your own logo, just in case.

Remember, your logo must be either in DDS- or PNG format. Any other extension will not work.

(PNG could be something else, I'm not entirely sure)



3. Changing the weather on a map

I remember walking in Xita Refuge, thinking it would be funny to replace the leafs with snow. One way of doing this was replacing the actual leafs effect with the snow effect. But changing that would give problems on the long run.

The best way to do this, is by opening LIST_ZONE.STB. In this STB file, find the row of the map who's weather you want to change.

Once you find the row, take a look at the header of your STB editor. It should say Weather somewhere.

The best way of finding out which weather uses which ID, is by checking the lines of maps, of which you know have different weather conditions.

For example:
1. Xita Refuge uses leaves, so go to the line for Xita Refuge.
2. The weather row in the line for Xita Refuge is 2, that must mean ID 2 equals falling leafs!

You can do the same for Luna to find out the snow ID.

One tip I can give you is to release a LIST_ZONE.STB on the forum with all weather effects removed, because some computers just cant handle processing all of these effects, causing major lag.

The problem with this is, with your busy life as a developer, you are bound to forget to update it:
1. You release the LIST_ZONE.STB without weather effects.
2. 3 weeks later you release a new map.
3. A player downloads the LIST_ZONE.STB on the forum, and puts it in his client.
4. The player will no longer have the new map you added, but cán go to it, causing his character to bug.



4. Changing the ingame graphics settings

I guess this is one of the cool, yet strange things in Rose Online. You are able to change the graphics settings in the game itself, making it look great.

So why isnt this an option for the players? Why cant they change it?

I have nó idea. If you put the settings the way you want them to, the game looks really smooth. The only thing I could think of was that they didn't want anyone changing it, so players wouldn't set the settings higher than their computer could handle.

I guess it's understandable, but that doesn't stop me from putting the settings just a líttle bit higher.

The file we are looking for is located in SCRIPTS>INIT.LUA. Extract the file, and open it with notepad.

If it looks confusing to you, don't worry, just search for this line:
setFullSceneAntiAliasing ( 0 )

Change the 0 to an 8, save, put it in your client and start the game. Vóila, if your computer is able to handle it, you should see the effect as soon as you start playing.

Look out though, the higher the settings, the higher the requirments are for your computer. So you should play around with the settings, as long as you don't set them too high.

Even if your computer can handle it, older computers your players might be using, wont. The best thing to do in this case is to just release this file on your forum, with a small guide. This way players can choose weither or not the want to change it, and how high they want to set everything.



5. Adding hair or faces to the character select screen


Sometimes developers don't like the NaRose hair and faces, so they add the Wish Online hairs and faces, which are more detailed, and look better in my humble opinion.

The problem is, Wish Online has alot more hairs and faces, so in the end, even if you replace the old hairs and faces, you would only be using about 60% of them.

The file you need to change this can be found here: SCRIPTS>SYSTEMFUNC.LUA. Just like in my guide about changing the ingame graphics, open the file with notepad.

Now the line you should be looking for is this one:
SC_AddSelectItem4CreateAvatar( 1 , "10", 78);

First off, never delete the following line:
SC_SelectItem4CreateAvatar( 1 ,0 );

It sort of indicates that this is the end of the list of faces, which is what we will be working on. Alright, lets see what we have here.
The 1 indicates that is a face, the 10 means it's the 10th face, and 78 is the ID of the face.

The 1 should always be a 1 when adding a face, the 10 should go up by one for each face you are adding, and the 78 is the id of the face you want to add, which can be found in: 3DDATA>LIST_FACE.STB

Open up LIST_FACE.STB. As you can see, there will be about 4 filled lines, followed by 5-6 empty lines, and so on. What you need is the first line of each block of 4 lines.

Why is this? Well, the first line is the normal face, the few lines that follow are the same face, except they have different facial expressions. For example, it would be the same face, except it's crying, or angry.

Lets say we want to add a face with ID 95. If the line in SYSTEMFUNC.LUA used ID 10, like in my previous example, we will have to use ID 11:
SC_AddSelectItem4CreateAvatar( 1 , "11", 95);

That's as easy as it gets. Our list with faces will now look like this:
--face
SC_AddSelectItem4CreateAvatar( 1 , "1", 1);
SC_AddSelectItem4CreateAvatar( 1 , "2", 8);
SC_AddSelectItem4CreateAvatar( 1 , "3", 15);
SC_AddSelectItem4CreateAvatar( 1 , "4", 22);
SC_AddSelectItem4CreateAvatar( 1 , "5", 29);
SC_AddSelectItem4CreateAvatar( 1 , "6", 36);
SC_AddSelectItem4CreateAvatar( 1 , "7", 43);
SC_AddSelectItem4CreateAvatar( 1 , "8", 64);
SC_AddSelectItem4CreateAvatar( 1 , "9", 71);
SC_AddSelectItem4CreateAvatar( 1 , "10", 78);



SC_SelectItem4CreateAvatar( 1 ,0 );

The same concept applies to the hairs, except you will have to find the ID in LIST_HAIR.STB, and you will have to add it in the section that starts with:
--hair
SC_AddSelectItem4CreateAvatar( 2 , "1", 0);

woensdag 27 oktober 2010

[Tutorial]Troubleshooting

Welcome to a new, and hopefully more detailed blog entry!

Today I will teach you about what is maybe the most important task of a developer, troubleshooting.

What is troubleshooting?

I'm glad you asked. Troubleshooting is finding/locating and repairing the cause of a bug or error. While alot of this guide will probably speak for itself, it is véry important for you to know all this.


Table of contents:
1. The problem
2. The cause
3. The solution
4. Correcting the mistake



1. The problem

Lets say we just released a húge patch, with over 40 new armors, and 20 weapons! Players are enjoying the patch, but suddenly a player comes up to you, and tell you his item is invisible. How is this possible!?



2. The cause

This is where we start. At this moment, it is important to know the following:
1. What item is invisible according to the player?
2. Where can the player get the item?
3. Is there anyone else with this problem?

According to the player, the item is invisible. But what item is invisible? Ask the player what item is invisible according to him/her, and where the player got it.

Now that we know this, our next step is to find out if it is actually invisible.

The average player is quick to overlook something. this can range from simply having missclicked the item, so it didn't equip, to having a completely different client. The best thing to start with, is asking the player to give you the item, or by getting the item using a command.

If the item is indeed invisible when you equip it, that's when we can actually start finding the source of the problem. If the item is visible on your screen, ask the player if he/she has the right client, and if the player updated the client to the latest version.

Now, assuming the item is invisible, go to the place where you can get the item as a player. In this example I will assume it is a shop in Junon. Go to the shop in Junon, and see if the item in the shop actually is the item you wanted to add.



3. The solution

When adding an item to a shop, you are bound to make a mistake from time to time. And on rare occasions you will overlook this mistake while testing your new patch. If the item in the shop is not the one you wanted to add, open up LIST_SELL.STB, and find the item. Check if the ID is correct.

The rest speaks for itself. If it's incorrect, correct it, and patch the server again like I showed you in my previous guide. If it's the right ID, we are going to have check the ZSC file.

Open up the right ZSC file. In this guide I will assume we are fixing a weapon, so I open up LIST_WEAPON.ZSC. Using the ZSC editor, I will go to the ID of the item you added to the shop, and check the settings.


While an invisible weapon can have many causes for being invisible, it is generally not hard to find the cause.

The most probable cause of an item being invisible, is that it's missing a ZMS (model) or DDS (skin) file.

How do you know if it's missing? Easy, if it's missing, there wont be a ZMS or DDS file selected in the ZMS/DDS list. By now you should know how to add an item because of my first guide. So if you cant remember how it works, go to that guide first to refresh your memory.



4. Correcting the mistake

Oh man! Now everyone has got that invisible weapon. Well, in this case, it's not a problem. You just patch the server again, with the corrected ZSC file.

But what if the ID in the shop was completely different from the item you wanted to add? -everyone now has a useless item, and it might even start bugging everyone.

You can solve this in 3 ways, depending on the current situation and skills:
1. If you are not the host, but a developer. Ask your host/administrator to run these query's:
UPDATE items SET itemnum='1', itemtype='2' WHERE itemnum='3', itemtype='4';
UPDATE storage SET itemnum='1', itemtype='2' WHERE itemnum='3', itemtype='4';

Where it says 1, you put the id of the item it is supposed to have.
Where it says 2, you put the itemtype it is supposed to have.

Where it says 3, you put the id the bugged item currently has.
Where it says 4, you put the itemtype the bugged item currently has.

For example:
UPDATE items SET itemnum='103', itemtype='12' WHERE itemnum='104', itemtype='12';
UPDATE storage SET itemnum='103', itemtype='12' WHERE itemnum='104', itemtype='12';

Run it, and it's all good again. Everyone's bugged items changed into the right item!

2. If you are the administrator, do step 1 yourself, hehe.

3. If you do not know anyone that can help you with the query, and you don't know how it works, you will have to tell the players to give you the bugged item, and that they will recieve the right item in return.


Alright, that's it for today. I hope you understand that it is very important for a developer to have good troubleshooting skills. You are bound to make mistakes, no matter how good you are.

The real question is, will your other developers, assuming you are not developing alone, notice your mistake in time?

It is really important, that if you are not working alone, you let other developers look at your patch. Other people will notice your mistakes much faster than you will at that time. (Working solo is generally speaking a bad idea)

I hope that helps, good luck with everything!


PS: I am still taking requests for guides!

vrijdag 15 oktober 2010

[Tutorial] Update client and server

Hello, and welcome to my third blog entry!


This time I want to discuss how to actually distribute your new items, or anything for that matter.

Things you are going to use:
- Neoncube;
- A patch server; (Xampp, freehostia, or anything else you want to use)
- Winrar;
- A client.

1. Updating the client

There are already alot of guides on how to set up neoncube, so I am just going to give you a link to the one that I used to set it up.

In case you don't know, Neoncube is a patcher, originally used for Ragnarok Online, which has been adapted for use on Rose Online servers. It will allow you to do several things:
- Connect to a server;
- Update you, and others their client.

Link: http://forum.dev-osrose.com/viewtopic.php?f=28&t=716


2. Updating the server files

In this step, I wíll be assuming you are using the OsRose server files for your private server. If you are not the host of the server you work for, ask the host of the server to do this step for you.

Take out your patch, and take out the following folders if they exist: (if they don't, you can skip this step)
- STB;
- AI;
- QuestData.

Once you have any of these folders, drag them to the following folder in your server files:
Binary>3DDATA

In this map you will see 3 maps, with the same names as the maps you just took. By dragging your 3 folders in Binary>3DDATA, the server will be updated.

If it asks you to overwrite something, click "Yes to all".

Afterwards, restart the server.



3. Updating your database

This step is sort of optional, because you only have to do it once when you start your server.

Download the files in this topic from OsRose:

link: http://forum.dev-osrose.com/viewtopic.php?f=32&t=2409&start=0

In my previous blog entry I explained to you how to extract your client. Do this again, even though it takes a while.

Afterwards, put the tools you just downloaded in the 3DDATA folder you just extracted. Run the file called: make_csv_sql.bat

-and wait untill it's done. When it is done, you will see the program has created several files. You should check the following thread to see which of those files you need:

link: link: http://forum.dev-osrose.com/viewtopic.php?f=32&t=2409&start=0

After you got all the files you need, update your database by running the query's, or replacing the files in your server with the files that were just created.




4. Why would I want to patch?

Remember when we made a weapon in the last blog? At the end you added it to your client, and you were able to walk around with it in-game. (hopefully)

The problem is, nobody else can see you with the weapon, and you wont do more damage than usual with it either.

To fix this, you can update your server, so everyone can see the weapons, and so you can actually do some damage on monsters.

Ofcourse this goes for everything you add: "It's not actually there, unless you update your server"



I hope you all enjoyed this tutorial. If you have any questions, don't hesitate to ask me.

Once again, I take requests. :)

[Tutorial] Projectile Weapons

Adding ranged weapons

Welcome to yet another blog entry on developing in Rose online!

This time I will teach you about special cases when adding weapons, like:
- Wands;
- Guns;
- Cannons;
- Bow Gun;
- Bows.


1. What makes these weapons different from a normal weapon?

All 5 of these types are special, because they fire projectiles. Projectiles can be:
- Fireballs;
- Cannonballs;
- Bullets;
- Arrows.

Projectiles come in many shapes and kinds, and are essential for these kind of weapons. If you do not add projectiles to projectile-type weapons, they will give very strange results when added to the game.


2. Adding a projectile to your weapon - STB

First, open up your stb in the Excell STB editor we have been using so far, and go to row with the projectile ID. To find this row, look at the top (header) of the file in your STB editor, it usually contains a description of the row.

At this moment, it is very important to know what kind of weapon you are working with. In this example I will be working with a gun, so I will be adding bullets to this gun.

I could add cannonballs to my gun, but that would look a little weird.

The STB is pretty easy this time. Look at another weapon of the same type (in my case, a gun), and look up the row with the projectile variable. Copy the value in this cell, and put it on the line where your new weapon is located.

Alright, that's it for the STB file. Easy, right? Just save your STB file, and close it.



3. Adding a projectile to your weapon - ZSC

This is the hard part of adding weapons, and the reason why you should always start with this when adding a projectile-type weapon to your zsc file.

I could explain to you what Flags are, and Hexidecimal value's, or I can just show you the fastest, easiest way to add a projectile.

In the ZSC editor, jump to the ID of the gun that needs a projectile. Afterwards, put the id of a similiar weapon that already has projectiles, in the white box that looks like this: "Copy: [Empty box]"

Then press copy. As you probably already noticed, everything will now be filled out, but it's not using the zsc or dds file of the weapon you added.

This is why you should now continue my first guide on how to add a weapons. If you skipped my first tutorial, I told the user to go to this guide during the process of adding a weapon, if they were adding a ranged weapon.

It will look like this was just a waste of time, but once you add your weapon to the game, after adjusting the settings once more (because the DDS and ZMS files that are being used got copied, and are probably not the ones you need), your weapon will shoot projectiles!



That's it for today, I hope that was clear enough.

Once again, if you have any questions, don't hesitate to ask me.

donderdag 4 maart 2010

[Tutorial] Adding a weapon

Good day bloggers,

And welcome to the first entry of my blog.

To start off with, I am going to teach you some of the basics of developing, and afterwards I will teach you how to add a weapon to the client.
Tools you need can be downloaded here:
http://forum.dev-osrose.com/viewtopic.php?f=32&t=1026

Don't freak out because of the huge amount of text in this tutorial, doing it will take +/- 2 minutes eventually, but explaning it with pictures and details takes about and hour. Seriously though, it wont take as long as you might think.


1. The basics

First of, I'm going to make a list of the file extentions you are going to meet, so you can look up what it is used for if you forget during the tutorial:
.STB - These files contain most of the information, you will need this kind of file 99% of the time when you add something, ranging from weapons to armors to even monsters and maps.
.STL - These files contain the names and descriptions for everything, once again ranging from weapons to monsters.
.DDS - This is the skin of the monsters, weapon, armor, etc. It is just a picture, made in a special way so you can use it in Rose Online.
.ZMS - This is the 3D model for the item, weapon, armor, etc. you are adding or making.
.ZSC - These files are bridges that link your DDS and ZMS files, so that the game will know what DDS file goes with what ZMS file, and which item uses them.
.VFS - This is the most important thing you will use as a developer. 3DDATA.VFS is the file that contains almost éverything you see in-game. This ranges from houses, trees, roads, to the DDS and ZMS files of weapons and armors.

And here is a list of tools I am going to use in this tutorial, and what they do. If you do not get the descriptions, don't worry, it will become more clear in the tutorial itself:
VsfNextGen - This is a tool that is used to take things out of your 3DDATA.VFS file.
Stb Editor by Lmame - Like the name suggests, this is a tool that can open, edit and save STB and STL files.
Zsc Editor by MaXxon - This tool is used to modify and save .Zsc files.


2. Setting things up

OK, so let us start by getting our client folder in front of us. I am going to use my test client in this tutorial, which is a NaRose Evo client.

Why am I saying Evo Style? -well, that's because there is another version called iRose. iRose is an older version of Rose Online, with a different look, and it works a bit different. Some like it more than Evo because it's safer to use, more flexible and has a more balanced system. I myself use Evo because there are already alot of iRose servers out there, and we're trying to be different. Also I think it looks better than iRose, but that's just my personal preference. =P

Now that I have got my client folder in front of me, I will put VsfNextGen.exe in the folder, and run it by double-clicking it. A small screen will pop up, and once it's gone, another window will pop up. Click the [+] sign next to the word 3DDATA, and it will expand. Now you will see alot more maps, like in my screenshot below:



3. Extracting the file you need

Next, we are going to extract (take out) the files we need:
3DDATA/STB/LIST_WEAPON.STB
3DDATA/STB/LIST_WEAPON_S.STL
3DDATA/WEAPON/LIST_WEAPON.ZSC

I have also prepaired some ZMS and DDS files for you (Download link at the bottom of this post), which I took from jRose, which is the japanese version of Rose Online, which has alót more cool items. Normally you would just extract the DDS and ZMS file from another client yourself, but I won't do that this time, to save you some time. If you read my guide, you will know how it will work.

First, we are going to get the LIST_WEAPON.STB file, the name speaks for itself, it is an STB file, containing a list of weapon information. We've already opened the 3DDATA folder, so now, navigate to the map called STB and once again click the [+] sign next to it. As the name suggest, this folder contains all the STB files, but also all the STL files. The list you are seeing is probably pretty big, and you are probably going to overlook the file you need from time to time, as there is no search function. So just keep looking for the file untill you find it.

When you do, first, click it with the left mouse button for safety reasons, and then right-click it. A menu will drop down, and in that menu, you have to click "Extract Item". Now click "Browse" and select the place where you want to put the stb file. It is a good idea to make a new folder for this, so you won't lose anything, and so you can delete it all in one go afterwards if you want. When you are done with this stop. Do the same for LIST_WEAPON_S.STL which is in the same list as LIST_WEAPON.STB.


Now you can click the [-] sign next to the STB folder again so it will collapse. Now go to the folder called WEAPON, and once again press the [+] button next to it. Extract the LIST_WEAPON.ZSC file like you did with the STB and STL files.



Good, so now we have all the files we need:
- LIST_WEAPON.STB
- LIST_WEAPON_STL.STL
- LIST_WEAPON.ZSC
- TEST.DDS
- TEST.ZMS


4. Adding the item to the client

OK, now it's time to actually start adding an item. Go to VsfNextGen, and once again, go to the folder called WEAPON in the 3DDATA folder. Next, you have to determine whether it's an offhand item (Everything you can wear besides your normal weapon, like a choropy doll), or a normal weapon. Since my weapon is a two-handed weapon, it's not special, so just go to the WEAPON folder, and then open the map called TWOHAND.

What you are seeing now are maps, containing the DDS and ZMS files for all weapons. Because the item we are adding is completely new, we are going to have to make a new folder. Right-click the map called TWOHAND, and press "Create new folder..". Name it whatever you want, but I suggest you make it the same as your weapons name. My weapon's name was Test Weapon, so I will name my folder TEST.


OK, we have a folder called TEST, now we need to put our DDS and ZMS files in it. Right click the map you made, and press "Add item to folder". Click "Browse" on the menu that popped up, and locate your DDS file, double click it, and press add item. Now do the same again, except this time, add the ZMS file.


5. Adding the item to the STL and STB files.

Next, we are going to add the items to your STB and STL file. Open your stb editor. The one I am using in this example requires Excel, if you do not have Excel, look for another tool on this site:
http://forum.dev-osrose.com/viewtopic.php?f=32&t=1026

Next, click on the large button at the top left of the editor with the text "Open Control Panel". Now click "Load STB" and then locate and double click your LIST_WEAPON.STB file, it will start loading, wait till it's done, and do the same with "Load STL"


The STB editor has now loaded the STB and STL file, as you probably already noticed, you now have a huge list with numbers and weapon names. If you are a game master, or if you have your own server, you probably know what an item ID is, if you don't:

An Item ID is a unique number assigned to an item to help the client identify what it is, what it looks like, and what it does. You will find these numbers to the left of the item names.

Pick an empty row, which means that everything on that line is empty, except for the ID. (Do not delete or change the ID, ever) let's start by typing an item name in the second row. I am going to go with Test Weapon, it's probably not the best name ever, but it fits the job.


Now, press the big gray button at the top left that says "Item Editor". This will open up another menu. Click the white bar at the top left of the menu, and a drop-down menu will appear. Find your item's ID and item name, and press enter. Nothing much will change, everything will still be empty. I don't think this part needs much explaining, so I am just going to fill it in, and you can fill in whatever you like, and look at my example if you don't know what to fill in. Once you are done, click the "Save Changes" button, and you will probably see that alot more information is written down next to your item's name.


Scroll all the way to the right, and stop at row BD, it will be empty, but it it's filled everywhere else. Now fill in the following: LWEA*item ID*, so if my item's ID was 201, it would be LWEA201.

Now go to the STL tab, by pressing the tab called "STL Reader" at the bottom of the Excel screen. Once again, find an empty row, and fill in the Weapon's name and the description, where it sais LWEA*Number*, change it to the LWEA*itemid* you made in the stb file. In my case this would be LWEA201.


OK, now you are done with the STB and STL files, open the Control Panel again, and press "Save stb", once it is done saving, press "Save stl". Click Close Control Panel, and minimalize your stb editor, because you might need it later for the ZSC file.


6. Adding the item to the ZSC file.


*If you are going to add weapons which shoot projectiles, like cannons, guns or wands, read this guide first before you continue:
Link: http://kroseonline.blogspot.com/2010/10/tutorial-projectile-weapons.html*

Alright, almost there, the only thing we have to do now is edit the zsc file!
Open up the ZSC editor, and when it opens up, look at the top-left part of the program that pops up. Where it says: "Entry [White box]", fill in the ID of your weapon and then press "Jump To". Even if it looks like nothing change, something did, trust me. If you forgot the ID, just open up your STB again. (Don't ever forget this step!)



Next, click "Add ZMS Resource", locate your ZMS file, and double click it. Scroll down to the bottom in the box below the text "ZSC Selection and Mesh Values". There you will see a link that looks alot different then the other links, so click it with your left mouse button, and then press "Rename ZMS Resource". Change the link like I did in my example, but if your map or ZMS name was different, change it.


Now do exactly the same in the right part of the ZSC editor, the DDS part. Press "Rename DDS Resource", and change the link like you did before.
Now I'm going to skip some stuff because the chance of you using it is very unlikely for now, so just fill in everything like I did in this example:


Filled everything except the part where it says "Bounding Box"? Good, now use this tool to found out what to fill in there. There should already be a guide on this in that topic:
http://forum.dev-osrose.com/viewtopic.php?f=32&t=2527
OK, now press the "Save" button at the right part of the ZSC editor, and then press "Save ZSC File", and you should get a confirmation.


7. Putting everything back where it belongs


OK, we are done with everything, time to clean up our mess! Close down your stb and zsc editor first.
Open up VsfNextGen again, and go to the STB map. Right click the LIST_WEAPON.STB file, and press "Delete Item", do the same for LIST_WEAPON_S.STL.
Now right click the STB map, and press "Add Item". Add the STB file we just changed. Now do the same for the STL file. Don't forget to always check if VsfNextGen added the files correctly, it can be a bit tricky at times.
Now go to the WEAPON folder, and delete and re-add LIST_WEAPON.ZSC like you did with the STB and STL file.
Great, now close VfsNextGen, and start up your client.
Once you logged in, it's time to test you weapon. In my case I would spawn the item by typing: /item 190 8 1.


Tadaa, if you did everything right, you will have your first weapon, congratulations!
Isn't that just fantastic? -now go pratice some more.

At first it took me a while to add items, but now I can add an item in 2 minutes or so, so practice makes perfect.

If you have any questions, or if you found any errors, don't hesitate to ask/tell me! Also be sure to expect more tutorials in the near future, I take requests.

Credits for the tools go to the developers at OsRose, credits for the ZMS and DDS files go to jRose.

Please do not distribute this tutorial without giving credits to the original poster.