Everade

Missing Cash Shop Core Features

Recommended Posts

The current official (new) Cash Shop interface and it's used item_cash_db.txt gives us 0 possibilities to make anything dynamic at all.

Maybe i'm unaware about some specific features, but as of now i wasn't able to find anything even related to the cash shop system that could be usefull.

So the only settings we've got are:
// Type,ItemID,Price

But there's no way we could possibly set a time limited offer nor anything "Special" about the special section itself such as limited quantities or whatever it has been created for.

It would be more than great to be able to dynamicaly change/update the cash shop without the need to reload the item database.
So we can "per script" set special prices, limited offers and update the shop on the fly without accessing the server itself

At the current state, using the old cash shop system gives us way more possibilities on updating the shops itself.
There, it's limited to our scripting skills.

But the "new" Cash Shop Button / Interface Shop is lacking it's very core features.

 

 

I think everyone could benefit from this as it keeps the ragnarok community and it's private servers alive.

The main question will be if we're able to update the shop clientside.

Share this post


Link to post
Share on other sites

Auction system is officialy deprecated and not supported by kRO anymore (from what i remember)

However the Cash Shop even features a Update Quantity Button (which is officialy used for Limited Sale Offers in the Special section)
Yet rAthena did never implement that.

Share this post


Link to post
Share on other sites

The update quanitity button does not send any packet - that's why.

We still do not know how it works. ;)

Share this post


Link to post
Share on other sites

Thanks for the enlightenment Lemon :)

 

But it would still be great if we could update the cash shop on the fly.

 

I know client side it's not possible to update it.
But that's not big of a deal is it?

Because if a player purchases an item which has already been removed from the shop.
The server could simply deny the purchase.

 

That way we could at least have the possibility to update the shop via a dynamic script which could create automated sales or similiar.

Edited by Everade

Share this post


Link to post
Share on other sites

You know on official servers you do not edit things on the fly. It usually gets done during sheduled maintences, which come with a server downtime/restart.

That is basically why they did not need such a feature yet.

 

We tried to gather packets for the "special" tab on kRO today, but the problem is that it currently is empty on kRO.

It has not been yet released on iRO or euRO, so we do not have another source were we could get information about it.

 

As I stated in my previous post pressing the button looks like it does nothing(at least no client<>server interaction, it might do something on clientside only we don't know about yet).

You also said that auction is not supported by the client anymore which is correct. We disabled auction after the last known client version where it was available and it is currently unknown if that feature will ever be added back into the client in the future.

 

I understand that you want to have such features for the cash shop, but I hope you understand that those are not missing core features, but rather enhancements or additional features.

As you asked me via PM we have other (real core) features on our task list we want to finish first, before we can start these tasks.

 

The main reason why I wanted you to post in here was to gather input from other server owners as well.

Usually a lot of people have different ideas, that is why it would be better to discuss things here than in a github issue.

 

For me/us it would be best to have some design/feature descriptions how you imagine things or want things to be.

 

For example:
I want to be able to add or remove an item to a tab in the cash shop from script.

=>

Our conclusion would be something like that we come up with two script commands:
addcashshopitem <tab>,<item_id>,<price>;
removecashshopitem <tab>,<item_id>;

 

Hope you get what I'm trying to say.

Please tell us what you would like to have and we will see if we can get something done for you and all others.

Thank you!

 

Lemon out. :D

  • Upvote 1

Share this post


Link to post
Share on other sites

I never said core feature as in for the emulator itself.

I meant a core feature of the Cash Shop.

At the current state the *new* cash shop looks like an unfinished feature to me, as we have no options to really work properly with it unless adding item+price.

And the special section cannot be used at all (missing in the database)

Maybe i'm the only one thinking like this, but meh...

 

 

I'm not a genius when it comes to script functions / advanced scripting.
So i might not be the best choice for creating new script commands.

 

Easiest solution:

Remove item_cash database file and replace it with a

 

SQL database entry

 

And we're all set.
Anything else can be done depending on our scripting skills if i'm not mistaken. ^^

 

 

But i guess

addcashshopitem <tab>,<item_id>,<price>;
removecashshopitem <tab>,<item_id>;

 

 

would also work just fine.
However the item_cash db file would then become obsolete or quite of an issue if the server restarts.

Guessing that the addcashshopitem commands would save the data in RAM only.

Edited by Everade

Share this post


Link to post
Share on other sites

You could use https://github.com/rathena/rathena/blob/master/sql-files/item_cash_db.sqland use query sql in a script and send reloaditemdb via atcommand in script as a dirty workaround.

When we implemented it the special tab was not there.

We have to find a solution for rAthena to manage the entries in there now. Also we still need a capture of the packets for this tab.

Share this post


Link to post
Share on other sites

Bumping this.

 

After looking into this feature myself, I've come to the same roadblock as Lemongrass stated above: that the update quantity button seems to do nothing (but it could do something client side).

I managed to get the limited sale window up and working:

3d2596faf9.png

But thereafter is my problem. There are two packets that are server->client that notify the client that an item is on sale and then off sale, but these don't seem to do anything, at least that I can see. I tried - in vain - to send these items via the cashshop schedule packet (8ca) but that just froze the client.

 

Has any more work been done on this, or has anyone found out anything extra?

Share this post


Link to post
Share on other sites

Bumping this.

 

After looking into this feature myself, I've come to the same roadblock as Lemongrass stated above: that the update quantity button seems to do nothing (but it could do something client side).

I managed to get the limited sale window up and working:

3d2596faf9.png

But thereafter is my problem. There are two packets that are server->client that notify the client that an item is on sale and then off sale, but these don't seem to do anything, at least that I can see. I tried - in vain - to send these items via the cashshop schedule packet (8ca) but that just froze the client.

 

Has any more work been done on this, or has anyone found out anything extra?

as long as you have packet info to be shared for server->client and client->server for this feature, I can help (OK, people just keep the packet for new feature themselves even they don't know how to make it work)

 

And about 0x8ca, maybe because kRO client only want to send the cash shop details once (when player logged in, like roulette packets), u can't "refresh" the list on client.

Share this post


Link to post
Share on other sites

 

OK, people just keep the packet for new feature themselves even they don't know how to make it work

 

 

+1 for this. They use rA and its free! A lot of people working hard in rA  at the background yet they(the people) kept the updates they got for them self. 

 

I think rA should stop updates the new contents and bug fix. xD

 

Or maybe can make an Paid Bug Fix forum too... XOXOXO

Edited by Elsa Mist

Share this post


Link to post
Share on other sites

as long as you have packet info to be shared for server->client and client->server for this feature, I can help (OK, people just keep the packet for new feature themselves even they don't know how to make it work)

 

And about 0x8ca, maybe because kRO client only want to send the cash shop details once (when player logged in, like roulette packets), u can't "refresh" the list on client.

 

 

I shared all that I had done with Lemongrass when they asked me about it via PM, however, no extra progress has been made beyond what I posted above.

 

I could only get packet 0x8ca to change the amount of pages displayed for the other tabs (including the results tab) but that was it. It could just be a red herring, or it could actually be a clue to make this whole thing work.

Share this post


Link to post
Share on other sites

It would not require more packets rather than ON LOGIN.

Because the Cash Shop DOES NOT actualize ever while you're ingame.

You always have to relog to see the latest cash shop content.

Share this post


Link to post
Share on other sites