PDA

View Full Version : my admin.lpr


Fire_optikz001
5th September 2009, 02:15
#################
#General options#
#################

$StoredValueDbs = "storedvalue"; # Name of the database in which additional values are stored

$TrackInfoFile = "trackInfo.cfg"; # Path to the TrackInfoFile used to compare splits

$TCPmode = true; # Connection to LFS in UDP mode or TCP mode

$EnableRegisterWeb = false; # When set to "true" your LFS Server is displayed on the FRH Team website

# To receive a notification via mail when an error occur on Lapper
$adminEmail = "";
$smtpServer = "";
$loginMail = "";
$passMail = "";

$DateFormat = "dd/MM/yyyy";
$LongDateFormat = "dddd dd MMMM yyyy";

$MessageTime = 5000; # Time in milliseconds for a racecontrol message (started by: rcm_all) to be displayed on screen

#$PubStatIdk = ""; # Indentification code for a connection to PubStat.
# To obtain a PubStatId go to www.lfsworld.net , select My LFSW Setting, tab Pubstat Access
# Remove # before PubStatIdK to activate this option

$ShowPlayerControl = False; # Set option to "true" if you want to show the control configuration of players when leaving the pits.

##############
#FTP transfer#
##############

#$FtpServer = "your ftp server"; # Name/IP-address of your FTP server
#$FtpLogin = "your login"; # Loginname for your FTP server
#$FtpPasswd = "your password"; # Password for your FTP server
#$FtpRemotePath = "your remote dir"; # Directorname

#############
#Default Car#
#############

$DefaultTopCar = "XFG";


###################################
#Event triggered when lapper start#
###################################
Event OnLapperStart()
OnLapperStart_Who();
WriteLine( "[SC] Admin System Connected" );
cmdLFS("/msg ^0[^4S^0C] ^7Admin System Is Booting" );
EndEvent

###################################
#Authorization Options ( license )#
###################################

$AuthAllowPlayer = "All";

$AuthMinPlayer = 0; # Minimum number of players on the server to auto enable authorization
# If number of players is below value, alle players are allowed
# If number of players is above value, only AuthAllowPlayer are allowed

Event OnAuthAllowed() # Player event
Endevent

Event OnAuthNotAllowed() # Player event
Endevent

# Local viariable that can be used
# $auth -> Authorization reached

Event OnAuthReached( $level ) # Player event
EndEvent

##################
#Swearword filter#
##################

$SwearWordsList = "****,asholes,bastard,idiot";
#$SwearWordsList = "&./swear.txt";
$SwearWordsMax = 2; # Maximum number of allowed swearwords per session

Event OnSwearWords1() # Player event
EndEvent

Event OnSwearWords2() # Player event
EndEvent

###########
#Handicaps#
###########
#$HandicapCars = "XFG:100:10,XRT:50:10";

#$HandicapCarsTracks = "XFG/BL1:100:10,XRT/AS1:50:10";

#$RefreshHandicapUsers = true;
#$HandicapUsers = "&./your_hand.flt";
#$HandicapUsers = "@Gai-Luron:100:20,gwendoline:100:30,_-ALUCARD-_,lagamel:50:10,lister88,c-quad,shimanofr,bruno7529,boby5,kevinb,edgar,berlio z,la tortue,neron59,eur-can,stff,2psbob,oliv76000";


Event OnToLowHandicap() # Player event
EndEvent

#################
#Control Allowed#
#################
# Racer flags
# "Y" = Yes
# "N" = No
# "*"" = Yes or No
# Local variable
#-------------------------------------------------------------------

$SwapSide = "*";
$AutoGears = "*";
$Shifter = "*";
$HelpBrake = "*";
$AxisClutch = "*";
$AutoClutch = "*";
$Mouse = "*";
$KbNoHelp = "*";
$KbStabilised = "*";
$CustomView = "*";

Event OnNotMatchFlags( ) # Player event
EndEvent

