You can access the local information of the user who spawned the VCI.
For the complete list, refer to “types.lua” file in “EmbeddedScriptWorkspace” folder.
--- Local machine information ---@class ExportMe ---@field GetAxisInput fun(): Vector3 ---@field GetButtonInput fun(id: number): bool ---@field GetSystemVersion fun(): string ---@field CompareSystemVersion fun(version: string): number ---@field GetHeadMountedDisplayType fun(): string ---@field GetHeadMountedDisplayName fun(): string ---@field GetLanguageCode fun(): string ---@field FrameCount number ---@field Time TimeSpan ---@field UnscaledTime TimeSpan
Method | Description | VC version |
---|---|---|
GetAxisInput fun() | Receives key input for VCI | |
GetButtonInput fun() | Receives key input for VCI | |
FrameCount | Number of frames elapsed since the client launch | |
Time | The time elapsed from the client launch | |
UnscaledTime | Its the same as Time, but this value is not affected by timeScale. | |
GetHeadMountedDisplayType fun() | Get the type of the HMD being used | 1.9.2a and later |
GetHeadMountedDisplayName fun() | Get the name of the HMD being used | 1.9.2a and later |
GetLanguageCode fun() | Get the selected language | 1.9.2a and later |
GetSystemVersion fun() | Get the version of VirtualCast | 1.9.2d and later |
CompareSystemVersion fun(version: string) | Compare versions | 1.9.2d and later |
サンプル
function update() print(vci.me.Time) print("H : "..vci.me.Time.Hours) print("M : "..vci.me.Time.Minutes) print("S : "..vci.me.Time.Seconds) end
The result
00:00:03.6820000 H : 0 M : 0 S : 3
By adding the methods after the “Time,” you can get the detailed information separately.
This time displays the time defined by the VCI script.
Example
print(os.date("%Y-%m-%d %H:%M:%S")) print(os.date("%m%d")) print(os.date("%H")) print(os.date("%M")) print(os.date("%S"))
The result
2/26/2019 5:14:25 PM 0226 17 14 25
By using “os.date”, which is a function of Lua itself, you can acquire the current time of the OS.
For details, refer to os.date ().
Example
today = os.date("%m%d") function onGrab() -- today is a string type if today == "1225" then print("Merry Christmas!") end end
By storing a date in a variable, you can use a specific date as a condition.
The example above is only run on the day of Christmas.
The return value of os.date()
is a string type, not a number type, so make sure to specify the condition with a string.
Example
day = tonumber(os.date("%d")) function onGrab() if (day % 2) == 0 then print("Today is an even number date") end end
By using tonumber()
you can convert from string type to number type.
The example above determines if the date is an even number by judging if the reminder of the day divided by 2 is 0.
VC version: 1.9.2a and later
You can get the information on HMD and the language selected.
Example
print("HMD Type: "..vci.me.GetHeadMountedDisplayType()) print("HMD Name: "..vci.me.GetHeadMountedDisplayName()) print("Language Code: "..vci.me.GetLanguageCode())
Values you can get with GetHeadMountedDisplayType
Values you can get with GetLanguageCode
About GetHeadMountedDisplayName
The result is acquired from hmd_ModelNumber property in SteamVR.
This value conforms to SteamVR specifications and may change in future updates.
VC version: 1.9.2d and later
You can get the version information of VirtualCast with GetSystemVersion. CompareSystemVersion returns 0 when the version string specified in the arguments is the same as the current version. It returns a positive value if the version is older and it returns a negative value when the version is newer.
Example
print(vci.me.GetSystemVersion()) -- 1.9.2d local result = vci.me.CompareSystemVersion("1.9.2d") print("Result: "..result) -- Result: 0 result = vci.me.CompareSystemVersion("1.9.2c") print("Result: "..result) -- Result: 1 result = vci.me.CompareSystemVersion("1.9.3") print("Result: "..result) -- Result: -1