The online racing simulator
Hello,

Great! Ok for this extension. I had think to implement it in the next version. The only thing who hurt me is that if the web don't respond in time, Lapper is blocked in waiting response.
The possible way is to implement it in thread with TimeOut in case of no response
The second thing is better to add the ability to read a file like user allowed to run some command, QualUsers or AutoAction. Because some user of Lapper don't have web.

Exemple :

CheckLicense = &./licensedUser.lcs
or
CheckLicense = @Gai-Luron,gwendoline



In case of file, web can upload file who contain allowed users. In this case access is more fast

To be thinked

Gai-Luron
hi

perhaps optional, file/url/return-code of a software.

if you need help (or if you are bored of coding those things), tell me
Hello,

I'm not realy bored, but i'am thinking about a button library more flexible for Lapper and i don't find nice solution for now . Because i want it more flexible for future extensions.

If you want add file/url/list for your option, you can! i integrate it, no problem! Look at the ftp threading of the upload option . It's a solution to have no blocking issue. But not another exe, just a thread.
  • Start Thread at begining of Lapper or one thread by connection
  • Lapper send to thread the query of the new connection
  • Look if return value for that thread each main Lapper Loop.
  • Return value of thread must be : username, true or false.
  • If user is on server and false, execute NoLicenseAction.
  • If user is on server and true, execute LicenseAction ( must be added )
  • The only problem is if they are no web response , in this case you can remove or no ( parameter can be set ) user after X second if they are no validation by web ( web down ).
No blocking issue with this method.

Cone dogers are interested by your option, i think .

Send me your msn by Private Message to discuss about Lapper and Thank's for your Help.

Gai-Luron
you have new messages.
Quote from Gai-Luron :Hello,

I'm not realy bored, but i'am thinking about a button library more flexible for Lapper and i don't find nice solution for now . Because i want it more flexible for future extensions.

If you want add file/url/list for your option, you can! i integrate it, no problem! Look at the ftp threading of the upload option . It's a solution to have no blocking issue. But not another exe, just a thread.
  • Start Thread at begining of Lapper or one thread by connection
  • Lapper send to thread the query of the new connection
  • Look if return value for that thread each main Lapper Loop.
  • Return value of thread must be : username, true or false.
  • If user is on server and false, execute NoLicenseAction.
  • If user is on server and true, execute LicenseAction ( must be added )
  • The only problem is if they are no web response , in this case you can remove or no ( parameter can be set ) user after X second if they are no validation by web ( web down ).
No blocking issue with this method.

Cone dogers are interested by your option, i think .

Send me your msn by Private Message to discuss about Lapper and Thank's for your Help.

Gai-Luron

We would be very interested.

Its great that others are helping you develope but we think it would be better if there is only one version of lapper with you in control (real version numbers) or there will be modified version with the same version mumbers (half way versions). We have decided to only use your version of lapper otherwise we will have no idea where we are or who to ask for support.

The license thing would be very useful but while you are doing it the following would be great.

First of all dont kick drivers without a license, send the to spectate, that way at least they can learn.

1) Have 2 lists, Licensed Drivers who can join the server and a list of drivers who cannot join. That way you can stop unlicensed drivers joining a licensed servers but also stop licensed (and banned) drivers going on a public server.

2) A setting UseLaptime=yes - When set to yes a player can only join if lap time in PB.txt for combo is faster than X:XX.XX, this could be an extra setting in the tracks file. This would automate the license and the list would be used for "Special cases" such as a server owner who cannot beat the lap time.

or a way of making the licensed list from the PB.txt files

3) A setting "LicenseStart = X" so the license part only works when there is over X people on the server. A bit pointless to stop someone joining when there are only 3 on the server.

4) Allow named people to start and stop the licence system

AutoAction=

!ki&kicklist.txt|/kick {*}| #CD setting for list who are allowed to kick
!licenseon&licenseadmin.txt|/licenseon| #switches on
!licenseoff&licenseadmin.txt|/licenseoff| #switches off

Also one of the big drawbacks of lapper is no Multi-server support