##############
#Race Control#
##############
#Voting:
#
#$InRaceLapsVoteMinMax = Laps in between where votes are allowed in race
#$InRaceLapsVoteMinMax = 0-0 Votes are never allowed
#$InRaceLapsVoteMinMax = -5 Votes are allowed between lap 1 and 5
#$InRaceLapsVoteMinMax = 2- Votes are allowed between laps 2 and the end of the race
#$InRaceLapsVoteMinMax = - Votes are always allowed
#
#$VoteRestart = percentage of players that have to vote to restart a race. To let LFS admin this function, set it to -1
#OnVoteRestartChange = Command to do when player votes to restart
#OnVoteRestartReach = Command to execute when VoteRestart is reached
#OnVoteRestartZero = Command to execute when no nb of player reach zero

#$VoteQualify = percentage of players that have to vote to start a qualification. To let LFS admin this function, set it to -1
#OnVoteQualifyChange = same as restart but for qualify
#OnVoteQualifyReach = same as restart but for qualify
#OnVoteQualifyZero = same as restart but for qualify
#
#$VoteEnd = percentage of players that have to vote to end a race. To let LFS admin this function, set it to -1
#OnVoteEndChange = same as restart but for endrace
#OnVoteEndReach = same as restart but for endrace
#OnVoteEndyZero = same as restart but for endrace
#-------------------------------------------------------------------
#Local variable:
#
#$Vote - Number of players that have voted
#$Remain - Number of players remaining to vote
#$Need - Number of players needed for an action
#$VoteLifeSec = Number of seconds to keep the vote alive after voting
#-------------------------------------------------------------------
#Auto restart:
#
#$AutoRestartRaceSec = Second between the end of a race (last player finished) and an automatic restart
#
#Rotation only work if AutoRestartRaceSec is set
#EnableRotation = Allow or disallow rotation for track and/or car
# Values : true or false
#$RotateTracks = "tracks to rotate"; separated by ','
#$RotateCars = "cars to rotate"; separated by ',' Use LFS definition for car, if not set, no car rotation
#$RotateEveryNbRaces = Number of races to do before rotation;
#-------------------------------------------------------------------

$InRaceLapsVoteMinMax = "0-0";

$VoteRestart = -1;

Event OnVoteRestartChange($PlayerOnTrack, $Vote , $Need) # Lapper Event

EndEvent

Event OnVoteRestartReach($PlayerOnTrack, $Vote , $Need) # Lapper Event

EndEvent

Event OnVoteRestartZero() # Lapper Event

EndEvent

$VoteQualify = -1;

Event OnVoteQualifyChange($PlayerOnTrack, $Vote , $Need) # Lapper Event

EndEvent

Event OnVoteQualifyReach($PlayerOnTrack, $Vote , $Need) # Lapper Event

EndEvent

Event OnVoteQualifyZero() # Lapper Event

EndEvent

$VoteEnd = -1;

Event OnVoteEndChange($PlayerOnTrack, $Vote , $Need) # Lapper Event

EndEvent

Event OnVoteEndReach($PlayerOnTrack, $Vote , $Need) # Lapper Event

EndEvent

Event OnVoteEndZero() # Lapper Event

EndEvent

$VoteLifeSec = 30;

$AutoRestartRaceSec = 0;

$EnableRotation = false;
$RotateTracks = "SO6R,BL1,FE3";
$RotateEveryNbRaces = 4;
$RotateCars = "XFG+UF1,TBO,XFR+UFR";

Event OnRotateCar() # Lapper Event

EndEvent

Event OnRotateTrack() # Lapper Event
EndEvent

#################################################
#Connect messages when a player joins the server#
#################################################

Event OnConnect() # Player event
WriteLine( "( " . GetLapperVar("LongTime") . " ) " . GetCurrentPlayerVar("Nickname") . " Connected (" . GetCurrentPlayerVar("UserName") . ")" );
$userName = GetCurrentPlayerVar("UserName");
UserGroupFromFile( "whole_ban", "../user/whole_ban.txt" );
UserGroupFromFile( "super_ban", "../user/super_ban.txt" );
UserGroupFromFile( "admin", "../user/admin.txt" );

IF( UserInGroup( "admin",$userName ) == 1 )
THEN
privMsg( "^7Please Have A Look At ^2!ahelp ^7For Admin Commands" );
ENDIF

