mirror of
https://github.com/bnowakow/GT7-Scripts.git
synced 2026-01-29 06:25:58 +00:00
add newer versions
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
GoTo EndRace_DAYTONASUNDAYCUP600_Def
|
||||
|
||||
Race_DAYTONASUNDAYCUP600()
|
||||
{
|
||||
controller.Buttons.Cross.SetState(true)
|
||||
controller.Buttons.RS.SetState(true)
|
||||
DllCall("Sleep", "UInt", 8200)
|
||||
controller.Axes.LX.SetState(65)
|
||||
|
||||
t0 := A_TickCount
|
||||
tf := t0+t
|
||||
loop {
|
||||
DllCall("Sleep", "UInt", 500)
|
||||
;timeleft := Format("{:d}", (tf-A_TickCount)/1000)
|
||||
;timeref := Format("{:d}", 20000101000000)
|
||||
;timeref += timeleft, seconds
|
||||
;progress := Format("{:d}", (((t/1000)-(tf-A_TickCount)/1000))/(t/100000))
|
||||
;progress := Format("{:d}", (t-(tf-A_TickCount)))
|
||||
;FormatTime, timeleftfull, %timeref%, H:mm.ss
|
||||
; GuiControl,, ST, Time Left : %timeleftfull%
|
||||
; GuiControl,, MyProgress, %progress%
|
||||
} until A_TickCount >= tf
|
||||
|
||||
;GuiControl,, MyProgress, 0
|
||||
controller.Buttons.Cross.SetState(false)
|
||||
controller.Dpad.SetState("None")
|
||||
controller.Axes.LX.SetState(50)
|
||||
controller.Buttons.RS.SetState(false)
|
||||
return
|
||||
}
|
||||
EndRace_DAYTONASUNDAYCUP600_Def:
|
||||
@@ -0,0 +1,158 @@
|
||||
GoTo EndRace_PANAM_Def
|
||||
|
||||
Race_PANAM()
|
||||
{
|
||||
|
||||
turn1 := new TurnContainer(619, 112+remote_play_offsetY, 630, 95+remote_play_offsetY)
|
||||
turn2 := new TurnContainer(544, 45+remote_play_offsetY, 511, 52+remote_play_offsetY)
|
||||
turn3 := new TurnContainer(492, 84+remote_play_offsetY, 506, 111+remote_play_offsetY)
|
||||
lap_marker := new TurnContainer(560, 112+remote_play_offsetY)
|
||||
|
||||
; race_start_delay := 17400 ; this is for PS5. It may vary for PS4.
|
||||
Switch SysCheck {
|
||||
Case 1:
|
||||
race_start_delay := 19200
|
||||
Case 2:
|
||||
race_start_delay := 18200
|
||||
Case 3:
|
||||
race_start_delay := 18200
|
||||
}
|
||||
|
||||
CheckForOilChange := Mod(30 - A_Index, 30)
|
||||
SetFormat, IntegerFast, d
|
||||
CheckForMaintenance := Mod(180 - A_Index, 180)
|
||||
SetFormat, IntegerFast, d
|
||||
|
||||
if (__enableMaintenance_mod__ != 0){
|
||||
ToolTipper("Oil: " CheckForOilChange " race(s) remaining`nEngine: " CheckForMaintenance " race(s) remaining", 250, 45)
|
||||
}
|
||||
|
||||
t_ExpectedRaceTime := 195000
|
||||
t_RaceStartTime := A_TickCount
|
||||
t_RaceFinishTime := t_RaceStartTime + t_ExpectedRaceTime
|
||||
;ToolTipper("t_ExpectedRaceTime = " t_ExpectedRaceTime "`nt_RaceStartTime = " t_RaceStartTime "`nt_RaceFinishTime = " t_RaceFinishTime)
|
||||
|
||||
race_complete := false
|
||||
|
||||
; Press X to start the race
|
||||
;Tooltip
|
||||
Press_X()
|
||||
|
||||
; Hold Acceleration and manage turning
|
||||
Nitrous_On()
|
||||
Accel_On(100)
|
||||
;SetTimer, CheckTyresOverheating, 1000
|
||||
|
||||
; Retry race if time is taking more than 5.5 mins
|
||||
; (assume something went wrong with race)
|
||||
;SetTimer, RetryRace, 330000
|
||||
|
||||
Sleep (race_start_delay)
|
||||
controller.Axes.LX.SetState(62) /* before turn 1, to avoid queue of cars */
|
||||
|
||||
Loop {
|
||||
; Turn 1
|
||||
; Tooltip
|
||||
CheckTurn(turn1.startX, turn1.startY)
|
||||
ToolTipper("Turn 1 start found")
|
||||
/*
|
||||
if( A_Index != 1){
|
||||
Nitrous_Off()
|
||||
Accel_On(75)
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
controller.Axes.LX.SetState(18-3*%A_Index%)
|
||||
;Sleep(500)
|
||||
Accel_On(100)
|
||||
CheckTurn(turn1.endX, turn1.endY)
|
||||
ToolTipper("Turn 1 end found")
|
||||
|
||||
Nitrous_On()
|
||||
controller.Axes.LX.SetState(75)
|
||||
sleep(2000)
|
||||
controller.Axes.LX.SetState(65)
|
||||
sleep(2500)
|
||||
controller.Axes.LX.SetState(62)
|
||||
sleep(2000)
|
||||
|
||||
; Turn 2
|
||||
if( A_Index = 1){
|
||||
CheckTurn(turn2.startX, turn2.startY)
|
||||
}
|
||||
else{
|
||||
CheckTurn(545, turn2.startY)
|
||||
}
|
||||
ToolTipper("Turn 2 start found")
|
||||
controller.Axes.LX.SetState(18)
|
||||
CheckTurn(turn2.endX, turn2.endY)
|
||||
ToolTipper("Turn 2 end found")
|
||||
controller.Axes.LX.SetState(50)
|
||||
if( A_Index = 1 || A_Index = 6){
|
||||
controller.Axes.LX.SetState(75)
|
||||
sleep(2000)
|
||||
|
||||
controller.Axes.LX.SetState(65)
|
||||
sleep(500)
|
||||
}
|
||||
else{
|
||||
Turn_Left(500, 28)
|
||||
}
|
||||
|
||||
; Turn 3
|
||||
CheckTurn(turn3.startX, turn3.startY)
|
||||
Nitrous_Off()
|
||||
ToolTipper("Turn 3 start found")
|
||||
controller.Axes.LX.SetState(12)
|
||||
CheckTurn(turn3.endX, turn3.endY)
|
||||
Nitrous_On()
|
||||
ToolTipper("Turn 3 end found")
|
||||
controller.Axes.LX.SetState(42)
|
||||
sleep(500)
|
||||
controller.Axes.LX.SetState(58)
|
||||
sleep(2000)
|
||||
controller.Axes.LX.SetState(62)
|
||||
sleep(2000)
|
||||
CheckTurn(lap_marker.startX, lap_marker.startY)
|
||||
ToolTipper("Lap Complete")
|
||||
|
||||
sleep(4000)
|
||||
} until A_TickCount > t_racefinishtime
|
||||
controller.Axes.LX.SetState(50)
|
||||
; ToolTip, Out of Loop, 100, 100, screen
|
||||
|
||||
loop {
|
||||
;ToolTip, Racing, 100, 100, Screen
|
||||
break_point := false
|
||||
c1 := BitGrab(pix1x, pix1y+remote_play_offsetY, box_size)
|
||||
for i, c in c1
|
||||
{
|
||||
d1 := Distance(c, color_check1)
|
||||
;ToolTipper( d1 " " pix1y+remote_play_offsetY " " pix1x " " c)
|
||||
if (d1 < tolerance ){
|
||||
break_point := true
|
||||
break
|
||||
}
|
||||
}
|
||||
if (break_point)
|
||||
break
|
||||
|
||||
controller.Dpad.SetState("Right")
|
||||
Sleep, 50
|
||||
controller.Dpad.SetState("None")
|
||||
|
||||
Sleep, 100
|
||||
}
|
||||
ToolTipper("Race End")
|
||||
gosub, PauseLoop
|
||||
Sleep, 500
|
||||
return
|
||||
}
|
||||
|
||||
Race_PANAM_Complete() {
|
||||
race_complete := true
|
||||
return
|
||||
}
|
||||
|
||||
EndRace_PANAM_Def:
|
||||
@@ -0,0 +1,485 @@
|
||||
;----------------------------------------------------------------------
|
||||
; // START TOKYO RACE SCRIPT
|
||||
;----------------------------------------------------------------------
|
||||
|
||||
GoTo EndRace_Tokyo_Def
|
||||
Race_Tokyo()
|
||||
{
|
||||
|
||||
; // PIT STOP MANAGER
|
||||
|
||||
; PIT IN LAP (index 0 - Example: Lapping in Lap 5 is VALUE 4)
|
||||
pitlap := 5
|
||||
|
||||
; CHANGE TIRES TO:
|
||||
; 0 = RACING HARD
|
||||
; 1 = INTERMEDIATES
|
||||
tires := 1
|
||||
|
||||
; VARIABLES
|
||||
lapcounter := 0
|
||||
pitstop := 0
|
||||
outlap := 0
|
||||
|
||||
|
||||
;----------------------------------------------------------------------
|
||||
;---------------------------- // LAP 01 -------------------------------
|
||||
;----------------------------------------------------------------------
|
||||
|
||||
;----------------------------------------------------------------------
|
||||
; 01 // CHANGE FUEL MAP TO (LEAN 5) BEFORE RACE STARTS
|
||||
;----------------------------------------------------------------------
|
||||
|
||||
Sleep(1000)
|
||||
ToolTip, [LAP: 01][PITSTOPS: 0] 01 // Changing to Lean (5), 25, 250, Screen
|
||||
loop 4 {
|
||||
Press_Up(delay:=200)
|
||||
sleep, 200
|
||||
}
|
||||
Sleep(6000)
|
||||
|
||||
;----------------------------------------------------------------------
|
||||
; 02 // ACTIVATE ACCELERATION (100%) AND SHIFT TO 7TH GEAR
|
||||
;----------------------------------------------------------------------
|
||||
|
||||
ToolTip, [LAP: 01][PITSTOPS: 0] 02 // Acceleration ON & Shifting to 7th gear, 25, 250, Screen
|
||||
Accel_On(100)
|
||||
;Nitrous_On()
|
||||
loop 3 {
|
||||
Press_X(delay:=200)
|
||||
sleep, 200
|
||||
}
|
||||
|
||||
|
||||
;----------------------------------------------------------------------
|
||||
; 03 // TRIGGER FORCED 5 SECOND PENALTY
|
||||
;----------------------------------------------------------------------
|
||||
|
||||
ToolTip, [LAP: 01][PITSTOPS: 0] 03 // Triggering 5 sec. penalty, 25, 250, Screen
|
||||
Sleep(1000)
|
||||
Turn_Left(1000,10)
|
||||
|
||||
Turn_Left(13000,36)
|
||||
|
||||
;----------------------------------------------------------------------
|
||||
;---------------------------- // LAP 02-12 ----------------------------
|
||||
;----------------------------------------------------------------------
|
||||
|
||||
;----------------------------------------------------------------------
|
||||
; 04 // START THE BIG LOOP
|
||||
;----------------------------------------------------------------------
|
||||
|
||||
loop
|
||||
{
|
||||
|
||||
;----------------------------------------------------------------------
|
||||
; 05 // TRIGGER FORCED 5 SECOND PENALTY AND HUG WALLS UNTIL HAIRPIN
|
||||
;----------------------------------------------------------------------
|
||||
|
||||
; // FIRST LAP
|
||||
if (lapcounter = 0){
|
||||
ToolTip, [LAP: 01][PITSTOPS: 0] 05.1 // Hugging left wall from straight to turn 1, 25, 250, Screen
|
||||
Turn_Left(25000,36)
|
||||
|
||||
ToolTip, [LAP: 01][PITSTOPS: 0] 05.2 // Hugging right wall from chicane to hairpin, 25, 250, Screen
|
||||
Turn_Right(20000,72)
|
||||
}
|
||||
|
||||
; // LAP 02+ UNTIL WE DID A PITSTOP
|
||||
if (lapcounter > 0) and (pitstop = 0){
|
||||
ToolTip, [LAP: 02+][PITSTOPS: 0] 05.3 // Hugging left wall from straight to turn 1, 25, 250, Screen
|
||||
Turn_Left(28000,36)
|
||||
|
||||
ToolTip, [LAP: 02+][PITSTOPS: 0] 05.4 // Hugging right wall from chicane to hairpin, 25, 250, Screen
|
||||
Turn_Right(25000,72)
|
||||
}
|
||||
|
||||
|
||||
|
||||
; // OUTLAP AFTER PITSTOP
|
||||
if (outlap = 1){
|
||||
ToolTip, [OUTLAP][LAP: 02+][PITSTOPS: 1] 05.5 // Hugging left wall from straight to turn 1, 25, 250, Screen
|
||||
Turn_Left(34000,36)
|
||||
|
||||
ToolTip, [OUTLAP][LAP: 02+][PITSTOPS: 1] 05.6 // Hugging right wall from chicane to hairpin, 25, 250, Screen
|
||||
Turn_Right(35000,72)
|
||||
}
|
||||
|
||||
; // LAPS AFTER PITSTOP AND OUTLAP
|
||||
if (lapcounter > 0) and (pitstop = 1) and (outlap = 0) {
|
||||
ToolTip, [LAP: 02+][PITSTOPS: 1] 05.7 // Hugging left wall from straight to turn 1, 25, 250, Screen
|
||||
Turn_Left(30000,36)
|
||||
|
||||
ToolTip, [LAP: 02+][PITSTOPS: 1] 05.8 // Hugging right wall from chicane to hairpin, 25, 250, Screen
|
||||
Turn_Right(24000,72)
|
||||
|
||||
}
|
||||
outlap := 0
|
||||
;----------------------------------------------------------------------
|
||||
; 06 // LOOKING FOR HAIRPIN -1-
|
||||
;----------------------------------------------------------------------
|
||||
|
||||
ToolTip, // 06 Looking for hairpin -1-, 25, 250, Screen
|
||||
|
||||
color_player := 0xDE6E70
|
||||
hairpin_complete := false
|
||||
hairpinX := 506
|
||||
hairpinY := 72
|
||||
hairpinCount := 0
|
||||
hairpinTolerance := 10
|
||||
|
||||
loop
|
||||
{
|
||||
|
||||
tc := BitGrab(hairpinX, hairpinY,2)
|
||||
for i, c in tc
|
||||
{
|
||||
td := Distance(c, color_player)
|
||||
if (td < 9 ){
|
||||
hairpin_complete := true
|
||||
hairpinCount += 1
|
||||
ToolTip, 06 // Hairpin -1- found, 25, 250, Screen
|
||||
break
|
||||
}
|
||||
}
|
||||
;Turn_Left(300, 30)
|
||||
if( hairpinCount = 1 )
|
||||
break
|
||||
Sleep(100)
|
||||
}
|
||||
|
||||
;----------------------------------------------------------------------
|
||||
; 07 // IF HAIRPIN -1- FOUND:
|
||||
; 07 // WAIT, THEN:
|
||||
; 07 // HUG LEFT WALL THEN RIGHT UNTIL PEN LINE
|
||||
;----------------------------------------------------------------------
|
||||
|
||||
; // LAP 01 TIMINGS
|
||||
if (lapcounter = 0) {
|
||||
ToolTip, [LAP: 01][PITSTOPS: 0] 07.1 // Hairpin - turn right 5700 70, 25, 250, Screen
|
||||
Turn_Right(5700,70)
|
||||
ToolTip, [LAP: 01][PITSTOPS: 0] 07.2 // Hairpin - turn right 12000 65, 25, 250, Screen
|
||||
Turn_Right(12000,65)
|
||||
controller.Axes.LX.SetState(65)
|
||||
|
||||
}
|
||||
|
||||
; // LAP 02 TIMINGS
|
||||
if (lapcounter = 1) and (pitstop = 0) {
|
||||
ToolTip, [LAP: 02][PITSTOPS: 0] 07.3 // Hairpin - turn right 5700 70, 25, 250, Screen
|
||||
Turn_Right(5700,70)
|
||||
ToolTip, [LAP: 02][PITSTOPS: 0] 07.4 // Hairpin - turn right 12000 65, 25, 250, Screen
|
||||
Turn_Right(12000,65)
|
||||
controller.Axes.LX.SetState(65)
|
||||
|
||||
}
|
||||
|
||||
; // LAP 03 TIMINGS
|
||||
if (lapcounter = 2) and (pitstop = 0) {
|
||||
ToolTip, [LAP: 03][PITSTOPS: 0] 07.5 // Hairpin - turn right 5700 70 - SLEEP 800, 25, 250, Screen
|
||||
Turn_Right(5700,70)
|
||||
|
||||
;Sleep(800)
|
||||
ToolTip, [LAP: 03][PITSTOPS: 0] 07.6 // Hairpin - turn right 12000 65 , 25, 250, Screen
|
||||
|
||||
Accel_On(55)
|
||||
Turn_Right(6000,65)
|
||||
Accel_On(100)
|
||||
Turn_Right(6000,65)
|
||||
|
||||
;OLD
|
||||
;Turn_Right(12000,65)
|
||||
|
||||
controller.Axes.LX.SetState(65)
|
||||
|
||||
}
|
||||
|
||||
|
||||
; // LAP 04 TIMINGS
|
||||
if (lapcounter = 3) and (pitstop = 0) {
|
||||
ToolTip, [LAP: 04][PITSTOPS: 0] 07.7 // Hairpin - turn right 5700 70 - SLEEP 1500, 25, 250, Screen
|
||||
Turn_Right(5700,70)
|
||||
;Sleep(1500)
|
||||
ToolTip, [LAP: 04][PITSTOPS: 0] 07.8 // Hairpin - turn right 12000 65, 25, 250, Screen
|
||||
|
||||
|
||||
Accel_On(55)
|
||||
Turn_Right(6000,65)
|
||||
Accel_On(100)
|
||||
Turn_Right(6000,65)
|
||||
|
||||
;OLD
|
||||
;Turn_Right(12000,65)
|
||||
|
||||
controller.Axes.LX.SetState(65)
|
||||
|
||||
}
|
||||
|
||||
; // LAP 05 TIMINGS
|
||||
if (lapcounter = 4) and (pitstop = 0) {
|
||||
ToolTip, [LAP: 05][PITSTOPS: 0] 07.9 // Hairpin - turn right 5700 70 - SLEEP 2000, 25, 250, Screen
|
||||
Turn_Right(5700,70)
|
||||
;Sleep(2000)
|
||||
ToolTip, [LAP: 05][PITSTOPS: 0] 07.10 // Hairpin - turn right 12000 65, 25, 250, Screen
|
||||
|
||||
Accel_On(55)
|
||||
Turn_Right(6000,65)
|
||||
Accel_On(100)
|
||||
Turn_Right(6000,65)
|
||||
|
||||
;OLD
|
||||
;Turn_Right(12000,65)
|
||||
controller.Axes.LX.SetState(65)
|
||||
|
||||
}
|
||||
|
||||
; // LAP 06 TIMINGS
|
||||
if (lapcounter = 5)
|
||||
|
||||
{
|
||||
ToolTip, [LAP: 06][PITSTOPS: 0] 07.11 // Hairpin - turn right 5700 70 - SLEEP 2400, 25, 250, Screen
|
||||
Accel_On(55)
|
||||
Turn_Right(5700,70)
|
||||
;Sleep(2400)
|
||||
ToolTip, [LAP: 06][PITSTOPS: 0] 07.12 // Hairpin - turn right 12000 65, 25, 250, Screen
|
||||
|
||||
Turn_Right(6000,65)
|
||||
Accel_On(100)
|
||||
Turn_Right(6000,65)
|
||||
|
||||
;OLD
|
||||
;Turn_Right(12000,65)
|
||||
controller.Axes.LX.SetState(65)
|
||||
|
||||
}
|
||||
|
||||
; // LAP 07 TIMINGS
|
||||
if (lapcounter = 6) {
|
||||
ToolTip, [LAP: 07][PITSTOPS: 1] 07.13 // Hairpin - turn right 5700 70, 25, 250, Screen
|
||||
Accel_On(55)
|
||||
Turn_Right(5700,70)
|
||||
ToolTip, [LAP: 07][PITSTOPS: 1] 07.14 // Hairpin - turn right 12000 65, 25, 250, Screen
|
||||
Turn_Right(6000,65)
|
||||
Accel_On(100)
|
||||
Turn_Right(6000,65)
|
||||
controller.Axes.LX.SetState(65)
|
||||
|
||||
}
|
||||
|
||||
; // LAP 08 TIMINGS
|
||||
if (lapcounter = 7) {
|
||||
ToolTip, [LAP: 08][PITSTOPS: 1] 07.15 // Hairpin - turn right 5700 70, 25, 250, Screen
|
||||
Accel_On(55)
|
||||
Turn_Right(5700,70)
|
||||
ToolTip, [LAP: 08][PITSTOPS: 1] 07.16 // Hairpin - turn right 12000 65, 25, 250, Screen
|
||||
Turn_Right(6000,65)
|
||||
Accel_On(100)
|
||||
Turn_Right(6000,65)
|
||||
controller.Axes.LX.SetState(65)
|
||||
|
||||
}
|
||||
; // LAP 09 TIMINGS
|
||||
if (lapcounter = 8) {
|
||||
ToolTip, [LAP: 09][PITSTOPS: 1] 07.17 // Hairpin - turn right 5700 70 - SLEEP 800, 25, 250, Screen
|
||||
Turn_Right(5700,70)
|
||||
ToolTip, [LAP: 09][PITSTOPS: 1] 07.18 // Hairpin - turn right 12000 65, 25, 250, Screen
|
||||
;Sleep(800)
|
||||
|
||||
Accel_On(55)
|
||||
Turn_Right(6000,65)
|
||||
Accel_On(100)
|
||||
Turn_Right(6000,65)
|
||||
|
||||
|
||||
;OLD
|
||||
;Turn_Right(12000,65)
|
||||
controller.Axes.LX.SetState(65)
|
||||
|
||||
}
|
||||
|
||||
; // LAP 10 TIMINGS
|
||||
if (lapcounter = 9) {
|
||||
ToolTip, [LAP: 10][PITSTOPS: 1] 07.19 // Hairpin - turn right 5700 70 - SLEEP 1500, 25, 250, Screen
|
||||
Turn_Right(5700,70)
|
||||
;Sleep(1500)
|
||||
ToolTip, [LAP: 10][PITSTOPS: 1] 07.20 // Hairpin - turn right 12000 65, 25, 250, Screen
|
||||
Turn_Right(12000,65)
|
||||
controller.Axes.LX.SetState(65)
|
||||
|
||||
}
|
||||
|
||||
; // LAP 11 TIMINGS
|
||||
if (lapcounter = 10) {
|
||||
ToolTip, [LAP: 11][PITSTOPS: 1] 07.21 // Hairpin - turn right 5700 70 - SLEEP 2000, 25, 250, Screen
|
||||
Turn_Right(5700,70)
|
||||
;Sleep(2000)
|
||||
ToolTip, [LAP: 11][PITSTOPS: 1] 07.22 // Hairpin - turn right 12000 65, 25, 250, Screen
|
||||
|
||||
Accel_On(55)
|
||||
Turn_Right(6000,65)
|
||||
Accel_On(100)
|
||||
Turn_Right(6000,65)
|
||||
|
||||
;OLD
|
||||
;Turn_Right(12000,65)
|
||||
controller.Axes.LX.SetState(65)
|
||||
|
||||
}
|
||||
|
||||
; // LAP 12 TIMINGS
|
||||
if (lapcounter = 11) {
|
||||
ToolTip, [LAP: 12][PITSTOPS: 1] 07.23 // Hairpin - turn right 5700 70 - SLEEP 2400, 25, 250, Screen
|
||||
Accel_On(55)
|
||||
Turn_Right(5700,70)
|
||||
;Sleep(2400)
|
||||
ToolTip, [LAP: 12][PITSTOPS: 1] 07.24 // Hairpin - turn right 12000 65, 25, 250, Screen
|
||||
|
||||
Turn_Right(6000,65)
|
||||
Accel_On(100)
|
||||
Turn_Right(6000,65)
|
||||
|
||||
;OLD
|
||||
;Turn_Right(12000,65)
|
||||
|
||||
; // DRIVE IT HOME BABY
|
||||
Turn_Right(30000,65)
|
||||
}
|
||||
|
||||
;----------------------------------------------------------------------
|
||||
; 08 // LOOKING FOR HAIRPIN -2-
|
||||
;----------------------------------------------------------------------
|
||||
|
||||
ToolTip, 08.1 // Looking for hairpin -2-, 25, 250, Screen
|
||||
loop
|
||||
{
|
||||
|
||||
tc := BitGrab(hairpinX, hairpinY,2)
|
||||
|
||||
for i, c in tc
|
||||
{
|
||||
td := Distance(c, color_player)
|
||||
if (td < 20 ){
|
||||
hairpin_complete := true
|
||||
hairpinCount += 1
|
||||
ToolTip, 08.2 // Hairpin Found, 25, 250, Screen
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
;Turn_Left(300, 30)
|
||||
if( hairpinCount = 2 )
|
||||
break
|
||||
Sleep(100)
|
||||
}
|
||||
|
||||
controller.Axes.LX.SetState(65)
|
||||
|
||||
hairpinCount := 0
|
||||
|
||||
;----------------------------------------------------------------------
|
||||
; 09 // IF HAIRPIN -2- FOUND:
|
||||
; 09 // START CHECK FOR LAPCOUNTER FOR PIT, IF TRUE START PIT ROUTINE
|
||||
; 09 // ELSE SETUP FORCED PEN TRIGGER
|
||||
;----------------------------------------------------------------------
|
||||
|
||||
Turn_Left(1000, 40)
|
||||
;Turn_Right(300,65)
|
||||
|
||||
if (pitlap = lapcounter){
|
||||
controller.Axes.LX.SetState(35)
|
||||
|
||||
ToolTip, [LAP: 02+][PITSTOPS: 0] 09.1 // Pitstop starting, 25, 250, Screen
|
||||
Turn_Right(1000, 60)
|
||||
controller.Axes.LX.SetState(40)
|
||||
Sleep (5000)
|
||||
controller.Axes.LX.SetState(0)
|
||||
Sleep (20000)
|
||||
Press_Up()
|
||||
Sleep (100)
|
||||
|
||||
if (tires = 0) {
|
||||
; // RACING HARD
|
||||
ToolTip, 09.2 // CHANGING TO RACING HARD, 25, 250, Screen
|
||||
loop, 5{
|
||||
Press_Left()
|
||||
}
|
||||
}
|
||||
|
||||
if (tires = 1) {
|
||||
; // INTERMEDIATES
|
||||
ToolTip, 09.3 // CHANGING TO INTERMEDIATES, 25, 250, Screen
|
||||
Press_Right()
|
||||
}
|
||||
|
||||
Press_X()
|
||||
|
||||
|
||||
; REFILL
|
||||
;Press_Down()
|
||||
;Press_X()
|
||||
controller.Axes.LX.SetState(50)
|
||||
|
||||
Sleep, 18000
|
||||
ToolTip, [LAP: 02+][PITSTOPS: 0] 09.4 // // LEAVING PIT - TRIGGER PEN & SHIFTING TO 7TH GEAR, 25, 250, Screen
|
||||
Turn_Left(3000,0)
|
||||
controller.Axes.LX.SetState(20)
|
||||
loop 4 {
|
||||
Press_X(delay:=200)
|
||||
sleep, 200
|
||||
}
|
||||
|
||||
pitstop := 1
|
||||
outlap := 1
|
||||
|
||||
}
|
||||
else {
|
||||
controller.Axes.LX.SetState(65)
|
||||
|
||||
/*
|
||||
; //NEW PEN TRIGGER LOGIC, NEEDS TESTING/TIMINGS
|
||||
Turn_Left(2000,30)
|
||||
controller.Axes.LX.SetState(0)
|
||||
|
||||
ToolTip, 09.4 // Triggering 5 sec. penalty, 25, 250, Screen
|
||||
Sleep, 3000
|
||||
controller.Axes.LX.SetState(59)
|
||||
Sleep, 15000
|
||||
|
||||
*/
|
||||
|
||||
; // PEN TRIGGER LOGIC (UNSTABLE)
|
||||
|
||||
Sleep(5000)
|
||||
Turn_Left(1000, 40)
|
||||
Brake_on(100)
|
||||
Accel_Off()
|
||||
Sleep(3000)
|
||||
|
||||
ToolTip, 09.5 // Triggering 5 sec. penalty, 25, 250, Screen
|
||||
controller.Axes.LX.SetState(70)
|
||||
Brake_off()
|
||||
Nitrous_On()
|
||||
Accel_On(100)
|
||||
Sleep(3000)
|
||||
Turn_Right(2000, 90)
|
||||
Turn_Right(11000, 65)
|
||||
Sleep(3000)
|
||||
Nitrous_Off()
|
||||
|
||||
|
||||
|
||||
}
|
||||
;----------------------------------------------------------------------
|
||||
; 55 // CLOSE LOOP LAP 1-12
|
||||
;----------------------------------------------------------------------
|
||||
|
||||
lapcounter++
|
||||
|
||||
}
|
||||
|
||||
;----------------------------------------------------------------------
|
||||
; 99 // CLOSE RACE SCRIPT
|
||||
;----------------------------------------------------------------------
|
||||
|
||||
}
|
||||
EndRace_Tokyo_Def:
|
||||
@@ -0,0 +1,296 @@
|
||||
;----------------------------------------------------------------------
|
||||
; // START TOKYO RACE SCRIPT
|
||||
;----------------------------------------------------------------------
|
||||
|
||||
GoTo EndRace_Tokyo_Def
|
||||
Race_Tokyo()
|
||||
{
|
||||
; VARIABLES
|
||||
lapcounter := 0
|
||||
|
||||
;----------------------------------------------------------------------
|
||||
;---------------------------- // LAP 01 -------------------------------
|
||||
;----------------------------------------------------------------------
|
||||
|
||||
;----------------------------------------------------------------------
|
||||
; /1/ CHANGE FUEL MAP TO (LEAN 5) BEFORE RACE STARTS
|
||||
;----------------------------------------------------------------------
|
||||
|
||||
Sleep(1000)
|
||||
ToolTip, /1/ Changing to Lean (5) //, 22, 70, Screen
|
||||
loop 4 {
|
||||
Press_Up(delay:=200)
|
||||
sleep, 200
|
||||
}
|
||||
Sleep(6000)
|
||||
|
||||
|
||||
;----------------------------------------------------------------------
|
||||
; /2/ ACTIVATE ACCELERATION (100%) AND SHIFT TO 7TH GEAR
|
||||
;----------------------------------------------------------------------
|
||||
|
||||
ToolTip, /2/ Acceleration ON & Shifting to 7th gear //, 22, 70, Screen
|
||||
Accel_On(100)
|
||||
;Nitrous_On()
|
||||
loop 3 {
|
||||
Press_X(delay:=200)
|
||||
sleep, 200
|
||||
}
|
||||
|
||||
|
||||
;----------------------------------------------------------------------
|
||||
; /3/ TRIGGER FORCED 5 SECOND PENALTY
|
||||
;----------------------------------------------------------------------
|
||||
|
||||
ToolTip, /3/ Triggering 5 sec. penalty //, 22, 70, Screen
|
||||
Sleep(1000)
|
||||
Turn_Left(1000,10)
|
||||
|
||||
;----------------------------------------------------------------------
|
||||
; /4/ CHECK IF WE GOT THE 5 SEC PENALTY
|
||||
;----------------------------------------------------------------------
|
||||
|
||||
/*
|
||||
loop {
|
||||
gosub, CheckPenalty
|
||||
|
||||
if( Penalty_triggered = true)
|
||||
break
|
||||
Sleep(100)
|
||||
}
|
||||
ToolTip, /4/ PENALTY RECEIVED //, 22, 70, Screen
|
||||
Sleep(5000)
|
||||
*/
|
||||
|
||||
;----------------------------------------------------------------------
|
||||
; /5/ WAIT, THEN STEERING TO THE LEFT SIDE TO:
|
||||
; /5/ OVERTAKE CARS LEFT, GRIND WALL, TAKE T1 FROM LEFT
|
||||
;----------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
;----------------------------------------------------------------------
|
||||
;---------------------------- // LAP 02-12 ----------------------------
|
||||
;----------------------------------------------------------------------
|
||||
|
||||
;----------------------------------------------------------------------
|
||||
; /6/ START THE BIG LOOP
|
||||
;----------------------------------------------------------------------
|
||||
Turn_Left(12000,36)
|
||||
|
||||
loop
|
||||
{
|
||||
|
||||
;----------------------------------------------------------------------
|
||||
; /7/ TRIGGER FORCED 5 SECOND PENALTY
|
||||
;----------------------------------------------------------------------
|
||||
|
||||
if (lapcounter > 0)
|
||||
{
|
||||
ToolTip, /7.1/ Triggering 5 sec. penalty after tunnel //, 22, 70, Screen
|
||||
ToolTip, /7.2/ HALF Acceleration for 3 sec //, 22, 70, Screen
|
||||
}
|
||||
|
||||
ToolTip, 5.1 // Hugging left wall from straight to chicane //, 22, 70, Screen
|
||||
Turn_Left(26000,36)
|
||||
|
||||
ToolTip, 5.2 // Hugging right wall from chicane to hairpin //, 22, 70, Screen
|
||||
Turn_Right(33000,72)
|
||||
|
||||
/*
|
||||
;----------------------------------------------------------------------
|
||||
; /9/ START THE CHICANE SEARCH LOOP
|
||||
;----------------------------------------------------------------------
|
||||
ToolTip, /9/ Turn right through chicane //, 22, 70, Screen
|
||||
Turn_Right(15000,75)
|
||||
ToolTip, /9/ Looking for Chicane //, 22, 70, Screen
|
||||
loop {
|
||||
gosub, CheckChicane
|
||||
|
||||
if( Chicane_complete = true)
|
||||
break
|
||||
Sleep(100)
|
||||
}
|
||||
|
||||
;----------------------------------------------------------------------
|
||||
; /10/ IF CHICANE FOUND:
|
||||
; /10/ WAIT, THEN:
|
||||
; /10/ ACCELERATION & NITRO OFF, TURN RIGHT, ACCELERATION & NITRO ON, WAIT
|
||||
;----------------------------------------------------------------------
|
||||
|
||||
Sleep(1550)
|
||||
ToolTip, /10/ Acceleration & Nitro OFF //, 22, 70, Screen
|
||||
Nitrous_Off()
|
||||
Accel_Off()
|
||||
ToolTip, /10/ Turning left //, 22, 70, Screen
|
||||
Turn_Left(1500,15)
|
||||
ToolTip, /10/ Acceleration & Nitro ON //, 22, 70, Screen
|
||||
Accel_On(100)
|
||||
Nitrous_On()
|
||||
gosub, ResetChicane
|
||||
|
||||
*/
|
||||
|
||||
;----------------------------------------------------------------------
|
||||
; /11/ START THE HAIRPIN SEARCH LOOP
|
||||
;----------------------------------------------------------------------
|
||||
|
||||
ToolTip, /11/ Looking for hairpin, 22, 70, Screen
|
||||
|
||||
color_player := 0xDE6E70
|
||||
hairpin_complete := false
|
||||
hairpinX := 506
|
||||
hairpinY := 72
|
||||
hairpinCount := 0
|
||||
hairpinTolerance := 10
|
||||
|
||||
loop
|
||||
{
|
||||
|
||||
tc := BitGrab(hairpinX, hairpinY,2)
|
||||
|
||||
for i, c in tc
|
||||
{
|
||||
td := Distance(c, color_player)
|
||||
if (td < 9 ){
|
||||
hairpin_complete := true
|
||||
hairpinCount += 1
|
||||
ToolTip, /11/ Hairpin Found, 22, 70, Screen
|
||||
break
|
||||
}
|
||||
}
|
||||
;Turn_Left(300, 30)
|
||||
if( hairpinCount = 1 )
|
||||
break
|
||||
Sleep(100)
|
||||
}
|
||||
|
||||
;----------------------------------------------------------------------
|
||||
; /12/ IF HAIRPIN (1) FOUND:
|
||||
; /12/ WAIT, THEN:
|
||||
; /12/ HUG THE LEFT WALL TO GET 90° BUMPS
|
||||
;----------------------------------------------------------------------
|
||||
|
||||
;ToolTip, /12/ Turning left for corner bumps //, 22, 70, Screen
|
||||
;Turn_Left(20000, 25)
|
||||
|
||||
|
||||
ToolTip, /12/ Hairpin - turn right 5700 70 //, 100, 100, Screen
|
||||
|
||||
Turn_Right(5700,70)
|
||||
Accel_On(75)
|
||||
ToolTip, /12/ Hairpin - turn right 12000 60 //, 100, 100, Screen
|
||||
Turn_Right(5000,70 + lapcounter)
|
||||
Sleep(1000)
|
||||
Turn_Right(5000,65)
|
||||
Accel_On(100)
|
||||
ToolTip, /12/ Sleep //, 100, 100, Screen
|
||||
Sleep(3000)
|
||||
controller.Axes.LX.SetState(65)
|
||||
|
||||
|
||||
|
||||
loop
|
||||
{
|
||||
|
||||
tc := BitGrab(hairpinX, hairpinY,2)
|
||||
|
||||
for i, c in tc
|
||||
{
|
||||
td := Distance(c, color_player)
|
||||
if (td < 20 ){
|
||||
hairpin_complete := true
|
||||
hairpinCount += 1
|
||||
ToolTip, /11/ Hairpin Found, 100, 100, Screen
|
||||
break
|
||||
}
|
||||
}
|
||||
;Turn_Left(300, 30)
|
||||
if( hairpinCount = 2 )
|
||||
break
|
||||
Sleep(100)
|
||||
}
|
||||
ToolTip, LX 65, 22, 70, Screen
|
||||
|
||||
if (lapcounter = 4){
|
||||
controller.Axes.LX.SetState(35)
|
||||
}
|
||||
else {
|
||||
controller.Axes.LX.SetState(65)
|
||||
}
|
||||
|
||||
|
||||
Sleep(4650)
|
||||
|
||||
hairpinCount := 0
|
||||
;----------------------------------------------------------------------
|
||||
; /13/ HUG THE RIGHT WALL TO AVOID THE PIT ENTRANCE
|
||||
;----------------------------------------------------------------------
|
||||
|
||||
ToolTip, Left 300 - Right 300, 100, 100, Screen
|
||||
|
||||
|
||||
;Turn_Right(300,65)
|
||||
|
||||
;----------------------------------------------------------------------
|
||||
; /7/ TRIGGER FORCED 5 SECOND PENALTY
|
||||
;----------------------------------------------------------------------
|
||||
|
||||
if (lapcounter = 4){
|
||||
;----------------------------------------------------------------------
|
||||
; /20/ MAKE PIT STOP CHANGE TIRES
|
||||
;----------------------------------------------------------------------
|
||||
ToolTip, Heading to pit, 100, 100, Screen
|
||||
;Turn_Right(800, 60)
|
||||
controller.Axes.LX.SetState(0)
|
||||
Accel_On()
|
||||
Brake_off()
|
||||
Sleep, 17000
|
||||
Turn_Left(5000, 20)
|
||||
ToolTip, Changing tires, 100, 100, Screen
|
||||
Press_Up()
|
||||
loop, 5{
|
||||
Press_Left()
|
||||
}
|
||||
Press_X()
|
||||
Press_Down()
|
||||
Press_X()
|
||||
controller.Axes.LX.SetState(50)
|
||||
Sleep, 12000
|
||||
ToolTip, Leaving Pit, 100, 100, Screen
|
||||
loop 4 {
|
||||
Press_X(delay:=200)
|
||||
sleep, 200
|
||||
}
|
||||
}
|
||||
else {
|
||||
Accel_Off()
|
||||
Brake_on(100)
|
||||
Turn_Left(950, 40)
|
||||
Sleep(3000)
|
||||
|
||||
controller.Axes.LX.SetState(70)
|
||||
Brake_off()
|
||||
Nitrous_On()
|
||||
Accel_On(100)
|
||||
Sleep(3000)
|
||||
Turn_Right(2000, 90)
|
||||
Turn_Right(11000, 65)
|
||||
Sleep(3000)
|
||||
|
||||
Nitrous_Off()
|
||||
}
|
||||
;----------------------------------------------------------------------
|
||||
; /55/ CLOSE LOOP LAP 1-12
|
||||
;----------------------------------------------------------------------
|
||||
|
||||
lapcounter++
|
||||
ToolTip, /55/ LAP %lapcounter%, 100, 100, Screen
|
||||
}
|
||||
|
||||
;----------------------------------------------------------------------
|
||||
; /99/ CLOSE RACE SCRIPT
|
||||
;----------------------------------------------------------------------
|
||||
|
||||
}
|
||||
EndRace_Tokyo_Def:
|
||||
Reference in New Issue
Block a user