# ps-buffs ### Dependencies *** - PS-Hud: https://github.com/Project-Sloth/ps-hud ### General Information *** - Buffs are new effects that a player can get. Example: Stamina Buff makes a player run faster. - They show up as a new icon - Enhancements are making statuses you already have better. Example: Health Buff heals a player periodically - They show up as yellow on the status they are affecting. Example: Armor buffs makes the armor icon yellow - By default adding buffs to a player will just have the buff icon show - You need to add logic to give the player buff effects (below you can see examples) - Avaliable buffs you can pick from are in the config file (shared/config.lua) ### Add a buff to a player ```lua -- Function signature - buffName: string, time: int (1 second = 1000) exports['ps-buffs']:AddBuff(buffName, time) -- Example -- Adds a hacking buff for 15 seconds, which the player would see a hacking buff icon on their screen exports['ps-buffs']:AddBuff("hacking", 15000) ``` ### Check if player has a buff ```lua -- Function signature - buffName: string exports['ps-buffs']:HasBuff(buffName) -- Example -- Check if a player has the hacking buff and make it easier to hack something if exports['ps-buffs']:HasBuff("hacking") then -- give player more time or less complicated puzzle end ``` ### Buff Effects *** - We currently have the following buff effects implemented that you can call: - Stamina Buff - Makes a player run faster and generate a random partial amount of stamina ```lua -- Function signature - time: int (1 second = 1000), value: double (float) exports['ps-buffs']:StaminaBuffEffect(time, value) -- Example -- Adds a stamina buff for 15 seconds and a player runs 1.4 faster. exports['ps-buffs']:StaminaBuffEffect(15000, 1.4) ``` - Swimming Buff - Makes a player swim faster and generate a random partial amount of stamina ```lua -- Function signature - time: int (1 second = 1000), value: double (float) exports['ps-buffs']:SwimmingBuffEffect(time, value) -- Example -- Adds a swimming buff for 20 seconds and a player swims 1.4 faster. exports['ps-buffs']:SwimmingBuffEffect(20000, 1.4) ``` - Health Buff - Makes a player's health partially regenerate periodically ```lua -- Function signature - time: int (1 second = 1000), value: int exports['ps-buffs']:AddHealthBuff(time, value) -- Example -- Adds a health buff for 10 seconds and a player periodically gains 10 health. exports['ps-buffs']:AddHealthBuff(10000, 10) ``` - Armor Buff - Makes a player's armor partially regenerate periodically ```lua -- Function signature - time: int (1 second = 1000), value: int exports['ps-buffs']:AddArmorBuff(time, value) -- Example -- Adds a armor buff for 30 seconds and a player periodically gains 10 armor. exports['ps-buffs']:AddArmorBuff(30000, 10) ``` - Stress Buff - Makes a player's stress partially decrease periodically ```lua -- Function signature - time: int (1 second = 1000), value: int exports['ps-buffs']:AddStressBuff(time, value) -- Example -- Removes stress for 30 seconds and removes 10 units every 5 seconds exports['ps-buffs']:AddStressBuff(30000, 10) ``` ## Credits - The majority of the lua code comes from [qb-enhancements](https://github.com/IdrisDose/qb-enhancements) by [IdrisDose](https://github.com/IdrisDose) - Credits to my boys Silent, Snipe and fjamzoo for help with getting things in place for this to all be possible