IF( UserInGroup( "whole_ban",$userName ) == 1 )
THEN
privMsg( "^1You Have A Current Ban From This Server");
privMsg( "^1To See When Your Ban Is Over Visit");
privMsg( "^2http://supercr3w.ning.com/page/user-report-sys" );
cmdLFS("/kick " . GetCurrentPlayerVar("UserName") );
ELSE
IF( UserInGroup( "super_ban",$userName ) == 1 )
THEN
privMsg( "^1You Have A Current Ban From This Server");
privMsg( "^1To See When Your Ban Is Over Visit");
privMsg( "^2http://supercr3w.ning.com/page/user-report-sys" );
cmdLFS("/ban " . GetCurrentPlayerVar("UserName") . " 30");
ENDIF
ENDIF

EndEvent

##########################################
#New PLayer joining race or leaving pits)#
##########################################

Event OnNewPlayerJoin()
$userName = GetCurrentPlayerVar("UserName");
UserGroupFromFile( "drive_ban", "../user/drive_ban.txt" );
IF( UserInGroup( "drive_ban",$userName ) == 1 )
THEN
privMsg( "^1You Have A Current Ban From Driving");
privMsg( "^1To See When Your Ban Is Over Visit");
privMsg( "^2http://supercr3w.ning.com/page/user-report-sys" );
cmdLFS("/spec " . GetCurrentPlayerVar("UserName") );
ENDIF
EndEvent

################################################## ###
#DisConnect messages when a player leaves the server#
################################################## ###

Event OnDisConnect() # Player event
WriteLine( "( " . GetLapperVar("LongTime") . " ) " . GetCurrentPlayerVar("Nickname") . " DisConnected (" . GetCurrentPlayerVar("UserName"). ")" );
EndEvent


#############################################$#
#Splitting (general action when passing split)#
###############################################

Event OnSplit1() # Player event
EndEvent

Event OnSplit2() # Player event
EndEvent

Event OnSplit3() # Player event
EndEvent

Event OnLap() # Player event
EndEvent

#############################################
#Action when a new Gapping Info is avaiaible#
#############################################

Event OnNewGapPlayerBefore( $split )

EndEvent

Event OnNewGapPlayerBehind( $split )

EndEvent

################################################## #####
#Splitting (compare player split to best player split)#
################################################## #####

$ShowSplitPB = true; # Set to false if you don't want to see messages about splits

Event OnSpbSplit1() # Player event

EndEvent

Event OnSpbSplit2() # Player event

EndEvent

Event OnSpbSplit3() # Player event

EndEvent

Event OnSpbLast() # Player event

EndEvent

################################################## ##
#Actions to do on splits relative to trackinfo.cfg#
################################################## ##
#Local variable: {SplitTime} - Split time
#-------------------------------------------------------------------

Sub TRI_split1_0() # Player event
EndSub

Sub TRI_split1_1() # Player event
EndSub

Sub TRI_split2_0() # Player event
EndSub

Sub TRI_split2_1() # Player event
EndSub

Sub TRI_split3_0() # Player event
EndSub

Sub TRI_split3_1() # Player event
EndSub

Sub TRI_lap_0() # Player event
EndSub

Sub TRI_lap_1() # Player event
EndSub

#########################
#List of user qualifying#
#########################
$RefreshQualUsers = true;
#$QualUsers = "&./your_file.flt";
#$QualUsers = " ";

#################
#Command actions#
#################
Event OnMSO( $text ) # Player event

# writeline( $text );
$idxOfFirtsSpace = indexOf( $text, " ");

$userName = GetCurrentPlayerVar("UserName");

UserGroupFromFile( "admin", "../user/admin.txt" );

IF( $idxOfFirtsSpace == -1 ) THEN
$command = $text;
$argv = "";
ELSE
$command = subStr( $text,0,$idxOfFirtsSpace );
$argv = trim( subStr( $text,$idxOfFirtsSpace ) );
ENDIF

