1
0
Fork 0
forked from Simnation/Main
This commit is contained in:
Nordi98 2025-06-15 02:07:50 +02:00
parent 65fb8a9793
commit beb46174cd
225 changed files with 1525 additions and 14 deletions

View file

@ -0,0 +1,135 @@
["food_a"] = {"bzzz@restaurant@eat", "bzzz_restaurant_eat", "Schnitzel with fries", AnimationOptions =
{
Prop = "bzzz_restaurant_food_a",
PropBone = 18905,
PropPlacement = {0.08, -0.04, 0.07, -30.0, 10.0, 0.0},
SecondProp = 'bzzz_restaurant_fork_a',
SecondPropBone = 57005,
SecondPropPlacement = {0.1, 0.05, 0.0, -117.0, -68.0, -43.0},
EmoteLoop = true,
EmoteMoving = true,
}},
["food_b"] = {"bzzz@restaurant@eat", "bzzz_restaurant_eat", "Schnitzel with croquettes", AnimationOptions =
{
Prop = "bzzz_restaurant_food_b",
PropBone = 18905,
PropPlacement = {0.08, -0.04, 0.07, -30.0, 10.0, 0.0},
SecondProp = 'bzzz_restaurant_fork_b',
SecondPropBone = 57005,
SecondPropPlacement = {0.1, 0.05, 0.0, -117.0, -68.0, -43.0},
EmoteLoop = true,
EmoteMoving = true,
}},
["food_c"] = {"bzzz@restaurant@eat", "bzzz_restaurant_eat", "Spaghetti", AnimationOptions =
{
Prop = "bzzz_restaurant_food_c",
PropBone = 18905,
PropPlacement = {0.08, -0.04, 0.07, -30.0, 10.0, 0.0},
SecondProp = 'bzzz_restaurant_fork_c',
SecondPropBone = 57005,
SecondPropPlacement = {0.1, 0.05, 0.0, -117.0, -68.0, -43.0},
EmoteLoop = true,
EmoteMoving = true,
}},
["food_d"] = {"bzzz@restaurant@eat", "bzzz_restaurant_eat", "Grilled fish", AnimationOptions =
{
Prop = "bzzz_restaurant_food_d",
PropBone = 18905,
PropPlacement = {0.08, -0.04, 0.07, -30.0, 10.0, 0.0},
SecondProp = 'bzzz_restaurant_fork_d',
SecondPropBone = 57005,
SecondPropPlacement = {0.1, 0.05, 0.0, -117.0, -68.0, -43.0},
EmoteLoop = true,
EmoteMoving = true,
}},
["food_e"] = {"bzzz@restaurant@eat", "bzzz_restaurant_eat", "Steak with potatoes", AnimationOptions =
{
Prop = "bzzz_restaurant_food_e",
PropBone = 18905,
PropPlacement = {0.08, -0.04, 0.07, -30.0, 10.0, 0.0},
SecondProp = 'bzzz_restaurant_fork_e',
SecondPropBone = 57005,
SecondPropPlacement = {0.1, 0.05, 0.0, -117.0, -68.0, -43.0},
EmoteLoop = true,
EmoteMoving = true,
}},
["food_f"] = {"bzzz@restaurant@eat", "bzzz_restaurant_eat", "Steak with fries", AnimationOptions =
{
Prop = "bzzz_restaurant_food_f",
PropBone = 18905,
PropPlacement = {0.08, -0.04, 0.07, -30.0, 10.0, 0.0},
SecondProp = 'bzzz_restaurant_fork_a',
SecondPropBone = 57005,
SecondPropPlacement = {0.1, 0.05, 0.0, -117.0, -68.0, -43.0},
EmoteLoop = true,
EmoteMoving = true,
}},
["food_g"] = {"bzzz@restaurant@eat", "bzzz_restaurant_eat", "Lobster", AnimationOptions =
{
Prop = "bzzz_restaurant_food_g",
PropBone = 18905,
PropPlacement = {0.08, -0.04, 0.07, -30.0, 10.0, 0.0},
SecondProp = 'bzzz_restaurant_fork_d',
SecondPropBone = 57005,
SecondPropPlacement = {0.1, 0.05, 0.0, -117.0, -68.0, -43.0},
EmoteLoop = true,
EmoteMoving = true,
}},
["food_h"] = {"bzzz@restaurant@eat", "bzzz_restaurant_eat", "Eggs with toast", AnimationOptions =
{
Prop = "bzzz_restaurant_food_h",
PropBone = 18905,
PropPlacement = {0.08, -0.04, 0.07, -30.0, 10.0, 0.0},
SecondProp = 'bzzz_restaurant_fork_f',
SecondPropBone = 57005,
SecondPropPlacement = {0.1, 0.05, 0.0, -117.0, -68.0, -43.0},
EmoteLoop = true,
EmoteMoving = true,
}},
["food_i"] = {"bzzz@restaurant@eat", "bzzz_restaurant_eat", "Sushi", AnimationOptions =
{
Prop = "bzzz_restaurant_food_i",
PropBone = 18905,
PropPlacement = {0.08, -0.04, 0.07, -30.0, 10.0, 0.0},
SecondProp = 'bzzz_restaurant_fork_h',
SecondPropBone = 57005,
SecondPropPlacement = {0.11, 0.05, -0.02, 78.0, 150.0, 188.0},
EmoteLoop = true,
EmoteMoving = true,
}},
["food_j"] = {"bzzz@restaurant@eat", "bzzz_restaurant_eat", "Shrimps with sauce", AnimationOptions =
{
Prop = "bzzz_restaurant_food_j",
PropBone = 18905,
PropPlacement = {0.08, -0.04, 0.07, -30.0, 10.0, 0.0},
SecondProp = 'bzzz_restaurant_material_shrimp_a',
SecondPropBone = 57005,
SecondPropPlacement = {0.14, 0.06, -0.05, 24.0, 282.0, 176.0},
EmoteLoop = true,
EmoteMoving = true,
}},
["food_k"] = {"bzzz@restaurant@eat", "bzzz_restaurant_eat", "Chicken with potatoes", AnimationOptions =
{
Prop = "bzzz_restaurant_food_k",
PropBone = 18905,
PropPlacement = {0.08, -0.04, 0.07, -30.0, 10.0, 0.0},
SecondProp = 'bzzz_restaurant_fork_e',
SecondPropBone = 57005,
SecondPropPlacement = {0.1, 0.05, 0.0, -117.0, -68.0, -43.0},
EmoteLoop = true,
EmoteMoving = true,
}},
["food_l"] = {"bzzz@restaurant@eat", "bzzz_restaurant_eat", "Vegetarian salad", AnimationOptions =
{
Prop = "bzzz_restaurant_food_l",
PropBone = 18905,
PropPlacement = {0.08, -0.04, 0.07, -30.0, 10.0, 0.0},
SecondProp = 'bzzz_restaurant_fork_g',
SecondPropBone = 57005,
SecondPropPlacement = {0.1, 0.05, 0.0, -117.0, -68.0, -43.0},
EmoteLoop = true,
EmoteMoving = true,
}},

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

