The online racing simulator
Drift points lfslapper problem
My problem is when i open the server and put the insim, i start to drift in the server but in the chat dont appear your made points.. look my LFSLapper.lpr

/*
List of All variable that can be used in player events

$Nickname -> Nickname
$Username -> UserName
$Laps -> Total number of laps done on the ent track and with the current car
$SessLaps -> Total number of laps done this session on current track and with the current car
$TotalPitTime -> Totaltime used for a pitstop
$Car -> Current car of the player
$Posabs -> Current absolute position
$Posqual -> Current qualification position
$Groupqual -> Current group qualification
$SwearWordsRem -> Remaining number of swearwords to be used before SwearWordsAction2 is triggered
$H_Mass -> User mass required on this server
$H_TRes -> User intake restriction required on this server
$P_Mass -> Current player Mass
$P_TRes -> Current player restriction
$SplitTime -> Last Split time done by player
$LapsDone -> Lap done for the current player

$Split1 -> Last First Split, updated when doing new Split1
$Split2 -> Last First Split, erased when doing Split1
$Split3 -> Last First Split, erased when doing Split1
$LapTime -> Current Lap Time, erased when doing New LapTime
$PBLapTime -> Current PB on current Combo
$diffLapTimeToPB -> Laptime - PBLTime, Last PBLTime is new realised

$SectorSplit1 -> Last First sector Split, updated when doing new Split1
$SectorSplit2 -> Last second sector Split, erased when doing Split1
$SectorSplit3 -> Last third sector Split, erased when doing Split1
$SectorSplitLast -> Last Last sector Split, erased when doing Split1

$BestSectorSplit1 -> Best Split duration for the sector 1
$BestSectorSplit2 -> Best Split duration for the sector 2
$BestSectorSplit3 -> Best Split duration for the sector 3
$BestSectorSplitLast -> BestSplit duration for the last sector

$DiffSectorSplit1 -> $SectorSplit1 - $BestSectorSplit1
$DiffSectorSplit2 -> $SectorSplit2 - $BestSectorSplit2
$DiffSectorSplit3 -> $SectorSplit3 - $BestSectorSplit3
$DiffSectorSplitLast -> $SectorSplitLast - $BestSectorSplitLast

$isBestSectorSplit1 -> 1 if this sector split is best than previous Best, otherwise 0
$isBestSectorSplit2 -> 1 if this sector split is best than previous Best, otherwise 0
$isBestSectorSplit3 -> 1 if this sector split is best than previous Best, otherwise 0
$isBestSectorSplitLast -> 1 if this sector split is best than previous Best, otherwise 0

$BestSpeed -> Best Speed done on this combo by player
$UnitSpeed -> Speedunit of the current player
$AvgSpeed -> Avg Speed on last Lap Time
$Tpb -> Theoretical PB
$DriftScore -> Drift score
$typ -> {typ} - = "Sess" if split PB for Session "PB" if split PB for PB file;
$AngleVelocity -> Last Angle velocity in degrees
$LastDriftScore -> Last drift score
$AccelerationStartSpeed -> Starting speed
$AccelerationEndSpeed -> Ending speed
$AccelerationTime -> Acceleration time achieved from start to end speed
$MaxAllowedLapTime1 -> Max Allowed Time before trigger Event OnMaxAllowedLapTime1
$MaxAllowedLapTime2 -> Max Allowed Time before trigger Event OnMaxAllowedLapTime2
$Dist -> Distance done on current combo/track by player
$SessDist -> Distance done on current combo/track by player this session

$RotateIn -> Race remain before Rotation


List of all variables that can be used in all events

$HostName -> Current host Name
$ShortTrackName -> Track Name in Short format : SO6
$LongTrackName -> Track Name in long format : South City Chicane
$ShortTime -> Server Time in short format
$LongTime -> Server Time in long format
$ShortDate -> Date in short format
$LongDate -> Date in long format
$CurrRotateCar -> Current rotated Car
$CurrRotateTrack -> Current rotated Track
$CurrLongRotateTrack -> Current rotated Track
$NextRotateCar -> Next rotated Car
$NextRotateTrack -> Next rotated Track
$NextLongRotateTrack -> Next rotated Track



Additionnal variable that can be used in OnBeginPit.

$Work -> Work do on current car player after Pit


Additionnal variables that can be used in votation.

$Vote -> Number of player that have voted to restart, qualify or end
$Players -> Number of player that can vote ( player on track )
$Remain -> Number of votes remaining after votation conclude
$Need -> Number of votes to do action (qualify, restart, end)


Additionnal variables that can be used in OnNotMatchFlags.

$RequiredFlags -> Flag(s) required on this server
$PlayerFlags -> Flag(s) for the current player


Additionnal variable that can be used in OnFastDriveOnPitL1 or OnFastDriveOnPitL2.

$RemainFDIP -> Number of remaining penalties for fast driving in pits


Additionnal variable that can be used in OnAuthReached.

$auth -> Authorization reached
*/