SWITCH( $command )
CASE "!count":
CASE "!Count":
CASE "!COUNT":
IF( UserInGroup( "admin",$userName ) == 1 )
THEN
openGlobalButton( "lone_counter",50,63,100,40,100,$argv,0,"^3> %cpt% <", endcounter );
ENDIF
BREAK;
CASE "!term":
IF( UserInGroup( "admin",$userName ) == 1 )
THEN
openGlobalButton( "lone_counter",50,63,100,40,100,$argv,0,"^3> %cpt% <", term );
IF( . $argv . == 1)
THEN

cmdLFS("/msg ^1INSIM SHUTAGE IN " . $argv . " SECOND " );
cmdLFS("/msg ^2INSIM SHUTAGE IN " . $argv . " SECOND " );
cmdLFS("/msg ^3INSIM SHUTAGE IN " . $argv . " SECOND " );
cmdLFS("/msg ^4INSIM SHUTAGE IN " . $argv . " SECOND " );
cmdLFS("/msg ^5INSIM SHUTAGE IN " . $argv . " SECOND " );
cmdLFS("/msg ^6INSIM SHUTAGE IN " . $argv . " SECOND " );
cmdLFS("/msg ^7INSIM SHUTAGE IN " . $argv . " SECOND " );

ELSE

cmdLFS("/msg ^1INSIM SHUTAGE IN " . $argv . " SECONDS " );
cmdLFS("/msg ^2INSIM SHUTAGE IN " . $argv . " SECONDS " );
cmdLFS("/msg ^3INSIM SHUTAGE IN " . $argv . " SECONDS " );
cmdLFS("/msg ^4INSIM SHUTAGE IN " . $argv . " SECONDS " );
cmdLFS("/msg ^5INSIM SHUTAGE IN " . $argv . " SECONDS " );
cmdLFS("/msg ^6INSIM SHUTAGE IN " . $argv . " SECONDS " );
cmdLFS("/msg ^7INSIM SHUTAGE IN " . $argv . " SECONDS " );

ENDIF
ENDIF
BREAK;
CASE "!reinit":

IF( UserInGroup( "admin",$userName ) == 1 )
THEN
openGlobalButton( "lone_counter",50,63,100,40,100,$argv,0,"^3> %cpt% <", reinit );
IF( . $argv . == 1)
THEN

cmdLFS("/msg ^1SERVER REBOOT IN " . $argv . " SECOND " );
cmdLFS("/msg ^2SERVER REBOOT IN " . $argv . " SECOND " );
cmdLFS("/msg ^3SERVER REBOOT IN " . $argv . " SECOND " );
cmdLFS("/msg ^4SERVER REBOOT IN " . $argv . " SECOND " );
cmdLFS("/msg ^5SERVER REBOOT IN " . $argv . " SECOND " );
cmdLFS("/msg ^6SERVER REBOOT IN " . $argv . " SECOND " );
cmdLFS("/msg ^7SERVER REBOOT IN " . $argv . " SECOND " );

ELSE