View file

@ -0,0 +1,14 @@
INSERT INTO `items` (`name`, `label`, `weight`) VALUES
('res_food_a', 'Schnitzel with fries', 1),
('res_food_b', 'Schnitzel with croquettes', 1),
('res_food_c', 'Spaghetti', 1),
('res_food_d', 'Grilled fish', 1),
('res_food_e', 'Steak with potatoes', 1),
('res_food_f', 'Steak with fries', 1),
('res_food_g', 'Lobster', 1),
('res_food_h', 'Eggs with toast', 1),
('res_food_i', 'Sushi', 1),
('res_food_j', 'Shrimps with sauce', 1),
('res_food_k', 'Chicken with potatoes', 1),
('res_food_l', 'Vegetarian salad', 1)
;

View file

@ -0,0 +1,71 @@
1) If you're using version '2.0.0', it's necessary to add an additional section to the client.lua file.
This is so that the mouth moves while eating. Of course, you can use the old config, but your mouth won't move.
-------- ADD CLIENT.LUA - BZZZ_USABLEITEMS verison 2.0.0. ----------------------
RegisterNetEvent('bzzz_usableitems:onEatPlates')
AddEventHandler('bzzz_usableitems:onEatPlates', function(basicInfo, firstProp, secondProp)
if not IsAnimated then
IsAnimated = true
CreateThread(function()
local playerPed = PlayerPedId()
local x, y, z = table.unpack(GetEntityCoords(playerPed))
if secondProp and secondProp.propName then
local boneIndex2 = GetPedBoneIndex(playerPed, secondProp.boneIndex)
prop2 = CreateObject(secondProp.propName, x, y, z + 0.2, true, true, true)
AttachEntityToEntity(prop2, playerPed, boneIndex2, secondProp.xPos, secondProp.yPos, secondProp.zPos, secondProp.xRot, secondProp.yRot, secondProp.zRot, true, true, false, true, 1, true)
end
local boneIndex = GetPedBoneIndex(playerPed, firstProp.boneIndex)
local prop = CreateObject(firstProp.propName, x, y, z + 0.2, true, true, true)
AttachEntityToEntity(prop, playerPed, boneIndex, firstProp.xPos, firstProp.yPos, firstProp.zPos, firstProp.xRot, firstProp.yRot, firstProp.zRot, true, true, false, true, 1, true)
ESX.Streaming.RequestAnimDict(basicInfo.animationDictEat, function()
TaskPlayAnim(playerPed, basicInfo.animationDictEat, basicInfo.animationNameEat, 8.0, -8, -1, 49, 0, 0, 0, 0)
PlayFacialAnim(playerPed, basicInfo.animationNameChewing, basicInfo.animationDictChewing)
Wait(6000)
IsAnimated = false
ClearPedSecondaryTask(playerPed)
DeleteObject(prop)
DeleteObject(prop2)
end)
end)
end
end)
--------------------------------------------------------------------------------------
2) Also, edit the server.lua file.
Insert the code into the function!
-------- ADD SERVER.LUA - BZZZ_USABLEITEMS verison 2.0.0. ----------------------
for k, v in pairs(Config.Items['FoodPlates']) do
ESX.RegisterUsableItem(k, function(source)
local _source = source
local xPlayer = ESX.GetPlayerFromId(_source)
xPlayer.removeInventoryItem(k, 1)
TriggerClientEvent('esx_status:add', _source, 'hunger', v.basicInfo.amountToAdd)
TriggerClientEvent('bzzz_usableitems:onEatPlates', _source, v.basicInfo, v.firstProp, v.secondProp or nil)
xPlayer.showNotification('~q~Bon appetit!')
end)
end
--------------------------------------------------------------------------------------
3) Paste the entire code from the file 'restaurant_code_for_usableitems.lua' into the configuration file in 'bzzz_usableitems'.
After all changes, you must restart the server. It is never enough to restart the script only in txadmin.