All we need then is a league points system and lapper will be even better.
There is only one version of the lapper. I only send my modifications to Gai-Luron, and he decides if they'll be used or not.
Hello,


You're right Birder, it's not good to have 2 versions.

Quote : !ki&kicklist.txt|/kick {*}| #CD setting for list who are allowed to kick

List file for user allowed to run command it's Yet impemented

Gai-Luron
Quote from Gai-Luron :Hello,

You're right Birder, it's not good to have 2 versions.

List file for user allowed to run command it's Yet impemented

Gai-Luron

!ki&kicklist.txt|/kick {*}| was to show where the new actions would go, this is from my config.

Do you think what i request is possible?
Quote from venni :There is only one version of the lapper. I only send my modifications to Gai-Luron, and he decides if they'll be used or not.

Fully understand and hope that Gai-luron will add them soon
I have been told by server visitors that !near only seems to work for the default car.

Any chance of making "!near car" such as !near MRT to work

Thanks
Hi!
I have one little question
In the option "LeaveRaceAction"... it will send an automessage whenever a driver spectate or leave the server.
Can it be somehow recoded so it only send an automessage when someone leaves the server?... if so, which is the code for it?

I allready tried LeaveServerAction and LeaveGameAction... so dunno if it is possible, but then I am only a noob, who can't really program much XD...

Anyway, thanks in advance for the reply!

Take care!
Quote from Kyoshiro :Hi!
I have one little question
In the option "LeaveRaceAction"... it will send an automessage whenever a driver spectate or leave the server.
Can it be somehow recoded so it only send an automessage when someone leaves the server?... if so, which is the code for it?

I allready tried LeaveServerAction and LeaveGameAction... so dunno if it is possible, but then I am only a noob, who can't really program much XD...

Anyway, thanks in advance for the reply!

Take care!

This option is not coded, but Gai-Luron, can code it (I think)
Quote from Kyoshiro :Hi!
I have one little question
In the option "LeaveRaceAction"... it will send an automessage whenever a driver spectate or leave the server.
Can it be somehow recoded so it only send an automessage when someone leaves the server?... if so, which is the code for it?

I allready tried LeaveServerAction and LeaveGameAction... so dunno if it is possible, but then I am only a noob, who can't really program much XD...

Anyway, thanks in advance for the reply!

Take care!

LFS already puts out a message when someone disconnects from the server so is this really needed?
I found another glitch in the config file:

Original lines:

BeginPitPrivMess = Pit begin! Work : {Work}
EndPitPrivMess = Pit finished in {PitTime} - Total Pit : {TotalPitTime}!

Should be:

BeginPitPrivMess = Pit begin! Work{colon} {Work}
EndPitPrivMess = Pit finished in {PitTime} - Total Pit{colon} {TotalPitTime}!

Next thing is about my questions from august this year:

http://www.lfsforum.net/showthread.php?p=532020#post532020

I don't want to push you and I hope you don't feel it that way, but is anything in progress for the "has not pitted" bug. Today 2 people have been banned from my server because they didn't make a pitstop. Offcourse LFS normaly disqualifies them and that should be sufficent, but because Lapper has a rule for a 30-sec penalty, they got banned right away. I think Lapper should ignore the penalty given for not pitting, but I don't know if this is possible to make. I've attached a MPR-file so you can see what's happening. Hope to hear from you soon and in the mean time, a big thank you for this great application.

edit: another wish, is it possible to exclude a pitstop from the idle-check? If you have to make a long stop, you get a warning to be spectated in X seconds. Normaly you should be able to leave the pits before that happens but it should be better to exclude the pitstop from that.
Attached files
temp_mpr.mpr - 560 KB - 210 views
Small bump again, sorry to bother you again but I hope to get some news about the development of Lapper.
Quote from RageQlkin :For all those of you running x64-servers, this might be of interest!

After a few hours of online testing with Gai-Luron "the Great", we (ore better : he!) managed to come up with a working version of LFSLapper 4.1 for servers running W2K3 x64!