/*
Command block to run when a LFS Special event is triggered
Event EventId()
...
EndEvent

Command block used by backcall command like button or scheduled action or when received a command by player
Sub SubId()
...
EndSub

Register MsgAction("!test",MA_test);
You can register a subfunction to call when a player typed a special text
Firts arg = text typed in
Second arg = Sub to call when a player typed this text

Register ScheduleAction( "0 0 0 * * *", SA_mid );
You can register a subfunction to call when a time is reached
Firts arg = cron format ss mm hh dd MM YYYY
Second arg = Sub to call when player type this text

Command allowed on Event and Sub

cmdLFS("Command_text");
Send a command to Lapper, see command.txt in LFS Doc

privMsg( "Message_text");
Send a private message to the player that has triggered the event

openPrivButton( "help",25,28,150,10,5,-1,0,"^2Commands list" );
openPrivButton( "help",25,28,150,10,5,-1,0,"^2Commands list", backcall );
Open a button for the current player
1 - Unique id for this button
2 - Left coordinate for this button ( 0-200 )
$origL = (value between 0-200); - when this value is used, every next value can be made relative to this one (example: $origL + 5;)
3 - Top coordinate for this button ( 0-200 )
$origT = (value between 0-200); - when this value is used, every next value can be made relative to this one (example: $origT + 5;)
4 - Width of the button ( 0-200 )
5 - Heigth of the button ( 0-200 )
6 - Space between line in multiline button
7 - Duration in seconds for the button to be displayed (use -1 if you don't want an automatic close)
8 - Format of the button, look at insim.txt for values
9 - Button caption, for multiline, separate each line with &
10 - Option name of the backcalled sub

closePrivButton("welc&pos&clos&ref");
Close one or more button(s), you specify ID of the button to close, multiple ID's have to be separated by a &

openGlobalButton( "bargr1",60,1,10,6,6,30,96,"Restart:" );
Same as openPrivButton, but open button for all players connected

closeGlobalButton("welc&pos&clos&ref");
Same as closePrivButton, but close button for all players connected

console( "My test");
To display message on the Lapper console

There are another functions, look in config file

Codes that can be used on button format:

0 - transparent button
16 - light button
32 - dark button
64 - align text to left
128 - align text to right

If you want to make a light colored button with text aligned to the left, combine the codes to one new code, for example 16+64 = 80
*/

/*
To create colored text, use the following codes in front of the text you want to color:

^0 - black
^1 - red
^2 - green
^3 - yellow
^4 - blue
^5 - violet
^6 - cyan
^7 - white
^8 - no color

Other variables that could be used on expressions
&& -> and
|| -> or
+ -> plus
- -> minus
/ -> devide
* -> multiply
^ -> pow
== -> equal to
!= -> not equal to
> -> bigger then
< -> smaller then
<= -> smaller then and equal to
>= -> bigger then and equal to
*/

#################
#General options#
#################

$Host = ...; # Host IP. When more network interfaces are present, set it to IP of your host.

$Port = ...; # Insim UDP port. Open this port after starting LFS Server by typing /insim=29999 in chat or include it in config-file LFS Server

$Password = "..."; # Put in the admin password used on the LFS Server

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

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

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

$DateFormat = "dd/MM/yyyy"; # Date format used for the PB files
# Look at C#-format for date/time, little help
# HH = Hour in 0-23 format
# hh = Hour in 0-12 format
# mm = Minute
# tt = PM or AM
# dd = Day
# MM = Month
# yyyy = year with 4 digits

$TimeFormat = "HH:mm"; # Time format used for the PB files

$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#
##############
# Results files can also be transferred to an FTP server
# Define the following parameters to use this feature
# Remove # before line to activate it
# -------------------------------------------------------------------

