From 9fc382bbe0f5b96ff102dace73c424a53458c96e Mon Sep 17 00:00:00 2001 From: Linden <65407488+thelindat@users.noreply.github.com> Date: Thu, 25 Aug 2022 17:51:40 +1000 Subject: [PATCH] fix(esx/server): use protected calls for Item Callbacks --- [esx]/es_extended/server/functions.lua | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/[esx]/es_extended/server/functions.lua b/[esx]/es_extended/server/functions.lua index 8bd40ffa..f6c4f4c3 100644 --- a/[esx]/es_extended/server/functions.lua +++ b/[esx]/es_extended/server/functions.lua @@ -311,8 +311,14 @@ end function ESX.UseItem(source, item, ...) if ESX.Items[item] then - if Core.UsableItemsCallbacks[item] then - Core.UsableItemsCallbacks[item](source, item, ...) + local itemCallback = Core.UsableItemsCallbacks[item] + + if itemCallback then + local success, result = pcall(itemCallback, source, item, ...) + + if not success then + return result and print(result) or print(('[^3WARNING^7] An error occured when using item ^5"%s"^7! This was not caused by ESX.'):format(item)) + end end else print(('[^3WARNING^7] Item ^5"%s"^7 was used but does not exist!'):format(item))