View file

@ -0,0 +1,236 @@
-- insert bzzz_usableitems into Config.Items
FoodPlates = { -- Food which uses special animation for eating, like when you eating from plate or box :D chewing is included too
['res_food_a'] = {
basicInfo = {
amountToAdd = 200000, -- Adds food to your status bar (require esx_status)
animationDictEat = "bzzz@restaurant@eat",
animationNameEat = "bzzz_restaurant_eat",
animationDictChewing = "facials@gen_male@base",
animationNameChewing = "eating_1"
},
firstProp = {
boneIndex = 18905,
propName = "bzzz_restaurant_food_a",
xPos = 0.08, yPos = -0.04, zPos = 0.07, xRot = -30.0, yRot = 10.0, zRot = 0.0
},
secondProp = {
boneIndex = 57005,
propName = "bzzz_restaurant_fork_a",
xPos = 0.1, yPos = 0.05, zPos = 0.0, xRot = -117.0, yRot = -68.0, zRot = -43.0
}
},
['res_food_b'] = {
basicInfo = {
amountToAdd = 200000, -- Adds food to your status bar (require esx_status)
animationDictEat = "bzzz@restaurant@eat",
animationNameEat = "bzzz_restaurant_eat",
animationDictChewing = "facials@gen_male@base",
animationNameChewing = "eating_1"
},
firstProp = {
boneIndex = 18905,
propName = "bzzz_restaurant_food_b",
xPos = 0.08, yPos = -0.04, zPos = 0.07, xRot = -30.0, yRot = 10.0, zRot = 0.0
},
secondProp = {
boneIndex = 57005,
propName = "bzzz_restaurant_fork_b",
xPos = 0.1, yPos = 0.05, zPos = 0.0, xRot = -117.0, yRot = -68.0, zRot = -43.0
}
},
['res_food_c'] = {
basicInfo = {
amountToAdd = 200000, -- Adds food to your status bar (require esx_status)
animationDictEat = "bzzz@restaurant@eat",
animationNameEat = "bzzz_restaurant_eat",
animationDictChewing = "facials@gen_male@base",
animationNameChewing = "eating_1"
},
firstProp = {
boneIndex = 18905,
propName = "bzzz_restaurant_food_c",
xPos = 0.08, yPos = -0.04, zPos = 0.07, xRot = -30.0, yRot = 10.0, zRot = 0.0
},
secondProp = {
boneIndex = 57005,
propName = "bzzz_restaurant_fork_c",
xPos = 0.1, yPos = 0.05, zPos = 0.0, xRot = -117.0, yRot = -68.0, zRot = -43.0
}
},
['res_food_d'] = {
basicInfo = {
amountToAdd = 200000, -- Adds food to your status bar (require esx_status)
animationDictEat = "bzzz@restaurant@eat",
animationNameEat = "bzzz_restaurant_eat",
animationDictChewing = "facials@gen_male@base",
animationNameChewing = "eating_1"
},
firstProp = {
boneIndex = 18905,
propName = "bzzz_restaurant_food_d",
xPos = 0.08, yPos = -0.04, zPos = 0.07, xRot = -30.0, yRot = 10.0, zRot = 0.0
},
secondProp = {
boneIndex = 57005,
propName = "bzzz_restaurant_fork_d",
xPos = 0.1, yPos = 0.05, zPos = 0.0, xRot = -117.0, yRot = -68.0, zRot = -43.0
}
},
['res_food_e'] = {
basicInfo = {
amountToAdd = 200000, -- Adds food to your status bar (require esx_status)
animationDictEat = "bzzz@restaurant@eat",
animationNameEat = "bzzz_restaurant_eat",
animationDictChewing = "facials@gen_male@base",
animationNameChewing = "eating_1"
},
firstProp = {
boneIndex = 18905,
propName = "bzzz_restaurant_food_e",
xPos = 0.08, yPos = -0.04, zPos = 0.07, xRot = -30.0, yRot = 10.0, zRot = 0.0
},
secondProp = {
boneIndex = 57005,
propName = "bzzz_restaurant_fork_e",
xPos = 0.1, yPos = 0.05, zPos = 0.0, xRot = -117.0, yRot = -68.0, zRot = -43.0
}
},
['res_food_f'] = {
basicInfo = {
amountToAdd = 200000, -- Adds food to your status bar (require esx_status)
animationDictEat = "bzzz@restaurant@eat",
animationNameEat = "bzzz_restaurant_eat",
animationDictChewing = "facials@gen_male@base",
animationNameChewing = "eating_1"
},
firstProp = {
boneIndex = 18905,
propName = "bzzz_restaurant_food_f",
xPos = 0.08, yPos = -0.04, zPos = 0.07, xRot = -30.0, yRot = 10.0, zRot = 0.0
},
secondProp = {
boneIndex = 57005,
propName = "bzzz_restaurant_fork_a",
xPos = 0.1, yPos = 0.05, zPos = 0.0, xRot = -117.0, yRot = -68.0, zRot = -43.0
}
},
['res_food_g'] = {
basicInfo = {
amountToAdd = 200000, -- Adds food to your status bar (require esx_status)
animationDictEat = "bzzz@restaurant@eat",
animationNameEat = "bzzz_restaurant_eat",
animationDictChewing = "facials@gen_male@base",
animationNameChewing = "eating_1"
},
firstProp = {
boneIndex = 18905,
propName = "bzzz_restaurant_food_g",
xPos = 0.08, yPos = -0.04, zPos = 0.07, xRot = -30.0, yRot = 10.0, zRot = 0.0
},
secondProp = {
boneIndex = 57005,
propName = "bzzz_restaurant_fork_d",
xPos = 0.1, yPos = 0.05, zPos = 0.0, xRot = -117.0, yRot = -68.0, zRot = -43.0
}
},
['res_food_h'] = {
basicInfo = {
amountToAdd = 200000, -- Adds food to your status bar (require esx_status)
animationDictEat = "bzzz@restaurant@eat",
animationNameEat = "bzzz_restaurant_eat",
animationDictChewing = "facials@gen_male@base",
animationNameChewing = "eating_1"
},
firstProp = {
boneIndex = 18905,
propName = "bzzz_restaurant_food_h",
xPos = 0.08, yPos = -0.04, zPos = 0.07, xRot = -30.0, yRot = 10.0, zRot = 0.0
},
secondProp = {
boneIndex = 57005,
propName = "bzzz_restaurant_fork_f",
xPos = 0.1, yPos = 0.05, zPos = 0.0, xRot = -117.0, yRot = -68.0, zRot = -43.0
}
},
['res_food_i'] = {
basicInfo = {
amountToAdd = 200000, -- Adds food to your status bar (require esx_status)
animationDictEat = "bzzz@restaurant@eat",
animationNameEat = "bzzz_restaurant_eat",
animationDictChewing = "facials@gen_male@base",
animationNameChewing = "eating_1"
},
firstProp = {
boneIndex = 18905,
propName = "bzzz_restaurant_food_i",
xPos = 0.08, yPos = -0.04, zPos = 0.07, xRot = -30.0, yRot = 10.0, zRot = 0.0
},
secondProp = {
boneIndex = 57005,
propName = "bzzz_restaurant_fork_h",
xPos = 0.11, yPos = 0.05, zPos = -0.02, xRot = 78.0, yRot = 150.0, zRot = 188.0
}
},
['res_food_j'] = {
basicInfo = {
amountToAdd = 200000, -- Adds food to your status bar (require esx_status)
animationDictEat = "bzzz@restaurant@eat",
animationNameEat = "bzzz_restaurant_eat",
animationDictChewing = "facials@gen_male@base",
animationNameChewing = "eating_1"
},
firstProp = {
boneIndex = 18905,
propName = "bzzz_restaurant_food_j",
xPos = 0.08, yPos = -0.04, zPos = 0.07, xRot = -30.0, yRot = 10.0, zRot = 0.0
},
secondProp = {
boneIndex = 57005,
propName = "bzzz_restaurant_material_shrimp_a",
xPos = 0.14, yPos = 0.06, zPos = -0.05, xRot = 24.0, yRot = 282.0, zRot = 176.0
}
},
['res_food_k'] = {
basicInfo = {
amountToAdd = 200000, -- Adds food to your status bar (require esx_status)
animationDictEat = "bzzz@restaurant@eat",
animationNameEat = "bzzz_restaurant_eat",
animationDictChewing = "facials@gen_male@base",
animationNameChewing = "eating_1"
},
firstProp = {
boneIndex = 18905,
propName = "bzzz_restaurant_food_k",
xPos = 0.08, yPos = -0.04, zPos = 0.07, xRot = -30.0, yRot = 10.0, zRot = 0.0
},
secondProp = {
boneIndex = 57005,
propName = "bzzz_restaurant_fork_e",
xPos = 0.1, yPos = 0.05, zPos = 0.0, xRot = -117.0, yRot = -68.0, zRot = -43.0
}
},
['res_food_l'] = {
basicInfo = {
amountToAdd = 200000, -- Adds food to your status bar (require esx_status)
animationDictEat = "bzzz@restaurant@eat",
animationNameEat = "bzzz_restaurant_eat",
animationDictChewing = "facials@gen_male@base",
animationNameChewing = "eating_1"
},
firstProp = {
boneIndex = 18905,
propName = "bzzz_restaurant_food_l",
xPos = 0.08, yPos = -0.04, zPos = 0.07, xRot = -30.0, yRot = 10.0, zRot = 0.0
},
secondProp = {
boneIndex = 57005,
propName = "bzzz_restaurant_fork_g",
xPos = 0.1, yPos = 0.05, zPos = 0.0, xRot = -117.0, yRot = -68.0, zRot = -43.0
}
},
},

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

