Drugs 1.0

Official server feature documentation can be found here

Moderators: Lead Developers, Junior Developers, Senior Lead Admins, Developers

Post Reply
otter
Retired Administrator
Retired Administrator
Posts: 5599
Joined: Thu Oct 25, 2012 5:53 pm

Drugs 1.0

Post by otter » Sun Dec 25, 2016 1:00 am

[divbox=#408000]THIS FEATURE IS IN ITS EARLY STAGES OF IMPLEMENTATION.[/divbox]
THIS DOCUMENTATION IS A REFLECTION OF THE FEATURES THAT ARE CURRENTLY IN PLAY. THIS IS THE FIRST ITERATION OF THIS FEATURE'S RELEASE; SIGNIFICANT UPDATES WILL BE MADE ON A BI-WEEKLY BASIS WITH SMALLER IMPLEMENTATIONS BEING MADE REGULARLY IN BETWEEN.
Script Name: Drugs 1.0
Script Author: otter
Current Development Phase: SOFT RELEASE

Introduction | Foundations
Inventory Storage Options | Drug Packages | Drug Wipe | Drug Decay | General Commands

Introduction:
The drug system is arguably one of the most dated scripts on the server. It was initially developed in 2011 and since then, there really hasn't been that much change to it. Over the years, the suggestions board has been filled to the brim with all sorts of ideas to improve the existing system and to help carry the role-play surrounding drugs to a new level. Up until now, that section has been heavily neglected and an abundance of great suggestions have been left to rot away. For a script that plays such a significant part in the server's economy and day-to-day role-play, this cannot be the case; it is for that reason that I have made it my mission to give it the love and attention that it needs.

There was always the option of building upon the existing system and - in some respects - it may have been a little easier to do so. It wouldn't, however, have addressed many of the broader issues that exist in the current iteration of the drug system and it would be impossible to adequately fulfil the demands of the community. That's why I started from scratch, and that's why I'm able to unveil to you today a completely new update that caters to the needs of those who actively role-play around narcotics.

Some of the most significant changes are not cosmetic: going into this, I had the ambition to create a strong back-end that could power the system in ways that could otherwise never be imagined. Similar to how I envisioned that the detective update I released in 2016 would have some longevity to it, one of my primary goals with this update was to make the need for another update ever again in the future to be eliminated. I wanted this script to be one for the ages and one that no matter how many years go by, would continue to positively support any and all role-play surrounding drugs on the server.

This update is not a minor or a simple one — we are replacing the entire drug system on the server with a completely new one. Because of that, this is not a straightforward task. Many, many factors must be considered in order to bring in a new, expanded drug system, and everything has to work together like a well-oiled machine to avoid any complications. This update is not built off or inspired by the old system — it's built entirely from scratch, brand new, from the ground-up. Rome was not built in a day and this new implementation will undoubtedly have some teething problems out the gate, but I am going to be doing everything I can to minimise and resolve issues as we move forward with the system in play on the server. It will be my primary focus on the development front until it is where it needs to be.

Things are going to come together gradually, but patience is going to be required. This entire update is far more than revising a script: it's stripping back an entire market and building it from the ground up again. Everything needs to be considered. It's unprecedented in scale (most certainly for me, at least), but everything will be worth it in the long run. You've got to step back and look at the bigger picture sometimes. A lot of these things are for the greater good.


Image


The Foundations:
Some of you may not have understood what I meant when I said how I wanted to build a powerful back-end for the script. Doing so was vital to ensuring that - as mentioned previously - drug role-play can continue to be supported in all sorts of ways in the future. The most fundamental aspect of this was to devise a way in which drugs can be introduced to the server without the need for adjustments to the script. I'm not referring to drug factories and the general production of narcotics that are distributed to other players - I'm going back a step to the most basic level.

There have been countless suggestions over the years to implement new drugs and adjust the properties of the existing ones. Hard-coding drugs into the script means that the code itself needs to be altered to actually achieve the aforementioned feats. There are pros and cons to this, but ultimately, I've opted for an option that I believe will support everything far better. With this revision, I will be able to add new drugs to the script and modify all* aspects of the existing drugs in-game without any changes to the actual code being necessary. What this means is that new drugs can be implemented on the fly and tweaks can be made seamlessly: the server does not even need to restart.

When created through the administration menu, drugs are put into one of two categories — recreational or pharmaceutical; that said drug is then assigned a create type which dictates how it's introduced to the server:
  • Base Drugs — obtained through a drug production facility. Equivalent to the way in which the vast majority of drugs are currently introduced to the server.
  • Home Produced Drugs — can be mixed by any player on the server if they have the right ingredients as long as they are in a property.
  • Prescribed Drugs — only applicable to pharmaceutical drugs. Can also be obtained through a drug production facility to allow an alternative means of obtaining it.
A significant aspect of the existing implementation is the way in which players can obtain a health point bonus. The health point bonus you get from taking a drug is entirely dependent on its strength. Through the drug administration menu, two values are assigned to each tier of strength (1-20, 21-50, 51-75, 79-90, 91-99, 100). The bonus is then randomised based on the two values assigned (e.g. a random number between X and X). Whilst I plan on looking at additional consequences for taking drugs in-game, the health point bonus is obviously something that makes narcotics enticing for your average Joe and, like it or not, contributes to the activity of the market in a fairly significant way.

Inventory Storage Options:

Several members of the community have expressed distaste when it comes to the arbitrary nature of drugs on the server. You have a finite number of "slots" which are occupied by a drug. There's no real script support for the role-play surrounding these "slots" which is, in some respects, a double edged sword. Sure, it might leave things to a player's imagination a bit more - but it doesn't do much for immersion. Let's say you have access to a production facility; you obtain X amount of Y in bulk and then from there, you just give smaller amounts of Y to whoever else. You could role-play the initial batch of Y being in say, brick form, and then transferring it into smaller baggies - but that's about it. The effect of that role-play doesn't really have much of a presence anywhere else and isn't entirely relevant further down the line. Another qualm players have had is how common measurements such as eight-balls, teeners, dime bags, dubs (the list goes on, I'm no drug aficionado) are difficult to emulate in your everyday role-play.