This was kind of a weird problem, as Lapper seemed to work perfectly on an x64-server... no real errors were reported, not by Lapper, not by the LFS-Dedi. But once connected to the server and leaving the pits, there was no lapper to be found. All commands (i.e. !top, !help, !ver,..) resulted into... nothing at all.

After some time however, Gai-Luron managed to recompile LFSLapper.exe and yes indeed, a working x64-version was born.

So, LFSLapper_x64 is attached to this post (LFSLapper_x64.rar) for those running x64-servers. Just replace the LFSLapper.exe in the ./bin-folder to get it working.

works on Vista Ultimate 64-bit too... Great Job, Thanks...
Next feature request, clear penaltycount if penalty is taken. Now it keeps accumulating even if someone has taken his penalty.
Hi!

Is there any way to use Lapper to execute an autoaction whenever a user drives more laps in a single session than allowed by the admin/leaguemanager?

Eg. a league where qualifying session allows a max amount of 8 laps per driver. /spectate driver if [session_laps]>8.
Hiya, yes, I'm back.

I got this working, but had a catastrophic PC failure and had to reinstall.

Anyway....

!drf doesn't work.

!drf FZ5 does work.

What did I doooo?

:edit:

Ignore me, I'm a fool.
OUUUUFFF! i just readed about 23 pages of the original thread on LFSlapper started by the GREAT MonkOnHotTinRoof! and follow by the 17 pages of this one started by my "compratriote" Gai-Luron! and wouaou! it's an amazing work thanks to these guys for this great piece of code. Thanks to Gwendoline too and all contributors!

I'm also a C/C++ dev so if i can i will help for sure, i'm little noobs for now i need to learn... and so I've started two new servers and website to test all features.

now my question how to join my server in spectate mode by default? at this time, the server start on qual mode (if any) or race mode.

Thanks again!
EK

edit (auto-answer): forget my question seems to be in spectate mode automaticaly if the race has already started! cool!
strange but my 'DriftLapAction' doesn't work:

any help?
#####################################################################
#
# 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 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 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
#
# 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 = 'not telling'

TrackInfoFile = trackInfo.cfg


TCPmode = true

# Identification for connect to PubStat : To obtain PubStatIdk go to www.lfsworld.net, select My LFSW Setting and select tab Pubstat Access
# The better way is obtain and idk, send login and pass on net it's not safe
#PubStatIdk =

# Message that is shown to players when they connect to server. Use '|' for new line.
# {Posqual} - Position on pre-qualification
# {Groupqual} - Group pre-qualification
# {Posabs} - Position on pre-qualification
# {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
ConnectMsg =
^7Welcome to S1 Drift, powered by ^1LFSLapper! ^7dr(qual mode)|
^2Type ^7!help ^2after leaving garage to see commands.|
Total laps done on {Car}/{ShortTrackName} = {Laps}-^7This session = {SessLaps}|
^7Your actual friendly Position (all visitors) {colon} ^7{Posabs}|
^2Your actual League prequalify Position {colon} {Posqual}|
^6Estimate Pool {colon} {Groupqual}|

# Enable if you want to show control of players when leaving the garage.

ShowPlayerControl = true

# 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} - Théorical PB
# {Posqual} - Position on pre-qualification
# {Groupqual} - Group pre-qualification
# {Posabs} - Position on pre-qualification
# {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

PrivMessSpb1Up = {typ} ^7SP1{colon} {CurSplit} ^1({DiffSplit}) ^7=>TPB{colon}{Tpb}
PrivMessSpb1Low = {typ} ^7SP1{colon} {CurSplit} ^2({DiffSplit}) ^7=>TPB{colon}{Tpb}

PrivMessSpb2Up = {typ} ^7SP2{colon} {CurSplit} ^1({DiffSplit}) ^7=>TPB{colon}{Tpb}
PrivMessSpb2Low = {typ} ^7SP2{colon} {CurSplit} ^2({DiffSplit}) ^7=>TPB{colon}{Tpb}