cmdLFS("/msg ^1SERVER REBOOT IN " . $argv . " SECONDS " );
cmdLFS("/msg ^2SERVER REBOOT IN " . $argv . " SECONDS " );
cmdLFS("/msg ^3SERVER REBOOT IN " . $argv . " SECONDS " );
cmdLFS("/msg ^4SERVER REBOOT IN " . $argv . " SECONDS " );
cmdLFS("/msg ^5SERVER REBOOT IN " . $argv . " SECONDS " );
cmdLFS("/msg ^6SERVER REBOOT IN " . $argv . " SECONDS " );
cmdLFS("/msg ^7SERVER REBOOT IN " . $argv . " SECONDS " );
ENDIF
ENDIF
BREAK;
CASE "!pitlane":
IF( UserInGroup( "admin",$userName ) == 1 )
THEN
cmdLfs( "/pitlane " . $argv . );
cmdLFS("/msg " . GetCurrentPlayerVar( "Nickname" ) . " Pitlaned " . GetPlayerVar( $argv, "Nickname" ) );
ELSE
IF( UserInGroup( "beta",$userName ) == 1 )
THEN
cmdLfs( "/pitlane " . $argv . );
cmdLFS("/msg " . GetCurrentPlayerVar( "Nickname" ) . " Pitlaned " . GetPlayerVar( $argv, "Nickname" ) );
ENDIF
ENDIF
BREAK;
CASE "!host":
IF( UserInGroup( "admin",$userName ) == 1 )
THEN
cmdLfs( . $argv . );
ENDIF
BREAK;
CASE "!spec":
IF( UserInGroup( "admin",$userName ) == 1 )
THEN
cmdLfs( "/spec " . $argv . );
cmdLFS("/msg " . GetCurrentPlayerVar( "Nickname" ) . " Spectated " . GetPlayerVar( $argv, "Nickname" ) );
ENDIF
BREAK;
CASE "!laps":
IF( UserInGroup( "admin",$userName ) == 1 )
THEN
cmdLfs( "/laps " . $argv . );
cmdLFS("/msg Laps Changed By " . GetCurrentPlayerVar( "Nickname" ) . "^8!" );
ENDIF
BREAK;
CASE "!restart":
IF( UserInGroup( "admin",$userName ) == 1 )
THEN
cmdLfs( "/restart " );
cmdLFS("/msg Restarted By " . GetCurrentPlayerVar( "Nickname" ) . "^8!" );
ENDIF
BREAK;
CASE "!end":
IF( UserInGroup( "admin",$userName ) == 1 )
THEN
cmdLfs( "/end " );
cmdLFS("/msg Ended By " . GetCurrentPlayerVar( "Nickname" ) . "^8!" );
ENDIF
BREAK;
CASE "!track":
IF( UserInGroup( "admin",$userName ) == 1 )
THEN
cmdLfs( "/track " . $argv . );
cmdLFS("/msg Track Changed By " . GetCurrentPlayerVar( "Nickname" ) . "^8!" );
ENDIF
BREAK;
CASE "!ban":
IF( UserInGroup( "admin",$userName ) == 1 )
THEN
IF( UserInGroup( "admin",$argv ) == 1 )
THEN
cmdLFS("/msg " . GetCurrentPlayerVar( "Nickname" ) . " Attempted to Ban " . GetPlayerVar( $argv, "Nickname" ) );
cmdLFS( "/msg " . GetPlayerVar( $argv, "Nickname" ) . "^7 Is An Admin Ban Voided" );
ELSE
cmdLFS("/msg " . GetCurrentPlayerVar( "Nickname" ) . " Banned " . GetPlayerVar( $argv, "Nickname" ) );
cmdLFS( "/ban " . $argv . " 7" );
ENDIF
ENDIF
BREAK;
CASE "!kick":
IF( UserInGroup( "admin",$userName ) == 1 )
THEN
IF( UserInGroup( "admin",$argv ) == 1 )
THEN
cmdLFS("/msg " . GetCurrentPlayerVar( "Nickname" ) . " Attempted to kick " . GetPlayerVar( $argv, "Nickname" ) );
cmdLFS( "/msg " . GetPlayerVar( $argv, "Nickname" ) . "^7 Is An Admin kick Voided" );
ELSE
cmdLFS("/msg " . GetCurrentPlayerVar( "Nickname" ) . " kicked " . GetPlayerVar( $argv, "Nickname" ) );
cmdLFS( "/kick " . $argv . );
ENDIF
ENDIF
BREAK;
CASE "!ahelp":
CASE "!Ahelp":
IF( UserInGroup( "admin", $userName ) == 1 )
THEN
openPrivButton( "help",35,52,125,6,5,-1,32,"^2Admin Commands"
. "&^7!ban (username)"
. "&^6!kick (username) ^7kicks user"
. "&^7!laps ^6 Changes # of laps"
. "&^6!restart ^7Restarts the race"
. "&^7!end ^6Ends the race"
. "&^6!track (short track name) ^7Changes track (must !end b4 u attempt or will not work)"
. "&^7!spec (USERNAME) ^6will spec the user specifed"
. "&^6!pitlane (USERNAME) ^7Pitlanes the user specified"
. "&^7!host (MSG) ^6Talks as host"
. "&Click To Close!",MA_closeHelp );
ENDIF
BREAK;
CASE "gtg":
CASE "bye":
CASE "cya":
globalMsg( "^7Bye, " . GetCurrentPlayerVar("Nickname") . " And, Thanks For Visiting" );
BREAK;
CASE "hi all":
CASE "hi":
CASE "HI":
CASE "Hello":
CASE "hello":
CASE "ello":
globalMsg( "^7Hi There, " . GetCurrentPlayerVar("Nickname") . );
BREAK;
CASE "!who":
DoWho();
BREAK;
CASE "!hc":
DoHandicapper();
BREAK;
CASE "!countdown":
IF( UserInGroup( "admin",$userName ) == 1 )
THEN
openGlobalButton( "lone_counter",50,63,100,40,100,$argv,0,"^3> %cpt% <", countdown );
ENDIF
BREAK;
ENDSWITCH
EndEvent

