Your entity exists on the server and your VGUI on the client so you first need to send the data from your VGUI to the server.
The best way would be a console command which sends the new velocity, the function attached to it on the server would then change your entity’s velocity.
As an example when creating your entity use a unique name and don’t put local in front of it (If there are several of your entity put them in a table instead). That way you can access it from anywhere on the server’s code.
Then comes the console command :
[lua]local function SetMyEntVelocity(ply,cmd,args)
if not ply:IsAdmin() then return end – Remove this line if this is intended for use by all players
MyEntity:SetVelocity(Vector(args,args,args)) -- This is assuming you called your entity MyEntity and that you sent 3 integers representing a vector in your console command
On the client you would do this :
[lua]local NewVel = Vector(54,-22,11111)-- Create your new velocity at some point
RunConsoleCommand(“setmyentvelocity”,NewVel .x,NewVel .y,NewVel .z)-- And send it[/lua]
Of course this is just an example, don’t expect it to work right out of the chatbox.