SH Pointshop - Discussion, Suggestions and Requests

SH Pointshop
About
Discuss, provide suggestions or requests for SH Pointshop in this thread. For private questions you can send me a PM.
You can also share themes and layouts you've made here.
View the Documentation here.
Frequently Asked Questions
I already use PointShop or Pointshop 2! Is there any way I can transfer my data from there?
Backwards compatibility with PS1/PS2 is not planned, sorry.
HOWEVER, you can partially transfer data from PS1/PS2 - check the documentation!
I hate your theme! Can I customize the colors and backgrounds?
Yes, you can configure the theme in the config file.
Can I translate your script?
Sure, send me a PM (link above) and I'll send you the up to date language file.
Can I get a free copy for translating your script?
No.
You claim this is the best performing pointshop script, while I don't doubt this, what kind of practices have you put in place that distinguish yours from the rest? What makes this script perform better? Following that, how much better, in your experience, is the performance of your script versus say, PS1 & 2?
Finally, how long have you been working on this, and how satisfied with it are you now that it's released?
Thanks in advance, I'm a fan of ur work xo
ByCainat 15th of January 2018 13:29:31
You claim this is the best performing pointshop script, while I don't doubt this, what kind of practices have you put in place that distinguish yours from the rest? What makes this script perform better?Following that, how much better, in your experience, is the performance of your script versus say, PS1 & 2?Finally, how long have you been working on this, and how satisfied with it are you now that it's released?Thanks in advance, I'm a fan of ur work xo
Honestly, there are a lot of cool things Shendow added/is going to add, from the top of my head:
- Free DLCs
- Configuration in-game (this is really good)
- The documentation is really well-made
- It's probably more efficient code-wise (can't really confirm since I don't own it)
- The price, it's only $6 compared to the old one, being $30 off sale
- Support for libgmodstore, although not popular, it's extremely convenient for developers and customers
- Fits in with a theme (this isn't really a BIG thing but it's nice to have matching scripts)
I feel like this is the same deal with Blue's ATM, It's a good re-make of an old and beloved script, I feel like this is going to do amazing on gmodstore.
I already use PointShop or Pointshop 2! Is there any way I can transfer my data from there?Backwards compatibility with PS1/PS2 is not planned, sorry.
This is the only thing preventing me from buying it. I run a fairly decent community with over 10,000 unique players all with PS2 data, I really don't want to wipe their data to start fresh on a new Pointshop. Not even necessarily talking about item data either, just point data at least.
ByCubat 15th of January 2018 21:43:34
This is the only thing preventing me from buying it. I run a fairly decent community with over 10,000 unique players all with PS2 data, I really don't want to wipe their data to start fresh on a new Pointshop. Not even necessarily talking about item data either, just point data at least.
The best u can do is write a query to transfer ps1/ps2 points into shen's ps. Can't really do items as each add-on handles it differently.
ByCainat 15th of January 2018 13:29:31
You claim this is the best performing pointshop script, while I don't doubt this, what kind of practices have you put in place that distinguish yours from the rest? What makes this script perform better?Following that, how much better, in your experience, is the performance of your script versus say, PS1 & 2?Finally, how long have you been working on this, and how satisfied with it are you now that it's released?Thanks in advance, I'm a fan of ur work xo
In broad terms, my script aims to run the least amount of code during a period. Less stuff to run means less time spent doing stuff, which increases performance.
In technical terms, I avoid creating constantly running hooks like HUDPaint, Think, PlayerPostThink.. and only call what's necessary at the right time. While it also doesn't necessarily affect performance, I try avoiding bloat like fancy managers, classes, promises (which PS2 is full of) and what not for better code readability. It also allows the user to clearly know what they're seeing when creating/modifying code for my script. If I have a function called UseItem, it uses the item and that's it.
I spent perhaps a full week working on this. On average 4-6 hours per day although I've had to deal with exams on that week so I crammed a lot of work onto Sunday evening to make it to my self-imposed deadline. I've coded a dozen Pointshops in my life (for my own servers, which don't seem to attract players!) and this script is basically the combination of all the experience I acquired coding the previous iterations.
How satisfied am I with the script? To be honest, it's very different from my previous Pointshops but I think it turned out fine. The only regret I have is not implementing the Layouts idea I had when I started the script. You'd be able to create new layouts for your Pointshop by writing XML-like code - the script would parse and render the window accordingly. I will get to that eventually.
ByCubat 15th of January 2018 21:43:34
This is the only thing preventing me from buying it. I run a fairly decent community with over 10,000 unique players all with PS2 data, I really don't want to wipe their data to start fresh on a new Pointshop. Not even necessarily talking about item data either, just point data at least.
While I don't plan backwards compatibility for PS1/PS2, I may be able to write a few functions that allow partial (or complete) transfer of items and Points from them to SH Pointshop. I'd have to figure out how they store data though.
If you'd like to help me figure that out, hit me up with your PS1/PS2 data and I'll see what I can do.
Edited And a very kind soul has written a MySQL query to transfer PS2 Points to SH Pointshop Points:
Make sure to replace REPLACE_WITH_PS2_DB with the name of the MySQL database your PS2 is in!
To use this query, your database mode needs to be on mysqloo and the database credentials need to be the same as your PS2 installation. Run that query in your MySQL program or something.
ByShendowat 15th of January 2018 22:02:34(for my own servers, which don't seem to attract players!)
I never much understood how such a talented and skilled person had so much trouble with such thing. Overall though, this entire thing looks great and I support you fully on this project! Great work, and I'm glad to see you've put so much work and love into this Pointshop.
If you want to transfer MySQL PS2 Points to SH Pointshop Points AND refund all items (it uses the price they paid, refunds prem pts for prem pts purchases) you can use this: https://gist.github.com/anonymous/8bf585cb61856c660663d6a6d83fde00 This requires MySQL >= 5.7.8
A quick note for the query to clarify, it will refund all items from inventories, although not from slots (i.e. items that are currently equipped).
You can now create Text Wearables. They are simple items that draw text on your model's head, face or behind (3 preset positions but more can be added in the template). To create them, download the 1.0.2 version and use the item_textwearable template in the Item Manager.
You can customize the text, color, whether it should be rainbow and scale for every item.
Strong updates coming in; I feel as though in the upcoming month or so this add-on will overtake ps2 quite confidently.
However, I have a more personal enquiry about the Multi Server support. While you stated there is multi server support, how do your script treat items that differ/don't exist from what server to another. For example; Two servers are linked via MySQL. Server A has Items 1 , 2 and 3 on it. Server B has items 3, 4 and 5 on it. If a player in server A buys item 1, buys and equips item 2 and owns item 3. How does the script account for that if they kinda join Server B with this setup? Naturally, item C carries across- but how do the two other items get treated? Afaik this instance could cause errors / problems on Pointshop - hence the question.
ByCainat 17th of January 2018 23:33:56
Strong updates coming in; I feel as though in the upcoming month or so this add-on will overtake ps2 quite confidently.However, I have a more personal enquiry about the Multi Server support.While you stated there is multi server support, how do your script treat items that differ/don't exist from what server to another.For example;Two servers are linked via MySQL.Server A has Items 1 , 2 and 3 on it.Server B has items 3, 4 and 5 on it.If a player in server A buys item 1, buys and equips item 2 and owns item 3. How does the script account for that if they kinda join Server B with this setup?Naturally, item C carries across- but how do the two other items get treated?Afaik this instance could cause errors / problems on Pointshop - hence the question.
The two other items will stay in the player's inventory and equipment tables but won't appear in the Shop or on the player. You will have to copy the items over manually.
Groovy - I didn't fancy having to make dummy items just for compatibility between servers. The more I learn about your add-on the better it sounds. Hecking good job mate, you've got it all worked out.
Edited Another little query, even though I feel annoying asking all this stuff and even a little stupid; You've said yourself the DLC will all be provided for free - would those be automatically provided via free updates or would it moreso be free 'addons' to your pointshop? If it's the former, are you planning on adding a configuration for each little DLC to turn them off/on or will it just be a lock in thing?
Sorry for asking so many questions, but I'm quite excited about this lil guy right here. P.S: Since you've actually semi-added db transfers for ps1/2 - you could edit that into the op.
Everything will be provided through free updates to the script; they'll be shipped with the base Pointshop like the Text Wearables "module" (it's actually just a template used by the Item Manager). This means less stuff to install; just drag and drop the script on purchase and forget about the rest. Each module (or item template) has its own configuration, which can be usually found in the _module.lua file (or item_x.lua template). You can't configure modules in-game yet, but I can add that in the future.
Edited Implementing full PAC3 support is going well, you can expect it in the next update. This means pets, sounds, animations and stuff will be available.

Any news on the next update Shendow? Not trying to rush you just curious.
Sorry, I've had to deal with real life and I've been in a bit of a slump lately.. I still don't have an ETA for next update.
Add a player model selection menu from the item making menu like in ps2 so we dont have to go find the model paths.
Most playermodels aren't added to the C-Menu playermodel selector thing. That's how they get them.
I want to get my hands on this eventually and try it out on a server I'm doing. Looks clean and very minimal with the features that should be there. I haven't checked the features yet but Points over time was a huge thing, and being able to specify the rates based on groups and their percentages. And another HUGE thing, would be the fact of being able to specify if a specific item can be for anyone/group OR a specialty item for just one person with a specified SteamID, and then item would only appear in the Pointshop for that guy who purchased it. Yes, I would be wet.