Skip to content

Commit 1ef5337

Browse files
Merge pull request #2 from MccDev260/HazardLights
Hazard lights
2 parents c98e1f5 + 4f0c6cc commit 1ef5337

File tree

4 files changed

+48
-18
lines changed

4 files changed

+48
-18
lines changed

EVLC_Settings.ini

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,14 @@ Beam_Toggle_Key=CapsLock
77
Beam_Toggle_Button=ScriptRLeft
88

99
[Interior]
10-
Interior_Light_toggle_key=I
10+
Interior_Light_toggle_Key=I
1111

1212
[Indicators]
1313
Left_Indicator_Key=Left
1414
Left_Indicator_Button=ScriptPadLeft
1515

1616
Right_Indicator_Key=Right
17-
Right_Indicator_Button=ScriptPadRight
17+
Right_Indicator_Button=ScriptPadRight
18+
19+
Hazard_Lights_Key=Down
20+
Hazard_Lights_Button=ScriptRB

Properties/AssemblyInfo.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
// General Information about an assembly is controlled through the following
66
// set of attributes. Change these attribute values to modify the information
77
// associated with an assembly.
8-
[assembly: AssemblyTitle("EnhancedVehicleControls")]
8+
[assembly: AssemblyTitle("EnhancedVehicleLightingControls")]
99
[assembly: AssemblyDescription("")]
1010
[assembly: AssemblyConfiguration("")]
1111
[assembly: AssemblyCompany("MccDev260")]
12-
[assembly: AssemblyProduct("EnhancedVehicleControls")]
12+
[assembly: AssemblyProduct("EnhancedVehicleLightingControls")]
1313
[assembly: AssemblyCopyright("Copyright © 2021")]
1414
[assembly: AssemblyTrademark("")]
1515
[assembly: AssemblyCulture("")]
@@ -33,4 +33,4 @@
3333
// by using the '*' as shown below:
3434
// [assembly: AssemblyVersion("1.0.*")]
3535
[assembly: AssemblyVersion("1.0.0.0")]
36-
[assembly: AssemblyFileVersion("0.2.3.0")]
36+
[assembly: AssemblyFileVersion("0.3.0.0")]

docs/README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,16 @@ As of v0.2.0 this mod has basic controller support. Despite this, i still recomm
2626
- **Siren Toggle**: Tab
2727
- **Beam Toggle**: CapsLock
2828
- **Interior Light Toggle**: I
29-
- **Left Indicator**: Left Arrow
30-
- **Right Indicator**: Right Arrow
29+
- **Left Indicator**: Left
30+
- **Right Indicator**: Right
31+
- **Hazard lights**: Down
3132

3233
#### *Controller*:
3334
- **Siren Toggle**: DPadDown
3435
- **Beam Toggle**: x button
3536
- **Left Indicator**: DPadLeft
3637
- **Right Indicator**: DPadRight
37-
38+
- **Hazard lights**: RB
3839

3940

4041
#### *Custom Bindings*:
@@ -44,6 +45,7 @@ See '\docs\ControllerButtonList.pdf' for a list of valid button binds.
4445
---
4546

4647
## Changelog
48+
- **v0.3.0**: Added hazard light features.
4749
- **v0.2.3.0**: Added basic controller support.
4850

4951
---

main.cs

Lines changed: 35 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,10 @@ public class Main : Script
1313
Ped playerCharacter = Game.Player.Character;
1414
bool isSirenSilent;
1515
bool leftIndicator, rightIndicator;
16+
bool hazards;
1617

17-
Keys sirenToggleKey, beamToggleKey, interiorLightToggleKey, leftIndicatorKey, rightIndicatorKey;
18-
GTA.Control sirenToggleButton, beamToggleButton, leftIndicatorButton, rightIndicatorButton;
18+
Keys sirenToggleKey, beamToggleKey, interiorLightToggleKey, leftIndicatorKey, rightIndicatorKey, hazardsKey;
19+
GTA.Control sirenToggleButton, beamToggleButton, leftIndicatorButton, rightIndicatorButton, hazardsButton;
1920

