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);
donderdag 28 oktober 2010
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!
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. :)
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.
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.
Abonneren op:
Reacties (Atom)