-- LUA Script - precede every function and global member with lowercase name of script + '_main' -- check these are nil first so we can carry over from over levels or saves etc if needs be g_berriescollected = g_berriescollected or 0 g_tuberscollected = g_tuberscollected or 0 g_waterscollected = g_waterscollected or 0 g_meatcollected = g_meatcollected or 0 g_mushroomscollected = g_mushroomscollected or 0 -- 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 } local maxfood = 4 function stove_init(e) end local pressed = false function stove_main(e) --check player is near the Stove if GetPlayerDistance(e) < 80 then --show text TextCenterOnX( 50, 59, 1, "Press 1 ~ " .. maxfood .. " 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 = " .. g_berriescollected .. " No of Berries = " .. g_tuberscollected .. " No of Water = " .. g_waterscollected .. " No of Meat = " .. g_meatcollected .. " No of Mushrooms = " .. g_mushroomscollected) --check player presses a number key and it corresponds to our items above if g_Scancode > 1 and g_Scancode <= maxfood+1 then -- +1 to maxfood because scancodes start at 2 for number 1 foodtomake = g_Scancode-1 end --find out if player has enough of each ingredient seperately local haveberries = g_berriescollected >= berriesneeded[foodtomake] local havetuber = g_tuberscollected >= tuberneeded[foodtomake] local havewater = g_waterscollected >= waterneeded[foodtomake] local havemeat = g_meatcollected >= meatneeded[foodtomake] local havemushroom = g_mushroomscollected >= 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) g_berriescollected = g_berriescollected - berriesneeded[foodtomake] g_tuberscollected = g_tuberscollected - tuberneeded[foodtomake] g_waterscollected = g_waterscollected - waterneeded[foodtomake] g_meatcollected = g_meatcollected - meatneeded[foodtomake] g_mushroomscollected = g_mushroomscollected - mushroomneeded[foodtomake] local foodName = foodnames[foodtomake] PromptDuration( "You Crafted a " .. foodName, 2000 ) if foodName == "Berry Pie" then g_berry_pie = g_berry_pie + 1 g_exp = g_exp + 10 -- adds exp elseif foodName == "Meat Pie" then g_meat_pie = g_meat_pie + 1 g_exp = g_exp + 10 -- adds exp elseif foodName == "Meat,berry & Tuber Broth" then g_mbtbroth = g_mbtbroth + 1 g_exp = g_exp + 50 -- adds exp elseif foodName == "Meat,berry,shroom & Tuber Pie" then g_mbtpie = g_mbtpie + 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