PrivMessSpb3Up = {typ} ^7SP3{colon} {CurSplit} ^1({DiffSplit}) ^7=>TPB{colon}{Tpb}
PrivMessSpb3Low = {typ} ^7SP3{colon} {CurSplit} ^2({DiffSplit}) ^7=>TPB{colon}{Tpb}

PrivMessSpbLastUp = {typ} ^7SPL{colon} {CurSplit} ^1({DiffSplit}) ^7=>TPB{colon}{Tpb} Avg:{AvgSpeed} {UnitSpeed}
PrivMessSpbLastLow = {typ} ^7SPL{colon} {CurSplit} ^2({DiffSplit}) ^7=>TPB{colon}{Tpb} Avg:{AvgSpeed} {UnitSpeed}

# RefreshHandicapUser : allow Lapper to refresh HandicapUsers on each outgoing pits, Usefull if HandicapUsers is a file and this change frequently by extern program
# 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 ex : HandicapUsers = ./userfile.txt
# if you prefix with @, You can list username separated with , ex : HandicapUsers = @Gai-Luron,gwendoline,_-ALUCARD-_,lagamel
# You can specify the required Handicap of player in the username Mass and Intake restriction
# ex : Gai-Luron:100:10
# Indicate 100kg of mass handicap and 10% of intake restriction, this value are used in OnToLowHandicap
# In demo mode use nickname

#RefreshHandicapUser = 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

# RefreshQualUser : 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 the required Handicap of player in the username Mass and Intake restriction
# ex : Gai-Luron:100:10
# Indicate 100kg of mass handicap and 10% of intake restriction, this value are used in OnToLowHandicap
# 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

RefreshQualUser = 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


# 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

# Default car to show, when no car is specified in !top or !drf command.

#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

# How much time will big text messages last (text that is started by rcm_all command).
# In milliseconds.

MessageTime = 5000

# Whether to use usernames instead of nicknames for authentication of users executing AutoAction.

UseUsernameForAuthentication = true

# Actions that are executed on received messages. Use '|' for next pattern/action pair and to separate pattern from action.
# If more actions or patterns, separate them with ':'.
# Use @ sign at end of patterns, if you wish to specify users, that are allowed to execute action.
# 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
# Possible variables to use:
# {Nickname} - Nickname of driver
# {Username} - Username of driver
# {*} Rest off command line

AutoAction =
hoho|/msg ^3What's so funny, {Nickname}?|
unnamed|/msg no name no game:/kick unnamed|
!test|/rcm {Nickname} is testing...:/rcm_ply {Nickname}|
!ban@Gai-Luron|/ban {*}|
!kick@Gai-Luron|/kick {*}


# 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 ':'.
# To escape ':' type '\:' if you want ':' in your message.
#
# ssmmhhddMMYYYY

#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

# Private multiline messages to send to player. Use '|' for next pattern/message pair and to separate pattern from message. Use ':' for new line.
# Possible variables to use:
# {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
# {TotalPitTime} - 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
# {*} = Rest of command line ( argument )

AutoMsgPrivate =
!ver|/ver|
!cleanspb:!razspb|/cleanspb|
!spb|/spb|
!hand|/hand {*}|
!statsqual|/statsqual {*}|
!dstats|/dstats {*}|
!stats|/stats {*}|
!nearqual|/nearqual {*}|
!near|/near {*}|
!topqual|/topqual {*}|
!top|/top {*}|
!drf|/drf {*}|
!laps|Laps done on {Car}/{ShortTrackName} = {Laps}, session = {SessLaps}|
!pit|Time in pitting {TotalPitTime}|
!track|Track in use {colon} {ShortTrackName} = {LongTrackName}|
!time|Server time clock reference {colon} {LongTime}|
!help|
^2Commands list:
^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 Version 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

# 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

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

###################################
# Pitting penalties
###################################

# Actions to execute when player gets drive-through penalty.
# If more actions, separate them with '|'.
# Possible variables to use:
# {Nickname} - Nickname of driver
# {Username} - Username of driver

DriveThroughPenaltyAction = /msg {Nickname}^1 Dont try this at home|/rcm ^1WARNING-KICK POSSIBLE|/rcm_ply {Username}|/spectate {Username}

