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!

Help If you can Itemshop

RaGEZONE VIP
[VIP] Member
Joined
Sep 12, 2020
Messages
442
Reaction score
224
Itemshops

Here is a Diamonds, Rubys, and Tokens Shops 100% done + Wheel of Fortune

-*** WARNING ***-
This file will TRUNCATE StringDB , NewShopInfo, SlotMachine_TypeInfo, and SlotMachineBase also will insert 1 column to Table_MoneyExchange GUID 148. Needed for Wheel of Fortune to work. when you login and do not see it in the shop menu, you will need to add it manually to
Table_MoneyExchange.

Based off "Chronicles of Arcadia" Shops..

Finished... Hope it helps everyone...













 
Last edited:
Newbie Spellweaver
Joined
Mar 22, 2017
Messages
84
Reaction score
7
Re: Help If you can

You have to edit StringDB.
For the right order you have to look at sort and level. Thats the Tree of the Itemshop.
You need a server reboot to take over the changes and new values.
and when i remember right you will only see the value when a item shop object is in this category
 
Last edited:
Upvote 0
RaGEZONE VIP
[VIP] Member
Joined
Sep 12, 2020
Messages
442
Reaction score
224
Re: Help If you can

StringDB where is this located at ? you mean in the Database there is nothing in that table ?

can you show example plz? and is it anything in client?

when ever i try to edit StingDb i always get this





I fixed it there is a post on here from DREWWW that helped a lot thanks you



DREWWW does not Break it down very well when it comes to Titles i truely understand this part

Thanks DREWWW
SYS_ACCOUNTSTORE_TYPE_01 is the Menu title
SYS_ACCOUNTSTORE_TYPE_01_01 is the sub menu inside the above line
In that table in the database you can rename the menus, add more, or remove them
There doesnt appear to be a limit although in my shop I have 12 menus and axproximately 40 sub menus.
If you want 8 Main Menu buttons to click on you define SYS_ACCOUNTSTORE_TYPE_01 throught to _08

If you want 3 sub menus in the 8 tab, then you do...
SYS_ACCOUNTSTORE_TYPE_08_01
SYS_ACCOUNTSTORE_TYPE_08_02
SYS_ACCOUNTSTORE_TYPE_08_03

But when it comes to adding titles to the tables, not sure .....

This breaks down where the item will show

Sell_Cost
Sell_Cost_Bonus
Sell_Cost_Free

but how do i add more tables for say rubies i want 3 main tiltles ... So i added this to my INSERT

Code:
     (N'SYS_ACCOUNTSTORE_TYPE_11', N'Consumables',1, 1),
    (N'SYS_ACCOUNTSTORE_TYPE_12', N'Upgrading',1, 2),
    (N'SYS_ACCOUNTSTORE_TYPE_13', N'Costumes',1, 3);

but does not seam to work ????
 
Last edited:
Upvote 0
Skilled Illusionist
Joined
Jul 30, 2015
Messages
396
Reaction score
156
Have you finished all of your SQL Stuff ? Because this is the right place to change that values.

Its in ROM_ImportDB -> dbo.StringDB

Edith: And you dont have to add special tables to the rubi or token shop. If you say have "Upgrades" in dia shop, it will take the same name in ruby or token shop.

Not sure if you can define really new Names to ruby shop like "Upgrades_Ruby".

Edit again: Tested it out and it works. Its like andelwol26 said, if you leave the category empty, the server wont show it.

For example i put the SYS_ACCOUNTSTORE_TYPE_10_05 manually in the database with the Values "test ", level 2 and sort 5

Its category 10

If you end here you dont see this on the server.

Add this to my server

(1,10,5,50,10,0,240488,1); /* Ore Mining Encyclopedia (30 Days) */

and i see it.

The important thing in my example is "1,10,5" at the beginning.

Also you have to take care of what Drewww wrote with his examples. If you want to show this up in ruby shop use this parametres [Sell_Cost_Bonus], [Sell_Get_Bonus]

P.S.: if you make changes you dont need to stop the whole server, just log out of your game and restart datacenter.
 
Last edited:
Upvote 0
RaGEZONE VIP
[VIP] Member
Joined
Sep 12, 2020
Messages
442
Reaction score
224
Re: Help If you can