#$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

##############################
#Synchronise Lapper databases#
##############################

#$SyncID="frh01"; # Unique ID for this instance of Lapper
#$SyncDir="synchro"; # Name of synchronisation directory. Every Lapper should have this directory name in order to synchronise
#$SyncIDsToSync="frh02|frh03"; # Lapper ID's to synchronise with
# Seperate ID's with |
# You can't use current SyncID here

#############
#Default Car#
#############
# Default car to show, when no car is specified in command !top or !drf and when a player haven't used a car on this server
# You can combine several cars by using + (example: "XFG+XRG";)
# -------------------------------------------------------------------

#$DefaultTopCar = "UF1";
#$DefaultTopCar = "XFG";
$DefaultTopCar = "XRG";
#$DefaultTopCar = "XRT";
#$DefaultTopCar = "RB4";
#$DefaultTopCar = "FXO";
#$DefaultTopCar = "LX4";
#$DefaultTopCar = "LX6";
#$DefaultTopCar = "RAC";
#$DefaultTopCar = "FZ5";
#$DefaultTopCar = "MRT";
#$DefaultTopCar = "XFR";
#$DefaultTopCar = "UFR";
#$DefaultTopCar = "FOX";
#$DefaultTopCar = "FO8";
#$DefaultTopCar = "FXR";
#$DefaultTopCar = "XRR";
#$DefaultTopCar = "FZR";
#$DefaultTopCar = "BF1";
#$DefaultTopCar = "FBM";

###################################
#Event triggered when lapper start#
###################################
Event OnLapperStart()
EndEvent

###################################
#Authorization Options ( license )#
###################################
#Authorization Options
#
#$Auth1 $Auth2 ... $Auth10 variable
#Syntax : $AuthX = "Carname:Trackname:MinimumTime&Carname:Trackname:MinimumTime&...| Carname:Trackname:MinimumTime&Carname:Trackname:MinimumTime&... | ...";
#& -> And condition
#| -> Or condition
#
#$AuthAllowPlayer="Auth1|...|AuthX|@username1,username2,...,usernameN";
#or
#$AuthAllowPlayer="All";
#-------------------------------------------------------------------

#$Auth1 = "XFG:BL1:1.30.10 | XRT:SO4:1.20.20";
#$Auth2 = "XFG:BL1:1.10.10 | XRT:SO4:1.20.20";
#$Auth3 = "XFG:BL1:1.05.10";

$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()
cmdLFS( "/msg " . $Nickname . "^3 allowed on this server" );
Endevent

Event OnAuthNotAllowed()
cmdLFS("/spec " . $Nickname . "^3 allowed on this server");
cmdLFS("/msg " . $Nickname . "^3 not allowed on this server");
Endevent

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

Event OnAuthReached()
privMsg("^3You have got level" . $auth );
EndEvent

#################
#Control Allowed#
#################
# Racer flags
# "Y" = Yes
# "N" = No
# "*"" = Yes or No
# Local variable
# $PlayerFlags = The current Player flags
# $RequiredFlags = The current Required flags
#-------------------------------------------------------------------

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

Event OnNotMatchFlags()
privMsg( "Flags not match required flags" );
privMsg("Yours flags -> " . $PlayerFlags );
privMsg("Required flags -> " . $RequiredFlags );
privMsg("Spectated" );
cmdLFS("/spec " . $Username );
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:
#
#$AutoRestartRaceMn = Minutes between the end of a race (last player finished) and an automatic restart
#$AutoRestartRaceMn = 0; No restart
#
#Rotation only work if AutoRestartRaceMn 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 = "-";

$VoteRestart = -1;

Event onVoteRestartChange()
openGlobalButton( "bargr1",60,1,10,6,6,30,96,"Restart:" );
openGlobalButton( "bargr2",70,1,20,6,6,30,96,"(" . $Vote ."/" . $Players . ") Need " . $Need );
EndEvent

Event onVoteRestartReach()
closeGlobalButton( "bargr1&bargr2" );
cmdLFS("/restart");
EndEvent

Event onVoteRestartZero()
closeGlobalButton( "bargr1&bargr2" );
EndEvent

$VoteQualify = -1;

Event onVoteQualifyChange()
openGlobalButton( "bargq1",90,1,10,6,6,30,96,"Qualify" );
openGlobalButton( "bargq2",100,1,20,6,6,30,96,"(" . $Vote . "/" . $Players . ") Need " . $Need );
EndEvent