View file

@ -0,0 +1,14 @@
INSERT INTO `items` (`name`, `label`, `weight`) VALUES
('res_food_a', 'Schnitzel with fries', 1),
('res_food_b', 'Schnitzel with croquettes', 1),
('res_food_c', 'Spaghetti', 1),
('res_food_d', 'Grilled fish', 1),
('res_food_e', 'Steak with potatoes', 1),
('res_food_f', 'Steak with fries', 1),
('res_food_g', 'Lobster', 1),
('res_food_h', 'Eggs with toast', 1),
('res_food_i', 'Sushi', 1),
('res_food_j', 'Shrimps with sauce', 1),
('res_food_k', 'Chicken with potatoes', 1),
('res_food_l', 'Vegetarian salad', 1)
;

View file

@ -0,0 +1,237 @@
-- insert bzzz_usableitems into Config.Items
-- "res_food_a" already exists in the config
FoodPlates = { -- Food which uses special animation for eating, like when you eating from plate or box :D chewing is included too
['res_food_a'] = {
basicInfo = {
amountToAdd = 200000, -- Adds food to your status bar (require esx_status)
animationDictEat = "bzzz@restaurant@eat",
animationNameEat = "bzzz_restaurant_eat",
animationDictChewing = "facials@gen_male@base",
animationNameChewing = "eating_1"
},
firstProp = {
boneIndex = 18905,
propName = "bzzz_restaurant_food_a",
xPos = 0.08, yPos = -0.04, zPos = 0.07, xRot = -30.0, yRot = 10.0, zRot = 0.0
},
secondProp = {
boneIndex = 57005,
propName = "bzzz_restaurant_fork_a",
xPos = 0.1, yPos = 0.05, zPos = 0.0, xRot = -117.0, yRot = -68.0, zRot = -43.0
}
},
['res_food_b'] = {
basicInfo = {
amountToAdd = 200000, -- Adds food to your status bar (require esx_status)
animationDictEat = "bzzz@restaurant@eat",
animationNameEat = "bzzz_restaurant_eat",
animationDictChewing = "facials@gen_male@base",
animationNameChewing = "eating_1"
},
firstProp = {
boneIndex = 18905,
propName = "bzzz_restaurant_food_b",
xPos = 0.08, yPos = -0.04, zPos = 0.07, xRot = -30.0, yRot = 10.0, zRot = 0.0
},
secondProp = {
boneIndex = 57005,
propName = "bzzz_restaurant_fork_b",
xPos = 0.1, yPos = 0.05, zPos = 0.0, xRot = -117.0, yRot = -68.0, zRot = -43.0
}
},
['res_food_c'] = {
basicInfo = {
amountToAdd = 200000, -- Adds food to your status bar (require esx_status)
animationDictEat = "bzzz@restaurant@eat",
animationNameEat = "bzzz_restaurant_eat",
animationDictChewing = "facials@gen_male@base",
animationNameChewing = "eating_1"
},
firstProp = {
boneIndex = 18905,
propName = "bzzz_restaurant_food_c",
xPos = 0.08, yPos = -0.04, zPos = 0.07, xRot = -30.0, yRot = 10.0, zRot = 0.0
},
secondProp = {
boneIndex = 57005,
propName = "bzzz_restaurant_fork_c",
xPos = 0.1, yPos = 0.05, zPos = 0.0, xRot = -117.0, yRot = -68.0, zRot = -43.0
}
},
['res_food_d'] = {
basicInfo = {
amountToAdd = 200000, -- Adds food to your status bar (require esx_status)
animationDictEat = "bzzz@restaurant@eat",
animationNameEat = "bzzz_restaurant_eat",
animationDictChewing = "facials@gen_male@base",
animationNameChewing = "eating_1"
},
firstProp = {
boneIndex = 18905,
propName = "bzzz_restaurant_food_d",
xPos = 0.08, yPos = -0.04, zPos = 0.07, xRot = -30.0, yRot = 10.0, zRot = 0.0
},
secondProp = {
boneIndex = 57005,
propName = "bzzz_restaurant_fork_d",
xPos = 0.1, yPos = 0.05, zPos = 0.0, xRot = -117.0, yRot = -68.0, zRot = -43.0
}
},
['res_food_e'] = {
basicInfo = {
amountToAdd = 200000, -- Adds food to your status bar (require esx_status)
animationDictEat = "bzzz@restaurant@eat",
animationNameEat = "bzzz_restaurant_eat",
animationDictChewing = "facials@gen_male@base",
animationNameChewing = "eating_1"
},
firstProp = {
boneIndex = 18905,
propName = "bzzz_restaurant_food_e",
xPos = 0.08, yPos = -0.04, zPos = 0.07, xRot = -30.0, yRot = 10.0, zRot = 0.0
},
secondProp = {
boneIndex = 57005,
propName = "bzzz_restaurant_fork_e",
xPos = 0.1, yPos = 0.05, zPos = 0.0, xRot = -117.0, yRot = -68.0, zRot = -43.0
}
},
['res_food_f'] = {
basicInfo = {
amountToAdd = 200000, -- Adds food to your status bar (require esx_status)
animationDictEat = "bzzz@restaurant@eat",
animationNameEat = "bzzz_restaurant_eat",
animationDictChewing = "facials@gen_male@base",
animationNameChewing = "eating_1"
},
firstProp = {
boneIndex = 18905,
propName = "bzzz_restaurant_food_f",
xPos = 0.08, yPos = -0.04, zPos = 0.07, xRot = -30.0, yRot = 10.0, zRot = 0.0
},
secondProp = {
boneIndex = 57005,
propName = "bzzz_restaurant_fork_a",
xPos = 0.1, yPos = 0.05, zPos = 0.0, xRot = -117.0, yRot = -68.0, zRot = -43.0
}
},
['res_food_g'] = {
basicInfo = {
amountToAdd = 200000, -- Adds food to your status bar (require esx_status)
animationDictEat = "bzzz@restaurant@eat",
animationNameEat = "bzzz_restaurant_eat",
animationDictChewing = "facials@gen_male@base",
animationNameChewing = "eating_1"
},
firstProp = {
boneIndex = 18905,
propName = "bzzz_restaurant_food_g",
xPos = 0.08, yPos = -0.04, zPos = 0.07, xRot = -30.0, yRot = 10.0, zRot = 0.0
},
secondProp = {
boneIndex = 57005,
propName = "bzzz_restaurant_fork_d",
xPos = 0.1, yPos = 0.05, zPos = 0.0, xRot = -117.0, yRot = -68.0, zRot = -43.0
}
},
['res_food_h'] = {
basicInfo = {
amountToAdd = 200000, -- Adds food to your status bar (require esx_status)
animationDictEat = "bzzz@restaurant@eat",
animationNameEat = "bzzz_restaurant_eat",
animationDictChewing = "facials@gen_male@base",
animationNameChewing = "eating_1"
},
firstProp = {
boneIndex = 18905,
propName = "bzzz_restaurant_food_h",
xPos = 0.08, yPos = -0.04, zPos = 0.07, xRot = -30.0, yRot = 10.0, zRot = 0.0
},
secondProp = {
boneIndex = 57005,
propName = "bzzz_restaurant_fork_f",
xPos = 0.1, yPos = 0.05, zPos = 0.0, xRot = -117.0, yRot = -68.0, zRot = -43.0
}
},
['res_food_i'] = {
basicInfo = {
amountToAdd = 200000, -- Adds food to your status bar (require esx_status)
animationDictEat = "bzzz@restaurant@eat",
animationNameEat = "bzzz_restaurant_eat",
animationDictChewing = "facials@gen_male@base",
animationNameChewing = "eating_1"
},
firstProp = {
boneIndex = 18905,
propName = "bzzz_restaurant_food_i",
xPos = 0.08, yPos = -0.04, zPos = 0.07, xRot = -30.0, yRot = 10.0, zRot = 0.0
},
secondProp = {
boneIndex = 57005,
propName = "bzzz_restaurant_fork_h",
xPos = 0.11, yPos = 0.05, zPos = -0.02, xRot = 78.0, yRot = 150.0, zRot = 188.0
}
},
['res_food_j'] = {
basicInfo = {
amountToAdd = 200000, -- Adds food to your status bar (require esx_status)
animationDictEat = "bzzz@restaurant@eat",
animationNameEat = "bzzz_restaurant_eat",
animationDictChewing = "facials@gen_male@base",
animationNameChewing = "eating_1"
},
firstProp = {
boneIndex = 18905,
propName = "bzzz_restaurant_food_j",
xPos = 0.08, yPos = -0.04, zPos = 0.07, xRot = -30.0, yRot = 10.0, zRot = 0.0
},
secondProp = {
boneIndex = 57005,
propName = "bzzz_restaurant_material_shrimp_a",
xPos = 0.14, yPos = 0.06, zPos = -0.05, xRot = 24.0, yRot = 282.0, zRot = 176.0
}
},
['res_food_k'] = {
basicInfo = {
amountToAdd = 200000, -- Adds food to your status bar (require esx_status)
animationDictEat = "bzzz@restaurant@eat",
animationNameEat = "bzzz_restaurant_eat",
animationDictChewing = "facials@gen_male@base",
animationNameChewing = "eating_1"
},
firstProp = {
boneIndex = 18905,
propName = "bzzz_restaurant_food_k",
xPos = 0.08, yPos = -0.04, zPos = 0.07, xRot = -30.0, yRot = 10.0, zRot = 0.0
},
secondProp = {
boneIndex = 57005,
propName = "bzzz_restaurant_fork_e",
xPos = 0.1, yPos = 0.05, zPos = 0.0, xRot = -117.0, yRot = -68.0, zRot = -43.0
}
},
['res_food_l'] = {
basicInfo = {
amountToAdd = 200000, -- Adds food to your status bar (require esx_status)
animationDictEat = "bzzz@restaurant@eat",
animationNameEat = "bzzz_restaurant_eat",
animationDictChewing = "facials@gen_male@base",
animationNameChewing = "eating_1"
},
firstProp = {
boneIndex = 18905,
propName = "bzzz_restaurant_food_l",
xPos = 0.08, yPos = -0.04, zPos = 0.07, xRot = -30.0, yRot = 10.0, zRot = 0.0
},
secondProp = {
boneIndex = 57005,
propName = "bzzz_restaurant_fork_g",
xPos = 0.1, yPos = 0.05, zPos = 0.0, xRot = -117.0, yRot = -68.0, zRot = -43.0
}
},
},

