Help If you can Itemshop

Page 1 of 2 12 LastLast
Results 1 to 15 of 25
  1. #1
    Member Janebug is offline
    MemberRank
    Sep 2020 Join Date
    25Posts

    Itemshops

    Help If you can Itemshop
    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...


    https://mega.nz/file/NQxWRJ4Q#oqnI8x...mbYl6sC-MZEArc










    Last edited by Janebug; 2 Weeks Ago at 03:26 AM. Reason: better explaination of Wheel of Fortune


  2. #2
    Member andelwol26 is offline
    MemberRank
    Mar 2017 Join Date
    GermanyLocation
    59Posts

    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 by andelwol26; 12-09-20 at 11:25 PM.

  3. #3
    Member Janebug is offline
    MemberRank
    Sep 2020 Join Date
    25Posts

    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



    - - - Updated - - -

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

    - - - Updated - - -

    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 by Janebug; 13-09-20 at 01:44 AM.

  4. #4
    Ultimate Member Mageoski is offline
    MemberRank
    Jul 2015 Join Date
    158Posts

    Re: Help If you can Itemshop

    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 by Mageoski; 13-09-20 at 07:24 PM.

  5. #5
    Member Janebug is offline
    MemberRank
    Sep 2020 Join Date
    25Posts

    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 by Janebug; 14-09-20 at 04:01 AM.

  6. #6
    Ultimate Member Mageoski is offline
    MemberRank
    Jul 2015 Join Date
    158Posts

    Re: Help If you can Itemshop

    Thanks that would be nice if you do that. I dont like Postings in the helpsection where people just write "Found a solution"

  7. #7
    Member Janebug is offline
    MemberRank
    Sep 2020 Join Date
    25Posts

    Re: Help If you can Itemshop

    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 by Janebug; 14-09-20 at 08:38 PM. Reason: Corrections

  8. #8
    Ultimate Member Mageoski is offline
    MemberRank
    Jul 2015 Join Date
    158Posts

    Re: Help If you can Itemshop

    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 ^^

    Click image for larger version. 

Name:	Diamonds.jpg 
Views:	6 
Size:	32.8 KB 
ID:	168208Click image for larger version. 

Name:	Rubys.jpg 
Views:	9 
Size:	145.6 KB 
ID:	168210
    Last edited by Mageoski; 14-09-20 at 09:38 PM.

  9. #9

  10. #10
    Ultimate Member Mageoski is offline
    MemberRank
    Jul 2015 Join Date
    158Posts

    Re: Help If you can Itemshop

    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

  11. #11
    Member Janebug is offline
    MemberRank
    Sep 2020 Join Date
    25Posts

    Re: Help If you can Itemshop

    I think i have figured it out the only thing i am having problem with is the 3 folder shown here



    How to do this ------>
    <--- MINE

    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 by Janebug; 15-09-20 at 07:13 AM.

  12. #12
    Member Beerpyrs is online now
    MemberRank
    Jul 2015 Join Date
    94Posts

    Re: Help If you can Itemshop

    Try SYS_ACCOUNTSTORE_TYPE_X_X_X based on the tier. If that doesn't work it might be custom to Arcadia.

  13. #13
    Member Janebug is offline
    MemberRank
    Sep 2020 Join Date
    25Posts

    Re: Help If you can Itemshop

    Quote Originally Posted by Beerpyrs View Post
    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 ....

  14. #14
    Member andelwol26 is offline
    MemberRank
    Mar 2017 Join Date
    GermanyLocation
    59Posts

    Re: Help If you can Itemshop

    In my case this works:



    That would look like this:



    i think this is what you want.

    My Version is 6.0.7.

  15. #15
    Hardcore Member CDWriter is offline
    MemberRank
    Aug 2004 Join Date
    iowa/usaLocation
    144Posts

    Re: Help If you can Itemshop

    hmmm ill have to try that also



Page 1 of 2 12 LastLast

Advertisement