# Maximum Drive-Through penalties to tolerate.

MaxDriveThroughPenalties = 1

# Actions to execute when player gets stop-go penalty.
# If more actions, separate them with '|'.
# Possible variables to use:
# {Nickname} - Nickname of driver
# {Username} - Username of driver

StopGoPenaltyAction = /msg {Nickname}^1 kicked to fast drive on pit|/rcm ^1WARNING-BAN POSSIBLE|/rcm_ply {Username}|/kick {Username}

# Maximum Stop-Go penalties to tolerate.

MaxStopGoPenalties = 0

# Actions to execute when player gets 30 seconds penalty.
# If more actions, separate them with '|'.
# Possible variables to use:
# {Nickname} - Nickname of driver
# {Username} - Username of driver

Time30PenaltyAction = /msg {Nickname}^1 kicked to fast drive on pit|/rcm ^1WARNING-BAN POSSIBLE|/rcm_ply {Username}|/kick {Username}

# Actions to execute when player gets 45 seconds penalty.
# If more actions, separate them with '|'.
# Possible variables to use:
# {Nickname} - Nickname of driver
# {Username} - Username of driver

Time45PenaltyAction = /msg {Nickname}^1 kicked to fast drive on pit|/rcm ^1WARNING-BAN POSSIBLE|/rcm_ply {Username}|/kick {Username}

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

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

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

####################################
# Spinning detection options
####################################

# 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 = /spectate {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 = /spectate {Nickname}

####################################
# handicap action
####################################
# Actions to execute, when handicap of player is less than specified in qualusers 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 =
/spectate {Nickname}|
/msg {Nickname}^3 spectated for to low handicap|
/msg ^3need {H_Mass}kg and {H_TRes}% of intake restriction!

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

OnIdleAction1 = /msg {Nickname}^3 is idle ! Spectate in 10 seconds
OnIdleAction2 =
/spectate {Nickname}|
/msg {Nickname}^3 spectated for non-activity! track cleared

# Idle timeout for OnIdleAction1 in seconds.

OnIdleTimeout1 = 20

# Idle timeout for OnIdleAction2 in seconds.

OnIdleTimeout2 = 30

####################################
# Drifting options
####################################

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

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

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

PrivateMessageOnDriftScore = 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 = 3000
GoodDriftAction = /msg {Nickname} ^3made excellent drift: ^7{LastDriftScore} ^3pts

# Minimum drift score required.

MinimumDriftScore = 1000

# 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 scored too low ({DriftScore} pts)|/spectate {Nickname}
#DriftTooLowAction = /msg {Nickname}^3 scored too low ({DriftScore} pts)

# Minimum speed in km/h to maintain. Driving below that speed will reset score.

MinimumDriftSpeed = 25

MinimumDriftAngle = 15
MaximumDriftAngle = 100

####################################
# Hotlapping options
####################################

# 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.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} - Position on pre-qualification
# {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
####################################

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


AccelerationPrivateMessage = ^3{AccelerationTime}^8 seconds to {AccelerationEndSpeed} {UnitSpeed} !

####################################
# Pitting
####################################
# Private Message that are send 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} - Position on pre-qualification
# {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 EndPitPrivMess )
# {TotalPitTime} - Total Time stop in pit place
# {Work} - Work on pit ( only for BeginPitPrivMess )

BeginPitPrivMess = Pit begin! Work : {Work}
EndPitPrivMess = Pit finished in {PitTime} - Total Pit : {TotalPitTime}!

# 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} - Position on pre-qualification
# {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
OnEndPit = /msg {Nickname}^8 quit pit in {PitTime}

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

Im not sure if anyone saw my question back in early september about the Handicap system.

"I have been mucking around with the handicaps and can see that you can state handicaps per driver, I was wondering if there is a way to state handicaps for all drivers that enter the server or for a particular vehicle."

Thanks
i have loaded lfs lapper but i am drifting but no point scores for the drifting help help help
help!
This thread is closed

LFSLapper insim4 Release
(2101 posts, closed, started )
FGED GREDG RDFGDR GSFDG