-- 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_berry_soup = 0 g_berry_pie = 0 if g_berriescollected == nil then g_berriescollected=0 end if g_tuberscollected == nil then g_tuberscollected=0 end if g_watercollected == nil then g_watercollected=0 end -- added the other material items here if needed --don't change local foodtomake = 1 foodname = {} tubersneeded = {} berriesneeded = {} waterneeded = {} --add other materials here too local havetubers = 0 local haveberries = 0 local havewater = 0 --Food names for showing in shop menu foodname[1] = "Berry Pie" foodname[2] = "Berry soup" --itemname[3] = "Hammer" --etc --list out each item requirements here tubersneeded[1] = 2 berriesneeded[1] = 2 waterneeded[1] = 2 tubersneeded[2] = 2 berriesneeded[2] = 2 waterneeded[2] = 2 --tubersneeded[3] = 2 --berriesneeded[3] = 2 --waterneeded[3] = 2 --etc --number of items in your list (above) local maxfood = 2 function cooking_tool_crafting_init(e) end function cooking_tool_crafting_main(e) --check player is near shop if GetPlayerDistance(e) < 80 then --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 --show shop text TextCenterOnX(50,59,1,"Press 1 ~ "..maxfood.." to select the food to craft") TextCenterOnX(50,62,1,"Press E to Craft a "..foodname[foodtomake]) --show how much player has in inventory TextCenterOnX(50,65,1,"No of Berries = " .. g_berriescollected .. " No of Tubers = " .. g_tuberscollected .. " No of Water = " .. g_watercollected) --find out if player has enough of each material seperately if g_tuberscollected >= tubersneeded[foodtomake] then havetubers = 1 else havetubers = 0 end if g_berriescollected >= berriesneeded[foodtomake] then haveberries = 1 else haveberries = 0 end if g_watercollected >= waterneeded[foodtomake] then havewater = 1 else havewater = 0 end --now we will show number in red if player doesn't have enough if havetubers == 1 then TextCenterOnX(50,68,1,tubersneeded[foodtomake]) else TextCenterOnXColor(50,68,1,tubersneeded[foodtomake],255,0,0) end TextCenterOnX(50,71,1,"Berries required") if haveberries == 1 then TextCenterOnX(50,74,1,berriesneeded[foodtomake]) else TextCenterOnXColor(50,74,1,berriesneeded[foodtomake],255,0,0) end TextCenterOnX(50,77,1,"Tubers required") if havewater == 1 then TextCenterOnX(50,80,1,waterneeded[foodtomake]) else TextCenterOnXColor(50,80,1,waterneeded[foodtomake],255,0,0) end TextCenterOnX(50,83,1,"Water required") --if player presses E to craft if g_KeyPressE == 1 and pressed == 0 then pressed = 1 --not enough materials if havetubers == 0 and haveberries == 0 and havewater == 0 then PromptDuration("You do not have enough materials to craft a "..foodname[foodtomake],2000) end --crafting is successful if havetubers == 1 and haveberries == 1 and havewater == 1 then PlaySound(e,1) g_tuberscollected = g_tuberscollected-tubersneeded[foodtomake] g_berriescollected = g_berriescollected-berriesneeded[foodtomake] g_watercollected = g_watercollected-waterneeded[foodtomake] if foodname[foodtomake] == foodname[1] then g_berry_pie = g_berry_pie + 1 -- Change this number to PromptDuration("You Crafted a "..foodname[foodtomake],2000) g_berry_pie = g_berry_pie + 1 elseif foodname[foodtomake] == foodname[2] then -- Change this number to corrispond with the hidden Axe weapon g_berry_soup = g_berry_soup + 1 PromptDuration("You Crafted a "..foodname[foodtomake],2000) g_berry_soup = g_berry_soup + 1 -- elseif foodname[foodtomake] == foodname[3] then -- Change this number to corrispond with the hidden Hammer weapon -- PromptDuration("You Crafted a "..foodname[foodtomake],2000) -- end if g_KeyPressE == 0 then pressed = 0 end end end end end