-- LUA Script - precede every function and global member with lowercase name of script + '_main' g_foraged = g_foraged or {} local U = require "scriptbank\\utillib" -- added the other material items here if needed local foodtomake = 1 foodnames = { "Berry Pie", "Meat Pie", "Meat,berry & Tuber Broth", "Meat,berry,shroom & Tuber Pie"} berriesneeded = { 2, 0, 2, 2 } tuberneeded = { 0, 0, 1, 2 } waterneeded = { 0, 0, 2, 2 } meatneeded = { 0, 2, 1, 2 } mushroomneeded = { 0, 0, 0, 1 } function stove_init(e) Include( "utillib.lua" ) end local pressed = false function stove_main(e) --check player is near the Stove if U.PlayerLookingNear( e, 100, 110 ) then --show text TextCenterOnX( 50, 59, 1, "Press 1 ~ " .. #foodnames .. " to select the Food to craft" ) TextCenterOnX( 50, 62, 1, "Press E to Craft a " .. foodnames[ foodtomake ] ) --show how much player has in inventory TextCenterOnX( 50, 65, 1, "No of Berries = " .. U.HaveAmount( 'Berries' ) .. " No of Tubers = " .. U.HaveAmount( 'Tubers' ) .. " No of Water = " .. U.HaveAmount( 'Water' ) .. " No of Meat = " .. U.HaveAmount( 'Meat' ) .. " No of Mushrooms = " .. U.HaveAmount( 'Shrooms' ) ) --check player presses a number key and it corresponds to our items above local key = g_Scancode - 1 -- scancode for key '1' is 2 -- handle number pad, note this probably doesn't work on all keyboards if key > 77 then key = key - 77 elseif key > 73 then key = key - 73 + 4 elseif key > 69 then key = key - 69 + 7 end if key > 0 and key <= #foodnames then foodtomake = key end --find out if player has enough of each ingredient seperately local haveberries = U.HaveEnough( 'Berries', berriesneeded[ foodtomake ] ) local havetuber = U.HaveEnough( 'Tubers', tuberneeded[ foodtomake ] ) local havewater = U.HaveEnough( 'Water', waterneeded[ foodtomake ] ) local havemeat = U.HaveEnough( 'Meat' , meatneeded[ foodtomake ] ) local havemushroom = U.HaveEnough( 'Shrooms', mushroomneeded[ foodtomake ] ) --now we will show number in red if player doesn't have enough if haveberries then TextCenterOnX( 57, 68, 1, berriesneeded[ foodtomake ] ) else TextCenterOnXColor( 57, 68, 1, berriesneeded[ foodtomake ], 255, 0, 0 ) end TextCenterOnX( 50, 68, 1, "Berries required" ) if havetuber then TextCenterOnX( 57, 74, 1, tuberneeded[ foodtomake ] ) else TextCenterOnXColor( 57, 74, 1, tuberneeded[ foodtomake ], 255, 0, 0 ) end TextCenterOnX( 50, 74, 1, "Tubers required" ) if havewater then TextCenterOnX( 57, 80, 1, waterneeded[ foodtomake ] ) else TextCenterOnXColor( 57, 80, 1, waterneeded[ foodtomake ], 255, 0, 0 ) end TextCenterOnX( 50, 80, 1, "Water required" ) if havemeat then TextCenterOnX( 57, 87, 1, meatneeded[ foodtomake ] ) else TextCenterOnXColor( 57, 87, 1, meatneeded[ foodtomake ], 255, 0, 0 ) end TextCenterOnX( 50, 87, 1, "Meat required" ) if havemushroom then TextCenterOnX( 57, 94, 1, mushroomneeded[ foodtomake ] ) else TextCenterOnXColor( 57, 94, 1, mushroomneeded[ foodtomake ], 255, 0, 0 ) end TextCenterOnX( 50, 94, 1, "Mushrooms required" ) --if player presses E to craft if g_KeyPressE == 1 then if not pressed then pressed = true --not enough materials if haveberries and havetuber and havewater and havemeat and havemushroom then PlaySound( e, 1 ) U.ChangeAmount( 'Berries', -berriesneeded[ foodtomake ] ) U.ChangeAmount( 'Tubers', -tuberneeded[ foodtomake ] ) U.ChangeAmount( 'Water', -waterneeded[ foodtomake ] ) U.ChangeAmount( 'Meat', -meatneeded[ foodtomake ] ) U.ChangeAmount( 'Shrooms', -mushroomneeded[ foodtomake ] ) local foodName = foodnames[ foodtomake ] PromptDuration( "You Crafted a " .. foodName, 2000 ) if foodName == "Berry Pie" then U.ChangeAmount( 'Berry pies crafted', 1 ) g_exp = g_exp + 10 -- adds exp elseif foodName == "Meat Pie" then U.ChangeAmount( 'Meat Pies crafted', 1 ) g_exp = g_exp + 10 -- adds exp elseif foodName == "Meat,berry & Tuber Broth" then U.ChangeAmount( 'Meat soup crafted', 1 ) g_exp = g_exp + 50 -- adds exp elseif foodName == "Meat,berry,shroom & Tuber Pie" then U.ChangeAmount( 'Mixed pie crafted', 1 ) g_exp = g_exp + 60 -- adds exp end else PromptDuration("You do not have enough Ingredience to craft a " .. foodnames[ foodtomake ], 2000) end end else pressed = false end end end