Sub MA_closeHelp( $KeyFlags,$id )
closePrivButton("help");
EndSub
#####################################
#Action on teleport to pit (Shift+P)#
#####################################

/*
Event OnEnterPit() # Player event
EndEvent
*/

# Actions to execute when player spectates or disconnects (leaves race).

/*
Event OnLeaveRace() # Player event
EndEvent
*/

###############################
#Action a player flooding chat#
###############################

Event OnFlood() # Player event
EndEvent

$MaxFloodLines = 4; # Maximum number of consecutive lines allowed

$MaxFloodLinesTime = 5000; # Maximum time between two consecutive lines in milliseconds to count as flooding

#########################
#Action on Qual and race#
#########################

Event OnRaceStart( $NumP ) # Lapper event

EndEvent

Sub ORS()

EndSub

Event OnQualStart( $NumP ) # Lapper event

EndEvent

Sub OQS()
EndSub

Event OnFinish()
EndEvent

Event OnResult( $flagConfirm )
EndEvent

#########################
#Action to do on session#
#########################

/*
$MaxSessionLaps = 2;

Event OnMaxSessionLaps() # Player event
EndEvent
*/

###############################
#Options on spinning detection#
###############################

$MinAngleVelocity = 250; # Minimum angle velocity to trigger action. Possible values: 0 - 720

# Action to execute when angle velocity is higher than MinAngleVelocity.

Event OnAngleVelocity() # Player event
EndEvent

$MaxNbInStunt = 20; #MaxNbInStunt is max time (in 100 ms) allowed in stunt mode before OnMaxNbInStunt is executed. If -1 No OnMaxNbInStunt are activated

Event OnMaxNbInStunt() # Player event
EndEvent

#################################
#Actions when player is too slow#
#################################

#$MaxAllowedLapTime1 = 100; # % Max allowed time to complete a lap relative to MaxLapTime in trackInfo.cfg

/*
Event OnMaxAllowedLapTime1() # Player event
EndEvent
*/

#$MaxAllowedLapTime2 = 150; # % Max allowed time to complete a lap relative to MaxLapTime in trackInfo.cfg

/*
Event OnMaxAllowedLapTime2() # Player event
EndEvent
*/

##################################
#Options for idle player on track#
##################################

#$IdleExclude = "Lagamel,Gai-Luron"; # Usernames excluded for idle check

$OnIdleTimeout1 = 20; # Idle timeout for OnIdleAction1 in seconds

Event OnIdle1() # Player event
EndEvent

$OnIdleTimeout2 = 30; # Idle timeout for OnIdleAction2 in seconds

Event OnIdle2() # Player event
EndEvent

##################
#Drifting options#
##################
# This is the filepath for a file containing the collected data.
# This file will be created if it doesnt exist yet.
# You must ensure read/write access to this path.
#-------------------------------------------------------------------

$DriftDatabase = "./DriftPB";

# Actions to do on new personal best drift lap.
/*
Event OnDriftPB() # Player event
EndEvent
*/


/*
Event OnDriftPB() # Player event
EndEvent
*/

# Actions to do to when total lap drift score is higher or equal to MinimumDriftScore.

/*
Event OnDriftLap() # Player event
EndEvent
*/