Event onVoteQualifyReach()
closeGlobalButton("bargq1&bargq2" );
cmdLFS("/qualify" );
EndEvent

Event onVoteQualifyZero()
closeGlobalButton("bargq1&bargq2" );
EndEvent

$VoteEnd = -1;

Event onVoteEndChange()
openGlobalButton( "barge1",120,1,10,6,6,30,96,"End:" );
openGlobalButton( "barge2",130,1,20,6,6,30,96,"(" . $Vote . "/" . $Players . ") Need " . $Need );
EndEvent
Event onVoteEndReach()
closeGlobalButton( "barge1&barge2" );
cmdLFS("/end");
EndEvent

Event onVoteEndZero()
closeGlobalButton( "barge1&barge2" );
EndEvent

$VoteLifeSec = 30;

$AutoRestartRaceMn = 0;

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

Event OnRotateCar()
cmdLFS("/msg Car changed, go to pit! Current car = " . $CurrRotateCar);
EndEvent
Event OnRotateTrack()
cmdLFS("/msg Track changed, please wait!" );
cmdLFS("/msg Current Track = " . $CurrLongRotateTrack);
EndEvent


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

Event OnConnect()
openPrivButton( "welc",25,50,150,15,12,-1,0,"^6Welcome " . $Nickname . " ^7to ^7[HDC]^2House Drift Club ^7Server Team!" );
openPrivButton( "pos",25,80,150,10,8,-1,0, "&Don't stay on track - Drift - Ban to crashers - ADMINS ON SERVER"
. "&Respect the other players - Polka drift only in pit"
. "&Don't Flood - ^7JA^1P^7AN^8 - Advise if drift pit landing or pit drift "
);
openPrivButton( "clos",78,120,20,10,10,-1,32,"^2OK",OnConnectClose );
openPrivButton( "ref",103,120,20,10,10,-1,32,"^1NO",OnConnectCloseKick );
http("http://www.frh-team.net/reglapper/getserver2.php" );
EndEvent

Sub OnConnectClose()
closePrivButton("welc&pos&clos&ref");
/*
IF( $Nickname == "unnamed" )
THEN
cmdLFS( "/kick " . $Username );
ENDIF
*/
EndSub

Sub OnConnectCloseKick()
closePrivButton("welc&pos&clos&ref");
cmdLFS("/kick " . $Username );
EndSub

###################
#Scheduled actions#
###################
#Syntax: ss mm hh dd MM YYYY
#-------------------------------------------------------------------

Register ScheduleAction( "0 0 0 * * *", SA_mid );
Sub SA_mid()
cmdLFS("/rcm Midnight warning to all working men!");
cmdLFS("/rcm_all");
EndSub

Register ScheduleAction( "0 0 0 1 1 *", SA_newyear );
Sub SA_newyear()
cmdLFS("/rcm Happy New Year!");
cmdLFS("/rcm_all");
EndSub

#################
#Command actions#
#################
#$allow is optional if you wish to specify users, that are allowed to execute action
#You can specify more users if you separated them by ','
#You can use a file to specify users, one user per line (example : $allow = "&./your_file.flt";)
#If ! before a name, force nickName authentification if UseUsernameForAuthentication=true
#If ! before a name, force userName authentification if UseUsernameForAuthentication=false
#You can use regexp expression in userName pattern, type regex=your regular expression
#
#Example: if UseUsernameForAuthentication=true
# !regex=^\[COP\].*
# Find all user with a nickname that begins with [COP]
# regex=^Gai.*
# Find all user with a username that begins with Gai
# See regular expression on web for more info how it work
#
#Use & sign at end of patterns
#-------------------------------------------------------------------

$UseUsernameForAuthentication = true;

Register MsgAction("!test",MA_test);
Sub MA_test()
$allow = "Gai-Luron,lagamel";
cmdLFS("/rcm " . $Nickname . " is testing...");
cmdLFS("/rcm_ply " . $Nickname );
EndSub

Register MsgAction("!license",MA_license);
Sub MA_license()
$allow = "Gai-Luron,lagamel";
setLicense( $argv );
EndSub

Register MsgAction("!ban",MA_ban);
Sub MA_ban()
$allow = "Gai-Luron";
cmdLFS( "/ban " . $argv . " 1" );
EndSub

