diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/.fxap b/resources/[inventory]/cfx-mxc-vendingmachines/.fxap new file mode 100644 index 000000000..5704f29c9 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/.fxap differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/esx_items.sql b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/esx_items.sql new file mode 100644 index 000000000..ab75be46a --- /dev/null +++ b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/esx_items.sql @@ -0,0 +1,71 @@ +INSERT INTO `items` (`name`, `label`, `weight`, `rare`, `can_remove`) VALUES +('coffee', 'Coffee', 1, 0, 1), +('chips_cheese', 'Chips: Big Cheese', 1, 0, 1), +('chips_paprika', 'Chips: Paprika', 1, 0, 1), +('chips_ribs', 'Chips: Sticky Ribs', 1, 0, 1), +('chips_salt', 'Chips: Salt & Sauce', 1, 0, 1), +('chips_supersalt', 'Chips: Super Salt', 1, 0, 1), +('chips_habanero', 'Chips: Habanero', 1, 0, 1), +('chocolate_meteorite', 'Candy: Meteorite', 1, 0, 1), +('chocolate_captain', 'Candy: Captain''s Log', 1, 0, 1), +('condom', 'Condom: Soth Lags', 1, 0, 1), +('candy_zebra', 'Candy: Zebrabar', 1, 0, 1), +('candy_psqs', 'Candy: P''s & Q''s', 1, 0, 1), +('medicine_laxmax', 'Medicine: Lax to the Max', 1, 0, 1), +('medicine_alcopatch', 'Medicine: AlcoPatch', 1, 0, 1), +('medicine_mollis', 'Medicine: Mollis', 1, 0, 1), +('medicine_betta', 'Medicine: Betta', 1, 0, 1), +('gum_peppermint', 'Gum: Peppermint', 1, 0, 1), +('gum_cinnamon', 'Gum: Cinnamon', 1, 0, 1), +('gum_spearmint', 'Gum: Spearmint', 1, 0, 1), +('bottle_cola', 'Cola', 1, 0, 1), +('bottle_junk', 'Junk', 1, 0, 1), +('bottle_orang', 'Orang Tang', 1, 0, 1), +('bottle_tonic', 'Tonic', 1, 0, 1), +('bottle_water', 'Water', 1, 0, 1), +('bottle_sprunk', 'Sprunk', 1, 0, 1), +('can_cola', 'Cola Can', 1, 0, 1), +('can_orang', 'Orang Tang Can', 1, 0, 1), +('can_junk', 'Junk Can', 1, 0, 1), +('can_sprunk', 'Sprunk Can', 1, 0, 1), +('can_logger', 'Logger Can', 1, 0, 1), +('can_blarneys', 'Blarneys Can', 1, 0, 1), +('can_hoplivion', 'Hoplivion Can', 1, 0, 1), +('can_cerbeza', 'Cerbeza Can', 1, 0, 1), +('svapo_vaporglow1a', 'Vaporglow 2', 1, 0, 1), +('svapo_vaporglow1b', 'Vaporglow 1', 1, 0, 1), +('svapo_vaporglow1c', 'Vaporglow 1', 1, 0, 1), +('svapo_vaporglow1d', 'Vaporglow 1', 1, 0, 1), +('svapo_vaporglow1e', 'Vaporglow 1', 1, 0, 1), +('svapo_vaporglow1f', 'Vaporglow 1', 1, 0, 1), +('svapo_evape1a', 'E-Vape 1', 1, 0, 1), +('svapo_evape1b', 'E-Vape 1', 1, 0, 1), +('svapo_evape1c', 'E-Vape 1', 1, 0, 1), +('svapo_evape1d', 'E-Vape 1', 1, 0, 1), +('svapo_evape1e', 'E-Vape 1', 1, 0, 1), +('svapo_evape1f', 'E-Vape 1', 1, 0, 1), +('svapo_evape2a', 'E-Vape 2', 1, 0, 1), +('svapo_evape2b', 'E-Vape 2', 1, 0, 1), +('svapo_evape2c', 'E-Vape 2', 1, 0, 1), +('svapo_evape2d', 'E-Vape 2', 1, 0, 1), +('svapo_evape2e', 'E-Vape 2', 1, 0, 1), +('svapo_evape2f', 'E-Vape 2', 1, 0, 1), +('svapo_smoke1a', 'Smoke 1', 1, 0, 1), +('svapo_smoke1b', 'Smoke 1', 1, 0, 1), +('svapo_smoke1c', 'Smoke 1', 1, 0, 1), +('svapo_smoke1d', 'Smoke 1', 1, 0, 1), +('svapo_smoke1e', 'Smoke 1', 1, 0, 1), +('svapo_smoke1f', 'Smoke 1', 1, 0, 1), +('svapo_evape_box', 'E-Vape Box', 1, 0, 1), +('svapo_evape2_box', 'E-Vape 2 Box', 1, 0, 1), +('svapo_smoke_box', 'Smoke Box', 1, 0, 1), +('svapo_sumo_box', 'Sumo Box', 1, 0, 1), +('svapo_vaporglow_box', 'Vaporglow Box', 1, 0, 1), +('cigs_redwood', 'Cigarettes: Redwood', 1, 0, 1), +('cigs_redwood2', 'Cigarettes: Redwood 2', 1, 0, 1), +('cigs_debonaireb', 'Cigarettes: Debonaire Blue', 1, 0, 1), +('cigs_debonaireg', 'Cigarettes: Debonaire Green', 1, 0, 1), +('cigs_cardiaque', 'Cigarettes: Cardiaque', 1, 0, 1), +('cigs_69brand', 'Cigarettes: 69Brand', 1, 0, 1), +('cigs_cok', 'Cigarettes: CoK', 1, 0, 1), +('cigs_estancia', 'Cigars: Estancia', 1, 0, 1); \ No newline at end of file diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/cigs/cigs_69brands.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/cigs/cigs_69brands.png new file mode 100644 index 000000000..4cf90608a Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/cigs/cigs_69brands.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/cigs/cigs_cardiaque.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/cigs/cigs_cardiaque.png new file mode 100644 index 000000000..23d0f02de Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/cigs/cigs_cardiaque.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/cigs/cigs_cok.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/cigs/cigs_cok.png new file mode 100644 index 000000000..f222910a1 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/cigs/cigs_cok.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/cigs/cigs_debonaireb.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/cigs/cigs_debonaireb.png new file mode 100644 index 000000000..642ccaf77 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/cigs/cigs_debonaireb.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/cigs/cigs_debonaireg.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/cigs/cigs_debonaireg.png new file mode 100644 index 000000000..583b709e0 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/cigs/cigs_debonaireg.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/cigs/cigs_estancia.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/cigs/cigs_estancia.png new file mode 100644 index 000000000..4e919292b Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/cigs/cigs_estancia.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/cigs/cigs_redwood.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/cigs/cigs_redwood.png new file mode 100644 index 000000000..205e7db6c Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/cigs/cigs_redwood.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/cigs/cigs_redwood2.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/cigs/cigs_redwood2.png new file mode 100644 index 000000000..b56c5da51 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/cigs/cigs_redwood2.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/candy_psqs.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/candy_psqs.png new file mode 100644 index 000000000..346bfa922 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/candy_psqs.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/candy_zebra.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/candy_zebra.png new file mode 100644 index 000000000..d6c91cc1c Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/candy_zebra.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/chips_cheese.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/chips_cheese.png new file mode 100644 index 000000000..2f1666012 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/chips_cheese.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/chips_habanero.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/chips_habanero.png new file mode 100644 index 000000000..5ffe80746 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/chips_habanero.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/chips_paprika.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/chips_paprika.png new file mode 100644 index 000000000..882cc3f6e Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/chips_paprika.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/chips_ribs.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/chips_ribs.png new file mode 100644 index 000000000..683f4f1fb Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/chips_ribs.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/chips_salt.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/chips_salt.png new file mode 100644 index 000000000..45485240b Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/chips_salt.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/chips_supersalt.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/chips_supersalt.png new file mode 100644 index 000000000..a4f47efb6 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/chips_supersalt.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/chocolate_captain.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/chocolate_captain.png new file mode 100644 index 000000000..9c5158b92 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/chocolate_captain.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/chocolate_meteorite.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/chocolate_meteorite.png new file mode 100644 index 000000000..8433ff847 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/chocolate_meteorite.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/condom.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/condom.png new file mode 100644 index 000000000..040b858b4 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/condom.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/gum_cinnamon.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/gum_cinnamon.png new file mode 100644 index 000000000..3af9c2382 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/gum_cinnamon.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/gum_peppermint.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/gum_peppermint.png new file mode 100644 index 000000000..fd03d291e Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/gum_peppermint.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/gum_spearmint.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/gum_spearmint.png new file mode 100644 index 000000000..c940e559d Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/gum_spearmint.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/medicine_alcopatch.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/medicine_alcopatch.png new file mode 100644 index 000000000..1f4955698 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/medicine_alcopatch.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/medicine_betta.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/medicine_betta.png new file mode 100644 index 000000000..5bc82eb7e Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/medicine_betta.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/medicine_laxmax.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/medicine_laxmax.png new file mode 100644 index 000000000..a69420766 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/medicine_laxmax.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/medicine_mollis.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/medicine_mollis.png new file mode 100644 index 000000000..405343203 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/snack/medicine_mollis.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/bottle_cola.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/bottle_cola.png new file mode 100644 index 000000000..c3a7b96c3 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/bottle_cola.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/bottle_junk.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/bottle_junk.png new file mode 100644 index 000000000..70e4f93d3 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/bottle_junk.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/bottle_orang.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/bottle_orang.png new file mode 100644 index 000000000..27d115285 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/bottle_orang.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/bottle_sprunk.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/bottle_sprunk.png new file mode 100644 index 000000000..01bd5c554 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/bottle_sprunk.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/bottle_tonic.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/bottle_tonic.png new file mode 100644 index 000000000..551d46931 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/bottle_tonic.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/bottle_water.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/bottle_water.png new file mode 100644 index 000000000..eb1891215 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/bottle_water.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/can_blarneys.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/can_blarneys.png new file mode 100644 index 000000000..1265b3409 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/can_blarneys.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/can_cerbeza.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/can_cerbeza.png new file mode 100644 index 000000000..36fbf85c6 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/can_cerbeza.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/can_cola.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/can_cola.png new file mode 100644 index 000000000..5d48d0650 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/can_cola.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/can_hoplivion.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/can_hoplivion.png new file mode 100644 index 000000000..5e22bd7a2 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/can_hoplivion.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/can_junk.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/can_junk.png new file mode 100644 index 000000000..e0f6d5f84 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/can_junk.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/can_logger.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/can_logger.png new file mode 100644 index 000000000..3b5f99481 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/can_logger.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/can_orang.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/can_orang.png new file mode 100644 index 000000000..8bdfe7637 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/can_orang.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/can_sprunk.png b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/can_sprunk.png new file mode 100644 index 000000000..f45d68325 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/images/soda/can_sprunk.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/ox_inventory.lua b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/ox_inventory.lua new file mode 100644 index 000000000..ebac66c63 --- /dev/null +++ b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/ox_inventory.lua @@ -0,0 +1,784 @@ +["coffee"] = { + label = "Coffee", + weight = 1, + stack = true, + client = { + status = { thirst = 200000 }, + anim = { dict = "mp_player_intdrink", clip = "loop_bottle" }, + prop = { + model = 'v_res_mcofcup', + bone = 18905, + pos = vec3(0.14, 0.0, 0.07), + rot = vec3(-119.7, -54.56, 7.22) + }, + usetime = 6500, + } +}, +["chips_cheese"] = { + label = "Chips Big Cheese", + weight = 1, + stack = true, + client = { + status = { hunger = 200000 }, + anim = { dict = "amb@world_human_drinking@coffee@male@idle_a", clip = "idle_a" }, + prop = { + model = 'mxc_vend_prop_item_chips1', + bone = 57005, + pos = vec3(0.16, 0.01, -0.04), + rot = vec3(-64.96, 36.0, -3.0) + }, + usetime = 6500, + } +}, +["chips_paprika"] = { + label = "Chips Paprika", + weight = 1, + stack = true, + client = { + status = { hunger = 200000 }, + anim = { dict = "amb@world_human_drinking@coffee@male@idle_a", clip = "idle_a" }, + prop = { + model = 'mxc_vend_prop_item_chips2', + bone = 57005, + pos = vec3(0.16, 0.01, -0.04), + rot = vec3(-64.96, 36.0, -3.0) + }, + usetime = 6500, + } +}, +["chips_ribs"] = { + label = "Chips Sticky Ribs", + weight = 1, + stack = true, + client = { + status = { hunger = 200000 }, + anim = { dict = "amb@world_human_drinking@coffee@male@idle_a", clip = "idle_a" }, + prop = { + model = 'mxc_vend_prop_item_chips3', + bone = 57005, + pos = vec3(0.16, 0.01, -0.04), + rot = vec3(-64.96, 36.0, -3.0) + }, + usetime = 6500, + } +}, +["chips_salt"] = { + label = "Chips: Salt & Sauce", + weight = 1, + stack = true, + client = { + status = { hunger = 200000 }, + anim = { dict = "amb@world_human_drinking@coffee@male@idle_a", clip = "idle_a" }, + prop = { + model = 'mxc_vend_prop_item_chips4', + bone = 57005, + pos = vec3(0.16, 0.01, -0.04), + rot = vec3(-64.96, 36.0, -3.0) + }, + usetime = 6500, + } +}, +["chips_supersalt"] = { + label = "Chips: Super Salt", + weight = 1, + stack = true, + client = { + status = { hunger = 200000 }, + anim = { dict = "amb@world_human_drinking@coffee@male@idle_a", clip = "idle_a" }, + prop = { + model = 'mxc_vend_prop_item_chips5', + bone = 57005, + pos = vec3(0.16, 0.01, -0.04), + rot = vec3(-64.96, 36.0, -3.0) + }, + usetime = 6500, + } +}, +["chips_habanero"] = { + label = "Chips: Habanero", + weight = 1, + stack = true, + client = { + status = { hunger = 200000 }, + anim = { dict = "amb@world_human_drinking@coffee@male@idle_a", clip = "idle_a" }, + prop = { + model = 'mxc_vend_prop_item_chips6', + bone = 57005, + pos = vec3(0.16, 0.01, -0.04), + rot = vec3(-64.96, 36.0, -3.0) + }, + usetime = 6500, + } +}, +["chocolate_meteorite"] = { + label = "Chocolate: Meteorite", + weight = 1, + stack = true, + client = { + status = { hunger = 200000 }, + anim = { dict = "mp_player_inteat@burger", clip = "mp_player_int_eat_burger_fp" }, + prop = { + model = `mxc_vend_prop_item_chocolate1`, + bone = 18905, + pos = vec3(0.12, 0.04, 0.01), + rot = vec3(51.55, -47.5, -4.65) + }, + usetime = 2500, + } +}, +["chocolate_captain"] = { + label = "Chocolate: Captain's Log", + weight = 1, + stack = true, + client = { + status = { hunger = 200000 }, + anim = { dict = "mp_player_inteat@burger", clip = "mp_player_int_eat_burger_fp" }, + prop = { + model = `mxc_vend_prop_item_chocolate2`, + bone = 18905, + pos = vec3(0.12, 0.04, 0.01), + rot = vec3(51.55, -47.5, -4.65) + }, + usetime = 2500, + } +}, +["condom"] = { + label = "Condom: Soth Lags", + weight = 1, + stack = true, +}, +["candy_zebra"] = { + label = "Candy: Zebrabar", + weight = 1, + stack = true, + client = { + status = { hunger = 200000 }, + anim = { dict = "mp_player_inteat@burger", clip = "mp_player_int_eat_burger_fp" }, + prop = { + model = `mxc_vend_prop_item_candybar1`, + bone = 18905, + pos = vec3(0.12, 0.04, 0.01), + rot = vec3(51.55, -47.5, -4.65) + }, + usetime = 2500, + } +}, +["candy_psqs"] = { + label = "Candy: P's & Q's", + weight = 1, + stack = true, + client = { + status = { hunger = 200000 }, + anim = { dict = "mp_player_inteat@pnq", clip = "loop" }, + prop = { + model = `mxc_vend_prop_item_candybar2`, + bone = 18905, + pos = vec3(0.14, -0.02, 0.06), + rot = vec3(65.76, -57.6, 2.8) + }, + usetime = 2500, + } +}, +["medicine_laxmax"] = { + label = "Medicine: Lax to the Max", + weight = 1, + stack = true, + client = { + anim = { dict = "amb@world_human_drinking@coffee@male@idle_a", clip = "idle_a" }, + prop = { + model = 'mxc_vend_prop_item_medical1', + bone = 57005, + pos = vec3(0.16, 0.01, -0.07), + rot = vec3(-64.96, 36.0, -3.0) + }, + usetime = 1500, + } +}, +["medicine_alcopatch"] = { + label = "Medicine: AlcoPatch", + weight = 1, + stack = true, + client = { + anim = { dict = "amb@world_human_drinking@coffee@male@idle_a", clip = "idle_a" }, + prop = { + model = 'mxc_vend_prop_item_medical2', + bone = 57005, + pos = vec3(0.16, 0.01, -0.07), + rot = vec3(-64.96, 36.0, -3.0) + }, + usetime = 1500, + } +}, +["medicine_mollis"] = { + label = "Medicine: Mollis", + weight = 1, + stack = true, + client = { + anim = { dict = "amb@world_human_drinking@coffee@male@idle_a", clip = "idle_a" }, + prop = { + model = 'mxc_vend_prop_item_medical3', + bone = 57005, + pos = vec3(0.16, 0.01, -0.07), + rot = vec3(-64.96, 36.0, -3.0) + }, + usetime = 1500, + } +}, +["medicine_betta"] = { + label = "Medicine: Betta", + weight = 1, + stack = true, + client = { + anim = { dict = "amb@world_human_drinking@coffee@male@idle_a", clip = "idle_a" }, + prop = { + model = 'mxc_vend_prop_item_medical4', + bone = 57005, + pos = vec3(0.16, 0.01, -0.07), + rot = vec3(-64.96, 36.0, -3.0) + }, + usetime = 1500, + } +}, +["gum_peppermint"] = { + label = "Gum: Peppermint", + weight = 1, + stack = true, + client = { + anim = { dict = "mp_player_inteat@pnq", clip = "loop" }, + prop = { + model = `mxc_vend_prop_item_gum1`, + bone = 18905, + pos = vec3(0.14, -0.02, 0.06), + rot = vec3(65.76, -57.6, 2.8) + }, + usetime = 2500, + } +}, +["gum_cinnamon"] = { + label = "Gum: Cinnamon", + weight = 1, + stack = true, + client = { + anim = { dict = "mp_player_inteat@pnq", clip = "loop" }, + prop = { + model = `mxc_vend_prop_item_gum2`, + bone = 18905, + pos = vec3(0.14, -0.02, 0.06), + rot = vec3(65.76, -57.6, 2.8) + }, + usetime = 2500, + } +}, +["gum_spearmint"] = { + label = "Gum: Spearmint", + weight = 1, + stack = true, + client = { + anim = { dict = "mp_player_inteat@pnq", clip = "loop" }, + prop = { + model = `mxc_vend_prop_item_gum3`, + bone = 18905, + pos = vec3(0.14, -0.02, 0.06), + rot = vec3(65.76, -57.6, 2.8) + }, + usetime = 2500, + } +}, +["bottle_cola"] = { + label = "Cola", + weight = 1, + stack = true, + client = { + status = { thirst = 300000 }, + anim = { dict = "mp_player_intdrink", clip = "loop_bottle" }, + prop = { + model = `mxc_vend_prop_item_bottle1`, + bone = 18905, + pos = vec3(0.12, -0.03, 0.03), + rot = vec3(-98.4, 0.0, -15.0), + bone = 18905 + }, + usetime = 2500, + } +}, +["bottle_junk"] = { + label = "Junk", + weight = 1, + stack = true, + client = { + status = { thirst = 300000 }, + anim = { dict = "mp_player_intdrink", clip = "loop_bottle" }, + prop = { + model = `mxc_vend_prop_item_bottle2`, + bone = 18905, + pos = vec3(0.12, -0.03, 0.03), + rot = vec3(-98.4, 0.0, -15.0) + }, + usetime = 2500, + } +}, +["bottle_orang"] = { + label = "Orang Tang", + weight = 1, + stack = true, + client = { + status = { thirst = 300000 }, + anim = { dict = "mp_player_intdrink", clip = "loop_bottle" }, + prop = { + model = `mxc_vend_prop_item_bottle3`, + bone = 18905, + pos = vec3(0.12, -0.03, 0.03), + rot = vec3(-98.4, 0.0, -15.0) + }, + usetime = 2500, + } +}, +["bottle_tonic"] = { + label = "Tonic", + weight = 1, + stack = true, + client = { + status = { thirst = 300000 }, + anim = { dict = "mp_player_intdrink", clip = "loop_bottle" }, + prop = { + model = `mxc_vend_prop_item_bottle4`, + bone = 18905, + pos = vec3(0.12, -0.03, 0.03), + rot = vec3(-98.4, 0.0, -15.0) + }, + usetime = 2500, + } +}, +["bottle_water"] = { + label = "Water", + weight = 1, + stack = true, + client = { + status = { thirst = 300000 }, + anim = { dict = "mp_player_intdrink", clip = "loop_bottle" }, + prop = { + model = `mxc_vend_prop_item_bottle5`, + bone = 18905, + pos = vec3(0.12, -0.03, 0.03), + rot = vec3(-98.4, 0.0, -15.0) + }, + usetime = 2500, + } +}, +["bottle_sprunk"] = { + label = "Sprunk", + weight = 1, + stack = true, + client = { + status = { thirst = 300000 }, + anim = { dict = "mp_player_intdrink", clip = "loop_bottle" }, + prop = { + model = `mxc_vend_prop_item_bottle6`, + bone = 18905, + pos = vec3(0.12, -0.03, 0.03), + rot = vec3(-98.4, 0.0, -15.0) + }, + usetime = 2500, + } +}, +["can_cola"] = { + label = "Cola Can", + weight = 1, + stack = true, + client = { + status = { thirst = 300000 }, + anim = { dict = 'amb@world_human_drinking@coffee@male@idle_a', clip = 'idle_a' }, + prop = { + model = `mxc_vend_prop_item_cansoda1`, + bone = 57005, + pos = vec3(0.14, 0.01, -0.04), + rot = vec3(-64.96, 36.0, -3.0) + }, + usetime = 2500, + } +}, +["can_orang"] = { + label = "Orang Tang Can", + weight = 1, + stack = true, + client = { + status = { thirst = 300000 }, + anim = { dict = 'amb@world_human_drinking@coffee@male@idle_a', clip = 'idle_a' }, + prop = { + model = `mxc_vend_prop_item_cansoda2`, + bone = 57005, + pos = vec3(0.14, 0.01, -0.04), + rot = vec3(-64.96, 36.0, -3.0) + }, + usetime = 2500, + } +}, +["can_junk"] = { + label = "Junk Can", + weight = 1, + stack = true, + client = { + status = { thirst = 300000 }, + anim = { dict = 'amb@world_human_drinking@coffee@male@idle_a', clip = 'idle_a' }, + prop = { + model = `mxc_vend_prop_item_cansoda3`, + bone = 57005, + pos = vec3(0.14, 0.01, -0.04), + rot = vec3(-64.96, 36.0, -3.0) + }, + usetime = 2500, + } +}, +["can_sprunk"] = { + label = "Sprunk Can", + weight = 1, + stack = true, + client = { + status = { thirst = 300000 }, + anim = { dict = 'amb@world_human_drinking@coffee@male@idle_a', clip = 'idle_a' }, + prop = { + model = `mxc_vend_prop_item_cansoda4`, + bone = 57005, + pos = vec3(0.14, 0.01, -0.04), + rot = vec3(-64.96, 36.0, -3.0) + }, + usetime = 2500, + } +}, +["can_logger"] = { + label = "Logger Can", + weight = 1, + stack = true, + client = { + status = { thirst = 300000 }, + anim = { dict = 'amb@world_human_drinking@coffee@male@idle_a', clip = 'idle_a' }, + prop = { + model = `mxc_vend_prop_item_canbeer1`, + bone = 57005, + pos = vec3(0.14, 0.01, -0.04), + rot = vec3(-64.96, 36.0, -3.0) + }, + usetime = 2500, + } +}, +["can_blarneys"] = { + label = "Blarneys Can", + weight = 1, + stack = true, + client = { + status = { thirst = 300000 }, + anim = { dict = 'amb@world_human_drinking@coffee@male@idle_a', clip = 'idle_a' }, + prop = { + model = `mxc_vend_prop_item_canbeer2`, + bone = 57005, + pos = vec3(0.14, 0.01, -0.04), + rot = vec3(-64.96, 36.0, -3.0) + }, + usetime = 2500, + } +}, +["can_hoplivion"] = { + label = "Hoplivion Can", + weight = 1, + stack = true, + client = { + status = { thirst = 300000 }, + anim = { dict = 'amb@world_human_drinking@coffee@male@idle_a', clip = 'idle_a' }, + prop = { + model = `mxc_vend_prop_item_canbeer3`, + bone = 57005, + pos = vec3(0.14, 0.01, -0.04), + rot = vec3(-64.96, 36.0, -3.0) + }, + usetime = 2500, + } +}, +["can_cerbeza"] = { + label = "Cerbeza Can", + weight = 1, + stack = true, + client = { + status = { thirst = 300000 }, + anim = { dict = 'amb@world_human_drinking@coffee@male@idle_a', clip = 'idle_a' }, + prop = { + model = `mxc_vend_prop_item_canbeer4`, + bone = 57005, + pos = vec3(0.14, 0.01, -0.04), + rot = vec3(-64.96, 36.0, -3.0) + }, + usetime = 2500, + } +}, +["svapo_vaporglow1a"] = { + label = "Vaporglow 2", + weight = 1, + stack = true +}, +["svapo_vaporglow1b"] = { + label = "Vaporglow 1", + weight = 1, + stack = true +}, +["svapo_vaporglow1c"] = { + label = "Vaporglow 1", + weight = 1, + stack = true +}, +["svapo_vaporglow1d"] = { + label = "Vaporglow 1", + weight = 1, + stack = true +}, +["svapo_vaporglow1e"] = { + label = "Vaporglow 1", + weight = 1, + stack = true +}, +["svapo_vaporglow1f"] = { + label = "Vaporglow 1", + weight = 1, + stack = true +}, +["svapo_evape1a"] = { + label = "E-Vape 1", + weight = 1, + stack = true +}, +["svapo_evape1b"] = { + label = "E-Vape 1", + weight = 1, + stack = true +}, +["svapo_evape1c"] = { + label = "E-Vape 1", + weight = 1, + stack = true +}, +["svapo_evape1d"] = { + label = "E-Vape 1", + weight = 1, + stack = true +}, +["svapo_evape1e"] = { + label = "E-Vape 1", + weight = 1, + stack = true +}, +["svapo_evape1f"] = { + label = "E-Vape 1", + weight = 1, + stack = true +}, +["svapo_evape2a"] = { + label = "E-Vape 2", + weight = 1, + stack = true +}, +["svapo_evape2b"] = { + label = "E-Vape 2", + weight = 1, + stack = true +}, +["svapo_evape2c"] = { + label = "E-Vape 2", + weight = 1, + stack = true +}, +["svapo_evape2d"] = { + label = "E-Vape 2", + weight = 1, + stack = true +}, +["svapo_evape2e"] = { + label = "E-Vape 2", + weight = 1, + stack = true +}, +["svapo_evape2f"] = { + label = "E-Vape 2", + weight = 1, + stack = true +}, +["svapo_smoke1a"] = { + label = "Smoke 1", + weight = 1, + stack = true +}, +["svapo_smoke1b"] = { + label = "Smoke 1", + weight = 1, + stack = true +}, +["svapo_smoke1c"] = { + label = "Smoke 1", + weight = 1, + stack = true +}, +["svapo_smoke1d"] = { + label = "Smoke 1", + weight = 1, + stack = true +}, +["svapo_smoke1e"] = { + label = "Smoke 1", + weight = 1, + stack = true +}, +["svapo_smoke1f"] = { + label = "Smoke 1", + weight = 1, + stack = true +}, +["svapo_evape_box"] = { + label = "E-Vape Box", + weight = 1, + stack = true +}, +["svapo_evape2_box"] = { + label = "E-Vape 2 Box", + weight = 1, + stack = true +}, +["svapo_smoke_box"] = { + label = "Smoke Box", + weight = 1, + stack = true +}, +["svapo_sumo_box"] = { + label = "Sumo Box", + weight = 1, + stack = true +}, +["svapo_vaporglow_box"] = { + label = "Vaporglow Box", + weight = 1, + stack = true +}, +["cigs_redwood"] = { + label = "Cigarettes: Redwood", + weight = 1, + stack = true, + client = { + --status = {}, + anim = { dict = 'amb@world_human_aa_smoke@male@idle_a', clip = 'idle_c' }, + prop = { + model = 'prop_cs_ciggy_01b', + bone = 57005, + pos = vec3(0.18, 0.02, 0.02), + rot = vec3(0, 103.42, 0) + }, + usetime = 10000, + } +}, +["cigs_redwood2"] = { + label = "Cigarettes: Redwood2", + weight = 1, + stack = true, + client = { + --status = {}, + anim = { dict = 'amb@world_human_aa_smoke@male@idle_a', clip = 'idle_c' }, + prop = { + model = 'prop_cs_ciggy_01b', + bone = 57005, + pos = vec3(0.18, 0.02, 0.02), + rot = vec3(0, 103.42, 0) + }, + usetime = 10000, + } +}, +["cigs_debonaireb"] = { + label = "Cigarettes: Debonaire Blue", + weight = 1, + stack = true, + client = { + --status = {}, + anim = { dict = 'amb@world_human_aa_smoke@male@idle_a', clip = 'idle_c' }, + prop = { + model = 'prop_cs_ciggy_01b', + bone = 57005, + pos = vec3(0.18, 0.02, 0.02), + rot = vec3(0, 103.42, 0) + }, + usetime = 10000, + } +}, +["cigs_debonaireg"] = { + label = "Cigarettes: Debonaire Green", + weight = 1, + stack = true, + client = { + --status = {}, + anim = { dict = 'amb@world_human_aa_smoke@male@idle_a', clip = 'idle_c' }, + prop = { + model = 'prop_cs_ciggy_01b', + bone = 57005, + pos = vec3(0.18, 0.02, 0.02), + rot = vec3(0, 103.42, 0) + }, + usetime = 10000, + } +}, +["cigs_cardiaque"] = { + label = "Cigarettes: Cardiaque", + weight = 1, + stack = true, + client = { + --status = {}, + anim = { dict = 'amb@world_human_aa_smoke@male@idle_a', clip = 'idle_c' }, + prop = { + model = 'prop_cs_ciggy_01b', + bone = 57005, + pos = vec3(0.18, 0.02, 0.02), + rot = vec3(0, 103.42, 0) + }, + usetime = 10000, + } +}, +["cigs_69brand"] = { + label = "Cigarettes: 69Brand", + weight = 1, + stack = true, + client = { + --status = {}, + anim = { dict = 'amb@world_human_aa_smoke@male@idle_a', clip = 'idle_c' }, + prop = { + model = 'prop_cs_ciggy_01b', + bone = 57005, + pos = vec3(0.18, 0.02, 0.02), + rot = vec3(0, 103.42, 0) + }, + usetime = 10000, + } +}, +["cigs_cok"] = { + label = "Cigarettes: CoK", + weight = 1, + stack = true, + client = { + --status = {}, + anim = { dict = 'amb@world_human_aa_smoke@male@idle_a', clip = 'idle_c' }, + prop = { + model = 'prop_cs_ciggy_01b', + bone = 57005, + pos = vec3(0.18, 0.02, 0.02), + rot = vec3(0, 103.42, 0) + }, + usetime = 10000, + } +}, +["cigs_estancia"] = { + label = "Cigars: Estancia", + weight = 1, + stack = true, + client = { + --status = {}, + anim = { dict = 'amb@world_human_aa_smoke@male@idle_a', clip = 'idle_c' }, + prop = { + model = 'prop_cs_ciggy_01b', + bone = 57005, + pos = vec3(0.18, 0.02, 0.02), + rot = vec3(0, 103.42, 0) + }, + usetime = 10000, + } +}, \ No newline at end of file diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/qb-core.lua b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/qb-core.lua new file mode 100644 index 000000000..a383a01d4 --- /dev/null +++ b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/qb-core.lua @@ -0,0 +1,70 @@ +coffee = {name = 'coffee', label = 'Coffee', weight = 1, type = 'item', image = 'coffee.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +chips_cheese = {name = 'chips_cheese', label = 'Chips Big Cheese', weight = 1, type = 'item', image = 'chips_cheese.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +chips_paprika = {name = 'chips_paprika', label = 'Chips Paprika', weight = 1, type = 'item', image = 'chips_paprika.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +chips_ribs = {name = 'chips_ribs', label = 'Chips Sticky Ribs', weight = 1, type = 'item', image = 'chips_ribs.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +chips_salt = {name = 'chips_salt', label = 'Chips: Salt & Sauce', weight = 1, type = 'item', image = 'chips_salt.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +chips_supersalt = {name = 'chips_supersalt', label = 'Chips: Super Salt', weight = 1, type = 'item', image = 'chips_supersalt.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +chips_habanero = {name = 'chips_habanero', label = 'Chips: Habanero', weight = 1, type = 'item', image = 'chips_habanero.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +chocolate_meteorite = {name = 'chocolate_meteorite', label = 'Candy: Meteorite', weight = 1, type = 'item', image = 'chocolate_meteorite.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +chocolate_captain = {name = 'chocolate_captain', label = 'Candy: Captain\'s Log', weight = 1, type = 'item', image = 'chocolate_captain.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +condom = {name = 'condom', label = 'Condom: Soth Lags', weight = 1, type = 'item', image = 'condom.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +candy_zebra = {name = 'candy_zebra', label = 'Candy: Zebrabar', weight = 1, type = 'item', image = 'candy_zebra.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +candy_psqs = {name = 'candy_psqs', label = 'Candy: P\'s & Q\'s', weight = 1, type = 'item', image = 'candy_psqs.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +medicine_laxmax = {name = 'medicine_laxmax', label = 'Medicine: Lax to the Max', weight = 1, type = 'item', image = 'medicine_laxmax.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +medicine_alcopatch = {name = 'medicine_alcopatch', label = 'Medicine: AlcoPatch', weight = 1, type = 'item', image = 'medicine_alcopatch.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +medicine_mollis = {name = 'medicine_mollis', label = 'Medicine: Mollis', weight = 1, type = 'item', image = 'medicine_mollis.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +medicine_betta = {name = 'medicine_betta', label = 'Medicine: Betta', weight = 1, type = 'item', image = 'medicine_betta.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +gum_peppermint = {name = 'gum_peppermint', label = 'Gum: Peppermint', weight = 1, type = 'item', image = 'gum_peppermint.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +gum_cinnamon = {name = 'gum_cinnamon', label = 'Gum: Cinnamon', weight = 1, type = 'item', image = 'gum_cinnamon.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +gum_spearmint = {name = 'gum_spearmint', label = 'Gum: Spearmint', weight = 1, type = 'item', image = 'gum_spearmint.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +bottle_cola = {name = 'bottle_cola', label = 'Cola', weight = 1, type = 'item', image = 'bottle_cola.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +bottle_junk = {name = 'bottle_junk', label = 'Junk', weight = 1, type = 'item', image = 'bottle_junk.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +bottle_orang = {name = 'bottle_orang', label = 'Orang Tang', weight = 1, type = 'item', image = 'bottle_orang.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +bottle_tonic = {name = 'bottle_tonic', label = 'Tonic', weight = 1, type = 'item', image = 'bottle_tonic.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +bottle_water = {name = 'bottle_water', label = 'Water', weight = 1, type = 'item', image = 'bottle_water.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +bottle_sprunk = {name = 'bottle_sprunk', label = 'Sprunk', weight = 1, type = 'item', image = 'bottle_sprunk.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +can_cola = {name = 'can_cola', label = 'Cola Can,', weight = 1, type = 'item', image = 'can_cola.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +can_orang = {name = 'can_orang', label = 'Orang Tang Can', weight = 1, type = 'item', image = 'can_orang.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +can_junk = {name = 'can_junk', label = 'Junk Can,', weight = 1, type = 'item', image = 'can_junk.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +can_sprunk = {name = 'can_sprunk', label = 'Sprunk Can', weight = 1, type = 'item', image = 'can_sprunk.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +can_logger = {name = 'can_logger', label = 'Logger Can', weight = 1, type = 'item', image = 'can_logger.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +can_blarneys = {name = 'can_blarneys', label = 'Blarneys Can', weight = 1, type = 'item', image = 'can_blarneys.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +can_hoplivion = {name = 'can_hoplivion', label = 'Hoplivion Can', weight = 1, type = 'item', image = 'can_hoplivion.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +can_cerbeza = {name = 'can_cerbeza', label = 'Cerbeza Can', weight = 1, type = 'item', image = 'can_cerbeza.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +svapo_vaporglow1a = {name = 'svapo_vaporglow1a', label = 'Vaporglow 2', weight = 1, type = 'item', image = 'svapo_vaporglow1a.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +svapo_vaporglow1b = {name = 'svapo_vaporglow1b', label = 'Vaporglow 1', weight = 1, type = 'item', image = 'svapo_vaporglow1b.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +svapo_vaporglow1c = {name = 'svapo_vaporglow1c', label = 'Vaporglow 1', weight = 1, type = 'item', image = 'svapo_vaporglow1c.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +svapo_vaporglow1d = {name = 'svapo_vaporglow1d', label = 'Vaporglow 1', weight = 1, type = 'item', image = 'svapo_vaporglow1d.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +svapo_vaporglow1e = {name = 'svapo_vaporglow1e', label = 'Vaporglow 1', weight = 1, type = 'item', image = 'svapo_vaporglow1e.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +svapo_vaporglow1f = {name = 'svapo_vaporglow1f', label = 'Vaporglow 1', weight = 1, type = 'item', image = 'svapo_vaporglow1f.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +svapo_evape1a = {name = 'svapo_evape1a', label = 'E-Vape 1', weight = 1, type = 'item', image = 'svapo_evape1a.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +svapo_evape1b = {name = 'svapo_evape1b', label = 'E-Vape 1', weight = 1, type = 'item', image = 'svapo_evape1b.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +svapo_evape1c = {name = 'svapo_evape1c', label = 'E-Vape 1', weight = 1, type = 'item', image = 'svapo_evape1c.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +svapo_evape1d = {name = 'svapo_evape1d', label = 'E-Vape 1', weight = 1, type = 'item', image = 'svapo_evape1d.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +svapo_evape1e = {name = 'svapo_evape1e', label = 'E-Vape 1', weight = 1, type = 'item', image = 'svapo_evape1e.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +svapo_evape1f = {name = 'svapo_evape1f', label = 'E-Vape 1', weight = 1, type = 'item', image = 'svapo_evape1f.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +svapo_evape2a = {name = 'svapo_evape2a', label = 'E-Vape 2', weight = 1, type = 'item', image = 'svapo_evape2a.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +svapo_evape2b = {name = 'svapo_evape2b', label = 'E-Vape 2', weight = 1, type = 'item', image = 'svapo_evape2b.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +svapo_evape2c = {name = 'svapo_evape2c', label = 'E-Vape 2', weight = 1, type = 'item', image = 'svapo_evape2c.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +svapo_evape2d = {name = 'svapo_evape2d', label = 'E-Vape 2', weight = 1, type = 'item', image = 'svapo_evape2d.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +svapo_evape2e = {name = 'svapo_evape2e', label = 'E-Vape 2', weight = 1, type = 'item', image = 'svapo_evape2e.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +svapo_evape2f = {name = 'svapo_evape2f', label = 'E-Vape 2', weight = 1, type = 'item', image = 'svapo_evape2f.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +svapo_smoke1a = {name = 'svapo_smoke1a', label = 'Smoke 1', weight = 1, type = 'item', image = 'svapo_smoke1a.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +svapo_smoke1b = {name = 'svapo_smoke1b', label = 'Smoke 1', weight = 1, type = 'item', image = 'svapo_smoke1b.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +svapo_smoke1c = {name = 'svapo_smoke1c', label = 'Smoke 1', weight = 1, type = 'item', image = 'svapo_smoke1c.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +svapo_smoke1d = {name = 'svapo_smoke1d', label = 'Smoke 1', weight = 1, type = 'item', image = 'svapo_smoke1d.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +svapo_smoke1e = {name = 'svapo_smoke1e', label = 'Smoke 1', weight = 1, type = 'item', image = 'svapo_smoke1e.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +svapo_smoke1f = {name = 'svapo_smoke1f', label = 'Smoke 1', weight = 1, type = 'item', image = 'svapo_smoke1f.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +svapo_evape_box = {name = 'svapo_evape_box', label = 'E-Vape Box', weight = 1, type = 'item', image = 'svapo_evape_box.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +svapo_evape2_box = {name = 'svapo_evape2_box', label = 'E-Vape 2 Box', weight = 1, type = 'item', image = 'svapo_evape2_box.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +svapo_smoke_box = {name = 'svapo_smoke_box', label = 'Smoke Box', weight = 1, type = 'item', image = 'svapo_smoke_box.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +svapo_sumo_box = {name = 'svapo_sumo_box', label = 'Sumo Box', weight = 1, type = 'item', image = 'svapo_sumo_box.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +svapo_vaporglow_box = {name = 'svapo_vaporglow_box', label = 'Vaporglow Box', weight = 1, type = 'item', image = 'svapo_vaporglow_box.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +cigs_redwood = {name = 'cigs_redwood', label = 'Cigarettes: Redwood', weight = 1, type = 'item', image = 'cigs_redwood.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +cigs_redwood2 = {name = 'cigs_redwood2', label = 'Cigarettes: Redwood 2', weight = 1, type = 'item', image = 'cigs_redwood2.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +cigs_debonaireb = {name = 'cigs_debonaireb', label = 'Cigarettes: Debonaire Blue', weight = 1, type = 'item', image = 'cigs_debonaireb.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +cigs_debonaireg = {name = 'cigs_debonaireg', label = 'Cigarettes: Debonaire Green', weight = 1, type = 'item', image = 'cigs_debonaireg.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +cigs_cardiaque = {name = 'cigs_cardiaque', label = 'Cigarettes: Cardiaque', weight = 1, type = 'item', image = 'cigs_cardiaque.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +cigs_69brand = {name = 'cigs_69brand', label = 'Cigarettes: 69Brand', weight = 1, type = 'item', image = 'cigs_69brand.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +cigs_cok = {name = 'cigs_cok', label = 'Cigarettes: CoK', weight = 1, type = 'item', image = 'cigs_cok.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, +cigs_estancia = {name = 'cigs_estancia', label = 'Cigars: Estancia', weight = 1, type = 'item', image = 'cigs_estancia.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = ''}, \ No newline at end of file diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/[items]/qb-smallresource.lua b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/qb-smallresource.lua new file mode 100644 index 000000000..2a5434441 --- /dev/null +++ b/resources/[inventory]/cfx-mxc-vendingmachines/[items]/qb-smallresource.lua @@ -0,0 +1,814 @@ +Config.Consumables = { + custom = { + ['coffee'] = { + progress = { + label = 'Eating Coffee...', + time = 6500 + }, + animation = { + animDict = 'mp_player_intdrink', + anim = 'loop_bottle', + flags = 8, + }, + prop = { + model = "v_res_mcofcup", + bone = 18905, + coords = vec3(0.14, 0.0, 0.07), + rotation = vec3(-119.7, -54.56, 7.22), + }, + replenish = { + type = 'Thirst', + replenish = 20, + isAlcohol = false, + } + }, + ['chips_cheese'] = { + progress = { + label = 'Eating Chips Big Cheese...', + time = 6500 + }, + animation = { + animDict = 'amb@world_human_drinking@coffee@male@idle_a', + anim = 'idle_a', + flags = 8, + }, + prop = { + model = "mxc_vend_prop_item_chips1", + bone = 57005, + coords = vec3(0.16, 0.01, -0.04), + rotation = vec3(-64.96, 36.0, -3.0), + }, + replenish = { + type = 'Hunger', + replenish = 20, + isAlcohol = false, + } + }, + ['chips_paprika'] = { + progress = { + label = 'Eating Chips Paprika...', + time = 6500 + }, + animation = { + animDict = 'amb@world_human_drinking@coffee@male@idle_a', + anim = 'idle_a', + flags = 8, + }, + prop = { + model = "mxc_vend_prop_item_chips2", + bone = 57005, + coords = vec3(0.16, 0.01, -0.04), + rotation = vec3(-64.96, 36.0, -3.0), + }, + replenish = { + type = 'Hunger', + replenish = 20, + isAlcohol = false, + } + }, + ['chips_ribs'] = { + progress = { + label = 'Eating Chips Sticky Ribs...', + time = 6500 + }, + animation = { + animDict = 'amb@world_human_drinking@coffee@male@idle_a', + anim = 'idle_a', + flags = 8, + }, + prop = { + model = "mxc_vend_prop_item_chips3", + bone = 57005, + coords = vec3(0.16, 0.01, -0.04), + rotation = vec3(-64.96, 36.0, -3.0), + }, + replenish = { + type = 'Hunger', + replenish = 20, + isAlcohol = false, + } + }, + ['chips_salt'] = { + progress = { + label = 'Eating Chips Salt & Sauce...', + time = 6500 + }, + animation = { + animDict = 'amb@world_human_drinking@coffee@male@idle_a', + anim = 'idle_a', + flags = 8, + }, + prop = { + model = "mxc_vend_prop_item_chips4", + bone = 57005, + coords = vec3(0.16, 0.01, -0.04), + rotation = vec3(-64.96, 36.0, -3.0), + }, + replenish = { + type = 'Hunger', + replenish = 20, + isAlcohol = false, + } + }, + ['chips_supersalt'] = { + progress = { + label = 'Eating Chips Super Salt...', + time = 6500 + }, + animation = { + animDict = 'amb@world_human_drinking@coffee@male@idle_a', + anim = 'idle_a', + flags = 8, + }, + prop = { + model = "mxc_vend_prop_item_chips5", + bone = 57005, + coords = vec3(0.16, 0.01, -0.04), + rotation = vec3(-64.96, 36.0, -3.0), + }, + replenish = { + type = 'Hunger', + replenish = 20, + isAlcohol = false, + } + }, + ['chips_habanero'] = { + progress = { + label = 'Eating Chips Habanero...', + time = 6500 + }, + animation = { + animDict = 'amb@world_human_drinking@coffee@male@idle_a', + anim = 'idle_a', + flags = 8, + }, + prop = { + model = "mxc_vend_prop_item_chips6", + bone = 57005, + coords = vec3(0.16, 0.01, -0.04), + rotation = vec3(-64.96, 36.0, -3.0), + }, + replenish = { + type = 'Hunger', + replenish = 20, + isAlcohol = false, + } + }, + ['chocolate_meteorite'] = { + progress = { + label = 'Eating Chocolate Meteorite...', + time = 2500 + }, + animation = { + animDict = 'mp_player_inteat@burger', + anim = 'mp_player_int_eat_burger_fp', + flags = 8, + }, + prop = { + model = "mxc_vend_prop_item_chocolate1", + bone = 18905, + coords = vec3(0.12, 0.04, 0.01), + rotation = vec3(51.55, -47.5, -4.65), + }, + replenish = { + type = "Hunger", + replenish = 20 + } + }, + ['chocolate_captain'] = { + progress = { + label = 'Eating Chocolate Captain\'s Log...', + time = 2500 + }, + animation = { + animDict = 'mp_player_inteat@burger', + anim = 'mp_player_int_eat_burger_fp', + flags = 8, + }, + prop = { + model = "mxc_vend_prop_item_chocolate2", + bone = 18905, + coords = vec3(0.12, 0.04, 0.01), + rotation = vec3(51.55, -47.5, -4.65), + }, + replenish = { + type = "Hunger", + replenish = 20 + } + }, + ['candy_zebra'] = { + progress = { + label = 'Eating Candy Zebrabar...', + time = 2500 + }, + animation = { + animDict = 'mp_player_inteat@burger', + anim = 'mp_player_int_eat_burger_fp', + flags = 8, + }, + prop = { + model = "mxc_vend_prop_item_candybar1", + bone = 18905, + coords = vec3(0.12, 0.04, 0.01), + rotation = vec3(51.55, -47.5, -4.65), + }, + replenish = { + type = "Hunger", + replenish = 20 + } + }, + ['candy_psqs'] = { + progress = { + label = 'Eating Candy P\'s & Q\'s...', + time = 2500 + }, + animation = { + animDict = 'mp_player_inteat@pnq', + anim = 'loop', + flags = 8, + }, + prop = { + model = "mxc_vend_prop_item_candybar2", + bone = 18905, + coords = vec3(0.14, -0.02, 0.06), + rotation = vec3(65.76, -57.6, 2.8), + }, + replenish = { + type = "Hunger", + replenish = 20 + } + }, + ['medicine_laxmax'] = { + progress = { + label = 'Using Medicine Lax to the Max...', + time = 1500 + }, + animation = { + animDict = 'amb@world_human_drinking@coffee@male@idle_a', + anim = 'idle_a', + flags = 8, + }, + prop = { + model = 'mxc_vend_prop_item_medical1', + bone = 57005, + coords = vec3(0.16, 0.01, -0.07), + rotation = vec3(-64.96, 36.0, -3.0), + }, + replenish = { + type = false + } + }, + ['medicine_alcopatch'] = { + progress = { + label = 'Using Medicine AlcoPatch...', + time = 1500 + }, + animation = { + animDict = 'amb@world_human_drinking@coffee@male@idle_a', + anim = 'idle_a', + flags = 8, + }, + prop = { + model = 'mxc_vend_prop_item_medical2', + bone = 57005, + coords = vec3(0.16, 0.01, -0.07), + rotation = vec3(-64.96, 36.0, -3.0), + }, + replenish = { + type = false + } + }, + ['medicine_mollis'] = { + progress = { + label = 'Using Medicine Mollis...', + time = 1500 + }, + animation = { + animDict = 'amb@world_human_drinking@coffee@male@idle_a', + anim = 'idle_a', + flags = 8, + }, + prop = { + model = 'mxc_vend_prop_item_medical3', + bone = 57005, + coords = vec3(0.16, 0.01, -0.07), + rotation = vec3(-64.96, 36.0, -3.0), + }, + replenish = { + type = false + } + }, + ['medicine_betta'] = { + progress = { + label = 'Using Medicine Betta...', + time = 1500 + }, + animation = { + animDict = 'amb@world_human_drinking@coffee@male@idle_a', + anim = 'idle_a', + flags = 8, + }, + prop = { + model = 'mxc_vend_prop_item_medical4', + bone = 57005, + coords = vec3(0.16, 0.01, -0.07), + rotation = vec3(-64.96, 36.0, -3.0), + }, + replenish = { + type = false + } + }, + ['gum_peppermint'] = { + progress = { + label = 'Chewing Gum Peppermint...', + time = 2500 + }, + animation = { + animDict = 'mp_player_inteat@pnq', + anim = 'loop', + flags = 8, + }, + prop = { + model = "mxc_vend_prop_item_gum1", + bone = 18905, + coords = vec3(0.14, -0.02, 0.06), + rotation = vec3(65.76, -57.6, 2.8), + }, + replenish = { + type = false + } + }, + ['gum_cinnamon'] = { + progress = { + label = 'Chewing Gum Cinnamon...', + time = 2500 + }, + animation = { + animDict = 'mp_player_inteat@pnq', + anim = 'loop', + flags = 8, + }, + prop = { + model = 'mxc_vend_prop_item_gum2', + bone = 18905, + coords = vec3(0.14, -0.02, 0.06), + rotation = vec3(65.76, -57.6, 2.8), + }, + replenish = { + type = false + } + }, + ['gum_spearmint'] = { + progress = { + label = 'Chewing Gum Spearmint...', + time = 2500 + }, + animation = { + animDict = 'mp_player_inteat@pnq', + anim = 'loop', + flags = 8, + }, + prop = { + model = 'mxc_vend_prop_item_gum3', + bone = 18905, + coords = vec3(0.14, -0.02, 0.06), + rotation = vec3(65.76, -57.6, 2.8), + }, + replenish = { + type = false + } + }, + ['bottle_cola'] = { + progress = { + label = 'Drinking Cola...', + time = 2500 + }, + animation = { + animDict = 'mp_player_intdrink', + anim = 'loop_bottle', + flags = 8, + }, + prop = { + model = 'mxc_vend_prop_item_bottle1', + bone = 18905, + coords = vec3(0.12, -0.03, 0.03), + rotation = vec3(-98.4, 0.0, -15.0), + }, + replenish = { + type = 'Thirst', + replenish = 30 + } + }, + ['bottle_junk'] = { + progress = { + label = 'Drinking Junk...', + time = 2500 + }, + animation = { + animDict = 'mp_player_intdrink', + anim = 'loop_bottle', + flags = 8, + }, + prop = { + model = 'mxc_vend_prop_item_bottle2', + bone = 18905, + coords = vec3(0.12, -0.03, 0.03), + rotation = vec3(-98.4, 0.0, -15.0), + }, + replenish = { + type = 'Thirst', + replenish = 30 + } + }, + ['bottle_orang'] = { + progress = { + label = 'Drinking Orang Tang...', + time = 2500 + }, + animation = { + animDict = 'mp_player_intdrink', + anim = 'loop_bottle', + flags = 8, + }, + prop = { + model = 'mxc_vend_prop_item_bottle3', + bone = 18905, + coords = vec3(0.12, -0.03, 0.03), + rotation = vec3(-98.4, 0.0, -15.0), + }, + replenish = { + type = 'Thirst', + replenish = 30 + } + }, + ['bottle_tonic'] = { + progress = { + label = 'Drinking Tonic...', + time = 2500 + }, + animation = { + animDict = 'mp_player_intdrink', + anim = 'loop_bottle', + flags = 8, + }, + prop = { + model = 'mxc_vend_prop_item_bottle4', + bone = 18905, + coords = vec3(0.12, -0.03, 0.03), + rotation = vec3(-98.4, 0.0, -15.0), + }, + replenish = { + type = 'Thirst', + replenish = 30 + } + }, + ['bottle_water'] = { + progress = { + label = 'Drinking Water...', + time = 2500 + }, + animation = { + animDict = 'mp_player_intdrink', + anim = 'loop_bottle', + flags = 8, + }, + prop = { + model = 'mxc_vend_prop_item_bottle5', + bone = 18905, + coords = vec3(0.12, -0.03, 0.03), + rotation = vec3(-98.4, 0.0, -15.0), + }, + replenish = { + type = 'Thirst', + replenish = 30 + } + }, + ['bottle_sprunk'] = { + progress = { + label = 'Drinking Sprunk...', + time = 2500 + }, + animation = { + animDict = 'mp_player_intdrink', + anim = 'loop_bottle', + flags = 8, + }, + prop = { + model = 'mxc_vend_prop_item_bottle6', + bone = 18905, + coords = vec3(0.12, -0.03, 0.03), + rotation = vec3(-98.4, 0.0, -15.0), + }, + replenish = { + type = 'Thirst', + replenish = 30 + } + }, + + ['can_cola'] = { + progress = { + label = 'Drinking Cola Can...', + time = 2500 + }, + animation = { + animDict = 'amb@world_human_drinking@coffee@male@idle_a', + anim = 'idle_a', + flags = 8, + }, + prop = { + model = 'mxc_vend_prop_item_cansoda1', + bone = 57005, + coords = vec3(0.14, 0.01, -0.04), + rotation = vec3(-64.96, 36.0, -3.0), + }, + replenish = { + type = 'Thirst', + replenish = 30 + } + }, + ['can_orang'] = { + progress = { + label = 'Drinking Orang Tang Can...', + time = 2500 + }, + animation = { + animDict = 'amb@world_human_drinking@coffee@male@idle_a', + anim = 'idle_a', + flags = 8, + }, + prop = { + model = 'mxc_vend_prop_item_cansoda2', + bone = 57005, + coords = vec3(0.14, 0.01, -0.04), + rotation = vec3(-64.96, 36.0, -3.0), + }, + replenish = { + type = 'Thirst', + replenish = 30 + } + }, + ['can_junk'] = { + progress = { + label = 'Drinking Junk Can...', + time = 2500 + }, + animation = { + animDict = 'amb@world_human_drinking@coffee@male@idle_a', + anim = 'idle_a', + flags = 8, + }, + prop = { + model = 'mxc_vend_prop_item_cansoda3', + bone = 57005, + coords = vec3(0.14, 0.01, -0.04), + rotation = vec3(-64.96, 36.0, -3.0), + }, + replenish = { + type = 'Thirst', + replenish = 30 + } + }, + ['can_sprunk'] = { + progress = { + label = 'Drinking Sprunk Can...', + time = 2500 + }, + animation = { + animDict = 'amb@world_human_drinking@coffee@male@idle_a', + anim = 'idle_a', + flags = 8, + }, + prop = { + model = 'mxc_vend_prop_item_cansoda4', + bone = 57005, + coords = vec3(0.14, 0.01, -0.04), + rotation = vec3(-64.96, 36.0, -3.0), + }, + replenish = { + type = 'Thirst', + replenish = 30 + } + }, + ['can_logger'] = { + progress = { + label = 'Drinking Logger Can...', + time = 2500 + }, + animation = { + animDict = 'amb@world_human_drinking@coffee@male@idle_a', + anim = 'idle_a', + flags = 8, + }, + prop = { + model = 'mxc_vend_prop_item_canbeer1', + bone = 57005, + coords = vec3(0.14, 0.01, -0.04), + rotation = vec3(-64.96, 36.0, -3.0), + }, + replenish = { + type = 'Thirst', + replenish = 30 + } + }, + ['can_blarneys'] = { + progress = { + label = 'Drinking Blarneys Can...', + time = 2500 + }, + animation = { + animDict = 'amb@world_human_drinking@coffee@male@idle_a', + anim = 'idle_a', + flags = 8, + }, + prop = { + model = 'mxc_vend_prop_item_canbeer2', + bone = 57005, + coords = vec3(0.14, 0.01, -0.04), + rotation = vec3(-64.96, 36.0, -3.0), + }, + replenish = { + type = 'Thirst', + replenish = 30 + } + }, + ['can_hoplivion'] = { + progress = { + label = 'Drinking Hoplivion Can...', + time = 2500 + }, + animation = { + animDict = 'amb@world_human_drinking@coffee@male@idle_a', + anim = 'idle_a', + flags = 8, + }, + prop = { + model = 'mxc_vend_prop_item_canbeer3', + bone = 57005, + coords = vec3(0.14, 0.01, -0.04), + rotation = vec3(-64.96, 36.0, -3.0), + }, + replenish = { + type = 'Thirst', + replenish = 30 + } + }, + ['can_cerbeza'] = { + progress = { + label = 'Drinking Cerbeza Can...', + time = 2500 + }, + animation = { + animDict = 'amb@world_human_drinking@coffee@male@idle_a', + anim = 'idle_a', + flags = 8, + }, + prop = { + model = 'mxc_vend_prop_item_canbeer4', + bone = 57005, + coords = vec3(0.14, 0.01, -0.04), + rotation = vec3(-64.96, 36.0, -3.0), + }, + replenish = { + type = 'Thirst', + replenish = 30 + } + }, + + ["cigs_redwood"] = { + progress = { + label = "Smoking...", + time = 10000 + }, + animation = { + animDict = 'amb@world_human_aa_smoke@male@idle_a', + anim = "idle_c", + flags = 1048592 + }, + prop = { + model = "prop_cs_ciggy_01b", + bone = 57005, + coords = vec3(0.18, 0.02, 0.02), + rotation = vec3(0, 103.42, 0) + } + }, + ["cigs_redwood2"] = { + progress = { + label = "Smoking...", + time = 10000 + }, + animation = { + animDict = 'amb@world_human_aa_smoke@male@idle_a', + anim = "idle_c", + flags = 1048592 + }, + prop = { + model = "prop_cs_ciggy_01b", + bone = 57005, + coords = vec3(0.18, 0.02, 0.02), + rotation = vec3(0, 103.42, 0) + } + }, + ["cigs_debonaireb"] = { + progress = { + label = "Smoking...", + time = 10000 + }, + animation = { + animDict = 'amb@world_human_aa_smoke@male@idle_a', + anim = "idle_c", + flags = 1048592 + }, + prop = { + model = "prop_cs_ciggy_01b", + bone = 57005, + coords = vec3(0.18, 0.02, 0.02), + rotation = vec3(0, 103.42, 0) + } + }, + ["cigs_debonaireg"] = { + progress = { + label = "Smoking...", + time = 10000 + }, + animation = { + animDict = 'amb@world_human_aa_smoke@male@idle_a', + anim = "idle_c", + flags = 1048592 + }, + prop = { + model = "prop_cs_ciggy_01b", + bone = 57005, + coords = vec3(0.18, 0.02, 0.02), + rotation = vec3(0, 103.42, 0) + } + }, + ["cigs_cardiaque"] = { + progress = { + label = "Smoking...", + time = 10000 + }, + animation = { + animDict = 'amb@world_human_aa_smoke@male@idle_a', + anim = "idle_c", + flags = 1048592 + }, + prop = { + model = "prop_cs_ciggy_01b", + bone = 57005, + coords = vec3(0.18, 0.02, 0.02), + rotation = vec3(0, 103.42, 0) + } + }, + ["cigs_69brand"] = { + progress = { + label = "Smoking...", + time = 10000 + }, + animation = { + animDict = 'amb@world_human_aa_smoke@male@idle_a', + anim = "idle_c", + flags = 1048592 + }, + prop = { + model = "prop_cs_ciggy_01b", + bone = 57005, + coords = vec3(0.18, 0.02, 0.02), + rotation = vec3(0, 103.42, 0) + } + }, + ["cigs_cok"] = { + progress = { + label = "Smoking...", + time = 10000 + }, + animation = { + animDict = 'amb@world_human_aa_smoke@male@idle_a', + anim = "idle_c", + flags = 1048592 + }, + prop = { + model = "prop_cs_ciggy_01b", + bone = 57005, + coords = vec3(0.18, 0.02, 0.02), + rotation = vec3(0, 103.42, 0) + } + }, + ["cigs_estancia"] = { + progress = { + label = "Smoking...", + time = 10000 + }, + animation = { + animDict = 'amb@world_human_aa_smoke@male@idle_a', + anim = "idle_c", + flags = 1048592 + }, + prop = { + model = "prop_cs_ciggy_01b", + bone = 57005, + coords = vec3(0.18, 0.02, 0.02), + rotation = vec3(0, 103.42, 0) + } + }, + } +} \ No newline at end of file diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/audiodirectory/vending.awc b/resources/[inventory]/cfx-mxc-vendingmachines/audiodirectory/vending.awc new file mode 100644 index 000000000..697f5447f Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/audiodirectory/vending.awc differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/audiodirectory/vending_sounds.dat54.rel b/resources/[inventory]/cfx-mxc-vendingmachines/audiodirectory/vending_sounds.dat54.rel new file mode 100644 index 000000000..231a74338 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/audiodirectory/vending_sounds.dat54.rel differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/client/_server.lua b/resources/[inventory]/cfx-mxc-vendingmachines/client/_server.lua new file mode 100644 index 000000000..6e4bfde34 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/client/_server.lua differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/client/functions.lua b/resources/[inventory]/cfx-mxc-vendingmachines/client/functions.lua new file mode 100644 index 000000000..590ce3fbd Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/client/functions.lua differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/client/internal_api.lua b/resources/[inventory]/cfx-mxc-vendingmachines/client/internal_api.lua new file mode 100644 index 000000000..41089a69a Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/client/internal_api.lua differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/client/main.lua b/resources/[inventory]/cfx-mxc-vendingmachines/client/main.lua new file mode 100644 index 000000000..c7de6757d Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/client/main.lua differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/client/modules/audio.lua b/resources/[inventory]/cfx-mxc-vendingmachines/client/modules/audio.lua new file mode 100644 index 000000000..6b93d0055 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/client/modules/audio.lua differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/client/modules/localazy.lua b/resources/[inventory]/cfx-mxc-vendingmachines/client/modules/localazy.lua new file mode 100644 index 000000000..32d4da225 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/client/modules/localazy.lua differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/client/modules/status.lua b/resources/[inventory]/cfx-mxc-vendingmachines/client/modules/status.lua new file mode 100644 index 000000000..bfd83debe Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/client/modules/status.lua differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/client/vendings/cigarettes.lua b/resources/[inventory]/cfx-mxc-vendingmachines/client/vendings/cigarettes.lua new file mode 100644 index 000000000..0c44cba5a Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/client/vendings/cigarettes.lua differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/client/vendings/coffee.lua b/resources/[inventory]/cfx-mxc-vendingmachines/client/vendings/coffee.lua new file mode 100644 index 000000000..f92c7f026 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/client/vendings/coffee.lua differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/client/vendings/snack.lua b/resources/[inventory]/cfx-mxc-vendingmachines/client/vendings/snack.lua new file mode 100644 index 000000000..8c235ebf8 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/client/vendings/snack.lua differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/client/vendings/soda.lua b/resources/[inventory]/cfx-mxc-vendingmachines/client/vendings/soda.lua new file mode 100644 index 000000000..a849032eb Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/client/vendings/soda.lua differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/client/vendings/water.lua b/resources/[inventory]/cfx-mxc-vendingmachines/client/vendings/water.lua new file mode 100644 index 000000000..acce0d1fb Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/client/vendings/water.lua differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/config.lua b/resources/[inventory]/cfx-mxc-vendingmachines/config.lua new file mode 100644 index 000000000..9c2e3400e --- /dev/null +++ b/resources/[inventory]/cfx-mxc-vendingmachines/config.lua @@ -0,0 +1,835 @@ +Config = {} +Config.Debug = false + +Config.RenderDistance = 30.0 +Config.DefaultInteractionDistance = 2.0 -- If a vending does not provide a distance this will be used as the default + +-- Help us translate! +-- You can contribute by improving existing translations or adding translations for new languages +-- https://localazy.com/p/mxc +Config.Language = "en" + +Config.NoFramework = false -- if set to true, ignore framework dependencies; use this parameter if no framework is used (obviously the items and actual usability are not implemented without any framework) +Config.UseOxLibMenuIfFound = true -- set to false if you don't want to use OxLib if found +Config.Blips = true -- set to false if you don't want to see blips on the minimap +Config.Sounds = true -- by default require xSound, you can edit it in config_functions.lua + +Config.Target = false -- set to true if you want to use ox-target or qb-target as interaction +Config.CustomTargetResource = "" -- if you have a custom target resource name set it here +Config.AzertyKeyboard = false -- set to true if you use azerty keyboard (default qwerty) + +-- Uncomment only if you want to ovverride the default translations provided by localazy +Config.Translations = { + -- %s will be replaced with selected_product_price if a product is selected + --["vending_menu_helper"] = "Please enter the code of a product.\n%s\n~INPUT_SELECT_WEAPON~ Switch camera\n~INPUT_CELLPHONE_SELECT~ Confirm selection\n~INPUT_CELLPHONE_CANCEL~ Exit", + --["selected_product_price"] = "%s - ~g~%s$~w~ \n", + --["invalid_product"] = "~r~Invalid product.~w~", + + --["selection_not_valid"] = "~r~The code that you entered is not valid, please enter a valid stand code.", + --["not_enough_money"] = "~r~You don't have enough money to buy this product.", + + --["already_used"] = "~r~The vending machine is being used by another player.", + + --["ox_menu_header"] = "Vending Machine", + --["ox_menu_description"] = "Select product", + --["ox_menu_currency"] = "$" + + --["normal_int_vanilla"] = "Press {E} to buy something from the vending machine", + --["coffee_int_vanilla"] = "Press {E} to get a coffee from the vending machine", + --["water_int_vanilla"] = "Press {E} to get a water cup", + --["cigs_int_vanilla"] = "Press {E} to buy a pack of cigarettes", + + --["normal_int_target"] = "Buy something", + --["coffee_int_target"] = "Get a coffee", + --["water_int_target"] = "Refresh your mouth" +} + +-- These "objects" are used by vending machines for providing human-readable names in menus, models for items, and handling payment. + +-- item_name = { +-- price = number (price of the item for payment) +-- label = string (name displayed in menus, e.g., in the ox lib menu) +-- model = string (model used to populate vending machines capable of displaying items; see snack or soda for details) +-- } + +-- !! "item_name" Should match the item in your inventory exactly !! + +Config.Items = { + --#region coffee + coffee = { -- Used only for payment and to give the item + price = 4 + }, + --#endregion + + --#region water + water = { -- Used only for payment and to give the item + price = 0, + ignoreGive = true + }, + --#endregion + + --#region snack + chips_cheese = { + label = "Chips: Big Cheese", + model = "mxc_vend_prop_item_chips1", + price = 100 + }, + chips_paprika = { + label = "Chips: Paprika", + model = "mxc_vend_prop_item_chips2", + price = 100 + }, + chips_ribs = { + label = "Chips: Sticky Ribs", + model = "mxc_vend_prop_item_chips3", + price = 100 + }, + chips_salt = { + label = "Chips: Salt & Sauce", + model = "mxc_vend_prop_item_chips4", + price = 100 + }, + chips_supersalt = { + label = "Chips: Super Salt", + model = "mxc_vend_prop_item_chips5", + price = 100 + }, + chips_habanero = { + label = "Chips: Habanero", + model = "mxc_vend_prop_item_chips6", + price = 100 + }, + chocolate_meteorite = { + label = "Chocolate: Meteorite", + model = "mxc_vend_prop_item_chocolate1", + price = 100 + }, + chocolate_captain = { + label = "Chocolate: Captain's Log", + model = "mxc_vend_prop_item_chocolate2", + price = 100 + }, + condom = { + label = "Condom: Soth Lags", + model = "mxc_vend_prop_item_preservatives", + price = 100, + zoffset = -0.02 + }, + candy_zebra = { + label = "Candy: Zebrabar", + model = "mxc_vend_prop_item_candybar1", + price = 100 + }, + candy_psqs = { + label = "Candy: P's & Q's", + model = "mxc_vend_prop_item_candybar2", + price = 100 + }, + medicine_laxmax = { + label = "Medicine: Lax to the Max", + model = "mxc_vend_prop_item_medical1", + price = 100 + }, + medicine_alcopatch = { + label = "Medicine: AlcoPatch", + model = "mxc_vend_prop_item_medical2", + price = 100 + }, + medicine_mollis = { + label = "Medicine: Mollis", + model = "mxc_vend_prop_item_medical3", + price = 100 + }, + medicine_betta = { + label = "Medicine: Betta", + model = "mxc_vend_prop_item_medical4", + price = 100 + }, + gum_peppermint = { + label = "Gum: Peppermint", + model = "mxc_vend_prop_item_gum1", + price = 100 + }, + gum_cinnamon = { + label = "Gum: Cinnamon", + model = "mxc_vend_prop_item_gum2", + price = 100 + }, + gum_spearmint = { + label = "Gum: Spearmint", + model = "mxc_vend_prop_item_gum3", + price = 100 + }, + --#endregion + --#region soda + ecola_flasche = { + label = "E-Cola", + model = "mxc_vend_prop_item_bottle1", + price = 6 + }, + ecola_flasche = { + label = "E-Cola", + model = "mxc_vend_prop_item_bottle1", + price = 6 + }, + bottle_junk = { + label = "Junk", + model = "mxc_vend_prop_item_bottle2", + price = 6 + }, + orange_o_tang_flasche = { + label = "Orang Tang", + model = "mxc_vend_prop_item_bottle3", + price = 6 + }, + orange_o_tang_zero_flaschee = { + label = "Orang Tang Zero", + model = "mxc_vend_prop_item_bottle3", + price = 6 + }, + bottle_tonic = { + label = "Tonic", + model = "mxc_vend_prop_item_bottle4", + price = 6 + }, + water_bottle = { + label = "Wasser", + model = "mxc_vend_prop_item_bottle5", + price = 6 + }, + bottle_sprunk = { + label = "Sprunk", + model = "mxc_vend_prop_item_bottle6", + price = 6 + }, + ecola_dose = { + label = "E-Cola Dose", + model = "mxc_vend_prop_item_cansoda1", + price = 4 + }, + orange_o_tang_dose = { + label = "Orange O Tang Dose", + model = "mxc_vend_prop_item_cansoda2", + price = 4 + }, + orange_o_tang_zero_dose = { + label = "Orange O Tang Dose Zero", + model = "mxc_vend_prop_item_cansoda2", + price = 4 + }, + junk_energy = { + label = "Junk Dose", + model = "mxc_vend_prop_item_cansoda3", + price = 4 + }, + sprunk_dose = { + label = "Sprunk Dose", + model = "mxc_vend_prop_item_cansoda4", + price = 4 + }, + sprunk_zero_dose = { + label = "Sprunk Dose Zero", + model = "mxc_vend_prop_item_cansoda4", + price = 4 + }, + can_logger = { + label = "Logger Can", + model = "mxc_vend_prop_item_canbeer1", + price = 100 + }, + can_blarneys = { + label = "Blarneys Can", + model = "mxc_vend_prop_item_canbeer2", + price = 100 + }, + can_hoplivion = { + label = "Hoplivion Can", + model = "mxc_vend_prop_item_canbeer3", + price = 100 + }, + can_cerbeza = { + label = "Cerbeza Can", + model = "mxc_vend_prop_item_canbeer4", + price = 100 + }, + --#endregion + --#region svapo + sand_evapebox = { + label = "E-Vape Box", + model = "mxc_smoking_prop_evape_2a", + price = 100 + }, + grey_evapebox = { + label = "E-Vape 2 Box", + model = "mxc_smoking_prop_evape_2f", + price = 100 + }, + pink_smokebox = { + label = "Smoke Box", + model = "mxc_smoking_prop_smoke_1d", + price = 100 + }, + red_smokebox = { + label = "Vaporglow Box", + model = "mxc_smoking_prop_smoke_1b", + price = 100 + }, + black_notankatomizer = { + label = "Black NO-Tank Atomizer", + model = "mxc_smoking_prop_atom_3c", + price = 100 + }, + grey_shortatomizer = { + label = "Short Grey Atomizer", + model = "mxc_smoking_prop_atom_2f", + price = 100 + }, + pink_shortatomizer = { + label = "Short Pink Atomizer", + model = "mxc_smoking_prop_atom_2e", + price = 100 + }, + red_shortatomizer = { + label = "Short Red Atomizer", + model = "mxc_smoking_prop_atom_2b", + price = 100 + }, + orange_stickevape = { + label = "Orange Stick E-Vape", + model = "mxc_smoking_prop_evape_1c", + price = 100 + }, + yellow_stickevape = { + label = "Yellow Stick E-Vape", + model = "mxc_smoking_prop_evape_1c", + price = 100 + }, + blue_stickevape = { + label = "Blue Stick E-Vape", + model = "mxc_smoking_prop_evape_1c", + price = 100 + }, + green_stickevape = { + label = "Green Stick E-Vape", + model = "mxc_smoking_prop_evape_1c", + price = 100 + }, + black_vaporglowvape = { + label = "Black VaporGlow", + model = "mxc_smoking_prop_vaporglow_1f", + price = 100 + }, + lightgrey_vaporglowvape = { + label = "Light Grey VaporGlow", + model = "mxc_smoking_prop_vaporglow_1e", + price = 100 + }, + red_vaporglowvape = { + label = "Red VaporGlow", + model = "mxc_smoking_prop_vaporglow_1b", + price = 100 + }, + pink_vaporglowvape = { + label = "Pink VaporGlow", + model = "mxc_smoking_prop_vaporglow_1d", + price = 100 + }, + orange_sumovape = { + label = "Orange Sumo", + model = "mxc_smoking_prop_sumo_1g", + price = 100 + }, + green_sumovape = { + label = "Green Sumo", + model = "mxc_smoking_prop_sumo_1c", + price = 100 + }, + lightgrey_sumovape = { + label = "Light Grey Sumo", + model = "mxc_smoking_prop_sumo_1e", + price = 100 + }, + blue_sumovape = { + label = "Blue Sumo", + model = "mxc_smoking_prop_sumo_1a", + price = 100 + }, + --#endregion + + cigs_redwood = { + label = "Cigarettes: Redwood", + model = "v_ret_ml_cigs", + price = 100 + }, + cigs_redwood2 = { + label = "Cigarettes: Redwood2", + model = "v_ret_ml_cigs2", + price = 100 + }, + cigs_debonaireb = { + label = "Cigarettes: Debonaire Blue", + model = "v_ret_ml_cigs3", + price = 100 + }, + cigs_debonaireg = { + label = "Cigarettes: Debonaire Green", + model = "v_ret_ml_cigs4", + price = 100 + }, + cigs_cardiaque = { + label = "Cigarettes: Cardiaque", + model = "v_ret_ml_cigs5", + price = 100 + }, + cigs_69brand = { + label = "Cigarettes: 69Brand", + model = "v_ret_ml_cigs6", + price = 100 + }, + cigs_cok = { + label = "Cigarettes: CoK", + model = "mxc_vend_prop_item_cigs1", + price = 100 + }, + cigs_estancia = { + label = "Cigars: Estancia", + model = "prop_cigar_pack_01", + price = 100 + } +} + + +-- Here you can enter model and coordinates to spawn new vending machines around the map, the last value of the vector is the heading +Config.PlaceVendings = { + prop_vend_snak_01 = { + vec4(459.8792, -992.0368, 23.9149, 93.7301), + }, + mxc_vend_prop_svapo_01 = { + vec4(-497.4405, 277.5, 82.3123, 353.80) + }, +} + +-- Here you can customize the exhibition of vending machines near certain coordinates based on the name of vending +Config.OverrideExhibition = { + { + name = "snack", -- name of vending (based on Config.Vendings) + coords = vec3(459.8792, -992.0368, 23.9149), + + exhibition = { + a1 = "chips_ribs", + a2 = "chips_paprika", + a3 = "chips_paprika", + a4 = "chips_paprika", + b1 = "chips_paprika", + b2 = "chips_paprika", + b3 = "chips_paprika", + b4 = "chips_ribs", + c1 = "chips_paprika", + c2 = "chips_paprika", + c3 = "chips_paprika", + c4 = "chips_paprika", + d1 = "chips_paprika", + d2 = "chips_paprika", + d3 = "chips_paprika", + d4 = "chips_paprika", + e1 = "chips_paprika", + e2 = "chips_paprika", + e3 = "chips_paprika", + e4 = "chips_paprika", + }, + }, +} + +-- Settings for individual vending machines, if you want to disable the blip for an individual vending machine simply delete that entire section. +Config.Vendings = { + ["snack"] = { + models = {`prop_vend_snak_01`}, + interaction = { + vanilla = { + notify = "normal_int_vanilla", + distance = 0.35 + }, + target = { + label = "normal_int_target", + icon = "fa-solid fa-drumstick-bite", + distance = 3.0 + } + }, + + blip = { + sprite = 772, + color = 0, + size = 0.5 + }, + + -- This section is for choosing which items (from the Config.Items list) to show for each individual stand. + -- You can follow the visual tags on the in-game model to figure out where you are putting things + exhibition = { + a1 = "chips_cheese", + a2 = "chips_paprika", + a3 = "chips_ribs", + a4 = "chips_salt", + b1 = "chips_supersalt", + b2 = "chips_habanero", + b3 = "chips_cheese", + b4 = "chips_paprika", + c1 = "chocolate_meteorite", + c2 = "chocolate_captain", + c3 = "condom", + c4 = "candy_zebra", + d1 = "candy_psqs", + d2 = "gum_peppermint", + d3 = "gum_cinnamon", + d4 = "gum_spearmint", + e1 = "medicine_laxmax", + e2 = "medicine_alcopatch", + e3 = "medicine_mollis", + e4 = "medicine_betta", + }, + + --#region Advanced + Near = function(self, obj, dbId) + PopulateSnackVending(self, obj) + end, + Far = function(self, obj, dbId) + ClearSnackVending(self, obj) + end, + + OnInteraction = function(self, obj, dbId) + local selection = nil + + -- OxLib input dialog + if lib and Config.UseOxLibMenuIfFound then + selection = DisplayOxLibMenu(self, obj) + else + selection = DisplayInteractiveMenu(self, obj) + end + + if selection then + Config.Functions.TryToBuy(self, selection, dbId, function() + SelectItemSnackVending(self, obj, selection) + end) + else + Server.SetVendingUsed(dbId, false) + end + end + --#endregion + }, + ["soda"] = { + models = {`prop_vend_soda_01`}, + interaction = { + vanilla = { + notify = "normal_int_vanilla", + distance = 1.0 + }, + target = { + label = "normal_int_target", + icon = "fa-solid fa-wine-bottle", + distance = 3.0 + } + }, + + blip = { + sprite = 827, + color = 1, + size = 0.5 + }, + + -- This section is for choosing which items (from the Config.Items list) to show for each individual stand. + -- You can follow the visual tags on the in-game model to figure out where you are putting things + exhibition = { + a1 = "bottle_cola", + a2 = "bottle_cola", + a3 = "bottle_junk", + a4 = "bottle_junk", + a5 = "bottle_tonic", + a6 = "bottle_tonic", + + b1 = "bottle_orang", + b2 = "bottle_orang", + b3 = "bottle_sprunk", + b4 = "bottle_sprunk", + b5 = "bottle_water", + b6 = "bottle_water", + + c1 = "can_cola", + c2 = "can_cola", + c3 = "can_orang", + c4 = "can_orang", + c5 = "can_sprunk", + c6 = "can_junk", + + d1 = "can_logger", + d2 = "can_logger", + d3 = "can_blarneys", + d4 = "can_blarneys", + d5 = "can_hoplivion", + d6 = "can_cerbeza", + }, + + --#region Advanced + Near = function(self, obj, dbId) + PopulateSodaVending(self, obj, "mxc_vend_prop_soda_shelf") + end, + Far = function(self, obj, dbId) + ClearSodaVending(self, obj) + end, + + OnInteraction = function(self, obj, dbId) + local selection = nil + + -- OxLib input dialog + if lib and Config.UseOxLibMenuIfFound then + selection = DisplayOxLibMenu(self, obj) + else + selection = DisplayInteractiveMenu(self, obj) + end + + if selection then + Config.Functions.TryToBuy(self, selection, dbId, function() + SelectItemSodaVending(self, obj, selection) + end) + else + Server.SetVendingUsed(dbId, false) + end + end + --#endregion + }, + ["coffee"] = { + item = "coffee", -- Vending machines without exhibition can set an item to be sold here (as always from Config.Items) + models = {`prop_vend_coffe_01`}, + interaction = { + vanilla = { + notify = "coffee_int_vanilla", + distance = 1.1 + }, + target = { + label = "coffee_int_target", + icon = "fa-solid fa-mug-hot", + distance = 3.0 + } + }, + + blip = { + sprite = 89, + color = 31, + size = 0.5 + }, + + Far = function(self, obj, dbId) + ClearCoffeeVending(self, obj) + end, + + --#region Advanced + OnInteraction = function(self, obj, dbId) + Config.Functions.TryToBuy(self, self.item, dbId, function() + StartCoffeeVending(self, obj, true) + end) + end + --#endregion + }, + ["water"] = { + item = "water", -- Vending machines without exhibition can set an item to be sold here (as always from Config.Items) + models = {`prop_watercooler`}, + interaction = { + vanilla = { + notify = "water_int_vanilla", + distance = 1.2 + }, + target = { + label = "water_int_target", + icon = "fa-solid fa-glass-water", + distance = 3.0 + } + }, + + blip = { + sprite = 499, + color = 3, + size = 0.5 + }, + + Far = function(self, obj, dbId) + ClearWaterVending(self, obj) + end, + + --#region Advanced + OnInteraction = function(self, obj, dbId) + Config.Functions.TryToBuy(self, self.item, dbId, function() + StartWaterVending(self, obj) + Status.UpdatePlayerStatus({["thirst"] = 20}) + end) + end + --#endregion + }, + ["cigarettes"] = { + models = {`prop_vend_fags_01`}, + interaction = { + vanilla = { + notify = "cigs_int_vanilla", + distance = 0.4 + }, + target = { + label = "normal_int_target", + icon = "fa-solid fa-smoking", + distance = 3.0 + } + }, + + -- For this vending, this will only be used for the menu, it will not create any model + exhibition = { + a1 = "cigs_redwood", + a2 = "cigs_redwood2", + a3 = "cigs_estancia", + a4 = "cigs_69brand", + a5 = "cigs_debonaireb", + a6 = "cigs_debonaireg", + b1 = "cigs_cardiaque", + b2 = "cigs_cok", + }, + + blip = { + sprite = 205, + color = 22, + size = 0.5 + }, + + --#region Advanced + OnInteraction = function(self, obj, dbId) + local selection = nil + + -- OxLib input dialog + if lib and Config.UseOxLibMenuIfFound then + selection = DisplayOxLibMenu(self, obj) + else + selection = DisplayInteractiveMenu(self, obj) + end + + if selection then + Config.Functions.TryToBuy(self, selection, dbId, function() + SelectItemCigarettesVending(self, obj, selection) + end) + else + Server.SetVendingUsed(dbId, false) + end + end + --#endregion + }, + ["soda_2"] = { + parent = "soda", -- Vending machines can set a parent vending machine, this allows you to inherit all the other vending settings with the ability to override them + models = {`prop_vend_soda_02`}, + interaction = { + vanilla = { + notify = "normal_int_vanilla", + distance = 1.0 + }, + target = { + label = "normal_int_target", + icon = "fa-solid fa-wine-bottle", + distance = 3.0 + } + }, + + blip = { + sprite = 827, + color = 2, + size = 0.5 + }, + + -- This section is for choosing which items (from the Config.Items list) to show for each individual stand. + -- You can follow the visual tags on the in-game model to figure out where you are putting things + exhibition = { + a1 = "ecola_flasche", + a2 = "ecola_flasche", + a3 = "sprunk_flasche", + a4 = "sprunk_flasche", + a5 = "orange_o_tang_flasche", + a6 = "orange_o_tang_flasche", + + b1 = "ecola_zero_flasche", + b2 = "orange_o_tang_zero_flasche", + b3 = "sprunk_zero_flasche", + b4 = "water_bottle", + b5 = "water_bottle", + b6 = "water_bottle", + + c1 = "sprunk_dose", + c2 = "ecola_dose", + c3 = "orange_o_tang_dose", + c4 = "ecola_zero_dose", + c5 = "sprunk_zero_dose", + c6 = "orange_o_tang_zero_dose", + + d1 = "can_logger", + d2 = "can_logger", + d3 = "can_blarneys", + d4 = "can_blarneys", + d5 = "can_hoplivion", + d6 = "can_cerbeza", + }, + + --#region Advanced + Near = function(self, obj, dbId) + PopulateSodaVending(self, obj, "mxc_vend_prop_soda_shelf2") + end, + Far = function(self, obj, dbId) + ClearSodaVending(self, obj) + end, + + OnInteraction = function(self, obj, dbId) + local selection = nil + + -- OxLib input dialog + if lib and Config.UseOxLibMenuIfFound then + selection = DisplayOxLibMenu(self, obj) + else + selection = DisplayInteractiveMenu(self, obj) + end + + if selection then + Config.Functions.TryToBuy(self, selection, dbId, function() + SelectItemSodaVending(self, obj, selection) + end) + else + Server.SetVendingUsed(dbId, false) + end + end + --#endregion + }, + + -- Require cfx-mxc-smoking (https://store.markz3d.com/checkout/packages/add/6245837/single) + + ["svapo"] = { + parent = "snack", -- Vending machines can set a parent vending machine, this allows you to inherit all the other vending settings with the ability to override them + models = {`mxc_vend_prop_svapo_01`}, + + blip = { + sprite = 772, + color = 0, + size = 0.5 + }, + + exhibition = { + a1 = "sand_evapebox", + a2 = "grey_evapebox", + a3 = "pink_smokebox", + a4 = "red_smokebox", + b1 = "black_notankatomizer", + b2 = "grey_shortatomizer", + b3 = "pink_shortatomizer", + b4 = "red_shortatomizer", + c1 = "orange_stickevape", + c2 = "yellow_stickevape", + c3 = "blue_stickevape", + c4 = "green_stickevape", + d1 = "black_vaporglowvape", + d2 = "lightgrey_vaporglowvape", + d3 = "red_vaporglowvape", + d4 = "pink_vaporglowvape", + e1 = "orange_sumovape", + e2 = "green_sumovape", + e3 = "lightgrey_sumovape", + e4 = "blue_sumovape", + }, + }, +} diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/config_functions.lua b/resources/[inventory]/cfx-mxc-vendingmachines/config_functions.lua new file mode 100644 index 000000000..caea33591 --- /dev/null +++ b/resources/[inventory]/cfx-mxc-vendingmachines/config_functions.lua @@ -0,0 +1,58 @@ +Config.Functions = { + --#region Server + StartFramework = function() + if GetResourceState("es_extended") ~= "missing" then + ESX = exports["es_extended"]:getSharedObject() + elseif GetResourceState("qb-core") ~= "missing" then + QBCore = exports["qb-core"]:GetCoreObject() + end + end, + + GiveItem = function(source, itemName, count) + -- https://utility-library.github.io/documentation/server/esx_integration/xplayer/AddItem/ + AddItem(source, itemName, count) + end, + HaveMoney = function(source, type, amount) + if amount == 0 then return true end + + -- https://utility-library.github.io/documentation/server/esx_integration/xplayer/HaveMoney/ + return HaveMoney(source, type, amount) + end, + RemoveMoney = function(source, type, amount) + if amount <= 0 then return end + + -- https://utility-library.github.io/documentation/server/esx_integration/xplayer/RemoveMoney/ + RemoveMoney(source, type, amount) + end, + --#endregion + + + --#region Client + TryToBuy = function(self, selection, dbId, success) + if Server.CanBuySnackFromVending(self.name, selection) then + Server.SetVendingUsed(dbId, true) + success() + Server.SetVendingUsed(dbId, false) + + if not Config.NoFramework then + Server.BuySnackFromVending(self.name, selection) + end + else + ButtonFor(Config.Translations["not_enough_money"], 2000) + Server.SetVendingUsed(dbId, false) + end + end, + + --[[ + TargetAddModel = function(models, options) + + end, + TargetAddLocalEntity = function(entity, options) + + end, + TargetRemoveLocalEntity = function(entity) + + end, + ]] + --#endregion +} \ No newline at end of file diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/dui/assets/DIGITAL.TXT b/resources/[inventory]/cfx-mxc-vendingmachines/dui/assets/DIGITAL.TXT new file mode 100644 index 000000000..7189da592 --- /dev/null +++ b/resources/[inventory]/cfx-mxc-vendingmachines/dui/assets/DIGITAL.TXT @@ -0,0 +1,40 @@ +DS-Font's TrueType Fonts +Font name: DS-Digital (Normal, Bold, Italic, Bold Italic), Version 1.0 +Author: Dusit Supasawat +Web Site: http://ds-font.hypermart.net +Contact me: Dusit Supasawat, 325/38 Suksawat32 Ratburana Bangkok Thailand 10140 +Email address: dusit@mailcity.com + +Thanks for trying! We hope you really enjoy this my typeface. This font is +distributed as shareware. You can use this font for a long time as you want. +After all, when you think this font can be usefulness for you. You can send +me some money, that would be way cool. + +I'm only asking $20 US shareware fee per this typeface for personal use. +And $45 US is the usual amount per this typeface for commercial use. + +Distribution: You are free to distribute this archive so long as this text +file is distributed with the archive, the font file have not been modified, +and it is understood that the font's copyright remains with the original +author (Dusit Supasawat). + +To register send your payment to: + +Dusit Supasawat +325/38 Suksawat32 Ratburana +Bangkok Thailand 10140 + +And fill out something as this order form, and send it in with your payment. + +Font name:_________________________________________ +Your information +Name:______________________________________________ +Address:___________________________________________ +City, State : _____________________________________ +Zip Code:__________________________________________ +Country:___________________________________________ +E-MAIL address:____________________________________ + + +You will receive fonts which you order by Email after registration. These fonts +will be generated for you by specify your name in font information. \ No newline at end of file diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/dui/assets/DS-DIGI.TTF b/resources/[inventory]/cfx-mxc-vendingmachines/dui/assets/DS-DIGI.TTF new file mode 100644 index 000000000..09258773c Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/dui/assets/DS-DIGI.TTF differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/dui/assets/background.png b/resources/[inventory]/cfx-mxc-vendingmachines/dui/assets/background.png new file mode 100644 index 000000000..91267414b Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/dui/assets/background.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/dui/index.html b/resources/[inventory]/cfx-mxc-vendingmachines/dui/index.html new file mode 100644 index 000000000..7b269b295 --- /dev/null +++ b/resources/[inventory]/cfx-mxc-vendingmachines/dui/index.html @@ -0,0 +1,9 @@ + + + + + + +
+ + \ No newline at end of file diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/dui/script.js b/resources/[inventory]/cfx-mxc-vendingmachines/dui/script.js new file mode 100644 index 000000000..26efab744 --- /dev/null +++ b/resources/[inventory]/cfx-mxc-vendingmachines/dui/script.js @@ -0,0 +1,14 @@ +window.onload = function() { + let code = document.getElementsByClassName("text")[0] + + window.addEventListener("message", (e) => { + let {data} = e; + + switch (data.action) { + case "update": + code.innerText = data.code + break + + } + }) +} \ No newline at end of file diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/dui/style.css b/resources/[inventory]/cfx-mxc-vendingmachines/dui/style.css new file mode 100644 index 000000000..613626cf7 --- /dev/null +++ b/resources/[inventory]/cfx-mxc-vendingmachines/dui/style.css @@ -0,0 +1,47 @@ +@font-face { + font-family: "DS-DIGI"; + src: url("assets/DS-DIGI.TTF"); +} + +body { + background: url("assets/background.png"); + background-size: cover; + height: 100vh; + margin: 0; + padding: 0; + overflow: hidden; +} + +.text { + position: absolute; + top: 24px; + left: 125px; + + color: #31ab88; + text-shadow: 0px 0px 2px #31ab88; + + font-family: "DS-DIGI"; + font-size: 18px; + + width: 100%; + height: 43px; + + text-transform: uppercase; + + animation: flash 0.6s infinite; +} + +@keyframes flash { + 0% { + opacity: 1.0; + } + 50% { + opacity: 1.0; + } + 51% { + opacity: 0.2; + } + 100% { + opacity: 0.2; + } +} \ No newline at end of file diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/fxmanifest.lua b/resources/[inventory]/cfx-mxc-vendingmachines/fxmanifest.lua new file mode 100644 index 000000000..674a93282 --- /dev/null +++ b/resources/[inventory]/cfx-mxc-vendingmachines/fxmanifest.lua @@ -0,0 +1,43 @@ +fx_version "cerulean" +game "gta5" +lua54 "yes" + +shared_scripts { + "config.lua", + "config_functions.lua" +} + +client_scripts { + "@utility_lib/client/native.lua", + "client/*.lua", + "client/vendings/*.lua", + "client/modules/*.lua", +} + +server_scripts { + "@utility_lib/server/native.lua", + "server/*.lua", + "server/modules/*.lua" +} + +files { + "dui/**.*", + "audiodirectory/**.*", +} + +escrow_ignore { + "config.lua", + "config_functions.lua", + "[items]/*.lua", + --"[template_prop_sourcecode]/*.ydr" +} + +file 'stream/[default]/*.ytyp' +data_file 'DLC_ITYP_REQUEST' 'stream/[default]/*.ytyp' + +file 'stream/[ytyp]/*.ytyp' +data_file 'DLC_ITYP_REQUEST' 'stream/[ytyp]/*.ytyp' + +data_file 'AUDIO_WAVEPACK' 'audiodirectory' +data_file 'AUDIO_SOUNDDATA' 'audiodirectory/vending_sounds.dat' +dependency '/assetpacks' \ No newline at end of file diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/server/internal_api.lua b/resources/[inventory]/cfx-mxc-vendingmachines/server/internal_api.lua new file mode 100644 index 000000000..5555c2767 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/server/internal_api.lua differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/server/main.lua b/resources/[inventory]/cfx-mxc-vendingmachines/server/main.lua new file mode 100644 index 000000000..4fa554442 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/server/main.lua differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/server/modules/localazy.lua b/resources/[inventory]/cfx-mxc-vendingmachines/server/modules/localazy.lua new file mode 100644 index 000000000..ab690ead2 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/server/modules/localazy.lua differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/server/utility_lib_dependency_checker.lua b/resources/[inventory]/cfx-mxc-vendingmachines/server/utility_lib_dependency_checker.lua new file mode 100644 index 000000000..6c05600ce Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/server/utility_lib_dependency_checker.lua differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[default]/prop_vend_coffe_01.ydr b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[default]/prop_vend_coffe_01.ydr new file mode 100644 index 000000000..34d907fb8 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[default]/prop_vend_coffe_01.ydr differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[default]/prop_vend_fags_01.ydr b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[default]/prop_vend_fags_01.ydr new file mode 100644 index 000000000..83c28ced2 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[default]/prop_vend_fags_01.ydr differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[default]/prop_vend_snak_01.yft b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[default]/prop_vend_snak_01.yft new file mode 100644 index 000000000..d75fb92e7 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[default]/prop_vend_snak_01.yft differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[default]/prop_vend_soda_01.yft b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[default]/prop_vend_soda_01.yft new file mode 100644 index 000000000..c7af82498 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[default]/prop_vend_soda_01.yft differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[default]/prop_vend_soda_02.yft b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[default]/prop_vend_soda_02.yft new file mode 100644 index 000000000..d1b2db499 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[default]/prop_vend_soda_02.yft differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[default]/v_coin_op.ytyp b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[default]/v_coin_op.ytyp new file mode 100644 index 000000000..2ba8fd4d4 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[default]/v_coin_op.ytyp differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_bottle1.ydr b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_bottle1.ydr new file mode 100644 index 000000000..74bfa7413 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_bottle1.ydr differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_bottle2.ydr b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_bottle2.ydr new file mode 100644 index 000000000..40339bf07 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_bottle2.ydr differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_bottle3.ydr b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_bottle3.ydr new file mode 100644 index 000000000..b6fcda832 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_bottle3.ydr differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_bottle4.ydr b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_bottle4.ydr new file mode 100644 index 000000000..b03fef076 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_bottle4.ydr differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_bottle5.ydr b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_bottle5.ydr new file mode 100644 index 000000000..49d255b67 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_bottle5.ydr differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_bottle6.ydr b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_bottle6.ydr new file mode 100644 index 000000000..a04176cab Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_bottle6.ydr differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_canbeer1.ydr b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_canbeer1.ydr new file mode 100644 index 000000000..58a3a0012 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_canbeer1.ydr differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_canbeer2.ydr b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_canbeer2.ydr new file mode 100644 index 000000000..344fc30a3 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_canbeer2.ydr differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_canbeer3.ydr b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_canbeer3.ydr new file mode 100644 index 000000000..d2dea9764 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_canbeer3.ydr differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_canbeer4.ydr b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_canbeer4.ydr new file mode 100644 index 000000000..a31c0d87f Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_canbeer4.ydr differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_candybar1.yft b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_candybar1.yft new file mode 100644 index 000000000..41cf0ade7 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_candybar1.yft differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_candybar2.yft b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_candybar2.yft new file mode 100644 index 000000000..e547bdd25 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_candybar2.yft differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_cansoda1.ydr b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_cansoda1.ydr new file mode 100644 index 000000000..2c79ecab9 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_cansoda1.ydr differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_cansoda2.ydr b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_cansoda2.ydr new file mode 100644 index 000000000..440184a4f Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_cansoda2.ydr differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_cansoda3.ydr b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_cansoda3.ydr new file mode 100644 index 000000000..b9d382bd2 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_cansoda3.ydr differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_cansoda4.ydr b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_cansoda4.ydr new file mode 100644 index 000000000..8c9a18327 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_cansoda4.ydr differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_chips1.yft b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_chips1.yft new file mode 100644 index 000000000..464694da4 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_chips1.yft differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_chips2.yft b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_chips2.yft new file mode 100644 index 000000000..f24ce93bc Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_chips2.yft differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_chips3.yft b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_chips3.yft new file mode 100644 index 000000000..0a643a737 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_chips3.yft differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_chips4.yft b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_chips4.yft new file mode 100644 index 000000000..a9fb5d994 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_chips4.yft differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_chips5.yft b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_chips5.yft new file mode 100644 index 000000000..80f0b5114 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_chips5.yft differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_chips6.yft b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_chips6.yft new file mode 100644 index 000000000..b01c47fe2 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_chips6.yft differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_chocolate1.yft b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_chocolate1.yft new file mode 100644 index 000000000..da0fec4d5 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_chocolate1.yft differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_chocolate2.yft b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_chocolate2.yft new file mode 100644 index 000000000..19a9e3ba0 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_chocolate2.yft differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_cigs1.yft b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_cigs1.yft new file mode 100644 index 000000000..24aa0c3d6 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_cigs1.yft differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_cofferefill.ydr b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_cofferefill.ydr new file mode 100644 index 000000000..35aebec81 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_cofferefill.ydr differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_gum1.yft b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_gum1.yft new file mode 100644 index 000000000..1f2fb14a0 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_gum1.yft differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_gum2.yft b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_gum2.yft new file mode 100644 index 000000000..dccf7e071 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_gum2.yft differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_gum3.yft b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_gum3.yft new file mode 100644 index 000000000..4572ae2ad Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_gum3.yft differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_medical1.yft b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_medical1.yft new file mode 100644 index 000000000..c8dd05bbe Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_medical1.yft differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_medical2.yft b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_medical2.yft new file mode 100644 index 000000000..e747f733e Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_medical2.yft differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_medical3.yft b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_medical3.yft new file mode 100644 index 000000000..aac0cbb40 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_medical3.yft differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_medical4.yft b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_medical4.yft new file mode 100644 index 000000000..877fdc8dc Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_medical4.yft differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_preservatives.yft b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_preservatives.yft new file mode 100644 index 000000000..0db3aa334 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_preservatives.yft differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_waterfill.ydr b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_waterfill.ydr new file mode 100644 index 000000000..14d826159 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-item]/mxc_vend_prop_item_waterfill.ydr differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-part]/mxc_vend_prop_coffecup.ydr b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-part]/mxc_vend_prop_coffecup.ydr new file mode 100644 index 000000000..2b1596bf3 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-part]/mxc_vend_prop_coffecup.ydr differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-part]/mxc_vend_prop_snak_door.ydr b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-part]/mxc_vend_prop_snak_door.ydr new file mode 100644 index 000000000..3f41f10f4 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-part]/mxc_vend_prop_snak_door.ydr differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-part]/mxc_vend_prop_snak_fall_a.ydr b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-part]/mxc_vend_prop_snak_fall_a.ydr new file mode 100644 index 000000000..8803ba9fe Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-part]/mxc_vend_prop_snak_fall_a.ydr differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-part]/mxc_vend_prop_snak_springs.ydr b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-part]/mxc_vend_prop_snak_springs.ydr new file mode 100644 index 000000000..1f7f9bb3a Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-part]/mxc_vend_prop_snak_springs.ydr differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-part]/mxc_vend_prop_soda_shelf.ydr b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-part]/mxc_vend_prop_soda_shelf.ydr new file mode 100644 index 000000000..3acaf9fe6 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-part]/mxc_vend_prop_soda_shelf.ydr differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-part]/mxc_vend_prop_soda_shelf2.ydr b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-part]/mxc_vend_prop_soda_shelf2.ydr new file mode 100644 index 000000000..d97f1b2a5 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-part]/mxc_vend_prop_soda_shelf2.ydr differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-part]/mxc_vend_prop_svapo_01.yft b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-part]/mxc_vend_prop_svapo_01.yft new file mode 100644 index 000000000..aa3b06465 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-part]/mxc_vend_prop_svapo_01.yft differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-part]/mxc_vend_prop_watercup.ydr b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-part]/mxc_vend_prop_watercup.ydr new file mode 100644 index 000000000..4afaed3e3 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[vend-part]/mxc_vend_prop_watercup.ydr differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ycd]/clip@cofferefill.ycd b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ycd]/clip@cofferefill.ycd new file mode 100644 index 000000000..162a5a2e0 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ycd]/clip@cofferefill.ycd differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ycd]/clip@fagsfall_gen.ycd b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ycd]/clip@fagsfall_gen.ycd new file mode 100644 index 000000000..775cc3a34 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ycd]/clip@fagsfall_gen.ycd differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ycd]/clip@snakfall_a.ycd b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ycd]/clip@snakfall_a.ycd new file mode 100644 index 000000000..c10fd4c88 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ycd]/clip@snakfall_a.ycd differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ycd]/clip@snakfall_gen.ycd b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ycd]/clip@snakfall_gen.ycd new file mode 100644 index 000000000..7c9aa7954 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ycd]/clip@snakfall_gen.ycd differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ycd]/clip@snaksprings.ycd b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ycd]/clip@snaksprings.ycd new file mode 100644 index 000000000..08dbf2ac3 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ycd]/clip@snaksprings.ycd differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ycd]/clip@sodashelf.ycd b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ycd]/clip@sodashelf.ycd new file mode 100644 index 000000000..5782a2ea2 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ycd]/clip@sodashelf.ycd differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ycd]/clip@sodatravel.ycd b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ycd]/clip@sodatravel.ycd new file mode 100644 index 000000000..9b5d8c129 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ycd]/clip@sodatravel.ycd differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ycd]/clip@waterrefill.ycd b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ycd]/clip@waterrefill.ycd new file mode 100644 index 000000000..e39e31fd7 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ycd]/clip@waterrefill.ycd differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ytd]/mxc_vend_parts_props_ytd.ytd b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ytd]/mxc_vend_parts_props_ytd.ytd new file mode 100644 index 000000000..340f159c2 Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ytd]/mxc_vend_parts_props_ytd.ytd differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ytd]/mxc_vend_props_item_ytd.ytd b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ytd]/mxc_vend_props_item_ytd.ytd new file mode 100644 index 000000000..e95edc78e Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ytd]/mxc_vend_props_item_ytd.ytd differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ytd]/vendingmachine_shelf_noprice.png b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ytd]/vendingmachine_shelf_noprice.png new file mode 100644 index 000000000..22bac842d Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ytd]/vendingmachine_shelf_noprice.png differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ytyp]/mxc_vend_item_props_ytyp.ytyp b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ytyp]/mxc_vend_item_props_ytyp.ytyp new file mode 100644 index 000000000..7f10b472c Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ytyp]/mxc_vend_item_props_ytyp.ytyp differ diff --git a/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ytyp]/mxc_vend_part_props_ytyp.ytyp b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ytyp]/mxc_vend_part_props_ytyp.ytyp new file mode 100644 index 000000000..f082c51cb Binary files /dev/null and b/resources/[inventory]/cfx-mxc-vendingmachines/stream/[ytyp]/mxc_vend_part_props_ytyp.ytyp differ