At first, I didn't do much to address these issues - in part due to the lack of tangible ideas. That said, after going through masses of PMs and combing through the various threads scattered around the forums, I went back to the drawing board and came back with a solution that I feel will be ideal. In an effort to do away with the arbitrary slot based system, I've added some more substance to the front and back-end of the script to make everything a little more interactive. One of the most notable changes is how drugs are now interacted with in decimals. This, in turn, allows for more adventurous measures of drugs and gives the player far more freedom in how they wish to distribute them.

Secondly, a drug "slot" is now represented by a storage item - e.g. a Saran Wrap Ball. These are not physical objects. They cannot at present be set down in a physical form. The purpose of this implementation is to add some more substance to your everyday interaction with drugs and, as I've mentioned several times in this thread, to contribute to the immersion surrounding the drug trade as a whole. Right now, drugs can be stored in the following:

  • Ziploc Bag (SMALL / MEDIUM / LARGE)
  • Saran Wrap Ball (SMALL / MEDIUM / LARGE)
  • Wrapped Foil (SMALL / MEDIUM / LARGE)
  • Pill Bottle (SMALL / MEDIUM / LARGE)
  • Wax Paper Wrap (SMALL / MEDIUM)

This list will be built upon as time goes on and in response to community feedback. When new drugs are brought into play, any relevant storage solutions will be brought in with. These items have maximum capacities which are defined on a drug-by-drug basis. The idea of this is to avoid a "one shoe fits all" kind of scenario and to account for the variation in drug quantities. Every interaction you have with drugs on the server will refer back to these storage items and they will be the new face of the drug system as a whole.


Image


Commands:
  • /transferdrug - brings up a menu which allows you to control how your inventory is managed.
Drug Packages:
A problem that players have always had with the existing drug system is how dependent their role-play is on the concept of stash cars. This has hindered the ability for those pushing drugs on corners to do so realistically and has proven, on several occasions, to be very problematic. Additionally, the way in which narcotics can be exchanged has also been very limited as player-on-player interaction has always been a necessity, meaning that it's never been possible to properly role-play a dead drop or any other realistic alternative to doing a hand-to-hand exchange. In response to this and as per popular demand, the ability to leave drug packages on the ground in the form of a physical object has been added.

There are several objects that a player can use including (but not limited to): burger boxes, milk cartons, cups, boxes, wrapped packages and more. Players can adjust these objects however they wish, however, the usage of all commands pertaining to this aspect of the script is heavily logged and monitored even when administrators aren't in-game meaning that any attempted abuse will be picked up on and anyone that does so will face a year long server ban, no questions asked. Penalising the entire community on the basis that some bad apples may try to exploit systems that are in place to support role-play is detrimental to the overall integrity of the server and is not a road I will be going down.

Since the initial feature announcement, these packages have been subject to considerable change. Before, you could only have one type of a drug stashed in an object, and in general, I did not intend for these to serve as a permanent method of storage. Since then, however, I've done a full one-eighty and have redesigned this component of the script from the ground up. These packages now save when they're placed, meaning they'll still be where you left them following a server restart. Additionally, these packages will be replacing any prior means of storing drugs in a property and/or business. This is a step towards making the concept of /check spots redundant and will set the right tone for future updates of a similar nature.

Each physical object that can be placed has a maximum capacity that is pre-defined by the script. As long as you're under the maximum capacity, you can continue to add different items to the package. Generally speaking, a player can have two of these packages in one virtual world. This allows for several storage spots to be put in place around your home without hindering your ability to make use of them outside your home or business.