View file

@ -0,0 +1 @@
I'm sorry if it's not clear. If you have a problem, be sure to contact me :)

View file

@ -0,0 +1,38 @@
--[[
- Animation template example
- Mouth opening does not work for addon animations
- You have to run two animations :(
- I'm not a scripter, so it's not in my power to help you with the script
]]--
RegisterCommand('food_a', function()
local playerPed = PlayerPedId()
local x, y, z = table.unpack(GetEntityCoords(playerPed))
-- First prop
local boneIndex = GetPedBoneIndex(playerPed, 18905)
local prop = CreateObject('bzzz_restaurant_food_a', x, y, z + 0.2, true, true, true)
AttachEntityToEntity(prop, playerPed, boneIndex, 0.08, -0.04, 0.07, -30.0, 10.0, 0.0, true, true, false, true, 1, true)
-- Second prop
local boneIndex2 = GetPedBoneIndex(playerPed, 57005)
prop2 = CreateObject('bzzz_restaurant_fork_a', x, y, z + 0.2, true, true, true)
AttachEntityToEntity(prop2, playerPed, boneIndex2, 0.1, 0.05, 0.0, -117.0, -68.0, -43.0, true, true, false, true, 1, true)
-- Animations
RequestAnimDict('bzzz@restaurant@eat') --'bzzz@restaurant@eat', 'bzzz_restaurant_eat'
RequestAnimDict('facials@gen_male@base') -- mouth opening
while (not HasAnimDictLoaded("bzzz@restaurant@eat")) do Wait(10) end
while (not HasAnimDictLoaded("facials@gen_male@base")) do Wait(10) end
TaskPlayAnim(playerPed,"bzzz@restaurant@eat","bzzz_restaurant_eat", 8.0, -8, -1, 49, 0, 0, 0, 0)
PlayFacialAnim(playerPed, 'eating_1', 'facials@gen_male@base')
Wait(5000) -- animation duration
ClearPedSecondaryTask(playerPed)
DeleteObject(prop)
DeleteObject(prop2)
end)

View file

@ -0,0 +1,301 @@
--copy and paste into ox_inventory
----------------------------------------------- bzzz_restaurantfood ----------------------------------
['res_food_a'] = {
label = 'Schnitzel with fries',
degrade = 2880,-- 48 stunden
weight = 200,
stack = false,
close = true,
description = "Schnitzel with fries",
client = {
status = { hunger = 200000 },
anim = { dict = 'bzzz@restaurant@eat', clip = 'bzzz_restaurant_eat' },
prop = { model = 'bzzz_restaurant_food_a',
bone = 60309,
pos = vec3(0.08, -0.04, 0.07),
rot = vec3(-30.0, 10.0, 0.0) },
propTwo = { model = 'bzzz_restaurant_fork_a',
bone = 28422,
pos = vec3(0.07, 0.05, -0.03),
rot = vec3(-100.0, 24.0, -86.0) },
usetime = 17500,
notification = 'You have satisfied your hunger'
},
},
['res_food_b'] = {
label = 'Schnitzel with croquettes',
degrade = 2880,-- 48 stunden
weight = 200,
stack = false,
close = true,
description = "Schnitzel with croquettes",
client = {
status = { hunger = 150000 },
anim = { dict = 'bzzz@restaurant@eat', clip = 'bzzz_restaurant_eat' },
prop = { model = 'bzzz_restaurant_food_b',
bone = 60309,
pos = vec3(0.08, -0.04, 0.07),
rot = vec3(-30.0, 10.0, 0.0) },
propTwo = { model = 'bzzz_restaurant_fork_b',
bone = 28422,
pos = vec3(0.07, 0.05, -0.03),
rot = vec3(-100.0, 24.0, -86.0) },
usetime = 17500,
notification = 'You have satisfied your hunger'
},
},
['res_food_c'] = {
label = 'Spaghetti',
degrade = 2880,-- 48 stunden
weight = 200,
stack = false,
close = true,
description = "Spaghetti",
client = {
status = { hunger = 150000 },
anim = { dict = 'bzzz@restaurant@eat', clip = 'bzzz_restaurant_eat' },
prop = { model = 'bzzz_restaurant_food_c',
bone = 60309,
pos = vec3(0.08, -0.04, 0.07),
rot = vec3(-30.0, 10.0, 0.0) },
propTwo = { model = 'bzzz_restaurant_fork_c',
bone = 28422,
pos = vec3(0.07, 0.05, -0.03),
rot = vec3(-100.0, 24.0, -86.0) },
usetime = 17500,
notification = 'You have satisfied your hunger'
},
},
['res_food_d'] = {
label = 'Grilled fish',
degrade = 2880,-- 48 stunden
weight = 200,
stack = false,
close = true,
description = "Grilled fish",
client = {
status = { hunger = 150000 },
anim = { dict = 'bzzz@restaurant@eat', clip = 'bzzz_restaurant_eat' },
prop = { model = 'bzzz_restaurant_food_d',
bone = 60309,
pos = vec3(0.08, -0.04, 0.07),
rot = vec3(-30.0, 10.0, 0.0) },
propTwo = { model = 'bzzz_restaurant_fork_d',
bone = 28422,
pos = vec3(0.07, 0.05, -0.03),
rot = vec3(-100.0, 24.0, -86.0) },
usetime = 17500,
notification = 'You have satisfied your hunger'
},
},
['res_food_e'] = {
label = 'Steak with potatoes',
degrade = 2880,-- 48 stunden
weight = 200,
stack = false,
close = true,
description = "Steak with potatoes",
client = {
status = { hunger = 150000 },
anim = { dict = 'bzzz@restaurant@eat', clip = 'bzzz_restaurant_eat' },
prop = { model = 'bzzz_restaurant_food_e',
bone = 60309,
pos = vec3(0.08, -0.04, 0.07),
rot = vec3(-30.0, 10.0, 0.0) },
propTwo = { model = 'bzzz_restaurant_fork_e',
bone = 28422,
pos = vec3(0.07, 0.05, -0.03),
rot = vec3(-100.0, 24.0, -86.0) },
usetime = 17500,
notification = 'You have satisfied your hunger'
},
},
['res_food_f'] = {
label = 'Steak with fries',
degrade = 2880,-- 48 stunden
weight = 200,
stack = false,
close = true,
description = "Steak with fries",
client = {
status = { hunger = 150000 },
anim = { dict = 'bzzz@restaurant@eat', clip = 'bzzz_restaurant_eat' },
prop = { model = 'bzzz_restaurant_food_f',
bone = 60309,
pos = vec3(0.08, -0.04, 0.07),
rot = vec3(-30.0, 10.0, 0.0) },
propTwo = { model = 'bzzz_restaurant_fork_a',
bone = 28422,
pos = vec3(0.07, 0.05, -0.03),
rot = vec3(-100.0, 24.0, -86.0) },
usetime = 17500,
},
},
['res_food_g'] = {
label = 'Lobster',
degrade = 2880,-- 48 stunden
weight = 200,
stack = false,
close = true,
description = "Lobster",
client = {
status = { hunger = 150000 },
anim = { dict = 'bzzz@restaurant@eat', clip = 'bzzz_restaurant_eat' },
prop = { model = 'bzzz_restaurant_food_g',
bone = 60309,
pos = vec3(0.08, -0.04, 0.07),
rot = vec3(-30.0, 10.0, 0.0) },
propTwo = { model = 'bzzz_restaurant_fork_d',
bone = 28422,
pos = vec3(0.07, 0.05, -0.03),
rot = vec3(-100.0, 24.0, -86.0) },
usetime = 17500,
notification = 'You have satisfied your hunger'
},
},
['res_food_h'] = {
label = 'Eggs with toast',
degrade = 2880,-- 48 stunden
weight = 200,
stack = false,
close = true,
description = "Eggs with toast",
client = {
status = { hunger = 150000 },
anim = { dict = 'bzzz@restaurant@eat', clip = 'bzzz_restaurant_eat' },
prop = { model = 'bzzz_restaurant_food_h',
bone = 60309,
pos = vec3(0.08, -0.04, 0.07),
rot = vec3(-30.0, 10.0, 0.0) },
propTwo = { model = 'bzzz_restaurant_fork_f',
bone = 28422,
pos = vec3(0.07, 0.05, -0.03),
rot = vec3(-100.0, 24.0, -86.0) },
usetime = 17500,
notification = 'You have satisfied your hunger'
},
},
['res_food_i'] = {
label = 'Sushi',
degrade = 2880,-- 48 stunden
weight = 200,
stack = false,
close = true,
description = "Sushi",
client = {
status = { hunger = 150000 },
anim = { dict = 'bzzz@restaurant@eat', clip = 'bzzz_restaurant_eat' },
prop = { model = 'bzzz_restaurant_food_i',
bone = 60309,
pos = vec3(0.08, -0.04, 0.07),
rot = vec3(-30.0, 10.0, 0.0) },
propTwo = { model = 'bzzz_restaurant_fork_h',
bone = 28422,
pos = vec3(0.07, 0.05, -0.03),
rot = vec3(-100.0, 24.0, -86.0) },
usetime = 17500,
notification = 'You have satisfied your hunger'
},
},
['res_food_j'] = {
label = 'Shrimps with sauce',
degrade = 2880,-- 48 stunden
weight = 200,
stack = false,
close = true,
description = "Shrimps with sauce",
client = {
status = { hunger = 150000 },
anim = { dict = 'bzzz@restaurant@eat', clip = 'bzzz_restaurant_eat' },
prop = { model = 'bzzz_restaurant_food_j',
bone = 60309,
pos = vec3(0.08, -0.04, 0.07),
rot = vec3(-30.0, 10.0, 0.0) },
propTwo = { model = 'bzzz_restaurant_material_shrimp_a',
bone = 28422,
pos = vec3(0.07, 0.05, -0.03),
rot = vec3(-100.0, 24.0, -86.0) },
usetime = 17500,
notification = 'You have satisfied your hunger'
},
},
['res_food_k'] = {
label = 'Chicken with potatoes',
degrade = 2880,-- 48 stunden
weight = 200,
stack = false,
close = true,
description = "Chicken with potatoes",
client = {
status = { hunger = 150000 },
anim = { dict = 'bzzz@restaurant@eat', clip = 'bzzz_restaurant_eat' },
prop = { model = 'bzzz_restaurant_food_k',
bone = 60309,
pos = vec3(0.08, -0.04, 0.07),
rot = vec3(-30.0, 10.0, 0.0) },
propTwo = { model = 'bzzz_restaurant_fork_e',
bone = 28422,
pos = vec3(0.07, 0.05, -0.03),
rot = vec3(-100.0, 24.0, -86.0) },
usetime = 17500,
notification = 'You have satisfied your hunger'
},
},
['res_food_l'] = {
label = 'Vegetarian salad',
degrade = 2880,-- 48 stunden
weight = 200,
stack = false,
close = true,
description = "Vegetarian salad",
client = {
status = { hunger = 150000 },
anim = { dict = 'bzzz@restaurant@eat', clip = 'bzzz_restaurant_eat' },
prop = { model = 'bzzz_restaurant_food_l',
bone = 60309,
pos = vec3(0.08, -0.04, 0.07),
rot = vec3(-30.0, 10.0, 0.0) },
propTwo = { model = 'bzzz_restaurant_fork_g',
bone = 28422,
pos = vec3(0.07, 0.05, -0.03),
rot = vec3(-100.0, 24.0, -86.0) },
usetime = 17500,
notification = 'You have satisfied your hunger'
},
},

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

View file

@ -0,0 +1 @@
https://github.com/Mrs-BzZz/food_coords/blob/main/qb-smallresources/bzzz_restaurantfood.lua

View file

@ -0,0 +1,8 @@
Inventory images in GTA style were created for you by Yaroph
Thanks <3
https://forum.cfx.re/t/1000-hq-draw-icons-for-inventory-pack/5175953
https://pixel-art-roleplay-inventory-i.tebex.io/

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Some files were not shown because too many files have changed in this diff Show more