######################################################################### # # # This is sample script for LFSLapper. # # # # Use non-formatting text editor such as notepad to modify script. # # # ######################################################################### # Lines beginning with '#' are comments and are ignored by this program. # Lines beginning with TAB are considered as part of last key line. # If more keys with same name exist, value of last one in file will be used. # That way it's possible to override commands. See at end of this file. # In all text responses you can also use the following colors: # ^0 - black # ^1 - red # ^2 - green # ^3 - yellow # ^4 - blue # ^5 - violet # ^6 - cyan # ^7 - white # ^8 - no color # If using also unicode characters, save script as unicode text document. # Global variables, that can be used in any action: # {ShortTime} - Local time of server in short form # {LongTime} - Local time of server in long form # {ShortDate} - Local date of server in short form # {LongDate} - Local date of server in long form # {ShortTrackName} - Current track name in short form # {LongTrackName} - Current track name in long form # # Functions, that can be used in any action # /pm your message - Private message send to the player who activated the action # # Symbol replacements: # {colon} - symbol ':' # {at} - symbol '@' # {vbar} - symbol '|' ######################################################################### # General options # ######################################################################### # Host IP. When more network interfaces are present, set it to IP of your host. Host = 127.0.0.1; # Insim UDP port. # Before starting LFSLapper you must configure LFS server to use this port for InSim. # You can do that in command line when starting LFS (/insim=29999) or in talk window of LFS (/insim 29999). Port = 29999; # Change Password to match Admin password on LFS server. # Usually this is the only value that needs to be modified for this default script to work. Password = yourpass; TrackInfoFile = trackInfo.cfg; # SOME EXPLAINATION NEEDED TCPmode = true; #Register your server on FRH TEAM WEB To have a list of Server Running Lapper EnableRegisterWeb = true; # Date and time format for PB file # # Look at C# format date, 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 DateFormat = dd/MM/yyyy; TimeFormat = HH:mm; # How much time (in milliseconds) will big text messages last (text that is started by rcm_all command). MessageTime = 5000; # Identification for a connection to PubStat : To obtain PubStatIdk go to www.lfsworld.net, # select My LFSW Setting and select tab Pubstat Access #PubStatIdk = ; # Enable if you want to show control configuration of players when leaving the pits. ShowPlayerControl = true; ######################################################################### # FTP transfer # ######################################################################### # Results files can also be transferred to FTP server. # Define following parameters to use this feature. #------------------------------------------------------------------- #FtpServer = your ftp server; #FtpLogin = your login; #FtpPasswd = your password; #FtpRemotePath = your remote dir; ######################################################################### # Sync Database Options # ######################################################################### # SyncID = Sync Unique ID for this Lapper; # SyncDir = Sync Directory name for Synchronization, all Lappers to be Synchronized must have same Directory; # SyncIDsToSync = All Lappers ID's to synchronize with, you can't use your current SyncID here; #------------------------------------------------------------------- #SyncID=frh01; #SyncDir=synchro; #SyncIDsToSync=frh02|frh03; ######################################################################### # Default Car # ######################################################################### # Default car to show, when no car is specified in !top or !drf command # and when racer not have used a car #----------------------------------------------------------------- #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; ######################################################################### # 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; # Minimum player on server for auto enable Authorization. if less: All player allowed, if upper: AuthAllowPlayer only allowed AuthMinPlayer = 0; OnAuthAllowed = /msg {Nickname}^3 allowed on this server; OnAuthNotAllowed = /spec {Nickname}| /msg {Nickname}^3 not allowed on this Server| ; OnAuthReached= /pm ^3You have got level {auth}; ######################################################################### # SwearWord # ######################################################################### # # You can specify a list of swearwords here # #----------------------------------------------------------------- # SwearWordsList : is a list of bad words # - if you prefix with & , You can indicate a file name who contain list of swearWords, one word per line # - if you do not prefix, You can list word separated with , # Syntax : # SwearWordsList = &./your_file; # or SwearWordsList = word1,word2,...,wordn; # # SwearWordsMax : Maximum number of allowed swearwords per session # SwearWordsAction1 : Action to do when user write a swearword before reaching SwearWordsMax # SwearWordsAction2 : Action to do when user write a swearword and reaches SwearWordsMax # # {Nickname} - Nickname of driver # {Username} - Username of driver # {SwearWordsRem} = Remaining retry before SwearWordsAction2 # #----------------------------------------------------------------- SwearWordsList = fuck,asholes,bastard,idiot; #SwearWordsList = &./swear.txt; SwearWordsMax = 2; SwearWordsAction1 = /pm ^1Don't use this words on this server, banned on ^2{SwearWordsRem} ^1retry!; SwearWordsAction2 = /pm Too many swearwords, spectated|/spec {UserName}; ######################################################################### # Handicap # ######################################################################### # # You can specify 3 levels of handicap : for car, for car and track, for user # Priority Level low to hight : HandicapCars, HandicapCarsTracks, HandicapUser # #----------------------------------------------------------------- # Handicap cars # Syntax : # HandicapCars = car:mass:irest,car:mass:irest,...,car:mass:irest; # # car : LFS short car name # mass : mass handicap in kg # irest : Air intake restriction in percent #------------------------------------------------------------------- # Handicap cars/tracks # Syntax : # HandicapCarsTracks = car/track:mass:irest,car/track:mass:irest,...,car/track:mass:irest; # # car : LFS short car name # track : LFS short track name # mass : mass handicap in kg # irest : Air intake restriction in percent # #------------------------------------------------------------------- # HandicapUser : is a list of racer and her handicap # - if you prefix with & , You can indicate a file name who contain list of racer, one racer per line # - if you prefix with @, You can list username separated with , # Syntax : # HandicapUsers = &./your_file; # or HandicapUsers = @userName:mass:irest,userName:mass:irest,...userName:mass:irest; # In demo mode use nickname # # RefreshHandicapUsers : allow Lapper to refresh HandicapUsers on each outgoing pits, # Usefull if HandicapUsers is a file and is updated frequently by extern program #----------------------------------------------------------------- #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,berlioz,la tortue,neron59,eur-can,stff,2psbob,oliv76000; # Actions to execute, when handicap of player is less than specified in HandicapUsers infos. # If more actions, separate them with '|'. # Possible variables to use: # {Nickname} - Nickname of driver # {Username} - Username of driver # {H_Mass} - User mass required # {H_TRes} - User Intake restriction required OnToLowHandicap = /spec {Nickname}| /msg {Nickname}^3 spectated for to low handicap| /msg ^3need {H_Mass}kg and {H_TRes}% of intake restriction!; ######################################################################### # Control Allowed # ######################################################################### # Racer flags # Y = Yes # N = No # * = Yes or No # {Nickname} - Nickname of driver # {Username} - Username of driver # {PlayerFlags} = The current Player flags # {RequiredFlags} = The current Required flags #--------------------------------------------------------------- SwapSide = *; AutoGears = *; Shifter = *; HelpBrake = *; AxisClutch = *; AutoClutch = *; Mouse = *; KbNoHelp = *; KbStabilised = *; CustomView = *; OnNotMatchFlags = /pm Flags not match required flags |/pm Yours flags -> {PlayerFlags} |/pm Required flags -> {RequiredFlags} |/pm Spectated|/spec {Username}; ######################################################################### # Race Control # ######################################################################### # Votation ################################################################## # InRaceLapsVoteMinMax = Laps between Vote are allowed on race # InRaceLapsVoteMinMax = 0-0 Vote are never allowed # InRaceLapsVoteMinMax = -5 Vote allowed between first lap and 5 lap # InRaceLapsVoteMinMax = 2- Vote allowed between laps 2 and end of race # InRaceLapsVoteMinMax = - Vote always allowed # # VoteRestart = percent of player vote on track need to restart race, LFS admin this if set to -1 # onVoteRestartChange = Command to do when player vote to restart # onVoteRestartReach = Command to execute when VoteRestart is reached # onVoteRestartZero = Command to execute when no nb of player reach zero # VoteQualify = percent of player vote on track need to qualify, LFS admin this if set to -1 # onVoteQualifyChange = same as restart but for qualify # onVoteQualifyReach = same as restart but for qualify # onVoteQualifyZero = same as restart but for qualify # # VoteEnd = percent of player vote on track need to end race, LFS admin this if set to -1 # onVoteEndChange = same as restart but for qualify # onVoteEndReach = same as restart but for qualify # onVoteEndyZero = same as restart but for qualify # # {Nickname} - Nickname of driver # {Username} - Username of driver # {Vote} - Player who have voted # {Remain} - Player remaining to vote # {Need} - Player needed for action # # VoteLifeSec = Second for the life for a vote # ################################################################## # Auto restart ################################################################## # AutoRestartRaceMn = Minute between End of a race and an automatic restart # AutoRestartRaceMn = 0; No restart # # Rotation work only if AutoRestartRaceMn is set # EnableRotation = Allow or diallow rotation for track and/or car # Values : true or false # RotateTracks = track to rotate separated by ',' # RotateCars = cars to rotate separated by ',' Use LFS definition for car, if not set, no car rotation # RotateEveryNbRaces = Number of race to do before rotation # ################################################################## InRaceLapsVoteMinMax = -; VoteRestart = -1; onVoteRestartChange = /gbut bargr1,60,1,10,6,6,30,96,Restart:|/gbut bargr2,70,1,20,6,6,30,96,({Vote}/{Players}) Need {Need}; onVoteRestartReach = /cgbut bargr1&bargr2|/restart; onVoteRestartZero = /cgbut bargr1&bargr2; VoteQualify = -1; onVoteQualifyChange = /gbut bargq1,90,1,10,6,6,30,96,Qualify:|/gbut bargq2,100,1,20,6,6,30,96,({Vote}/{Players}) Need {Need}; onVoteQualifyReach = /cgbut bargq1&bargq2|/qualify; onVoteQualifyZero = /cgbut bargq1&bargq2; VoteEnd = -1; onVoteEndChange = /gbut barge1,120,1,10,6,6,30,96,End:|/gbut barge2,130,1,20,6,6,30,96,({Vote}/{Players}) Need {Need}; onVoteEndReach = /cgbut barge1&barge2|/end; onVoteEndZero = /cgbut barge1&barge2; VoteLifeSec = 30; AutoRestartRaceMn = 0; EnableRotation = false; RotateTracks = SO6R,BL1,FE3; RotateEveryNbRaces = 4; RotateCars = XFG+UF1,TBO,XFR+UFR; ######################################################################### # Connect messages # ######################################################################### # Message that is shown to players when they connect to the server. # Use '|' for new line. # {Posqual} - Position on pre-qualification # {Groupqual} - Group pre-qualification # {Posabs} - Friendly position # {SessLaps} - Number of laps on current car and track for session # {TotalPitTime} - Total Time stop in pit place # {Laps} - Number of Lap on current track and default Car # {Car} - Default car, because at this time, Lapper don't know your car # {ShortTrackName} - Current short Trackname # {Nickname} - Nickname of driver # {Username} - Username of driver # {MaxSessionLaps} - Maximum laps allowed on this session # # /pbut id,L,T,W,H,I,Time,Bstyle # # L = Left coordonate ( 0 to 200 ) # T = Top coordonate ( 0 to 200 ) # W = Width for the button ( 0 to 200 ) # H = Heigth for the button ( 0 to 200 ) # I = Separation bettween multi line message ( 0 to 200 ) # Time = Time in seconds that the button is displayed. Use -1 to close the button on a click # Bstyle = Button style, look at insim.txt for value or below # # /cbut id,ids_to_close,L,T,W,H,I,Time,one line message # # id = string id for the button # ids_to_close = ids buttons of all messages button separated by & # L = Left coordonate ( 0 to 200 ) # T = Top coordonate ( 0 to 200 ) # W = Width for the button ( 0 to 200 ) # H = Heigth for the button ( 0 to 200 ) # I = Separation bettween multi line message ( 0 to 200 ) # Time = Time in seconds that the button is displayed. Use -1 to close the button on a click # Bstyle = Button style, look at insim.txt for value or below #----------------------------------------------------------------- OnConnect = /pbut welc,25,50,150,15,12,-1,0,^7Welcome {Nickname} to ^1LFSLapper ^7powered server !&^2Type ^7!help ^2after leaving garage to see commands.| /pbut pos,25,80,150,10,8,-1,0,^7Your actual friendly Position (all visitors) {colon} ^7{Posabs} &^2Your actual League prequalify Position {colon} {Posqual} ^6Estimate Pool {colon} {Groupqual} &Don't use swearwords on this server &respect other player &otherwise you can be banned | /pbut clos,78,120,20,10,10,-1,32,Accept,"/cpbut welc&pos&clos&ref"| /pbut ref,103,120,20,10,10,-1,32,Deny,"/cpbut welc&pos&clos&ref|/kick {Username}"| /http http{colon}//www.frh-team.net/reglapper/getserver.php; ######################################################################### # DisConnect messages # ######################################################################### # Message that is shown when player disconnect to server. Use '|' for new line. # {Nickname} - Nickname of driver # {Username} - Username of driver # More line with | car #----------------------------------------------------------------- OnDisConnect = /msg {Nickname} leave connection; ######################################################################### # Splitting # ######################################################################### # Private Message that are send on spb. # Message on lower split : Message on upper split # {Nickname} - Nickname of driver # {Username} - Username of driver # {CurSplit} - Relative Time to begin of split and end of split # {BestSplit} - Relative Time on best Split # {DiffSplit} - CurSplit - BestSplit # {BestSpeed} - Best to begin of lap to this split # {Tpb} - Theorical PB # {Posqual} - Position on pre-qualification # {Groupqual} - Group pre-qualification # {Posabs} - Friendly position # {SessLaps} - Number of laps on current car and track for session # {TotalPitTime} - Total Time stop in pit place # {Laps} - Number of laps on current car and car # {Car} - Current car of Player # Only for LastSplit ( End of Lap ) you can use # {AvgSpeed} - Average Speed for this lap # {typ} - = "Sess" if split PB of Session; # = "PB" if split PB of PB file; # {UnitSpeed} Unit of the Speed of the player connected #----------------------------------------------------------------- ShowSplitPB = true; #OnSpb1Up = /pm {typ} ^7SP1{colon} {CurSplit} ^1({DiffSplit}) ^7=>TPB{colon}{Tpb}; #OnSpb1Low = /pm {typ} ^7SP1{colon} {CurSplit} ^2({DiffSplit}) ^7=>TPB{colon}{Tpb}; #OnSpb2Up = /pm {typ} ^7SP2{colon} {CurSplit} ^1({DiffSplit}) ^7=>TPB{colon}{Tpb}; #OnSpb2Low = /pm {typ} ^7SP2{colon} {CurSplit} ^2({DiffSplit}) ^7=>TPB{colon}{Tpb}; #OnSpb3Up = /pm {typ} ^7SP3{colon} {CurSplit} ^1({DiffSplit}) ^7=>TPB{colon}{Tpb}; #OnSpb3Low = /pm {typ} ^7SP3{colon} {CurSplit} ^2({DiffSplit}) ^7=>TPB{colon}{Tpb}; #OnSpbLastUp = /pm {typ} ^7SPL{colon} {CurSplit} ^1({DiffSplit}) ^7=>TPB{colon}{Tpb} Avg{colon} {AvgSpeed} {UnitSpeed}; #OnSpbLastLow = /pm {typ} ^7SPL{colon} {CurSplit} ^2({DiffSplit}) ^7=>TPB{colon}{Tpb} Avg{colon} {AvgSpeed} {UnitSpeed}; OnSpb1Up = /pbut id_spb,50,55,100,10,10,5,0,{typ} ^7SP1{colon} {CurSplit} ^1({DiffSplit})&^7TPB{colon}{Tpb}; OnSpb1Low = /pbut id_spb,50,55,100,10,10,5,0, {typ} ^7SP1{colon} {CurSplit} ^2({DiffSplit})&^7TPB{colon}{Tpb}; OnSpb2Up = /pbut id_spb,50,55,100,10,10,5,0, {typ} ^7SP2{colon} {CurSplit} ^1({DiffSplit}) &^7TPB{colon}{Tpb}; OnSpb2Low = /pbut id_spb,50,55,100,10,10,5,0, {typ} ^7SP2{colon} {CurSplit} ^2({DiffSplit})&^7TPB{colon}{Tpb}; OnSpb3Up = /pbut id_spb,50,55,100,10,10,5,0, {typ} ^7SP3{colon} {CurSplit} ^1({DiffSplit})&^7TPB{colon}{Tpb}; OnSpb3Low = /pbut id_spb,50,55,100,10,10,5,0, {typ} ^7SP3{colon} {CurSplit} ^2({DiffSplit})&^7TPB{colon}{Tpb}; OnSpbLastUp = /pbut id_spb,50,55,100,10,10,5,0, {typ} ^7SPL{colon} {CurSplit} ^1({DiffSplit})&^7TPB{colon}{Tpb} Avg{colon} {AvgSpeed} {UnitSpeed}; OnSpbLastLow = /pbut id_spb,50,55,100,10,10,5,0, {typ} ^7SPL{colon} {CurSplit} ^2({DiffSplit})&^7TPB{colon}{Tpb} Avg{colon} {AvgSpeed} {UnitSpeed}; ######################################################################### # List of user qualifying # ######################################################################### # RefreshQualUsers : allow Lapper to refresh QualUsers on each outgoing pits, Usefull if QualUsers is a file and this change frequently by extern program # QualUser : is a list of racer who participe at qualification, required for function !nearqual !topqual and !statsqual # if you prefix with & , You can indicate a file name who contain list of racer, one racer per line ex : QualUsers = ./userfile.txt; # if you prefix with @, You can list username separated with , ex : QualUsers = @Gai-Luron,gwendoline,_-ALUCARD-_,lagamel; # You can specify witch car is used by a user adding car after username separated by : # Example : Gai-Luron:XFR,lagamel:UFR # In demo mode use nickname # You can specify the scheme of group of this qualification using a special username called DefGroup # Defgroup Take 3 argument separated with ':' # 1 - Is the number Max of Group for this qualification # 2 - Is the number max of user per group # 3 - Is the minimum of user in the last group, recalc previous group as possible if number is low # If you ommit scheme of groups, the group of qualification do not appear #----------------------------------------------------------------- RefreshQualUsers = true; #QualUsers = &./your_file.flt; QualUsers = @DefGroup:5:5:2,Gai-Luron,MataGyula,nesrulz,gwendoline,_-ALUCARD-_,lagamel,lister88,c-quad,shimanofr,bruno7529,boby5,kevinb,edgar,berlioz,la tortue,neron59,eur-can,stff,2psbob,oliv76000; ######################################################################### # Scheduled actions # ######################################################################### # Actions that are executed on schedule. Use '|' for next schedule/action pair and to separate schedule from action. # If more schedules or actions, separate them with ':'. # # ssmmhhddMMYYYY # You can't use /pm here #------------------------------------------------------------------- #ScheduledAction = 0 * * * * * : 30 * * * * *|/msg Kicking time (every 30 seconds)!:/kick unnamed; ScheduledAction = 0 0 0 * * * |/rcm Midnight warning to all working men!:/rcm_all| 0 0 0 1 1 * |/rcm Happy New Year!:/rcm_all ; ######################################################################### # Action # ######################################################################### # Action to do on special command typed in message line # Syntax # addCmd( "command"[,"allowedUser"]) = command text # # "allowedUser" is optional if you wish to specify users, that are allowed to execute action # You can specify more user separated by '|' # Exemple : # addCmd("!ver","Gai-Luron|Lagamel") # 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 # Exemple : if UseUsernameForAuthentication=treu # !regex=^\[COP\].* # Find all user who nickname begin with [COP] # regex=^Gai.* # Find all user who username begin with Gai # See regular expression on web for more info how it work # Use & sign at end of patterns, if you wish to specify a file containing users, that are allowed to execute action. users separate by \n # # Use & sign at beginning of "allowedUser", if you wish to specify a file containing users, that are allowed to execute action. users separate by \n # Exemple : # addCmd("!ver","&./cmd.flt") # # {UserName} - Username of driver that sent message # {Nickname} - Nickname of driver that sent message # {Laps} - Number of laps on current car and track # {SessLaps} - Number of laps on current car and track for session # {Dist} - Distance on current car and track # {SessDist} - Distance on current car and track for session # {UnitDist} - Unit for distance # {TotalPitTime} On Total Time stop in pit place # {Car} - Car of current player or default car if in spectate mode # {ShortTrackName} - Current short Trackname # {TotalPitTime} - Total time of pitting # {Posqual} - Position on pre-qualification # {Groupqual} - Group pre-qualification # {Posabs} - Friendly position # {*} = Rest of command line ( argument ); #------------------------------------------------------------------- UseUsernameForAuthentication = true; addCmd("!test") = /rcm {Nickname} is testing...|/rcm_ply {Nickname}; addCmd("!license","Gai-Luron") = /license {*}; addCmd("!ban","Gai-Luron") = /ban {*} 1; addCmd("!kick","Gai-Luron") = /kick {*}; addCmd("!powered" ) = /http http{colon}//www.frh-team.net/reglapper/getserver.php; addCmd("!pos") = /pm Your friendly position is {Posabs}; addCmd("!posqual") = /pm Your qualification position is {Posqual}; addCmd("!groupqual") = /pm Your groupqual is {Groupqual}; addCmd("!ver") = /ver|/http http{colon}//www.frh-team.net/reglapper/getserver.php; addCmd("!auth") = /auth; addCmd("!cleanspb|!razspb") = /cleanspb; addCmd("!spb") = /spb; addCmd("!hand") = /hand {*}; addCmd("!statsqual") = /statsqual {*}; addCmd("!dstats") = /dstats {*}; addCmd("!stats") = /stats {*}; addCmd("!nearqual") = /nearqual {*}; addCmd("!near") = /near {*}; addCmd("!topqual") = /topqual {*}; addCmd("!top") = /top {*}; addCmd("!drf") = /drf {*}; addCmd("!distance") = Distance done on {Car}/{ShortTrackName} = {Dist}, session = {SessDist}; addCmd("!laps") = Laps done on {Car}/{ShortTrackName} = {Laps}, session = {SessLaps}; addCmd("!pit") = Time in pitting {TotalPitTime}; addCmd("!track") = Track in use {colon} {ShortTrackName} = {LongTrackName}; addCmd("!time") = Server time clock reference {colon} {LongTime}; addCmd("!help") = /pbut help,25,28,150,10,5,-1,0,^2Commands list| /pbut help2,25,38,150,6,5,-1,96,^2General commands &^3!top ^8[table offset] [3-letter car name] ["filter" pattern] &^3!drf ^8[table offset] [3-letter car name] ["filter" pattern] &^3!stats ^8[playername pattern] &^3!dstats ^8[playername pattern] &^3!near ^8Gap with 14 pilots near you on rank &^3!spb ^8Split times and TPB (Theorical PB) &^3!razspb ^8Restart new spb session (eg when changing car) &^3!track ^8Name of actual track &^3!time ^8Server time (to leagues mettings) &^3!ver ^8Version of LFSLapper & &^2Special leagues commands &^3!topqual ^8Rank to pilots specified on *.flt file &^3!statsqual ^8Actual Position on prequalify session & &^2New functions &^3!laps ^8Total laps number + session laps number &^3!hand ^8Handicap by pilot ordered by league-host admin &^3!pit ^8Total pit stop time &^3Shft+i ^8Configure your display messages| /pbut close,90,145,20,10,8,-1,32,Ok,"/cpbut help&help2&close"; ######################################################################### # Shift + P # ######################################################################### # Actions to execute when player teleports to pits by options or SHIFT+S. # If more actions, separate them with '|'. # Possible variables to use: # {Nickname} - Nickname of driver # {Username} - Username of driver # You can use /pm here #------------------------------------------------------------------- #EnterPitAction = /msg {Nickname}^8 teleported to pits !; # Actions to execute when player spectates or disconnects (leaves race). # If more actions, separate them with '|'. # Possible variables to use: # {Nickname} - Nickname of driver # {Username} - Username of driver #LeaveRaceAction = /msg {Nickname}^8 leaves race !; ######################################################################### # Flooding options # ######################################################################### # Actions to execute, when player writes many lines within defined amount of time. # If more actions, separate them with '|'. # Possible variables to use: # {Nickname} - Nickname of driver # {Username} - Username of driver # You can use /pm here #------------------------------------------------------------------- FloodAction = /msg {Nickname}^3 kicked to flood|/kick {Username}; # Maximum number of consecutive lines allowed. MaxFloodLines = 4; # Maximum time between two consecutive lines in milliseconds to count as flooding. MaxFloodLinesTime = 5000; ######################################################################### # Race action # ######################################################################### # Action to do on race restarts. # If more actions, separate them with '|'. #----------------------------------------------------------------- #RaceStartAction = /msg ^3Please, brake in time !; RaceStartAction = /rcm ^3Please, brake in time !|/rcm_all; ######################################################################### # Session action # ######################################################################### # Action to do on session # If more actions, separate them with '|'. # Possible variables to use: # {Nickname} - Nickname of driver # {Username} - Username of driver # You can use /pm here #----------------------------------------------------------------- #MaxSessionLaps = 2; #OnMaxSessionLaps = /pm Max session laps reacheds; ######################################################################### # Spinning detection options # ######################################################################### # You can use /pm here #------------------------------------------------------------------- # Minimum angle velocity to trigger action. Possible values: 0 - 720. MinAngleVelocity = 250; # Action to execute when angle velocity is higher than MinAngleVelocity. # If more actions, separate them with '|'. # Possible variables to use: # {Nickname} - Nickname of driver # {Username} - Username of driver # {AngleVelocity} - Angle velocity in degrees #AngleVelocityAction = /spec {Nickname}|/msg {Nickname} ^3 removed from track for wrecking; AngleVelocityAction = /msg ^1Danger! ^8{Nickname} ^2lost control! ; #MaxNbInStunt is max time (in 100 ms) allowed in stunt mode before MaxNbInStuntAction is executed. If -1 No MaxNbInStuntAction are activated. MaxNbInStunt = 20; MaxNbInStuntAction = /spec {Nickname}; ######################################################################### # To Slow user # ######################################################################### # MaxAllowedTime1 = % Max allowed time to complete a lap relative to MaxLapTime on trackInfo.cfg # MaxAllowedTime1 = 100 # 100% of MaxLapTime # MaxAllowedTime1 = 80 # 80% of MaxLapTime # {Nickname} - Nickname of driver # {Username} - Username of driver # {MaxAllowedLapTime1} - Max Allowed Time # {MaxAllowedLapTime2} - Max Allowed Time # You can use /pm here #------------------------------------------------------------------- #MaxAllowedLapTime1 = 100; #OnMaxAllowedLapTime1 = /pm you are to slow! Max : {MaxAllowedLapTime1}|/pm kick on {MaxAllowedLapTime2}; #MaxAllowedLapTime2 = 150; #OnMaxAllowedLapTime2 = /pm You are very slow, spectated!|/msg {Nickname} to slow, spectated|/spec {Username}; ######################################################################### # Idling options # ######################################################################### # Actions to execute, when speed of player is zero for defined amount of time. # If more actions, separate them with '|'. # Possible variables to use: # {Nickname} - Nickname of driver # {Username} - Username of driver # You can use /pm here #------------------------------------------------------------------- #IdleExclude = Lagamel,Gai-Luron; OnIdleAction1 = /msg {Nickname}^3 is idle ! Spectate in 10 seconds; OnIdleAction2 = /spec {Nickname}| /msg {Nickname}^3 spectated for non-activity! track cleared; # Idle timeout for OnIdleAction1 in 1/10 seconds. OnIdleTimeout1 = 200; # Idle timeout for OnIdleAction2 in 1/10 seconds. OnIdleTimeout2 = 300; ######################################################################### # Drifting options # ######################################################################### # You can use /pm here #------------------------------------------------------------------- # This is filepath of file containing collected data. # Will be created if it doesnt exist yet. # You must ensure read/write access to this path. DriftDatabase = ./DriftPB.txt; # Actions to do on new personal best drift lap. # If more actions, separate them with '|'. # Possible variables to use: # {Nickname} - Nickname of driver # {Username} - Username of driver # {DriftScore} - Drift score # {Car} - Car used # {SessLaps} - Number of laps on current car and track for session # {Laps} - Number of Lap on current track and Car # {TotalPitTime} - Total Time stop in pit place #DriftPBAction = /rcm {Nickname}^3 made new PB: ^7{DriftScore} ^3pts!|/rcm_all; #DriftPBAction = /msg {Nickname}^3 made new PB: ^7{DriftScore} ^3pts!; # Actions to do to when total lap drift score is higher or equal to MinimumDriftScore. # If more actions, separate them with '|'. # Possible variables to use: # {Nickname} - Nickname of driver # {Username} - Username of driver # {DriftScore} - Drift score # {Car} - Car used # {SessLaps} - Number of laps on current car and track for session # {TotalPitTime} - Total Time stop in pit place # {Laps} - Number of Lap on current track and Car #DriftLapAction = /msg {Nickname} ^3drifted to ^7{DriftScore} ^3pts; # Message to get on end of each drift. # Possible variables to use: # {Nickname} - Nickname of driver # {Username} - Username of driver # {DriftScore} - Total drift score # {LastDriftScore} - Last drift score # {Car} - Car used # {SessLaps} - Number of laps on current car and track for session # {Laps} - Number of Lap on current track and Car # {TotalPitTime} - Total Time stop in pit place #OnDriftScore = /pm Score: ^7{DriftScore} ^3+{LastDriftScore}; # Action to execute on good drift score. # Possible variables to use: # {Nickname} - Nickname of driver # {Username} - Username of driver # {LastDriftScore} - Last drift score # {Car} - Car used # {SessLaps} - Number of laps on current car and track for session # {Laps} - Number of Lap on current track and Car # {TotalPitTime} - Total Time stop in pit place GoodDriftScore = 4000; #GoodDriftAction = /msg {Nickname} ^3made excellent drift: ^7{LastDriftScore} ^3pts; # Minimum drift score required. MinimumDriftScore = 10; # Actions to do at end of lap if MinimumDriftScore is not achieved. # If more actions, separate them with '|'. # Possible variables to use: # {Nickname} - Nickname of driver # {Username} - Username of driver # {DriftScore} - Drift score # {Car} - Car used # {SessLaps} - Number of laps on current car and track for session # {Laps} - Number of Lap on current track and Car # {TotalPitTime} - Total Time stop in pit place #DriftTooLowAction = /msg {Nickname}^3 disqualified|/spec {Nickname}; #DriftTooLowAction = /msg {Nickname}^3 is one lousy drifter ({DriftScore} pts); # Minimum speed in km/h to maintain. Driving below that speed will reset score. MinimumDriftSpeed = 50; MinimumDriftAngle = 15; MaximumDriftAngle = 100; ######################################################################### # Hotlapping options # ######################################################################### # You can use /pm here #------------------------------------------------------------------- # This is filepath of file containing collected data. # Will be created if it doesnt exist yet. # You must ensure read/write access to this path. Database = ./PB_test_great.txt; # Action to do on new personal best lap. # PBQualAction for the racer who make qualif ( in QualUser ) # PBAction the other racer # If more actions, separate them with '|'. # Possible variables to use: # {Nickname} - Nickname of driver # {Username} - Username of driver # {LapTime} - Lap time achieved # {Car} - Car used # {Posqual} - Position on pre-qualification # {Groupqual} - Group pre-qualification # {Posabs} - Friendly position # {SessLaps} - Number of laps on current car and track for session # {Laps} - Number of Lap on current track and Car # {TotalPitTime} - Total Time stop in pit place # {AvgSpeed} - Average Speed for this lap # {UnitSpeed} Unit of the Speed of the player connected #PBAction = /msg New PB by {Nickname}^8 ({Car}): {LapTime}; PBAction = /msg New PB by {Nickname}^8 ({Car}): {LapTime}|/msg Friendly rank {colon} {Posabs}|/msg Session laps done = {SessLaps}|/msg Total laps done (server) = {Laps}|/msg Average speed {colon} {AvgSpeed} {UnitSpeed}|/rcm Friendly {Car} rank {colon} ^7{Posabs}|/rcm_ply {Username}; PBQualAction = /msg League - New QT by {Nickname}^8 {colon} {LapTime}|/msg Friendly rank (all visitors) {colon} ^7{Posabs}|/msg ^2Qualify pos. {colon} {Posqual}|/msg ^6Actual Pool {colon} {Groupqual}|/msg Average speed {colon} {AvgSpeed} {UnitSpeed}|/rcm {Nickname} ^2Pos:{Posqual}-Pool:{Groupqual}|/rcm_All; ######################################################################### # Acceleration options # ######################################################################### # You can use /pm here #------------------------------------------------------------------- # At which speed to start and stop measuring time. In km/h. AccelerationStartSpeed = 1; AccelerationEndSpeed = 100; AccelerationStartSpeedMph = 1; AccelerationEndSpeedMph = 60; # Maximum acceleration time in seconds to show message. AccelerationPrivateMaxTime = 10; # 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 OnAcceleration = /pm ^3{AccelerationTime}^8 seconds to {AccelerationEndSpeed} {UnitSpeed} !; ######################################################################### # Pitting # ######################################################################### # You can use /pm here #------------------------------------------------------------------- # Action to do on pitting ( begin and end ). # Message on lower split : Message on upper split # {Nickname} - Nickname of driver # {Username} - Username of driver # {Tpb} - Th?orical PB # {Posqual} - Position on pre-qualification # {Groupqual} - Group pre-qualification # {Posabs} - Friendly position # {SessLaps} - Number of laps on current car and track for session # {Laps} - Number of laps on current car and car # {Car} - Current car of Player # {PitTime} - Time stop in pit place ( only for OnEndPit ) # {TotalPitTime} - Total Time stop in pit place # {Work} - Work on pit ( only for OnBeginPit ) #------------------------------------------------------------------- OnBeginPit = /msg {Nickname}^8 go to pit| /pm Pit begin! Work{colon} {Work}; OnEndPit = /msg {Nickname}^8 quit pit in {PitTime} |/pm Pit finished in {PitTime} - Total Pit{colon} {TotalPitTime}!; ######################################################################### # Penalties # ######################################################################### # Actions to execute when player gets penalties. # If more actions, separate them with '|'. # Possible variables to use: # {Nickname} - Nickname of driver # {Username} - Username of driver # {RemainFDIP} = Remain count for fast drive in pit # 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 # You can use /pm here #------------------------------------------------------------------- OnFastDriveOnPitL1 = /msg {Nickname}^1 Warning fast drive on pit|/pm ^1WARNING-KICK POSSIBLE; OnFastDriveOnPitL2 = /msg {Nickname}^1 Spectate to fast drive on pit|/pm ^1KICK IN {RemainFDIP} TRY|/spec {Username}; OnMaxFastDriveOnPit = /msg {Nickname}^1 kicked to fast drive on pit|/rcm ^1YOU ARE KICKED|/rcm_ply {Username}|/kick {Username}; MaxFastDriveOnPit = 2; OnFalseStartL1 = ; OnFalseStartL2 = ; ######################################################################### # Overriding options # #########################################################################