Velocity Framework

Disclaimer

Velocity is no longer maintained by me, nor do I recommend its usage.
If you arrived here for InputService, I advise looking into the built-in ContextActionService.

Velocity

The Framework speeding up development!

About the Framework

This Framework was built to assist intermediate+ scripters in scripting on roblox, it includes many functions and settings which have said to be very useful to many.

Where you can get it

You can get it from the roblox website or require it using the id (require(4516551940))

Documentation

All the documentation is on the GitHub respository

Example code

This is an example of using Velocity and DataStore2:

local module = require(game:GetService("ReplicatedStorage").Velocity)
module:SetSetting("LeaderstatsName", "plrStats")
local velocity = module:Init(true)

local stat = velocity:GetService("LeaderstatService")
local ies = velocity:GetService("InbuiltEventsService")
local cs = velocity:GetService("CommunicationService")
local ds2 = velocity:GetModule("DataStore2")
cs:new("Incremented")

ies.playerAdded:Connect(function(player)
	local store = ds2("cheese", player)
	local stats = stat:MakeStats(player)
	local cheese = stat:CreateStat(player, "NumberValue", store:Get(10), "cheese")

	stat:UpdateStat(player, "cheese", 20)
	stat:IncrementStat(player, "cheese", 20)
	
	stat:TimedIncrement(player, "cheese", 20, 5, false, function(newVal)
		print("Cheese's new value: " .. tostring(newVal))
		store:Set(newVal)
                cs:fire("Incremented", false, player, newVal)
	end)
end)

TerminalVelocity

TerminalVelocity is a plugin which allows you to insert Velocity Services into wherever you please and be used out of the Framework. You can get it here.

After installing it, a toolbar will be there like so:

Clicking on the Open Terminal button will open the DockWidget on the right:


Now you can select the Services you want to insert and select where you want to insert them:
View here

Predecessor of the Framework

My Revolution module was the old version of Velocity, unfortunately it wasn’t good enough for Community Resources and I agreed furthermore I set out to create a better version of it.

Where to report bugs or add suggestions

There may be some bugs which I may have not found, even after vigorous testing.
You can report these by replying to the thread or by DMing me on Discord, ReturnedTrue#8774.
Same goes for any suggestions.

Special thanks

Thank you to my tester @outofbearspace also to @VoidedBIade and @Kironte for some great recommendations.

Update Log

Velocity

17/12/2019 | Version 1.0.1

New

  • EnhancedFunction.RetryCount

  • UtilityService:GetPartsWelded

  • UtilityService:VectorClamp

  • UtilityService:RandomVector

  • UtilityService:ColorClamp

  • UtilityService:RandomColor

Bug fixes

  • UtilityService:WeldParts now really does accept an array of BaseParts for the first argument

Misc

  • Added the correct Version, forgot to update it (lol)

19/12/2019 | Version 1.0.2

New

  • InputService!
  • InputService:Bind
  • InputService:Unbind
  • InputService:UnbindAll
  • InputService:GetEnabledType

Bug fixes

  • Anything which relied on a string name, that defaulted to Thing_n, has been fixed so the n does increment correctly.

02/01/2020 | Version 1.0.3

New

  • DebugService!
  • DebugService:ExtendedPrint
  • DebugService:MarkerPrint
  • DebugService:ResetMarkerCount

03/01/2020 | Version 1.0.4

Bug fixes

  • The parameter type checking aspect of the framework has been fixed, this has also been pushed for services in TerminalVelocity.

TerminalVelocity

02/01/2020 | Version 1.0.1

New

  • Shipped DebugService

Bug fixes

  • Services should now definitely be sorted in alphebetical order

39 Likes

really good, for how long did you work on it

2 Likes

Thanks!
I’m not quite sure, 2-3 weeks I think.

5 Likes

Good job Return!

I’ll make sure to shoot this a try and dig into it.
:wink:

2 Likes

well done big fella - lots of people will put this to good use :slight_smile:

1 Like

I approve this with the dog stamp and will proceed to use it in every single game i have made to this day, and will make in the future.

3 Likes

After discussing with @kacperovsky00 (thanks again for the dog stamp), I’ve created TerminalVelocity which allows you to add the Services individually.

Be sure to check the main thread.
Also, DebugService has been added and will get more functions soon.

1 Like

Nice job on your framework! It makes it really easy to organize code, and saves a lot of time.

1 Like

I’m having a problem using the InputService.

local velocity = require(game.ReplicatedStorage.modules.Velocity):Init(true)
local inputService = velocity:GetService("InputService")
inputService:Bind(Enum.KeyCode.H, "Begin", function () print("pressed") end, "H key pressed")
inputService:Bind(Enum.KeyCode.H, "End", function () print("released") end, "H key released")

The release never gets printed. Sorry if there is an easy solution.

Velocity > Misc > AlreadyInited and set it to false

2 Likes

I now have the issue of the “Begin” press being printed but the “End” release does not print at all.