here's an example how to duplicate. look for this
// Shop NPCs -- supplying no argument displays entire menu.
// callfunc "qshop"{,<shop ID>{,<shop ID>{,...}}};
//============================================================
prontera,164,203,6 script Quest Shop#1 998,{ callfunc "qshop"; }
for example the shop ID is 3 all you need to do is make a new line and do this
prontera,150,150,6 script Quest Shop 2#2 998,{ callfunc "qshop",3; }
this means that you are calling the function of Shop #3 which only those items you set on #3 will be shown on prontera 150 150 coordinates and it was named as Quest Shop 2.
Add(3,503,1,0,0,4108,150,1041,1500);
so it will look like this
// Shop NPCs -- supplying no argument displays entire menu.
// callfunc "qshop"{,<shop ID>{,<shop ID>{,...}}};
//============================================================
prontera,164,203,6 script Quest Shop#1 998,{ callfunc "qshop";
prontera,150,150,6 script Quest Shop 2#2 998,{ callfunc "qshop",3; }
like this ?
http://pastebin.com/HA9yax8t
On this part don't change this one
setarray .Shops$[1],"Upper";
setarray .Shops$[2],"Middle";
setarray .Shops$[3],"Lower";
setarray .Shops$[4],"Accessorry";
setarray .Shops$[5],"Costume Headgears";
It should be like this
setarray .Shops$[1],"Headgears","Weapons","Other";