summaryrefslogtreecommitdiff
path: root/scripts/zdoc_scripts/iracing_common_scripts.lua
blob: 3b19bb2c5321db8420c315d09adfe932ae40ef6a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
-- iRacing SLI-PRO Custom SLIMax Manager Scripts v3
-- Copyright ©2012-2013 by Zappadoc - All Rights Reserved.
-- last change by Zappadoc - 2013-02

-- ================================
-- CONSTANTS


-- ================================
-- additional lua extension module dll


-- ================================
-- additional scripts file
require "scripts/zdoc_scripts/iracing_stuff"

-- ================================
-- custom globals


-- ================================
-- custom functions

-- ================================
-- custom events

function custom_initEvent(scriptfile)
	-- type your custom script initialization here
end

function custom_controlsEvent(deviceIdx, ctrlType, ctrlPos, value, funcIndex)
	-- type your custom controls script here (manage buttons, switches and encoders)
	return 2
end

function custom_deviceReport(devType)
	-- type your script here (just before sending report to the device )
	return 2
end

function custom_ospMethodEvent(idx)
	-- type your custom Optimal Shift Points (OSP) method here
		-- custom speedlimiter for each iRacing car
	local result = 2
	-- get current simulation name
	local sim = GetContextInfo("simulation")
	if isAppIRacing(sim) then
		result = iRacing_ospMethodEvent(idx, "SLI")
	end
	return result
end
function custom_ospFanatecMethodEvent(idx)
	-- type your custom Optimal Shift Points (OSP) method here
		-- custom speedlimiter for each iRacing car
	local result = 2
	-- get current simulation name
	local sim = GetContextInfo("simulation")
	if isAppIRacing(sim) then
		result = iRacing_ospMethodEvent(idx, "FANATEC")
	end
	return result
end

function custom_shiftLightsMethodEvent(idx)
	-- type your custom shiftlights method here
	
	-- custom shiftlights for each iRacing car
	-- get current simulation name
	local sim = GetContextInfo("simulation")
	if isAppIRacing(sim) then
		iRacing_shiftLightsMethodEvent(idx, "SLI")
		-- skip std methods
		return 1
	end
	
	return 2
end
function custom_shiftLightsFanatecMethodEvent(idx)
	-- type your custom shiftlights method here
	
	-- custom shiftlights for each iRacing car
	-- get current simulation name
	local sim = GetContextInfo("simulation")
	if isAppIRacing(sim) then
		iRacing_shiftLightsMethodEvent(idx, "FANATEC")
		-- skip std methods
		return 1
	end
	
	return 2
end

function custom_shiftLightsBU0710Event(idx)
	-- type your custom shiftlights method for BU0710 device only here
	return 2
end

function custom_leftDigitsEvent(swPosition)
	-- type your custom script related to left SLI-PRO digits panel here
	return 2
end

function custom_rightDigitsEvent(swPosition)
	-- type your custom script related to right SLI-PRO digits panel here
	return 2
end

function custom_fanatecDigitsEvent(swPosition)
	-- type your custom script related to Fanatec digits panel here
	return 2
end

function custom_spdLmtMethodEvent(idx)
	-- type your custom speedlimiter method here
		
	-- custom speedlimiter for each iRacing car
	local result = 2
	-- get current simulation name
	local sim = GetContextInfo("simulation")
	if isAppIRacing(sim) then
		result = iRacing_spdLmtMethodEvent(idx, "SLI")
	end
	return result
end

function custom_spdLmtFanatecMethodEvent(idx)
	-- type your custom Optimal Shift Points (OSP) method here

	-- custom speedlimiter for each iRacing car
	local result = 2
	-- get current simulation name
	local sim = GetContextInfo("simulation")
	if isAppIRacing(sim) then
		result = iRacing_spdLmtMethodEvent(idx, "FANATEC")
	end
	return result
end

function custom_gearFanatecEvent(gear)
	-- type your custom gear event script here
	
	local sim = GetContextInfo("simulation")
	if isAppIRacing(sim) then	
		iRacing_InitGearEvent(gear)
	end
	return 2
end

function custom_gearEvent(gear)
	-- type your custom gear event script here
	
	local sim = GetContextInfo("simulation")
	if isAppIRacing(sim) then	
		iRacing_InitGearEvent(gear)
	end
	return 2
end

function custom_enterSessionEvent(devType)
	-- type your custom script on session start, here

	-- custom script to get the max gear of each iRacing car
	-- get current simulation name
	local sim = GetContextInfo("simulation")
	if isAppIRacing(sim ) then
		iRacing_CarSetup(0)
		iRacing_DebugCarInfo(devType)
	end
	return 2
end

function custom_exitSessionEvent(devType)
	-- type your custom script on session ending, here
	return 2
end