Developer postOriginal post (opens in a new tab)

0.2 Released

Key Information

  • Scriptable Client Actors

    Scripters can now create their own client-side NPC's!
  • Civilian Model Support

    All civilian models are now available to use!
  • Depth-Tested Rendering

    Render inside of the game world!
  • Basic Unicode Support

    Allowing use of more languages.
  • Main Menu Overhaul

    Convenient access to your favorite servers.
  • Steam Achievements

    Unlock them by completing tasks with players.

Other Major Features:

  • Major sync improvement to vehicles and on-foot weapons
  • Implementation of following classes, which greatly improve client/server communication:
    • SharedObject
    • NetworkObject
    • WorldNetworkObject

  • Extended ability to store values from player-only to all entities
  • Fixed major bug causing random models/effects to become invisible

0.2 Changelog

New Features

Shared

  • Added support for all of the previously unsupported civilian models
  • Added Steam achievements
  • Added SharedObject class
  • Added NetworkObject class
  • Added WorldNetworkObject class
  • Added basic UTF-8 support to Lua strings
  • Added SetUnicode(boolean) global function
  • Added storage to all entities, not just Players
  • Deprecated PlayerValueChange and PlayerNetworkValueChange events
  • Refactored Chat class functions to support multiple colours in a single message
  • Added Vehicle.GetClassByModelId
  • Added Vehicle:GetClass
  • Added VehicleClass enum
  • Improved Lua errors with event argument printout
  • Added delta argument to PreTick/PostTick and Render/PostRender
  • Added Angle.Delta
  • Added Vector2.Reflect and Vector3.Reflect
  • Added ComponentMultiply method to Vector2 and Vector3
  • Added Weapon equality operator

Server

  • Added module metadata
  • Added Player:Damage
  • Added Vehicle:SetStreamPosition and Vehicle:SetStreamAngle
  • Added Vehicle:Get/SetSpawnPosition and Vehicle:Get/SetSpawnAngle
  • Can now disable collisions between two different types with Player/Server functions EnableCollision/DisableCollision
  • Added ClientModulesLoad event
  • Added Player:RequestGroupMembership(groupId, callback
  • Added StreamableObject:GetStreamedPlayers
  • Added SLED debugger support
  • Added suppressible PlayerAchievementUnlock event
  • Added Server:GetFrameTime
  • Added SendAutorunWhenEmpty config variable, default as false, to control whether autorun scripts are sent for empty modules
  • Added netstat command

Client

  • Added ClientActor class which provides a basic client-side NPC interface
  • Added GameRender event for depth-tested rendering in the game world
  • Main menu overhaul
  • Added support for streaming image resources with AssetLocation.Resource
  • Added support for Unicode characters in CharPress
  • Vastly improved the chat window with word wrap and chat history
  • Added LocalPlayer:SetLinearVelocity
  • Added Character class, common to Player and ClientActor
  • Added Character:Get/SetLeftArmState
  • Added Character:GetSeat
  • Added Vehicle:Set(Linear/Angular)Velocity
  • Added VehicleTransmission, with methods Get/SetGear, Get/SetClutchDelayTime and more
  • Added VehicleSuspension, with methods Get/SetChassisDirection, Get/SetStrength and more
  • Added VehicleAerodynamics for land vehicles, with methods Get/SetAirDensity, Get/SetDragCoefficient and more
  • Added Vehicle:GetTransmission, Vehicle:GetSuspension and Vehicle:GetAerodynamics
  • Added Vehicle:GetTorque, Vehicle:GetWheelCount, Vehicle:GetRPM, Vehicle:GetMaxRPM and Vehicle:GetTopSpeed
  • Added GetClimateZone method to streamed and client entities
  • Added ClimateZone enum
  • Added ShapeTrigger with events ShapeTriggerEnter and ShapeTriggerExit
  • Added TriggerType enum
  • Added VehicleTriggerType enum
  • Added Player:GetAvatar
  • Added AvatarSize enum
  • Added Featured tab to the server browser
  • Added description field to the server browser
  • Server browser filters are now consistent between restarts
  • Added Camera functions SetFOV and GetFOV
  • Added LocalPlayerEjectVehicle event
  • Added 'entity' and 'impulse' arguments to VehicleCollide event
  • Added LocalPlayer functions SetOxygen and GetOxygen
  • Added LocalPlayer:IsFriend(steamid/player
  • Added Client:GetFrameTime
  • Added Game:GetWeatherSeverity
  • Added ClientStreamableObject as a base class to Vehicle/Player
  • Added an optional boolean parameter to Physics:Raycast to disable the raycast filter
  • LocalPlayerBulletHit event now contains a bone argument
  • Added a setting to toggle vehicle camera snap and adjust timeout
  • Added a setting to toggle vehicle stunt camera
  • Added chat key and chat toggle key settings
  • Removed apostrophe keybind opening console, added a setting to configure console keybind
  • Added support for correctly rendering the tab character in text
  • Added Render:GetDepthEnabled
  • Added CursorType enum
  • Added Mouse:SetCursor
  • Added FontAwesome and League Gothic fonts to resources
  • Added ability to navigate through TextBox history using Up and Down arrow keys
  • Added Ctrl-Left/Ctrl-Right hotkeys to TextBox to facilitate moving the cursor word by word
  • Added Label:SetLineSpacing
  • Added TextBoxNumeric:Get/SetNegativeAllowed
  • Added gui_show_netstat console command
  • Added window position and size launch parameters

    Bug Fixes

    Shared

    • General sync improvement
    • Luabind now checks parent classes when looking up class members (class("MyDerived")(MyBase) in _init.lua works now)
    • Scripts are now loaded in alphabetical order on all platforms
    • Fixed script profiler not counting network events
    • The marshaller now accepts table keys of any type
    • Angles sent over the network no longer lose precision from compression
    • Vector2/Vector3/Color statics can no longer be edited
    • Comparing any API class with '==' should now work
    • Fixed random number generator not being seeded at startup
    • Improved Timer precision
    • Fixed issue where IsValid would raise an exception for non-table/userdata types

    Server

    • Fixed issue with server memory not being freed on entity removal
    • Cleaned up streamer code, hopefully reducing amount of server crashes
    • Fixed issue with world iterators not working correctly
    • Fixed a bug where scripts would still be run even if the server failed to start
    • Fixed SteamId outputting the community id when printed on Windows

    The client bug fixes exceed Steam's news post limitations, so for further information on the patch, check out our announcement post here.