Update on the status of the script!
Good news everyone. After some hard work, and a little pressure for the people inside #sourcemod to finish this thing up, it now works (minus saving and restore limits and GUI). In the version about to be released, the GUI I/O was taken out because it was just getting in the way and it needs to be cleaned up. So for now there will be no GUI, all command line.
Now after a discussion with a fellow scripter, he suggested I make it optional to even use my data storage system. So this will be added where if it's disabled via a config file, nothing will process at the start of each map. It would have to be done manually
if disabled or command lines be placed in a CFG file. Some of the things below are items that were worked on and/or changed and also need your
feedback!
Command Line Structure Re-Worked
Before you can only limit or restrict one item at a time. I re-worked the code that you can do multiple items at once.
Example:
Code:
sm_restrict item global awp m4a1 deagle
Or in chat:
Code:
!restrict item global awp m4a1 deagle
/restrict item global awp m4a1 deagle
That's in this version.
Before:
Code:
sm_restrict item awp global
sm_restrict item m4a1 global
sm_restrict item deagle global
All Quick (un)restrict groups include:
all,
weapon(s),
equip(ment),
pistols,
shotguns,
rifles, and
non rifles.
Limit Number of Item's In "Active" Mode
This is now coded fully and working perfectly. It took several re-writes of this section for it to work, but it does. By default "checking", if you buy an item, it will count towards being an active item. If it's dropped, it will be taking out of the active count. If you try to pick up an item, and picking it up makes it go over the limit, you won't be able to. If you die, those items that you drop will be dropped from the active count. Right now the only items that seem to have problems with the "active" out their count are the Flashbangs as you can hold two of them. The system doesn't count it being "used" right now if you still have one left in your inventory, but does take away the item from the active count once it's completely gone.
Commands are just like restrict except...
Code:
sm_restrict limit global 1 m4a1 deagle awp - 1 per game
sm_restrict limit global 0 m4a1 deagle awp - Disables items
sm_restrict limit global -1 m4a1 deagle awp - Enabled items (removes limit check)
Note -- there is no...
Code:
sm_unrestrict limit <AREA> <VALUE> <ITEMS>
Why is there a "map" switch? Isn't global the same thing?
I have been hassled on why I have a switch for
map.
Some command code equivalent:
Code:
sm_restrict all map
sm_restrict item map m4a1 deagle awp
sm_unrestrict weapons map
Code:
sm_restrict all global
sm_unrestrict pistols global
The reason I added a map switch is because of the way I do data storage.
First of all, the global restrictions data file will would always execute on any map, not matter what it was. However the map would load settings only from the map being loaded. This way, as shown in the README, you can put the three powerful sniper rifles in the global "load" no matter what. Then if a map came up were you thought an item should never be allowed it would be loaded. It's loaded into it's own array check because if you did a "save" it would then go into the "global" file, which would happen each map.
There will be a way to disable the groups based on the MAP type.
- cs_
- de_
- fy_
- gg_
- as_
- ANY_PREFIX_HERE_
This is not coded yet. However, I will make sure I put a way for certain map types to get check for permissions.
Item limits are not yet "savable", "deletable", "loaded", or "restore". They will be done before release. This can also be disabled for the different map types as well.
More will be explained in a very detailed PDF being created.
Why should I use your data system? Storing the restrictions in CFG manually is just fine for me.
That's true. It's is easy. But I built the storage system so people that you give Admin RCON access to could save defaults for the 4 different groups -- global, team (t and ct), map, and player. This removed the ability for you to open your server to eyes that you do not want to have.
Scripting Code (.sp) Files
I have broken down the code from one .sp file to many .sp files. Just like teame06 did with GunGame:SM to keep things clean. However, it makes it very hard to compile the .sp files on the website and an programing editor is required.
API
There will be provided API documentation in the PDF documentation so you can make plugins that utilized the restriction script, even if you don't use restrictions all the time on the server.
One good example is the Ratio script I am developing. No restrictions on a server with this script and the Ratio script allows the ratio script to decided if the items would be restricted for that player. I.e. 20+ kills with a 3:1 KDR, disable all weapons except pistols.
IRC
IRC support will exist also where you can do all the same commands from within IRC using Olly's IRC Relay plugin, however I am waiting for a Sourcemod feature before coding this in.
Translations
Official translations will not exist in the upcoming release. However, they will come with the
GUI is completed. Right now english is the only language you can get it in.
What type of messages do users get when they join a server with restrictions in place?None, right now.that's why I want you to read the next item. There are two many options to choose from, and I need your input. If Dialog that popups up on join team, this would be the only GUI coded before the full menu system -- which also requires a massive update to the menu API for sourcemod.
Your Feed Back
Some people say I can't take suggestions.. that might be true when I am annoyed at errors, and I gotta work on that, but I do require your feedback on what kind of options you want and configurations you want. Config "talk" does not require a ticket in the support system, but anything other than config suggestions do. That's about it. I hope you all enjoy the new release coming real soon.
__________________