⚙️
veryinsanee.space
  • Welcome!
  • Store
  • Advanced Roleplay Environment
    • Installation
    • Guides
      • Basic Gameplay Guide
        • Medications
        • Wounds & Bandages
        • Blood Loss, IVs, Stabilzation
        • Surgical Kit & Emergency Revive Kit
        • Cardiac Arrest & CPR
        • Mass-Casualty Incidents & Triage
        • Heart Rate & Blood Pressure
      • Basic Configuration Guide
        • Client Configuration
        • Server Configuration
      • Advanced Configuration Guide
        • Adding injuries
        • Adding damage types
        • Adding medications
        • Adding bandages
        • Adding infusions
        • Adding menu actions
    • API Reference
    • Plugin Support
  • veryinsanee's Whitelist
    • Installation
Powered by GitBook
On this page
  • Adding medications
  • Adding the medication
  • Configuring the medication

Was this helpful?

  1. Advanced Roleplay Environment
  2. Guides
  3. Advanced Configuration Guide

Adding medications

PreviousAdding damage typesNextAdding bandages

Last updated 2 years ago

Was this helpful?

Advanced Roleplay Environment supports modular medications. This means you can easily add medications or edit them accordingly.

Adding medications

In order to add a medication we just need to add the medication inside the medications file and configure the properties accordingly.

Adding the medication

Since all medications are saved inside script/entities/medications.lua, we will open this file. This should look like this:

Now we will scroll to the bottom and just copy a medication from above and edit it to our needs so it should look like this:

Configuring the medication

There are many options available for us to configure the medication perfectly to our needs.

Option
Description
Example

painReduce

This property is a number and contains the value of how much the pain get reduced.

painReduce = 0.3 The pain get reduced by 0.3 * effectRatio per second.

hrIncreaseLow

This property is a table contains a table { minIncrease, maxIncrease } how much the heart rate will increase or decrease if the heart rate is below 55 bpm.

hrIncreaseLow = { -10, 10 } The heart rate will in minimum decrease by 10 or in maximum increase by 10 if the heart rate is below 55 bpm.

hrIncreaseNormal

This property is a table contains a table { minIncrease, maxIncrease } how much the heart rate will increase or decrease if the heart rate is >= 55 bpm and <= 110 bpm.

hrIncreaseNormal = { 5, 20 } The heart rate will in minimum increase by 5 and in maximum by 20 if the heart rate is >= 55 bpm and <= 110 bpm.

hrIncreaseHigh

This property is a table contains a table { minIncrease, maxIncrease } how much the heart rate will increase or decrease if the heart rate is > 110 bpm

hrIncreaseHigh = { 2, 7 } The heart rate will in minimum increase by 2 and in maximum by 7 if the heart rate is above 110 bpm.

timeInSystem (maxTimeInSystem)

This property is a number and contains the value how long a medication is kept in the system before removing it. Also it will be used to calculate the effect ratio. (in seconds)

timeInSystem = 1800 The medication is kept 1800 seconds in system before removing it. Calculation for the effect ratio: effectRatio = min((timeInSystem / timeTillMaxEffect) ^ 2, 1) * (maxTimeInSystem - timeInSystem) / maxTimeInSystem To understand the effect ratio formula we need to define the values where: - timeInSystem is variable and describes the current time in the system in seconds. - timeTillMaxEffect is a constant and describes the time till the effect ratio reaches 1. - maxTimeInSystem is a constant and describes how long the medication will stay in the system until it reaches 0.0 effect ratio at the end. - min(valueA, valueB) will always return the lowest value of both so if valueA is 5 and valueB is 8 it will return 5. In our example it is a calculation and 1 so it will always be less <= 1.

timeTillMaxEffect

This property is a number and contains the value when the max effect ratio is reached. (in seconds)

timeTillMaxEffect = 30 The medication will reach its max effect after 30 seconds so a effect ratio of 1.

maxDose

This property is a number and contains the value after how many medications in system the function onOverDose will be triggered.

maxDose = 5 The property onOverDose will be triggered after 5 times of injection of this medication.

onOverDose

This property is a function and will be triggered if the number of the same medication in the system is >= maxDose

onOverDose = function() print("hello!") end The function will print "hello" after this function has been triggered.

viscosityChange

The viscosity of a fluid is a measure of its resistance to gradual deformation by shear stress or tensile stress. For liquids, it corresponds to the informal concept of "thickness". This value will increase/decrease the viscoty of the blood with the percentage given. Where 100 = max. Using the minus will decrease viscosity.

viscosityChange = -10 The peripheral resistance will reduce by maximum 10 and viscosityChange * effectRatio per second.

script/entities/medications.lua
script/entities/medications.lua