Hey thanks all ... Ill post my finding here for someone else, to make it easier for them ...
thanks again
Jane
 
Last edited:
Upvote 0
Skilled Illusionist
Joined
Jul 30, 2015
Messages
396
Reaction score
156
Thanks that would be nice if you do that. I dont like Postings in the helpsection where people just write "Found a solution"
 
Upvote 0
RaGEZONE VIP
[VIP] Member
Joined
Sep 12, 2020
Messages
442
Reaction score
224
Finale conclusion!! Hope this is correct If you see any errors let me know ill change it ...

when starting to work with Shop items and there menu above Statements are true some what Yes you use these 2 tables ...

StringDB <-- Titles and Sub Titles in your menu's
NewShopInfo <-- Items for your menu's

To start you first need to make Menu's and sub menu's. here is a example and these will be used for all your menu's Diamond, Ruby's and Phirius.


INSERT [dbo].[StringDB] ([KeyStr], [Content], [level], [sort]) VALUES
-- Main Catagorys --
(N'SYS_ACCOUNTSTORE_TYPE_01', N'Consumables', 1, 1),
(N'SYS_ACCOUNTSTORE_TYPE_02', N'Upgrading', 1, 2),
(N'SYS_ACCOUNTSTORE_TYPE_03', N'Costumes', 1, 3),
-- Sub folder Consumables
(N'SYS_ACCOUNTSTORE_TYPE_01_01', N'EXP & TP', 2, 1),
(N'SYS_ACCOUNTSTORE_TYPE_01_02', N'Must-Haves', 2, 2),
(N'SYS_ACCOUNTSTORE_TYPE_01_03', N'Transformation', 2, 3),

Ok menus are done for now it looks like i have 6 menus but everything is based off the KeyStr (SYS_ACCOUNTSTORE_TYPE_01) and i do mean everything ... Look at it this way in a computer sense we are assigning 01 - Consumables and so on ect for main category...

So if 01 is consumables that makes EXP & TP part of Consumables since it has 01_01.

the first 01 is Using Consumables the next 01 is assigning 01 - Exp & TP with this being said you see how it works for this table ...

as for adding item to the topics ... Example that works with the table above

Base on what part of the table you use for NewShopInfo if you use
[Sell_Cost] <--- Item will sell with Diamond's
[Sell_Cost_Bonus] <-- Item will sell with Ruby's
[Sell_Cost_Free] <-- Item will sell with Token's

INSERT INTO dbo.NewShopInfo
([World1], [SellType], [SellType1], [SellType2], [Sell_Cost_Bonus], [Sell_Get_Bonus], [Item_DisplayerObjID], [Item_OrgObjID1], [Item_Count1]) VALUES
-- Sub Folder xp tp RUBYS
(1, 1, 1, 0, 280, 0, 0, 203574, 1), /* High Quality Experience Potion */
-- Sub Folder Must-Have RUBYS
(1, 1, 2, 0, 20, 0, 0, 201136, 1), /* Convenient Mailbox */

As you can see with the color code i have made ... when assigning items you need to find the item ID either in Game or else ways... Here i have decided to use Item 203574 (High Quality Experience Potion) the number following it is a 1 Its Means I'am only selling 1 for 280 Ruby's, since i used 1 [SellType] and 1 [SellType1] it automatically put this item in the Consumable Category. The first 1 will always mean Consumables where [SellType1] would be category since i added a 2 to convenient Mailbox it places it in Sub category EXP & TP', 2, So far this has worked 100% and i know I'am just getting into it where there should be a lot more, [SellType2] for example unknown at this time but i think its the 3rd Sub category.. Here is the whole Table for NewShopInfo. As you can tell we are just using a very small part of that Table..

