Implement Prime Shop system
Item Mall/Prime Shop is completely missing. You can borrow from Vaganth.
Comments (10)
-
-
In short :
It should sell items from ''./script/ProductData.txt" where ID is the id from Client from the file "ProductName-e.dat" name is the name from "ItemData" on server to fetch the correct item. Category is the tab where item should be located (
1 = Enchanting 2 = Consumable 3 = Cosmetic/Decorative 4 = Package/Wrapped Items 5 = Others/Etc
Then Price speak of itself that the price of "points" Check "lin2world.dbo.user_point" Char ID speak for itself. Point_type is not so sure but here I can tell
ID 6 = PC bang Point
The serverpack you can buy use id "0" That not sure if that the right way but I think you can use any ID till that all linked.
Then after that, is_event_product is a bool that tell the client to show or not product in home page of prime shop as "Event" Same for is_best_product, it's a bool that tell the game to keep that item in front page. is_new_product is a bool to indicate the client that an new item and make it feature on front page of prime shop.
buyable is a bool to hide/show product in list (userfull to prepare a list and only release it when you are sure that fine)
buy_condition is a bit unknown for me sorry, I belive you can add Item name + count here as a requirement to buy ? or limited purchase amount? sale_start_date and sale_end_date is easy to know what it is used for. location_id is country of your L2Server.ini items is the item(s) you purchase and quantity. server_type should match your server_type in your configuration (I haven't tried it but I guess if that not match your server type it is hidden.)
here and example line that work under Gracia Final :
product_begin id=1050068 name={p_br_escape_scroll_hunter} category=2 /*consuming*/ price=50 is_event_product=0 is_best_product=0 is_new_product=0 buyable=0 buy_condition={} sale_start_date={2017/01/01 08:00} sale_end_date={2018/01/01 08:00} location_id=1 /*us*/ items={{[br_escape_scroll_hunter];1}} server_type=pay product_end
Now that a bit blurry for me but will try to explain what I have understood. It seem that Premium/Prime shop require a ''server'' executable (if you need have one that come with the buyable datapack) It seem to use it as IBServer And can be stop/resumed with Cash Shop Pause in Set from server :)
In short it could be used as GMShop, Event exchange shop, Vote Reward, Lottery etc. With that function you will have the most complete pack ever. That how currently running L2OFF server from NCSoft survive properly because you can make donation without reloading the game. Because that server fetch User_point very often.
Now we can not user that ''paid'' premium server because it does not read properly server ID and just kill the whole chain.
If you need more details on anything feel free to ask :)
-
reporter In the source code "Vanganth" there are functions for connecting the "PremiumServer" service.
-
Is not as easy as it sounds if you want to take the sources code from GF - Vanganth, and adapt it to this extender. Also Emca need to start making this feature from scratch.
It would be easy if you have PremiumServer.exe sources, which I doubt you have it. As far I know, GF-Vanganth extender was sold/shared with out the sources code of this exe file.
The best way you can do, just make a NPC with multisell and drop it on each towns, if you are in a rush.
-
The fastest way is Dimensional Keeper. You can connect it to PHP and send item without reboot or need to build a multisell. I use it to give item in each issues, reboot or long backup :) Aswell as giving item for event or special occasion :)
Actually this is a feature not so many have, there is work around but not the feature :) About sources, myself I do not have it sadly if I can around (that I doubt) I will share it here.
-
Yes this prime shop actually is another exe file, that implements premium service too and prime shop with it, it named as IBserver or PremiumServer.exe, Vangath has it but for GF it isn't in share.... so it needs to much work i think...
-
It can be done pretty much as the mail system, handled by the extender only, as AdvExt does it, without an additional server. Packets can be seen from https://gist.github.com/Pandragon/8e3c855447f394d8c4b1#file-itemmall-diff
-
reporter If you want, you can also tie the vaganth. There really is not that much. But in any case, it's better to do your own implementation, because when you upgrade to new versions of the game, the functionality is extended and you can not add it.
-
Done :)
-
- changed status to resolved
- Log in to comment
I've never used this/played on server where this was used, what exactly should it do?