CatchEvent OnLapperStart() RegisterNodeAction( "AS1", 137, RadarTrap1, "" ); RegisterNodeAction( "AS1", 249, RadarTrap2, "" ); RegisterNodeAction( "AS1R", 25, RadarTrap1, "" ); RegisterNodeAction( "AS1R", 37, RadarTrap2, "" ); RegisterNodeAction( "AS1R", 57, RadarTrap3, "" ); RegisterNodeAction( "AS1R", 71, RadarTrap4, "" ); RegisterNodeAction( "AS1R", 154, RadarTrap5, "" ); RegisterNodeAction( "AS1R", 212, RadarTrap6, "" ); RegisterNodeAction( "AS1R", 88, StMidCorner1, "" ); RegisterNodeAction( "AS1R", 138, StMidCorner2, "" ); RegisterNodeAction( "AS1R", 184, StMidCorner3, "" ); RegisterNodeAction( "AS1R", 233, StMidCorner4, "" ); RegisterNodeAction( "AS1R", 148, StCornerExit1, "" ); RegisterNodeAction( "AS1R", 13, StCornerExit2, "" ); RegisterNodeAction( "AS1R", 104, StCornerExit1, "" ); RegisterNodeAction( "AS1R", 200, StCornerExit3, "" ); RegisterNodeAction( "AS1R", 256, StCornerExit4, "" ); RegisterNodeAction( "AS2", 178, RadarTrap1, "" ); RegisterNodeAction( "AS2", 333, RadarTrap2, "" ); RegisterNodeAction( "AS2R", 168, RadarTrap1, "" ); RegisterNodeAction( "AS2R", 236, RadarTrap2, "" ); RegisterNodeAction( "AS2R", 322, RadarTrap3, "" ); RegisterNodeAction( "AS3", 118, RadarTrap1, "" ); RegisterNodeAction( "AS3", 297, RadarTrap2, "" ); RegisterNodeAction( "AS3", 148, RadarTrap3, "" ); RegisterNodeAction( "AS3R", 213, RadarTrap1, "" ); RegisterNodeAction( "AS3R", 331, RadarTrap2, "" ); RegisterNodeAction( "AS3R", 457, RadarTrap3, "" ); RegisterNodeAction( "AS4", 209, RadarTrap1, "" ); RegisterNodeAction( "AS4", 380, RadarTrap2, "" ); RegisterNodeAction( "AS4", 523, RadarTrap3, "" ); RegisterNodeAction( "AS4", 615, RadarTrap4, "" ); RegisterNodeAction( "AS4R", 380, RadarTrap1, "" ); RegisterNodeAction( "AS4R", 523, RadarTrap2, "" ); RegisterNodeAction( "AS4R", 615, RadarTrap3, "" ); RegisterNodeAction( "AS6R", 177, RadarTrap1, "" ); RegisterNodeAction( "AS6R", 473, RadarTrap2, "" ); RegisterNodeAction( "AS6R", 709, RadarTrap3, "" ); RegisterNodeAction( "BL1", 140, RadarTrap1, "" ); RegisterNodeAction( "BL1", 117, RadarTrap2, "" ); RegisterNodeAction( "BL1", 290, RadarTrap3, "" ); RegisterNodeAction( "BL1R", 245, RadarTrap1, "" ); RegisterNodeAction( "BL2", 205, RadarTrap1, "" ); RegisterNodeAction( "BL2", 326, RadarTrap2, "" ); RegisterNodeAction( "BL2R", 76, RadarTrap1, "" ); RegisterNodeAction( "BL2R", 205, RadarTrap2, "" ); RegisterNodeAction( "FE1", 105, RadarTrap1, "" ); RegisterNodeAction( "FE1", 288, RadarTrap2, "" ); RegisterNodeAction( "FE1R", 50, RadarTrap1, "" ); RegisterNodeAction( "FE1R", 249, RadarTrap2, "" ); RegisterNodeAction( "FE2", 223, RadarTrap1, "" ); RegisterNodeAction( "FE2", 434, RadarTrap2, "" ); RegisterNodeAction( "FE2R", 43, RadarTrap1, "" ); RegisterNodeAction( "FE2R", 244, RadarTrap2, "" ); RegisterNodeAction( "FE3", 243, RadarTrap1, "" ); RegisterNodeAction( "FE3", 400, RadarTrap2, "" ); RegisterNodeAction( "FE3R", 147, RadarTrap1, "" ); RegisterNodeAction( "FE3R", 317, RadarTrap2, "" ); RegisterNodeAction( "FE3R", 474, RadarTrap3, "" ); RegisterNodeAction( "FE3R", 5, RadarTrap4, "" ); RegisterNodeAction( "FE4", 363, RadarTrap1, "" ); RegisterNodeAction( "FE4", 481, RadarTrap2, "" ); RegisterNodeAction( "FE4", 577, RadarTrap3, "" ); RegisterNodeAction( "FE4", 673, RadarTrap4, "" ); RegisterNodeAction( "FE4", 857, RadarTrap5, "" ); RegisterNodeAction( "FE4", 210, RadarTrap6, "" ); RegisterNodeAction( "FE4R", 898, RadarTrap1, "" ); RegisterNodeAction( "FE4R", 1008, RadarTrap2, "" ); RegisterNodeAction( "FE4R", 124, RadarTrap3, "" ); RegisterNodeAction( "FE4R", 263, RadarTrap4, "" ); RegisterNodeAction( "FE4R", 412, RadarTrap5, "" ); RegisterNodeAction( "FE4R", 657, RadarTrap6, "" ); RegisterNodeAction( "FE5", 46, RadarTrap1, "" ); RegisterNodeAction( "FE5", 335, RadarTrap2, "" ); RegisterNodeAction( "FE5R", 1, RadarTrap1, "" ); RegisterNodeAction( "FE5R", 231, RadarTrap2, "" ); RegisterNodeAction( "FE6", 124, RadarTrap1, "" ); RegisterNodeAction( "FE6R", 113, RadarTrap1, "" ); RegisterNodeAction( "KY1", 4, RadarTrap1, "" ); RegisterNodeAction( "KY1", 109, RadarTrap2, "" ); RegisterZoneAction( "KY1R" , -356,2, 3 , RadarTrap1,"" ); RegisterNodeAction( "KY2", 4, RadarTrap1, "" ); RegisterNodeAction( "KY2", 109, RadarTrap2, "" ); RegisterNodeAction( "KY2R", 268, RadarTrap1, "" ); RegisterNodeAction( "KY2R", 393, RadarTrap2, "" ); RegisterNodeAction( "KY2R", 484, RadarTrap3, "" ); RegisterNodeAction( "KY2R", 82, RadarTrap4, "" ); RegisterNodeAction( "KY3", 218, RadarTrap1, "" ); RegisterNodeAction( "KY3", 414, RadarTrap2, "" ); RegisterNodeAction( "KY3", 669, RadarTrap3, "" ); RegisterNodeAction( "KY3R", 119, RadarTrap1, "" ); RegisterNodeAction( "KY3R", 408, RadarTrap2, "" ); RegisterNodeAction( "KY3R", 769, RadarTrap3, "" ); RegisterNodeAction( "SO1", 56, RadarTrap1, "" ); RegisterNodeAction( "SO1", 129, RadarTrap2, "" ); RegisterNodeAction( "SO1", 186, RadarTrap3, "" ); RegisterNodeAction( "SO1", 219, RadarTrap4, "" ); RegisterNodeAction( "SO1R", 201, RadarTrap1, "" ); RegisterNodeAction( "SO1R", 94, RadarTrap2, "" ); RegisterNodeAction( "SO2", 77, RadarTrap1, "" ); RegisterNodeAction( "SO2", 213, RadarTrap2, "" ); RegisterNodeAction( "SO2R", 229, RadarTrap1, "" ); RegisterNodeAction( "SO3", 160, RadarTrap1, "" ); RegisterNodeAction( "SO3", 72, RadarTrap2, "" ); RegisterNodeAction( "SO3", 129, RadarTrap3, "" ); RegisterNodeAction( "SO3R", 207, RadarTrap1, "" ); RegisterNodeAction( "SO3R", 72, RadarTrap2, "" ); RegisterNodeAction( "SO4", 155, RadarTrap1, "" ); RegisterNodeAction( "SO4", 325, RadarTrap2, "" ); RegisterNodeAction( "SO4", 437, RadarTrap3, "" ); RegisterNodeAction( "SO4R", 229, RadarTrap1, "" ); RegisterNodeAction( "SO4R", 370, RadarTrap2, "" ); RegisterNodeAction( "SO4R", 459, RadarTrap3, "" ); RegisterNodeAction( "SO4R", 77, RadarTrap4, "" ); RegisterNodeAction( "SO5", 426, RadarTrap1, "" ); RegisterNodeAction( "SO5", 80, RadarTrap2, "" ); RegisterNodeAction( "SO5", 183, RadarTrap3, "" ); RegisterNodeAction( "SO5", 257, RadarTrap4, "" ); RegisterNodeAction( "SO5R", 339, RadarTrap1, "" ); RegisterNodeAction( "SO5R", 468, RadarTrap2, "" ); RegisterNodeAction( "SO5R", 96, RadarTrap3, "" ); RegisterNodeAction( "SO5R", 246, RadarTrap4, "" ); RegisterNodeAction( "SO6", 83, RadarTrap1, "" ); RegisterNodeAction( "SO6", 125, RadarTrap2, "" ); RegisterNodeAction( "SO6", 336, RadarTrap3, "" ); RegisterNodeAction( "SO6R", 67, RadarTrap1, "" ); RegisterNodeAction( "SO6R", 202, RadarTrap2, "" ); RegisterNodeAction( "SO6R", 312, RadarTrap3, "" ); RegisterNodeAction( "SO6R", 0, RadarTrap4, "" ); RegisterNodeAction( "WE1", 195, RadarTrap1, "" ); RegisterNodeAction( "WE1", 286, RadarTrap2, "" ); RegisterNodeAction( "WE1", 360, RadarTrap3, "" ); RegisterNodeAction( "WE1", 512, RadarTrap4, "" ); RegisterNodeAction( "WE1", 583, RadarTrap5, "" ); RegisterNodeAction( "WE1R", 146, RadarTrap1, "" ); RegisterNodeAction( "WE1R", 187, RadarTrap2, "" ); RegisterNodeAction( "WE1R", 291, RadarTrap3, "" ); RegisterNodeAction( "WE1R", 510, RadarTrap4, "" ); RegisterNodeAction( "WE1R", 0, RadarTrap5, "" ); EndCatchEvent CatchEvent OnLeaveRace( $userName ) # Player event closePrivButton ("ts_back&ts_front&ts_host&ts_radartext&ts_speed&ts_avg&ts_diff"); EndCatchEvent CatchEvent OnPit( $userName ) # Player teleported to pit ( Shift + P ) closePrivButton ("ts_back&ts_front&ts_host&ts_radartext&ts_speed&ts_avg&ts_diff"); EndCatchEvent CatchEvent OnLapperStart() ### Set initial dialog coordinates & size for Menu items ### GlobalVar $TSorigL; $TSorigL = 180; # Left edge of main content window / button / label GlobalVar $TSorigT; $TSorigT = 100; # Top edge of window / button / label GlobalVar $TSWidth; $TSWidth = 16; # Width of Dialog box / window / button / label GlobalVar $TSHeight; $TSHeight = 14; # ...height of row of text GlobalVar $TSspacing; $TSspacing = 1; # ...height of spacing between text GlobalVar $TStime; $TStime = 20; # display button for how many seconds (-1 = permanent) EndCatchEvent Sub DoRadarTrap( $TrapType, $TrapText, $TrapNum ) $LapsDone = ToNum ( GetCurrentPlayerVar( "LapsDone" ) ) + 1; # LapsDone starts at 0 $TopSpeed = ToNum ( GetCurrentPlayerVar( "InstantSpeed" ) ); IF ( $LapsDone > 1) THEN $AvgSpeed = GetUserStoredNum ( $TrapType . $TrapNum . "-" . getLapperVar("ShortTrackName") . "-" . GetCurrentPlayerVar("Car") . "-Avg") + $TopSpeed; $OldTopSpeed = GetUserStoredNum ( $TrapType . $TrapNum . "-" . getLapperVar("ShortTrackName") . "-" . GetCurrentPlayerVar("Car") ); ELSE $AvgSpeed = $TopSpeed; $OldTopSpeed = 0; ENDIF openPrivButton( "ts_back",$TSorigL,$TSorigT,$TSWidth+4,$TSHeight+10,$TSspacing,-1,16, ""); openPrivButton( "ts_front",$TSorigL+1,$TSorigT+1,$TSWidth+2,$TSHeight+8,$TSspacing,-1,32, ""); # openPrivButton( "ts_host",$TSorigL,$TSorigT+1,$TSWidth+4,5,$TSspacing,-1,0,getLapperVar( "HostName" ) ); # openPrivButton( "ts_radartext",$TSorigL,$TSorigT+1,$TSWidth+4,8,$TSspacing,-1,0,""); openPrivButton( "ts_speed",$TSorigL+2,$TSorigT+2,$TSWidth,5,4,8,0,( langEngine ( "%{ts_speed}%", $TrapText, ToPlayerUnit($TopSpeed), GetCurrentPlayerVar("UnitSpeed") )) ); IF ( $OldTopSpeed > 1 ) # Have had a valid RadarTrap time before THEN IF ( $TopSpeed > $OldTopSpeed) THEN openPrivButton( "ts_diff",$TSorigL+2,$TSorigT+11,$TSWidth,5,4,8,0, langEngine ( "%{ts_faster}%", ToPlayerUnit($TopSpeed - $OldTopSpeed), $OldTopSpeed ) ); ELSE openPrivButton( "ts_diff",$TSorigL+2,$TSorigT+11,$TSWidth,5,4,8,0, langEngine ( "%{ts_slower}%", ToPlayerUnit($OldTopSpeed - $TopSpeed), $OldTopSpeed ) ); $TopSpeed = $OldTopSpeed; ENDIF # openPrivButton( "ts_avg",$TSorigL+2,$TSorigT+16,$TSWidth,5,4,6,0, langEngine ( "%{ts_avg}%", Round($AvgSpeed / $LapsDone,2) ) ); ENDIF SetUserStoredNum ( $RtVarPrev, $TopSpeed); # privMsg ("Avg: " . Round($AvgSpeed / $LapsDone,2) ); SetUserStoredNum ( $TrapType . $TrapNum . "-" . getLapperVar("ShortTrackName") . "-" . GetCurrentPlayerVar("Car"), $TopSpeed); SetUserStoredNum ( $TrapType . $TrapNum . "-" . getLapperVar("ShortTrackName") . "-" . GetCurrentPlayerVar("Car") . "-Avg", $AvgSpeed); EndSub Sub StMidCorner1( $userName ) DoRadarTrap( "MC", "Mid-Corner", 1 ); EndSub Sub StMidCorner2( $userName ) DoRadarTrap( "MC", "Mid-Corner", 2 ); EndSub Sub StMidCorner3( $userName ) DoRadarTrap( "MC", "Mid-Corner", 3 ); EndSub Sub StMidCorner4( $userName ) DoRadarTrap( "MC", "Mid-Corner", 4 ); EndSub Sub StMidCorner5( $userName ) DoRadarTrap( "MC", "Mid-Corner", 5 ); EndSub Sub StMidCorner6( $userName ) DoRadarTrap( "MC", "Mid-Corner", 6 ); EndSub Sub StCornerExit1( $userName ) DoRadarTrap( "CE", "Corner Exit", 1 ); EndSub Sub StCornerExit2( $userName ) DoRadarTrap( "CE", "Corner Exit", 2 ); EndSub Sub StCornerExit3( $userName ) DoRadarTrap( "CE", "Corner Exit", 3 ); EndSub Sub StCornerExit4( $userName ) DoRadarTrap( "CE", "Corner Exit", 4 ); EndSub Sub StCornerExit5( $userName ) DoRadarTrap( "CE", "Corner Exit", 5 ); EndSub Sub StCornerExit6( $userName ) DoRadarTrap( "CE", "Corner Exit", 6 ); EndSub Sub RadarTrap1( $userName ) DoRadarTrap( "RT", "Speed Trap 1", 1 ); EndSub Sub RadarTrap2( $userName ) DoRadarTrap( "RT", "Speed Trap 2", 2 ); EndSub Sub RadarTrap3( $userName ) DoRadarTrap( "RT", "Speed Trap 3", 3 ); EndSub Sub RadarTrap4( $userName ) DoRadarTrap( "RT", "Speed Trap 4", 4 ); EndSub Sub RadarTrap5( $userName ) DoRadarTrap( "RT", "Speed Trap 5", 5 ); EndSub Sub RadarTrap6( $userName ) DoRadarTrap( "RT", "Speed Trap 6", 6 ); EndSub Lang "EN" ts_speed_lap1 = "^3{0}:%nl%^7{1}"; ts_speed = "^3{0}:%nl%^7{1} {2}"; ts_faster = "^2+{0} Km/h%nl%Best: ^7{1}Km/h"; ts_slower = "^1-{0} Km/h%nl%Best: ^7{1}Km/h"; ts_avg = "^3Avg: {0}^7"; ts_none = "^3{0}%nl%^7{1} {2}"; EndLang