Register MsgAction("!kick",MA_kick);
Sub MA_kick()
$allow = "Gai-Luron";
cmdLFS( "/kick " . $argv );
EndSub

Register MsgAction("!powered",MA_powered);
Sub MA_powered()
http("http://www.frh-team.net/reglapper/getserver2.php");
EndSub

Register MsgAction("!pos",MA_pos);
Sub MA_pos()
privMsg( "Your friendly position is " . $Posabs );
EndSub

Register MsgAction("!posqual",MA_posqual);
Sub MA_posqual()
privMsg( "Your qualification position is " . $Posqual );
EndSub

Register MsgAction("!groupqual",MA_groupqual);
Sub MA_groupqual()
privMsg( "Your groupqual is " . $Groupqual );
EndSub

Register MsgAction("!ver",MA_ver);
Sub MA_ver()
http("http://www.frh-team.net/reglapper/getserver2.php");
lapperVersion();
EndSub

Register MsgAction("!auth",MA_auth);
Sub MA_auth()
authLevel();
EndSub

Register MsgAction("!cleanspb",MA_cleanspb);
Register MsgAction("!razspb",MA_cleanspb);
Sub MA_cleanspb()
cleanSpb();
EndSub

Register MsgAction("!spb",MA_spb);
Sub MA_spb()
showSpb();
EndSub

Register MsgAction("!hand",MA_hand);
Sub MA_hand()
showHand( $argv );
EndSub

Register MsgAction("!statsqual",MA_statsqual);
Sub MA_statsqual()
statsQual( $argv );
EndSub

Register MsgAction("!dstats",MA_dstats);
Sub MA_dstats()
dStats( $argv );
EndSub

Register MsgAction("!stats",MA_stats);
Sub MA_stats()
stats( $argv );
EndSub

Register MsgAction("!nearqual",MA_nearqual);
Sub MA_nearqual()
nearQual( $argv );
EndSub

Register MsgAction("!near",MA_near);
Sub MA_near()
near( $argv );
EndSub

Register MsgAction("!topqual",MA_topqual);
Sub MA_topqual()
topQual( $argv );
EndSub

Register MsgAction("!top",MA_top);
Sub MA_top()
top( $argv );
EndSub

Register MsgAction("!drf",MA_drf);
Sub MA_drf()
drf( $argv );
EndSub

Register MsgAction("!distance",MA_distance);
Sub MA_distance()
privMsg("Distance done on " . $Car . "/" . $ShortTrackName . " = " . $Dist . ", session = " . $SessDist );
EndSub

Register MsgAction("!laps",MA_laps);
Sub MA_laps()
privMsg( "Laps done on " . $Car . "/" . $ShortTrackName ." = " . $Laps . ", session = " . $SessLaps );
EndSub

Register MsgAction("!pit",MA_pit);
Sub MA_pit()
privMsg( "Time in pitting " . $TotalPitTime );
EndSub

Register MsgAction("!track",MA_track);
Sub MA_track()
privMsg( "Track in use :" . $ShortTrackName . " = " . $LongTrackName );
EndSub

Register MsgAction("!time",MA_time);
Sub MA_time()
privMsg( "Server time clock reference : " . $LongTime );
EndSub

Register MsgAction("!help",MA_help);
Sub MA_help()
openPrivButton( "help",25,28,150,10,5,-1,0,"^7Commands list" );
openPrivButton( "help2",25,38,150,6,5,-1,96,"^6General commands"
. "&^5!drf ^8Drift records on actual track"
. "&^5!dstats ^8[Player Name]Drift Stats of a player"
. "&^5!track ^8Name of actual track"
. "&^5!time ^8Server time"
. "&^5!ver ^8Version of LFSLapper"
. "&^5Shft+i ^8Configure your display messages" );
openPrivButton( "close",90,145,20,10,8,-1,32,Ok,MA_closeHelp );
EndSub

Sub MA_closeHelp()
closePrivButton("help&help2&close");
EndSub

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

Event FloodAction()
privMsg( $Nickname . "^3 kicked for flooding" );
cmdLFS( "/kick " . $Username );
EndEvent

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

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

[/SIZE][COLOR="Blue"]##################
#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 DriftPBAction()
cmdLFS( "/msg " . $Nickname . "^3 made new PB: ^7" . $DriftScore . " ^3points!" );
EndEvent
*/

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

