I got it I dont know if i need all those codes but, it’s working perfect now
Took some codes from that drugeffects and added to the code:
So thank you @melonenmario
To: \resources[legacy][esx_addons]\esx_basicneeds\server\main.lua
ESX.RegisterUsableItem('weed', function(source)
local xPlayer = ESX.GetPlayerFromId(source)
xPlayer.removeInventoryItem('weed', 1)
TriggerClientEvent('esx_status:add', source, 'drug', 166000)
TriggerClientEvent('esx_basicneeds:onMarijuana', source)
xPlayer.showNotification(_U('used_weed'))
end)
and added this also.
\resources[legacy][esx_addons]\esx_basicneeds\client\main.lua
ESX = nil
local IsAlreadyDrug = false
local DrugLevel = -1
Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
end)
AddEventHandler('esx_status:loaded', function(status)
TriggerEvent('esx_status:registerStatus', 'drug', 0, '#9ec617',
function(status)
if status.val > 0 then
return true
else
return false
end
end, function(status)
status.remove(1500)
end)
Citizen.CreateThread(function()
while true do
Wait(1000)
TriggerEvent('esx_status:getStatus', 'drug', function(status)
if status.val > 0 then
local start = true
if IsAlreadyDrug then
start = false
end
local level = 0
if status.val <= 999999 then
level = 0
else
overdose()
end
if level ~= DrugLevel then
end
IsAlreadyDrug = true
DrugLevel = level
end
if status.val == 0 then
if IsAlreadyDrug then
Normal()
end
IsAlreadyDrug = false
DrugLevel = -1
end
end)
end
end)
end)
--When effects ends go back to normal
function Normal()
Citizen.CreateThread(function()
local playerPed = GetPlayerPed(-1)
ClearTimecycleModifier()
ResetScenarioTypesEnabled()
--ResetPedMovementClipset(playerPed, 0) <- it might cause the push of the vehicles
SetPedIsDrug(playerPed, false)
SetPedMotionBlur(playerPed, false)
end)
end
--In case too much drugs dies of overdose set everything back
function overdose()
Citizen.CreateThread(function()
local playerPed = GetPlayerPed(-1)
SetEntityHealth(playerPed, 0)
ClearTimecycleModifier()
ResetScenarioTypesEnabled()
ResetPedMovementClipset(playerPed, 0)
SetPedIsDrug(playerPed, false)
SetPedMotionBlur(playerPed, false)
end)
end
--Drugs Effects
--Marijuana
RegisterNetEvent('esx_basicneeds:onMarijuana')
AddEventHandler('esx_basicneeds:onMarijuana', function()
local playerPed = GetPlayerPed(-1)
RequestAnimSet("move_m@hipster@a")
while not HasAnimSetLoaded("move_m@hipster@a") do
Citizen.Wait(0)
end
TaskStartScenarioInPlace(playerPed, "WORLD_HUMAN_SMOKING_POT", 0, 1)
Citizen.Wait(3000)
ClearPedTasksImmediately(playerPed)
SetTimecycleModifier("spectator5")
SetPedMotionBlur(playerPed, true)
SetPedMovementClipset(playerPed, "move_m@hipster@a", true)
SetPedIsDrug(playerPed, true)
--Efects
local player = PlayerId()
SetRunSprintMultiplierForPlayer(player, 1.3)
Wait(300000)
SetRunSprintMultiplierForPlayer(player, 1.0)
end)
Thanks for the reply also @thibaultD Appreciate it.