Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

L2J [Share] How To Make A Multisell [Guide]

Experienced Elementalist
Joined
Jun 3, 2007
Messages
218
Reaction score
19
Hi all good as I see many are having problems with Multisell've decided to add a guide on how to do it and very grateful to Stealth for this amazing guide very helpful.

I. What is a multisell.
II. Making a multisell with code explaination.
III. Connecting it with npcs.
IV. Possible Errors and what to avoid.


I. What is a multisell.
A multisell is simply an xml (Extensible Markup Language) file which contains information about items , prices etc. Making a multisell is very easy and helps you create an easy and quick multisell buylist to add on a GMShop or in a custom npc.The best thing is that you can change the items wanted to buy an item eg. instead of giving adena you can change it to give ancient adena , gold bars and stuff like these.

II. Making a multisell with code explaination.
Before you make a multisell you need to have the items id's that you want to add to the multisell , the prices , and a basic knowledge of how xml and html/htm files work.First make a simple text file

http://imgur.com/Exd3n.jpg

How to start

You always start a multisell with the word

Code:
<list>

this means that you make a new list a buylist.

http://imgur.com/AE9wi.jpg

How to add an item

Of course multisells are associated with items , thats why we make them because they are very flexible to add and manage items.

Creating and adding an item is very easy so lets get to the point. After adding the

Code:
<list>

word we will make a new item make an item by adding this code

Code:
<item id="1">

The number "1" in this code means that it will be the first item added on the list , after that you go to 2 , 3 , 4 , 5 etc.. so that no item has the same id two times cause this will output an error in gameserver.

http://imgur.com/CuOpN.jpg

Next we need to add the ingredients that the player needs to give in order to get the item.

Code:
<ingredient id="57" count="10000"/>

The id of the ingredient item is set to 57 which is adena and the player needs to give 10000 adena as written in count.We can now move move to the production item the item which the player takes by giving 10000 adena or you can add a second or third ingredient using the code above.

http://imgur.com/g0XQ0.jpg

The production item is as I said before the item that the player takes when he gives the ingredient item. So here's some code about it.

Code:
<production id="1" count="2"/>

This code means that the player will get two items (see count value) with the id=1 (which i think is a sword , thats why i said before you need to have the id of the ingredients/production items to make a multisell). After you add the production item you can either add another production item or finish this item.

http://imgur.com/wFviJ.jpg

To finish an item you need to use this code

Code:
</item>

After that you can add a second item or move on and finish the list.

http://imgur.com/5c9dG.jpg

Finishing a multisell

To finish a list you add this code in the end of the list and your done!

Code:
</list>

http://imgur.com/ZdOIf.jpg

Example Multisell

So here's an example of a multisell with two items.

Code:
<list>                                                  <!--- Creates a new list. -->
<item id="1">                                       <!--- New Item which is the 1st item. -->
<ingredient id="57" count="10000"/>         <!--- The item that the player needs to have (in this case 10000 adena). -->
<production id="1" count="1"/>                <!--- The item that the player gets (in this case one sword). -->
</item>                                               <!--- Closes the current item. -->
<item id="2">                                        <!--- New Item which is the 2nd item. -->
<ingredient id="57" count="20000"/>          <!--- The item that the player needs to have (in this case 20000 adena). -->
<production id="1" count="2"/>                 <!--- The item that the player gets (in this case two swords). -->
</item>                                                <!--- Closes the current item. -->
</list>                                                  <!--- Closes the list. -->

http://imgur.com/ILIej.jpg

Notices and other stuff.

Code:
<!--- This is a comment line in here you can write a comment related to the item or not related. --->

III. Connecting it with npcs.
Connecting a multisell with an npc is really easy , what your gonna need is a new or existing npc (Im not gonna show you how to make a new npc cause this kind of tutorials already exist , but Im gonna show you how to connect it with multisell).

How to save the multisell
Assuming that you have your multisell ready in notepad click save as and change the file extension to .xml then select all files and save it with a number like "00093.xml" , this should do.Next step is to copy/move it to Your_server_location/gameserver/data/multisell , after you copy/move it to that directory make sure there are no file conflicts and make sure you remember the number it is very important.

http://imgur.com/9b87x.jpg
http://imgur.com/9N83o.jpg

How to connect it with npcs

Assuming that you have your npc ready go to gameserver/data/html and find your npcs html file.Right click in the html file and open it with notepad then add this line somewhere

Code:
<a action="bypass -h npc_%objectId%_Multisell Your_Multisells_Number_Here">Buy from multisell</a><br>

Save it and your done , now you have connected the multisell with the npc go login to your server make a //reload or restart and spawn the npc to test it.

Example of connecting
Lets say I have transferred the multisell in gameserver/data/multisell and the name of the multisell is 99887700.xml then that is the code I need to add to the npc.
Code:

Code:
<a action="bypass -h npc_%objectId%_Multisell 99887700">Buy from multisell</a><br>

IV. Possible Errors and what to avoid.
If you have errors coming from the gameserver , it is most likely that they are based on a syntax mistake or because of missing tags so make sure to double check the multisells before you save them so that you wont have troubles later.Also avoid using the same item id for more than 1 items this will cause problems and the items on the multisell will not be displayed correctly.

PD: Sorry for post pictures and not used Managed but pictures are neccessary for follow step for step, think this is a infraction just delete.

Credits by Stealth​
 
Back
Top