Files
GT7-Scripts/bnowakow/old versions/3 GT7-AHK/GT7-AHKv1.00.13_test - modyfied matrix PanAm/Races/Tokyo.bak.late.ahk
2022-04-18 22:06:49 +02:00

297 lines
7.7 KiB
AutoHotkey

;----------------------------------------------------------------------
; // 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: