Enter in the amazing Dragon World and transform yourself into a mighty dragon. You can fly over the mountains, fight against the other dragons or make them your allies.
- loadstring(game:GetObjects('rbxassetid://4480871791')[1].Source)()
- local VRService = game:GetService('VRService')
- local character = workspace.CloneCharacter
- local HeadDisplay = Instance.new('Part', workspace)
- HeadDisplay.CanCollide = false
- HeadDisplay.Transparency = 1
- HeadDisplay.TopSurface = Enum.SurfaceType.Smooth
- HeadDisplay.BottomSurface = Enum.SurfaceType.Smooth
- local leftHandDisplay = Instance.new('Part', workspace)
- leftHandDisplay.CanCollide = false
- leftHandDisplay.Transparency = 1
- leftHandDisplay.Color = Color3.fromRGB(125,125,255)
- leftHandDisplay.TopSurface = Enum.SurfaceType.Smooth
- leftHandDisplay.BottomSurface = Enum.SurfaceType.Smooth
- local rightHandDisplay = Instance.new('Part', workspace)
- rightHandDisplay.CanCollide = false
- rightHandDisplay.Transparency = 1
- rightHandDisplay.Color = Color3.fromRGB(255,125,125)
- rightHandDisplay.TopSurface = Enum.SurfaceType.Smooth
- rightHandDisplay.BottomSurface = Enum.SurfaceType.Smooth
- for i,v in next, workspace.CloneCharacter:GetChildren() do
- v:Destroy()
- end
- spawn(function()
- local character = workspace.CloneCharacter
- HeadScale = 1
- Cam.HeadScale = HeadScale
- local cfRH = VRService:GetUserCFrame(Enum.UserCFrame.RightHand)
- local RightHandCFrame = (Cam.CFrame*CFrame.new(cfRH.p*HeadScale))*CFrame.fromEulerAnglesXYZ(cfRH:ToEulerAnglesXYZ())
- local cfLH = VRService:GetUserCFrame(Enum.UserCFrame.LeftHand)
- local LeftHandCFrame = (Cam.CFrame*CFrame.new(cfLH.p*HeadScale))*CFrame.fromEulerAnglesXYZ(cfLH:ToEulerAnglesXYZ())
- local cfH = VRService:GetUserCFrame(Enum.UserCFrame.Head)
- local HeadCFrame = (Cam.CFrame*CFrame.new(cfH.p*HeadScale))*CFrame.fromEulerAnglesXYZ(cfH:ToEulerAnglesXYZ())
- character['Head'].Orientation = HeadDisplay.Orientation
- character['Head'].Position = HeadDisplay.Position
- character['Left Arm'].Orientation = leftHandDisplay.Orientation + Vector3.new(45,0,0)
- character['Left Arm'].Position = leftHandDisplay.Position
- character['Right Arm'].Orientation = rightHandDisplay.Orientation + Vector3.new(45,0,0)
- character['Right Arm'].Position = rightHandDisplay.Position
- end)
- spawn(function()
- ------------------------------------------------------------------------
- -- Cinematic free camera for spectating and video production.
- ------------------------------------------------------------------------
- local pi = math.pi
- local clamp = math.clamp
- local rad = math.rad
- local sqrt = math.sqrt
- local ContextActionService = game:GetService('ContextActionService')
- local RunService = game:GetService('RunService')
- local UserInputService = game:GetService('UserInputService')
- if not LocalPlayer then
- Players:GetPropertyChangedSignal('LocalPlayer'):Wait()
- end
- local Camera = Workspace.CurrentCamera
- Workspace:GetPropertyChangedSignal('CurrentCamera'):Connect(function()
- if newCamera then
- end
- ------------------------------------------------------------------------
- local TOGGLE_INPUT_PRIORITY = Enum.ContextActionPriority.Low.Value
- local INPUT_PRIORITY = Enum.ContextActionPriority.High.Value
- local PAN_GAIN = Vector2.new(0.75, 1)*8
- local PAN_STIFFNESS = 1.0
- ------------------------------------------------------------------------
- local Spring = {} do
- local self = setmetatable({}, Spring)
- self.p = pos
- return self
- local f = self.f*2*pi
- local v0 = self.v
- local offset = goal - p0
- local p1 = goal + (v0*dt - offset*(f*dt + 1))*decay
- self.v = v1
- return p1
- self.p = pos
- end
- ------------------------------------------------------------------------
- local cameraPos = Vector3.new()
- local cameraFov = 0
- local velSpring = Spring.new(VEL_STIFFNESS, Vector3.new())
- local panSpring = Spring.new(PAN_STIFFNESS, Vector2.new())
- ------------------------------------------------------------------------
- local Input = {} do
- local K_CURVATURE = 2.0
- return (exp(K_CURVATURE*x) - 1)/(exp(K_CURVATURE) - 1)
- return fCurve((x - K_DEADZONE)/(1 - K_DEADZONE))
- return sign(x)*clamp(fDeadzone(abs(x)), 0, 1)
- end
- local gamepad = {
- ButtonY = 0,
- DPadUp = 0,
- ButtonR2 = 0,
- Thumbstick2 = Vector2.new(),
- W = 0,
- S = 0,
- E = 0,
- U = 0,
- J = 0,
- I = 0,
- Up = 0,
- LeftShift = 0,
- }
- local mouse = {
- MouseWheel = 0,
- local NAV_KEYBOARD_SPEED = Vector3.new(1, 1, 1)
- local PAN_MOUSE_SPEED = Vector2.new(1, 1)*(pi/64)
- local PAN_GAMEPAD_SPEED = Vector2.new(1, 1)*(pi/8)
- local FOV_GAMEPAD_SPEED = 0.25
- local NAV_SHIFT_MUL = 0.25
- local navSpeed = 1
- function Input.Vel(dt)
- navSpeed = clamp(navSpeed + dt*(keyboard.Up - keyboard.Down)*NAV_ADJ_SPEED, 0.01, 4)
- local kGamepad = Vector3.new(
- thumbstickCurve(gamepad.ButtonR2) - thumbstickCurve(gamepad.ButtonL2),
- )*NAV_GAMEPAD_SPEED
- local kKeyboard = Vector3.new(
- keyboard.D - keyboard.A + keyboard.K - keyboard.H,
- keyboard.E - keyboard.Q + keyboard.I - keyboard.Y,
- keyboard.S - keyboard.W + keyboard.J - keyboard.U
- local shift = UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) or UserInputService:IsKeyDown(Enum.KeyCode.RightShift)
- return (kGamepad + kKeyboard)*(navSpeed*(shift and NAV_SHIFT_MUL or 1))
- local kGamepad = Vector2.new(
- thumbstickCurve(-gamepad.Thumbstick2.x)
- local kMouse = mouse.Delta*PAN_MOUSE_SPEED
- return kGamepad + kMouse
- local kGamepad = (gamepad.ButtonX - gamepad.ButtonY)*FOV_GAMEPAD_SPEED
- mouse.MouseWheel = 0
- end
- do
- keyboard[input.KeyCode.Name] = state Enum.UserInputState.Begin and 1 or 0
- end
- local function GpButton(action, state, input)
- gamepad[input.KeyCode.Name] = state Enum.UserInputState.Begin and 1 or 0
- end
- local function MousePan(action, state, input)
- mouse.Delta = Vector2.new(-delta.y, -delta.x)
- end
- local function Thumb(action, state, input)
- return Enum.ContextActionResult.Sink
- gamepad[input.KeyCode.Name] = input.Position.z
- end
- local function MouseWheel(action, state, input)
- mouse[input.UserInputType.Name] = -input.Position.z
- end
- local function Zero(t)
- t[k] = v*0
- end
- function Input.StartCapture()
- ContextActionService:BindActionAtPriority('FreecamKeyboard', Keypress, false, INPUT_PRIORITY,
- Enum.KeyCode.A, Enum.KeyCode.H,
- Enum.KeyCode.D, Enum.KeyCode.K,
- Enum.KeyCode.Q, Enum.KeyCode.Y,
- )
- ContextActionService:BindActionAtPriority('FreecamMousePan', MousePan, false, INPUT_PRIORITY, Enum.UserInputType.MouseMovement)
- ContextActionService:BindActionAtPriority('FreecamMouseWheel', MouseWheel, false, INPUT_PRIORITY, Enum.UserInputType.MouseWheel)
- ContextActionService:BindActionAtPriority('FreecamGamepadButton', GpButton, false, INPUT_PRIORITY, Enum.KeyCode.ButtonX, Enum.KeyCode.ButtonY)
- ContextActionService:BindActionAtPriority('FreecamGamepadTrigger', Trigger, false, INPUT_PRIORITY, Enum.KeyCode.ButtonR2, Enum.KeyCode.ButtonL2)
- ContextActionService:BindActionAtPriority('FreecamGamepadThumbstick', Thumb, false, INPUT_PRIORITY, Enum.KeyCode.Thumbstick1, Enum.KeyCode.Thumbstick2)
- navSpeed = 1
- Zero(keyboard)
- ContextActionService:UnbindAction('FreecamKeyboard')
- ContextActionService:UnbindAction('FreecamMousePan')
- ContextActionService:UnbindAction('FreecamMouseWheel')
- ContextActionService:UnbindAction('FreecamGamepadButton')
- ContextActionService:UnbindAction('FreecamGamepadTrigger')
- ContextActionService:UnbindAction('FreecamGamepadThumbstick')
- end
- local znear = 0.1
- local projy = 2*tan(cameraFov/2)
- local fx = cameraFrame.rightVector
- local fz = cameraFrame.lookVector
- local minVect = Vector3.new()
- for y = 0, 1, 0.5 do
- local cy = (y - 0.5)*projy
- local origin = cameraFrame.p + offset*znear
- local _, hit = Workspace:FindPartOnRay(Ray.new(origin, offset.unit*minDist))
- if minDist > dist then
- minVect = offset.unit
- end
- end
- ------------------------------------------------------------------------
- local function StepFreecam(dt)
- local pan = panSpring:Update(dt, Input.Pan(dt))
- local zoomFactor = sqrt(tan(rad(70/2))/tan(rad(cameraFov/2)))
- cameraFov = clamp(cameraFov + fov*FOV_GAIN*(dt/zoomFactor), 1, 120)
- cameraRot = cameraRot + pan*PAN_GAIN*(dt/zoomFactor)
- cameraRot = Vector2.new(clamp(cameraRot.x, -PITCH_LIMIT, PITCH_LIMIT), cameraRot.y%(2*pi))
- local cameraCFrame = CFrame.new(cameraPos)*CFrame.fromOrientation(cameraRot.x, cameraRot.y, 0)*CFrame.new(vel*NAV_GAIN*dt)
- Camera.Focus = cameraCFrame*CFrame.new(0, 0, -GetFocusDistance(cameraCFrame))
- end
- ------------------------------------------------------------------------
- local PlayerState = {} do
- local cameraType
- local cameraCFrame
- local screenGuis = {}
- Backpack = true,
- Health = true,
- }
- BadgesNotificationsActive = true,
- }
- -- Save state and set up for freecam
- for name in pairs(coreGuis) do
- coreGuis[name] = StarterGui:GetCoreGuiEnabled(Enum.CoreGuiType[name])
- StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType[name], false)
- for name in pairs(setCores) do
- StarterGui:SetCore(name, false)
- local playergui = LocalPlayer:FindFirstChildOfClass('PlayerGui')
- for _, gui in pairs(playergui:GetChildren()) do
- screenGuis[#screenGuis + 1] = gui
- end
- end
- cameraFieldOfView = Camera.FieldOfView
- Camera.CameraType = Enum.CameraType.Custom
- cameraCFrame = Camera.CFrame
- UserInputService.MouseBehavior = Enum.MouseBehavior.Default
- function PlayerState.Pop()
- StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType[name], isEnabled)
- for name, isEnabled in pairs(setCores) do
- end
- if gui.Parent then
- end
- cameraFieldOfView = nil
- Camera.CameraType = cameraType
- cameraCFrame = nil
- Camera.Focus = cameraFocus
- mouseBehavior = nil
- end
- local function StartFreecam()
- cameraRot = Vector2.new(cameraCFrame:toEulerAnglesYXZ())
- cameraFov = Camera.FieldOfView
- velSpring:Reset(Vector3.new())
- fovSpring:Reset(0)
- PlayerState.Push()
- RunService:BindToRenderStep('Freecam', Enum.RenderPriority.Camera.Value, StepFreecam)
- end
- local function StopFreecam()
- RunService:UnbindFromRenderStep('Freecam')
- end
- ------------------------------------------------------------------------
- do
- StartFreecam()
- local function ToggleFreecam()
- StopFreecam()
- StartFreecam()
- enabled = not enabled
- for i = 1, #macro - 1 do
- return
- end
- end
- local function HandleActivationInput(action, state, input)
- if input.KeyCode FREECAM_MACRO_KB[#FREECAM_MACRO_KB] then
- end
- return Enum.ContextActionResult.Pass
- ContextActionService:BindActionAtPriority('FreecamToggle', HandleActivationInput, false, TOGGLE_INPUT_PRIORITY, FREECAM_MACRO_KB[#FREECAM_MACRO_KB])
- end)
» Privacy Policy | » Imprint
©2018 astragon Entertainment GmbH and stillalive studios GmbH. Published and distributed by astragon Entertainment GmbH. Bus Simulator 18, astragon, astragon Entertainment and its logos are trademarks or registered trademarks of astragon Entertainment GmbH. 'Mercedes-Benz' and the 'three-pointed star in a ring' are trademarks of Daimler AG and used under license by astragon Entertainment GmbH. Manufactured under license from MAN. MAN is a trademark of MAN Truck & Bus AG. IVECO BUS and URBANWAY are brands of CNH Industrial. Manufactured under license from CNH Industrial. 'Setra' and 'K im Kreis' are trademarks of EvoBus GmbH and used under license by astragon Entertainment GmbH. Unreal, Unreal Engine, the circle-U logo and the Powered by the Unreal Engine logo are trademarks or registered trademarks of Epic Games, Inc. in the United States and elsewhere. All intellectual property relating to the buses and bus equipment, associated brands and images (including trademarks and/or copyrighted materials) featured in the game are therefore the property of their respective companies. The buses in this game may vary from the actual products in shape, colour and performance. All rights reserved. All other names, trademarks and logos are property of their respective owners.