Image


Commands:
  • /buildpackage - used to place down an initial physical object with a player drug package inside.
  • /adjustpackage - used to adjust a package you have placed.
Drug Wipe:
With the introduction of a new drug system, it's only fitting for it to be coupled with a complete wipe of the existing drugs on the server. I think it's generally accepted amongst players and staff alike that the ludicrous stockpiles of drugs that have mounted up over the years are damaging as a whole to the integrity of the drug market and contributes massively to its deterioration. This will ruffle the feathers of some, but it's a necessary measure to take to ensure that this revision to the market is effective and that we're able to make the most of this unique situation. It is likely that this will be the only opportunity we get as a community to start with a clean slate.
  • AS AN INDIVIDUAL, it'll be possible for you to receive some money as a reimbursement for the drugs you have lost. We're not talking masses of money, but you will get enough to soften the blow of losing anything you had. The priority here, of course, is not pumping more money into the server. Information pertinent to this will follow in the coming days.
  • AS A FACTION, you will have the opportunity to apply for a batch of drugs to support your day-to-day roleplay. Each request will be handled on a case-by-case basis, and the drugs you get (if any) will be entirely dependent on your faction type, the number of members you have, the contributions you make to the drug roleplay scene, and your overall standing in the community. To find out more, check out this thread.


Drug Decay:
We've implemented drug decaying to add another aspect of realism to the system, but also to combat people who hold a mass amount of drugs for a long period of time. Every x amount of hours, your drug's strength will decay at a specified rate. Both the hours and decay rate are set in game by Faction Management. When your drug is first spawned, it won't be affected for 2 weeks. This means you have a 2 week period before the decay system gets to your drug. This also includes the drugs on players, in packages and vehicles pre-decay revision. If a drug hits 0 strength, it'll permanently be removed from the server. There is no way of knowing when your drug will decay next. The current hour and rates are:
  • Cocaine (0.30 strength every 18 hours)
  • MDMA (0.25 strength every 7 hours)
  • Xanax (0.25 strength every 7 hours)
  • Heroin (0.20 strength every 17 hours)
  • Meth (0.20 strength every 17 hours)
  • Steroids (0.15 strength every 4 hours)
  • Oxycodone (0.15 strength every 4 hours)
  • Fentanyl (0.10 strength every 6 hours)
  • Ketamine (0.10 strength every 6 hours)
  • Rohpynol (0.10 strength every 6 hours)
Drugs are affected whether or not you are online.

General Commands:
This is a list of other commands that have not yet been mentioned.
  • /mydrugs - used to view your own drugs and/or show what you're carrying to another player.
  • /givedrug - used to pass drugs to another player.
  • /dropdrug - used to drop a drug package.
  • /usedrug - used to use a drug.
  • /checkdrugs - used in a vehicle or near a drug package to check for any drugs. This serves as a replacement for /vehdrugs & /propdrugs.
  • /placedrug (/pd) - used in the range of a placed object to add more drugs to it or alternatively, in a vehicle.
  • /placealldrugs (/pad) - places as many of the drugs a player is carrying as possible into a nearby package or in a vehicle.
  • /takedrug (/td) - used to take drugs from a physical object or vehicle.
  • /takealldrugs (/tad) - takes as many drugs a physical object or vehicle as possible.

[divbox=#408000]THIS FEATURE IS IN ITS EARLY STAGES OF IMPLEMENTATION.[/divbox]
THIS DOCUMENTATION IS A REFLECTION OF THE FEATURES THAT ARE CURRENTLY IN PLAY. THIS IS THE FIRST ITERATION OF THIS FEATURE'S RELEASE; SIGNIFICANT UPDATES WILL BE MADE ON A BI-WEEKLY WITH SMALLER IMPLEMENTATIONS BEING MADE REGULARLY IN BETWEEN.

otter
Retired Administrator
Retired Administrator
Posts: 5599
Joined: Thu Oct 25, 2012 5:53 pm

Re: Drugs 1.0

Post by otter » Thu May 25, 2017 8:16 pm


otter
Retired Administrator
Retired Administrator
Posts: 5599
Joined: Thu Oct 25, 2012 5:53 pm

Re: Drugs 1.0

Post by otter » Wed Jun 21, 2017 2:33 am

Cannabis has been renamed to Marijuana. When implemented, plants will go by the name of Cannabis.

User avatar
Kane
Retired Administrator
Retired Administrator
Posts: 5539
Joined: Thu May 30, 2013 2:50 am
Contact:

Re: Drugs 1.0

Post by Kane » Mon May 20, 2019 12:23 pm

Updated with Drug Decay.

Post Reply

Return to “Feature documentation”

Who is online

Users browsing this forum: No registered users