2021
public Main()
2122
{
@@ -29,21 +30,23 @@ public Main()
2930
beamToggleKey = config.GetValue<Keys>("Headlights", "Beam_Toggle_Key", Keys.CapsLock);
3031
interiorLightToggleKey = config.GetValue<Keys>("Interior", "Interior_Light_Toggle_Key", Keys.I);
3132
leftIndicatorKey = config.GetValue<Keys>("Indicators", "Left_Indicator_key", Keys.Left);
32-
rightIndicatorKey = config.GetValue<Keys>("Indicators", "Right_Indicator_key", Keys.Right);
33+
rightIndicatorKey = config.GetValue<Keys>("Indicators", "Right_Indicator_Key", Keys.Right);
34+
hazardsKey = config.GetValue<Keys>("Indicators", "Hazard_Lights_Key", Keys.Down);
3335
#endregion
3436

3537
#region Buttons
3638
sirenToggleButton = config.GetValue<GTA.Control>("Emergency Vehicles", "Siren_Toggle_Button", GTA.Control.ScriptPadDown);
3739
beamToggleButton = config.GetValue<GTA.Control>("Headlights", "Beam_Toggle_Button", GTA.Control.ScriptRLeft);
3840
leftIndicatorButton = config.GetValue<GTA.Control>("Indicators", "Left_Indicator_Button", GTA.Control.ScriptPadLeft);
3941
rightIndicatorButton = config.GetValue<GTA.Control>("Indicators", "Right_Indicator_Button", GTA.Control.ScriptPadRight);
42+
hazardsButton = config.GetValue<GTA.Control>("Indicators", "Hazard_Lights_Button", GTA.Control.ScriptRB);
4043
#endregion
4144
}
4245

4346
private void OnTick(object sender, EventArgs e)
4447
{
4548
string modName = "Enhanced Vehicle Lighting Controls";
46-
string version = "PreRelease v0.2.3";
49+
string version = "PreRelease v0.3.0";
4750
string developer = "MccDev260";
4851

4952
if (firstTime)
@@ -56,6 +59,7 @@ private void OnTick(object sender, EventArgs e)
5659
GamePad();
5760
}
5861

62+
#region Input
5963
private void OnKeyDown(object sender, KeyEventArgs e)
6064
{
6165
if (playerCharacter.CurrentVehicle != null)
@@ -74,6 +78,9 @@ private void OnKeyDown(object sender, KeyEventArgs e)
7478

7579
if (e.KeyCode == leftIndicatorKey)
7680
ToggleLeftIndicator();
81+
82+
if (e.KeyCode == hazardsKey)
83+
ToggleHazards();
7784
}
7885
}
7986

@@ -90,7 +97,11 @@ private void GamePad()
9097

9198
if (Game.IsControlJustPressed(rightIndicatorButton))
9299
ToggleRightIndicator();
100+
101+
if (Game.IsControlJustPressed(hazardsButton))
102+
ToggleHazards();
93103
}
104+
#endregion
94105

95106
private void ToggleSiren()
96107
{
@@ -114,22 +125,36 @@ private void ToggleInteriorLights()
114125
playerCharacter.CurrentVehicle.IsInteriorLightOn = !playerCharacter.CurrentVehicle.IsInteriorLightOn;
115126
}
116127

117-
private void ToggleRightIndicator()
128+
#region Indicators
129+
private void ToggleHazards()
118130
{
119-
rightIndicator = !rightIndicator;
120-
playerCharacter.CurrentVehicle.IsRightIndicatorLightOn = rightIndicator;
131+
hazards = !hazards;
132+
SetIndicators(hazards, hazards);
133+
}
121134

135+
private void ToggleRightIndicator()
136+
{
122137
if (leftIndicator)
123138
ToggleLeftIndicator();
139+
140+
rightIndicator = !rightIndicator;
141+
SetIndicators(false, rightIndicator);
124142
}
125143

126144
private void ToggleLeftIndicator()
127145
{
128-
leftIndicator = !leftIndicator;
129-
playerCharacter.CurrentVehicle.IsLeftIndicatorLightOn = leftIndicator;
130-
131146
if (rightIndicator)
132147
ToggleRightIndicator();
148+
149+
leftIndicator = !leftIndicator;
150+
SetIndicators(leftIndicator);
151+
}
152+
153+
private void SetIndicators(bool leftIndicator = false, bool rightIndicator = false)
154+
{
155+
playerCharacter.CurrentVehicle.IsLeftIndicatorLightOn = leftIndicator;
156+
playerCharacter.CurrentVehicle.IsRightIndicatorLightOn = rightIndicator;
133157
}
158+
#endregion
134159
}
135160
}

0 commit comments

Comments
 (0)