/*
Event DriftLapAction()
cmdLFS("/msg " . $Nickname . " ^3drifted to ^7" . $DriftScore . " ^3points" );
EndEvent
*/

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

/*
Event OnDriftScore()
privMsg( "Score: ^7" . $DriftScore . " ^1D^7on't ^1S^7top" );
EndEvent
*/

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

/*
Event GoodDriftAction()
privMsg( $Nickname . " ^3made excellent drift: ^7" . $LastDriftScore ." ^3points" );
EndEvent
*/

$MinimumDriftScore = 1000; # Minimum drift score required

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

/*
Event DriftTooLowAction()
privMsg( "^6HEY!!" . $Nickname . "^3YOU ARE ^5LAZY :/ :^7" . $LastDriftScore );
EndEvent
*/

$MinimumDriftSpeed = 10; # 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 = 120; # Maximum angel to maintain. When angle is above value, score is reset

[/COLOR][SIZE="2"]
##########################
#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

#Message to show to players.
#Possible variables to use:
#{AccelerationStartSpeed} - Starting speed
#{AccelerationEndSpeed} - Ending speed
#{AccelerationTime} - Acceleration time achieved from start to end speed
#{UnitSpeed} Unit of the Speed of the player connected

Event OnAcceleration()
privMsg( "^8Accelerated in ^3" . $AccelerationTime . "^8 seconds to " . $AccelerationEndSpeed . " " . $UnitSpeed ."!" );
EndEvent

######################
#Actions for pit stop#
######################
#Local variable tou can use
#$Work - Work on pit (only for OnBeginPit)
#-------------------------------------------------------------------
# no pit windows if two var set to 0
$PitWindowStart=0;
$PitWindowStop=0;

Event OnBeginPit()
cmdLFS( "/msg " . $Nickname . "^8 makes a pit stop" );
privMsg( "Pit begin! Work:^3" . $Work );
EndEvent

Event OnEndPit()
cmdLFS( "/msg " . $Nickname . "^8 left pits in " . $PitTime );
privMsg( "Pit stop finished in ^6" . $PitTime ."^7 - Total Pit: ^5" . $TotalPitTime );
EndEvent

######################
#Actions on penalties#
######################
#Possible variables to use:
#
#OnFastDriveOnPitL1 = Actions on 30 Sec Penalty or drive-through
#OnFastDriveOnPitL2 = Actions on 45 Sec Penalty or Stop&Go
#MaxFastDriveOnPit = Max Fast Drive on Pit allowed per race
#OnMaxFastDriveOnPit = Actions on Max Fast Drive on Pit allowed
#OnFalseStartL1 = 30 Sec Penalty or drive-through
#OnFalseStartL2 = 45 Sec Penalty or Stop&Go
#
#Local Variable can be used:
#
#{RemainFDIP} = Remain count for fast drive in pit
#-------------------------------------------------------------------

Event OnFastDriveOnPitL1()
cmdLFS( "/p_clear " . $Nickname );
EndEvent

Event OnFastDriveOnPitL2()
cmdLFS( "/p_clear " . $Nickname );
EndEvent

Event OnMaxFastDriveOnPit()
cmdLFS( "/p_clear " . $Nickname );
EndEvent
$MaxFastDriveOnPit = 1;

Event OnFalseStartL1()
EndEvent

Event OnFalseStartL2()
EndEvent

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

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



what i have bad??
if possible i want the twin system, and drift score board !! help
This is probably the wrong section to ask for programming help...
Likely to do with your $defaulttopcar section.

In your code, !drf and !top are set to only work with XRG.

If you look at code, you will see

<?php 
$defaulttopcar
="XRG";
?>

Other lines of $defaulttopcar have a # symbol in front.

Remove this # symbol from the cars you drift with.

In lapper, # symbol tells code to ignore text after symbol.

Drift scoreboard: If you're using a later version of lapper, then look in the /includes folder, for a file called addonsused.lpr.

Open this file, and you will see a # symbol in front of the line

<?php 
include( "./driftmeter.lpr");
?>

Remove the # symbol (you can edit file in NotePad), and save the file.

Twindrift system. This, as far as I'm aware, is not public. Ask the server owner, but be prepared to be disappointed.

Lapper issues. Please post in the correct section HERE.

FGED GREDG RDFGDR GSFDG