# Message to get on end of each drift.
# Possible variables to use:

/*
Event OnDriftScore() # Player event
EndEvent
*/

$GoodDriftScore = 4000; # Value to be reached to execute action on good drift score

/*
Event OnGoodDrift() # Player event
EndEvent
*/



$MinimumDriftScore = 10; # Minimum drift score required

# Actions to do at end of lap if MinimumDriftScore is not achieved.


/*
Event OnDriftTooLow() # Player event
EndEvent


$MinimumDriftSpeed = 50; # Minimum speed in km/h to maintain. Driving below that speed will reset score
$MinimumDriftAngle = 15; # Minimum angel to maintain. When angle is below value, score is reset
$MaximumDriftAngle = 100; # Maximum angel to maintain. When angle is above value, score is reset

*/

################################
#Options for hotlapping options#
################################

$GripDatabase = "./GripPB"; # This is the filepath of a file containing the collected data
# This file will be created if it doesnt exist yet
# You must ensure read/write access to this path

$LapTimeUsedForPb = 1; # How many PB lap used to make average PB time, Min = 1 and Max = 10

/*
Event OnPB() # Player event
EndEvent
*/

Event OnPB() # Player event
EndEvent

Event OnPBQual()
EndEvent

##########################
#Options for acceleration#
##########################

$AccelerationStartSpeed = 1; # At which speed to start measuring time. In km/h
$AccelerationEndSpeed = 100; # At which speed to stop measuring time. In km/h

$AccelerationStartSpeedMph = 1; # At which speed to start measuring time. In Mph
$AccelerationEndSpeedMph = 60; # At which speed to stop measuring time. In Mph

$AccelerationPrivateMaxTime = 10; # Maximum acceleration time in seconds to show message

Event OnAcceleration() # Player event
EndEvent
############################
#Actions to do on Car Reset#
############################

$MaxCarResets = 5; # Set to a positive number to limit number of race resets

Event OnMaxCarResets() # Spectate if player has used car reset more than the max
EndEvent

Event OnCarReset() # Do something when the car resets
EndEvent

Sub ApplyCarResetPenalty()
EndSub

######################
#Actions for pit stop#
######################
#Local variable tou can use
#-------------------------------------------------------------------
# no pit windows if two var set to 0

$PitWindowStart=0;
$PitWindowStop=0;

Event OnNotPitWindow() # Player event
EndEvent

Event OnBeginPitWindow() # Player event
EndEvent

Event OnEndPitWindow() # Player event
EndEvent

Event OnBeginPit( ) # Player event
EndEvent

Event OnEndPit() # Player event
EndEvent

Event OnPit() # Player teleported to pit

EndEvent

#$FL_Changed -> Front Left Changed : 1 Changed 0 No
#$FR_Changed -> Front Right Changed : 1 Changed 0 No
#$RL_Changed -> Rear Left Changed : 1 Changed 0 No
#$RR_Changed -> Rear Right Changed : 1 Changed 0 No

Event OnChangeTyres( $FL_Changed, $FR_Changed, $RL_Changed, $RR_Changed )
EndEvent

######################
#Actions on penalties#
######################

Event OnFastDriveOnPitL1() # Player event
EndEvent

Event OnFastDriveOnPitL2() # Player event
EndEvent

Event OnMaxFastDriveOnPit() # Player even
EndEvent
$MaxFastDriveOnPit = 2;

Event OnFalseStartL1()
EndEvent

Event OnFalseStartL2()
EndEvent

####################
#Overriding options#
####################

include( "./includes/pitboard.lpr");
include( "./includes/who.lpr");
include( "./includes/handicapper.lpr");
Sub endcounter($KeyFlags,$id)
closePrivButton("lone_counter");
openGlobalButton( "circle_GO",50,63,100,40,100,3,0,"^2! GO !");
EndSub

Sub countdown($KeyFlags,$id)
closePrivButton("lone_counter");
EndSub

Sub term($KeyFlags,$id)
termLapper();
EndSub

Sub reinit($KeyFlags,$id)
cmdLFS("/reinit" );
EndSub