Code:
TABLE [dbo].[NewShopInfo] (
  [GUID] int  IDENTITY(1,1) NOT NULL,
  [World30] bit DEFAULT ((0)) NOT NULL,
  [World29] bit DEFAULT ((0)) NOT NULL,
  [World28] bit DEFAULT ((0)) NOT NULL,
  [World27] bit DEFAULT ((0)) NOT NULL,
  [World26] bit DEFAULT ((0)) NOT NULL,
  [World25] bit DEFAULT ((0)) NOT NULL,
  [World24] bit DEFAULT ((0)) NOT NULL,
  [World23] bit DEFAULT ((0)) NOT NULL,
  [World22] bit DEFAULT ((0)) NOT NULL,
  [World21] bit DEFAULT ((0)) NOT NULL,
  [World20] bit DEFAULT ((0)) NOT NULL,
  [World19] bit DEFAULT ((0)) NOT NULL,
  [World18] bit DEFAULT ((0)) NOT NULL,
  [World17] bit DEFAULT ((0)) NOT NULL,
  [World16] bit DEFAULT ((0)) NOT NULL,
  [World15] bit DEFAULT ((0)) NOT NULL,
  [World14] bit DEFAULT ((0)) NOT NULL,
  [World13] bit DEFAULT ((0)) NOT NULL,
  [World12] bit DEFAULT ((0)) NOT NULL,
  [World11] bit DEFAULT ((0)) NOT NULL,
  [World10] bit DEFAULT ((0)) NOT NULL,
  [World9] bit DEFAULT ((0)) NOT NULL,
  [World8] bit DEFAULT ((0)) NOT NULL,
  [World7] bit DEFAULT ((0)) NOT NULL,
  [World6] bit DEFAULT ((0)) NOT NULL,
  [World5] bit DEFAULT ((0)) NOT NULL,
  [World4] bit DEFAULT ((0)) NOT NULL,
  [World3] bit DEFAULT ((0)) NOT NULL,
  [World2] bit DEFAULT ((0)) NOT NULL,
  [World1] bit DEFAULT ((1)) NOT NULL,
  [SortNumber] int DEFAULT ((0)) NOT NULL,
  [NeedMemberID] int DEFAULT ((-1)) NOT NULL,
  [SellType] int DEFAULT ((0)) NOT NULL,
  [SellType1] int DEFAULT ((-1)) NOT NULL,
  [SellType2] int DEFAULT ((-1)) NOT NULL,
  [Sell_BeginTime] smalldatetime DEFAULT ('1991-01-01') NOT NULL,
  [Sell_EndTime] smalldatetime DEFAULT ('2031-01-01') NOT NULL,
  [Sell_Count] int DEFAULT ((0)) NOT NULL,
  [Sell_MaxCount] int DEFAULT ((0)) NOT NULL,
  [Sell_Cost] int DEFAULT ((0)) NOT NULL,
  [Sell_Cost_Bonus] int DEFAULT ((0)) NOT NULL,
  [Sell_Cost_Free] int DEFAULT ((0)) NOT NULL,
  [Sell_Get_Bonus] int DEFAULT ((0)) NOT NULL,
  [Icon] int DEFAULT ((0)) NOT NULL,
  [Item_DisplayerObjID] int DEFAULT ((0)) NOT NULL,
  [Item_Name] nvarchar(32) COLLATE SQL_Latin1_General_CP1_CI_AS DEFAULT '' NOT NULL,
  [Item_Note] nvarchar(256) COLLATE SQL_Latin1_General_CP1_CI_AS DEFAULT '' NOT NULL,
  [Item_OrgObjID1] int DEFAULT ((0)) NOT NULL,
  [Item_OrgObjID2] int DEFAULT ((0)) NOT NULL,
  [Item_OrgObjID3] int DEFAULT ((0)) NOT NULL,
  [Item_OrgObjID4] int DEFAULT ((0)) NOT NULL,
  [Item_OrgObjID5] int DEFAULT ((0)) NOT NULL,
  [Item_OrgObjID6] int DEFAULT ((0)) NOT NULL,
  [Item_OrgObjID7] int DEFAULT ((0)) NOT NULL,
  [Item_OrgObjID8] int DEFAULT ((0)) NOT NULL,
  [Item_Count1] int DEFAULT ((0)) NOT NULL,
  [Item_Count2] int DEFAULT ((0)) NOT NULL,
  [Item_Count3] int DEFAULT ((0)) NOT NULL,
  [Item_Count4] int DEFAULT ((0)) NOT NULL,
  [Item_Count5] int DEFAULT ((0)) NOT NULL,
  [Item_Count6] int DEFAULT ((0)) NOT NULL,
  [Item_Count7] int DEFAULT ((0)) NOT NULL,
  [Item_Count8] int DEFAULT ((0)) NOT NULL,
  [Gamble_Count] smallint DEFAULT ((0)) NOT NULL,
  [Gamble_Rate1] smallint DEFAULT ((0)) NOT NULL,
  [Gamble_Rate2] smallint DEFAULT ((0)) NOT NULL,
  [Gamble_Rate3] smallint DEFAULT ((0)) NOT NULL,
  [Gamble_Rate4] smallint DEFAULT ((0)) NOT NULL,
  [Gamble_Rate5] smallint DEFAULT ((0)) NOT NULL,
  [Gamble_Rate6] smallint DEFAULT ((0)) NOT NULL,
  [Gamble_Rate7] smallint DEFAULT ((0)) NOT NULL,
  [Gamble_Rate8] smallint DEFAULT ((0)) NOT NULL,
  [EffectDay] int DEFAULT ((-1)) NOT NULL


Ill make corrections when i find things that may be different then what i wrote , Or if you see anything i have incorrect I will check it out first then change it here and give you credit ,... thanks all for your help.

andelwol26,
Drewww,
Mageoski.


Jane
 
Last edited:
Upvote 0
Skilled Illusionist
Joined
Jul 30, 2015
Messages
396
Reaction score
156
I think the way Dreww is handling this is easier in my opinion. Lets say i want to use the table_NewShopInfo_data which is delivered with 6.0.7 release.

For example Weapon Driller, which on original server are in ruby shop.

I'll delete the driller out of the original sql table_NewShopInfo_data (Because i just want them in the ruby shop)

Code:
(1,2,1,50,10,0,201087,1),  /* Basic Weapon Driller */
(1,2,1,50,10,0,201088,1),             /* Advanced Weapon Driller */
(1,2,1,50,10,0,203058,1),             /* Expert Weapon Driller */
(1,2,1,50,10,0,203061,1),             /* Master Weapon Driller */

The new "addon" scrip for the shop is:

Code:
USE [ROM_ImportDB]
GO
INSERT [dbo].[NewShopInfo]
([World1], [SellType], [SellType1], [Sell_Cost_Bonus], [Sell_Get_Bonus], [Item_DisplayerObjID], [Item_OrgObjID1], [Item_Count1]) VALUES
(1, 2, 1, 10, 0, 0, 201087, 1),   /* Basic Weapon Driller */
(1, 2, 1, 20, 0, 0, 201088, 1),   /* Advanced Weapon Driller */
(1, 2, 1, 30, 0, 0, 203058, 1),   /* Expert Weapon Driller */
(1, 2, 1, 40, 0, 0, 203061, 1);  /* Master Weapon Driller */
GO

The important thing if you change something is, that you always have to execute the original table_NewShopInfo_data first, than the stuff for ruby shop. because if you dont do this, you double the items in the sql and also in the shop ingame. (Truncate command in newshopinfo script), you cant use it in the Ruby scripts because if you do, you just have 4 items in the ruby shop.

It then looks like this, i dont have to name the categorys with another name, its collecting them since they are already in the source script (newdatashopblabla). Sorry, its german ^^

Diamonds - Help If you can Itemshop - RaGEZONE Forums Rubys - Help If you can Itemshop - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Last edited:
Upvote 0
RaGEZONE VIP
[VIP] Member
Joined
Sep 12, 2020
Messages
442
Reaction score
224
Yeah but his way, I did not understand how it was all started and created all i was doing was deleting things from his tables.

My way shows how to start with nothing and finish with a great OUT come.

 
Upvote 0
Skilled Illusionist
Joined
Jul 30, 2015
Messages
396
Reaction score
156
Yea, there are different ways to reach the goal of an own shop, thats true. Deleting the drillers of original script was just an example. :D

At the end its nice to know how that works, but to be honest (for me personally): On my server its just useless to open up ruby or token shop items, because at 99% i'm the only one playing on my server (rarely my mum plays also). So its faster to just buy things with diamonds ^^

But its always nice to read tipps on how to do things on RoM-Servers, so thanx for your post. :D
 
Upvote 0
RaGEZONE VIP
[VIP] Member
Joined
Sep 12, 2020
Messages
442
Reaction score
224
I think i have figured it out the only thing i am having problem with is the 3 folder shown here




How do i create the folders with the names of : Male , Female , Unisex

the folder Costume and Single Pieces i understand but that 3rd folder .... Help please
 
Last edited:
Upvote 0
Junior Spellweaver
Joined
Jul 9, 2015
Messages
135
Reaction score
65
Try SYS_ACCOUNTSTORE_TYPE_X_X_X based on the tier. If that doesn't work it might be custom to Arcadia.
 
Upvote 0
RaGEZONE VIP
[VIP] Member
Joined
Sep 12, 2020
Messages
442
Reaction score
224
Try SYS_ACCOUNTSTORE_TYPE_X_X_X based on the tier. If that doesn't work it might be custom to Arcadia.


Nope

But inside the source its

Code:
char Key[128];
        const char* pType;
        int count = 1;
        while (true)
        {
            sprintf( Key , "SYS_ACCOUNTSTORE_TYPE_%02d" , count );

            pType = GetString( Key );

            if( pType[0] == '\0' )
                break;

            _AccountStoreTypeName.push_back( pType );

            ++count;
        }

    }

    // ¨ú±oTIPS¼Æ¶q
    _Tips.clear();
    {
        for (int i = 1; i < 100; i++ )
        {
            char keyStr[256];
            sprintf_s(keyStr, 256, "TIPS_TEXT%02d", i);
            if ( CheckedString(keyStr) )
                _Tips.push_back(i);

When i figure it out ill let everyone know ....
 
Upvote 0
Newbie Spellweaver
Joined
Mar 22, 2017
Messages
84
Reaction score
7
In my case this works:

gFjUaFl - Help If you can Itemshop - RaGEZONE Forums


That would look like this:

GciBFu7 - Help If you can Itemshop - RaGEZONE Forums


i think this is what you want.

My Version is 6.0.7.
 

Attachments

You must be registered for see attachments list
Upvote 0
RaGEZONE VIP
[VIP] Member
Joined
Sep 12, 2020
Messages
442
Reaction score
224
In my case this works:

gFjUaFl - Help If you can Itemshop - RaGEZONE Forums


That would look like this:

GciBFu7 - Help If you can Itemshop - RaGEZONE Forums


i think this is what you want.

My Version is 6.0.7.

Can you show me a item in (NewShopInfo) and the table please.. Only SellType , SellType1, SellType2, Sell_count.
and thank you hun If this works..
 

Attachments

You must be registered for see attachments list
Upvote 0
Newbie Spellweaver
Joined
Mar 22, 2017
Messages
84
Reaction score
7
complete item in this category:





 
Upvote 0
RaGEZONE VIP
[VIP] Member
Joined
Sep 12, 2020
Messages
442
Reaction score
224
is there anything in client that needs to be changed? after i just added yours and I have NO other item or category i get this



I don't understand why ? unless there is something in client with the table names i don't know about....

Ill pick apart the client see if i can find anything ?

thanks Andelwol26 <- help a lot. (and i also have 6.0.7 and db but there nothing like what you showed me in there , we must have a different DB)


WOOOT WOOOT thanks Andelwol .. all i need was a complete reset of the server, and it worked thank you ...





is there anything in client that needs to be changed? after i just add when you have NO other item or category i get this



I dont understand why ? unless there is something in client with the table names i dont know about....

Ill pick apart the client see if i can find anything ?

thanks Andelwol26 <- help a lot. (and i also have 6.0.7 and db but there nothing like what you showed me in there , we must have a different DB)

ISSUE : All the bad items added to Diamond shop was throwing off the others , once i removed them and redid them all everything came out nicely ... Keep a eye on this post ill update first post with all the Diamond , Ruby's and Token ...... Made from Official server

Thanks all Jane
 
Last edited:
Upvote 0
Junior Spellweaver
Joined
May 9, 2018
Messages
181
Reaction score
126
Hopefully this helps everyone, this is how i was able to design/organize and keep track of the Itemshop. you will need to re-create it yourself but this should be an easier starting point for anyone that needs it.

- Darkish Blue is the Main Category dropdown, lighter blue is the tabs in the Main Category.
- Darkish green is a Sub Category dropdown and lighter green is the tabs in the Sub Category

Janebug - Help If you can Itemshop - RaGEZONE Forums


More Info: if you add the blank entries in now, then later if you want to add more categories to the ItemShop then you can easily without making your StringDB out of order.
 

Attachments

You must be registered for see attachments list
Last edited:
Upvote 0
Back
Top