function InitBriefCase () BriefCasePickup = Object.LoadModel("Pickups\\Briefcase.rom") BriefCaseRotation = Object.CreateRotation(0.0,2.0) end function CreateBriefCase(id) return coroutine.create(UpdateBriefCase) end function UpdateBriefCase(myID) local dt=0 local reason=0 local time=0 local closeto=false local collected = false print("Creating the orbit") local orbit1 = Object.CreateChildScriptedObject(myID,"BriefCaseOrbit1",Object.GetPosition(myID)) local orbit2 = Object.CreateChildScriptedObject(myID,"BriefCaseOrbit2",Object.GetPosition(myID)) Object.SetModel(myID,BriefCasePickup) Object.SetRotation(myID,BriefCaseRotation) Object.CreateSphereTouchfield(myID,0,0,0,1.4) Object.UpdateOnSphereTouchfield(myID,true) Object.SetUpdateRate(myID,0) Object.AddToCamBox(myID) while true do dt,reason = coroutine.yield() if collected == false and reason == 1 then Sound.PlayLua3DSoundOneShot("pickup_money",Object.GetPosition(myID)) Object.SetCollected(myID,Object.GetLastTouchfieldDriver(myID)) Object.UpdateOnSphereTouchfield(myID,false) Object.ClearModel(myID) Object.ClearModel(orbit1) Object.Deactivate(myID) Object.Deactivate(orbit1) Object.ClearModel(myID) Object.ClearModel(orbit2) Object.Deactivate(myID) Object.Deactivate(orbit2) collected = true end end end