# Sinanju's Racing Server # # ================= # # # # LFS Lapper v 5.844 # # # # Changed some config # # RCM's + Trigger words # # # # Having problems with # # Tim[NL]'s Drift GUI # ################# #General options# ################# $StoredValueDbs = "storedvalue"; # Name of the database in which additional values are stored $TrackInfoFile = "trackInfo.cfg"; # Path to the TrackInfoFile used to compare splits $TCPmode = true; # Connection to LFS in UDP mode or TCP mode $EnableRegisterWeb = true; # When set to "true" your LFS Server is displayed on the FRH Team website # To receive a notification via mail when an error occur on Lapper $adminEmail = "sinanju@hotmail.co.uk"; $smtpServer = ""; $loginMail = ""; $passMail = ""; $DateFormat = "dd/MM/yyyy"; $LongDateFormat = "dddd dd MMMM yyyy"; # Date format used for the exported elp 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 $MessageTime = 4500; # Time in milliseconds for a racecontrol message (started by: rcm_all) to be displayed on screen #$PubStatIdk = "xxxx"; # removed entry $ShowPlayerControl = False; ############# #Default Car# ############# $DefaultTopCar = "UFR+XFR+RB4+RAC+FZR+XRR+FXR+FBM+LX4+LX6+XFG+XRG+XRT+FZ5+FXO+FO8+FOX+MRT+UF1+BF1"; ################################### #Event triggered when lapper start# ################################### Sub DisplaySpeed( ) openPrivButton( "speedtrap_text",2,12,19,6,2,4,80, langEngine( "%{main_speedtrap}%" , ToPlayerUnit( GetCurrentPlayerVar( "InstantSpeed" ) ),GetCurrentPlayerVar("UnitSpeed") ) ); # PrivMsg( langEngine( "%{main_speedtrap}%" , ToPlayerUnit( GetCurrentPlayerVar( "InstantSpeed" ) ),GetCurrentPlayerVar("UnitSpeed") ) ); EndSub Event OnLapperStart() RegisterScheduleAction( "0 0 0 * * * *", SA_mid ); RegisterScheduleAction( "0 0 0 * 1 1 *", SA_newyear ); MoveUserToGroup( "admin" , "Sinanju"); GlobalVar $enable_pitboard; GlobalVar $enable_pitwindow_gui; GlobalVar $enable_safetycar_gui; GlobalVar $enable_ctrack_gui; GlobalVar $enable_config_gui; initAddons(); IF ( $enable_pitboard == "true" ) THEN OnLapperStart_Pitboard(); ENDIF IF ( $enable_ctrack_gui == "true" ) THEN OnLapperStart_Ctrack(); ENDIF IF ( $enable_config_gui == "true" ) THEN OnLapperStart_config_Gui(); ENDIF EndEvent Sub SA_mid() # Lapper Event globalRcm( langEngine( "%{main_midnight}%" ) ); EndSub Sub SA_newyear() # Lapper Event globalRcm( langEngine( "%{main_newyear}%" ) ); EndSub ################################### #Authorization Options ( license )# ################################### #Authorization Options # #$Auth1 $Auth2 ... $Auth10 variable #Syntax : $AuthX = "Label,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 = "Bronze,XFG:BL1:1.45.00 | XRT:SO4:1.20.20"; #$Auth2 = "Silver,XFG:BL1:1.40.00 | XRT:SO4:1.20.20"; #$Auth3 = "Gold,XFG:BL1:1.35.00"; $AuthAllowPlayer = "All"; $AuthMinPlayer = 0; # Minimum number of players on the server to auto enable authorization # If number of players is below value, alle players are allowed # If number of players is above value, only AuthAllowPlayer are allowed Event OnAuthAllowed() # Player event globalMsg( langEngine( "%{main_allowed}%", GetCurrentPlayerVar("Nickname") ) ); Endevent Event OnAuthNotAllowed() # Player event cmdLFS("/spec " . GetCurrentPlayerVar("Nickname") ); globalMsg( langEngine( "%{main_notallowed}%", GetCurrentPlayerVar("Nickname") )); Endevent # Local viariable that can be used # $auth -> Authorization reached Event OnAuthReached( $level ) # Player event privMsg(langEngine( "%{main_gotlevel}%", $level ) ); EndEvent ################## #Swearword filter# ################## $SwearWordsList = "&./swear.txt"; $SwearWordsMax = 3; # Maximum number of allowed swearwords per session Event OnSwearWords1() $NickName = GetCurrentPlayerVar("NickName"); $SwearWordsRem = GetCurrentPlayerVar("SwearWordsRem"); closePrivButton( "blank_back&warning&warning1&info&impressive&remember&warning_message1" ); closePrivButton( "swear_not_please&swear_not_kick" ); openPrivButton( "blank_back",1,45,46,25,3,6,32," "); openPrivButton( "warning",2,46,44,8,6,6,32,langEngine( "%{main_warning}%", $NickName ) ); openPrivButton( "swear_not_please",2,60,44,5,4,5,16,langEngine( "%{main_swearL1}%",$SwearWordsRem ) ); EndEvent Event OnSwearWords2() $NickName = GetCurrentPlayerVar("NickName"); closePrivButton( "blank_back&warning&warning1&info&impressive&remember" ); closePrivButton( "swear_not_please&swear_not_kick" ); openPrivButton( "blank_back",1,1,198,198,25,10,32," "); openPrivButton( "warning1",2,2,196,40,40,8,32,langEngine( "%{main_warning1}%", $NickName ) ); openPrivButton( "swear_not_kick",2,90,196,35,30,8,32,langEngine( "%{main_swear21}%" ) ); cmdLFS( "/kick " . GetCurrentPlayerVar("username") ); EndEvent ################# #Control Allowed# ################# # Racer flags # "Y" = Yes # "N" = No # "*"" = Yes or No # Local variable #------------------------------------------------------------------- $SwapSide = "*"; $AutoGears = "*"; $Shifter = "*"; $HelpBrake = "*"; $AxisClutch = "*"; $AutoClutch = "*"; $Mouse = "*"; $KbNoHelp = "*"; $KbStabilised = "*"; $CustomView = "*"; Event OnNotMatchFlags( ) # Player event privMsg(langEngine( "%{main_nomatchflag}%" ) ); privMsg(langEngine( "%{main_yourflag}%" , GetCurrentPlayerVar("PlayerFlags") ) ); privMsg(langEngine( "%{main_yourflag}%" , GetLapperVar( "RequiredFlags" ) ) ); privMsg(langEngine( "%{main_spectated}%" ) ); cmdLFS("/spec " . GetCurrentPlayerVar("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 #------------------------------------------------------------------- $InRaceLapsVoteMinMax = "-"; $VoteRestart = -1; Event OnVoteRestartChange($PlayerOnTrack, $Vote , $Need) # Lapper Event openGlobalButton( "bargr1",60,1,10,6,6,30,96,langEngine( "%{main_vote_restart1}%")); openGlobalButton( "bargr2",70,1,20,6,6,30,96,langEngine( "%{main_vote_restart2}%",$Vote,$PlayerOnTrack,$Need ) ); EndEvent Event OnVoteRestartReach($PlayerOnTrack, $Vote , $Need) # Lapper Event closeGlobalButton( "bargr1&bargr2" ); EndEvent Event OnVoteRestartZero() # Lapper Event closeGlobalButton( "bargr1&bargr2" ); EndEvent $VoteQualify = -1; Event OnVoteQualifyChange($PlayerOnTrack, $Vote , $Need) # Lapper Event openGlobalButton( "bargq1",90,1,10,6,6,30,96,langEngine( "%{main_vote_qualify1}%") ); openGlobalButton( "bargq2",100,1,20,6,6,30,96,langEngine( "%{main_vote_qualify2}%",$Vote,$PlayerOnTrack,$Need )); EndEvent Event OnVoteQualifyReach($PlayerOnTrack, $Vote , $Need) # Lapper Event closeGlobalButton("bargq1&bargq2" ); EndEvent Event OnVoteQualifyZero() # Lapper Event closeGlobalButton("bargq1&bargq2" ); EndEvent $VoteEnd = -1; Event OnVoteEndChange($PlayerOnTrack, $Vote , $Need) # Lapper Event openGlobalButton( "barge1",120,1,10,6,6,30,96,langEngine( "%{main_vote_end1}%") ); openGlobalButton( "barge2",130,1,20,6,6,30,96,langEngine( "%{main_vote_end2}%",$Vote,$PlayerOnTrack,$Need ) ); EndEvent Event OnVoteEndReach($PlayerOnTrack, $Vote , $Need) # Lapper Event closeGlobalButton( "barge1&barge2" ); EndEvent Event OnVoteEndZero() # Lapper Event closeGlobalButton( "barge1&barge2" ); EndEvent $VoteLifeSec = 30; $AutoRestartRaceSec = 0; $EnableRotation = false; $RotateTracks = "SO6R,BL1,FE3"; $RotateEveryNbRaces = 4; $RotateCars = "XFG+UF1,TBO,XFR+UFR"; Event OnRotateCar() # Lapper Event globalMsg(langEngine( "%{main_car_changed}%",getLapperVar( "CurrRotateCar" ))); EndEvent Event OnRotateTrack() # Lapper Event globalMsg(langEngine( "%{main_track_changed1}%") ); globalMsg(langEngine( "%{main_track_changed2}%", getLapperVar( "CurrLongRotateTrack" ))); EndEvent ################################################# #Connect messages when a player joins the server# ################################################# Event OnConnect() # Player event $Username = GetCurrentPlayerVar("Username"); UserGroupFromFile( "notwelcome", "./notwelcome.txt" ); IF( UserInGroup( "notwelcome",$Username ) == 1 ) THEN cmdLFS( "/ban " . $Username . " 30" ); ENDIF $NickName = GetCurrentPlayerVar("NickName"); $Posabs = GetCurrentPlayerVar("Posabs"); $Groupqual = GetCurrentPlayerVar("Groupqual"); openPrivButton( "welc",25,50,150,15,12,-1,0, langEngine("%{main_welc1}%", $NickName ) ); openPrivButton( "pos",25,80,150,10,8,-1,0,langEngine("%{main_welc2}%",$Posabs ) ); openPrivButton( "clos",78,126,20,10,10,-1,32,langEngine("%{main_accept}%"),OnConnectClose ); openPrivButton( "ref",103,126,20,10,10,-1,32,langEngine("%{main_deny}%"),OnConnectCloseKick ); http("http://www.frh-team.net/reglapper/getserver2.php" ); IF ( $enable_pitboard == "true" ) THEN OnConnect_Pitboard(); ENDIF EndEvent Sub OnConnectClose( $KeyFlags,$id ) closePrivButton("welc&pos&clos&ref"); IF ( $enable_pitboard == "true" ) THEN OnConnectClose_Pitboard(); ENDIF EndSub Sub OnConnectCloseKick( $KeyFlags,$id ) closePrivButton("welc&pos&clos&ref"); cmdLFS("/kick " . GetCurrentPlayerVar("UserName") ); EndSub ########################################## #New PLayer joining race or leaving pits)# ########################################## Event OnNewPlayerJoin() IF ( $enable_pitboard == "true" ) THEN OnNewPlayerJoin_Pitboard(); ENDIF EndEvent ##################################################### #DisConnect messages when a player leaves the server# ##################################################### Event OnDisConnect() # Player event globalMsg( langEngine( "%{main_left_server}%",GetCurrentPlayerVar("NickName"))); IF ( $enable_pitboard == "true" ) THEN OnDisConnect_Pitboard(); ENDIF EndEvent #############################################$# #Splitting (general action when passing split)# ############################################### Event OnSplit1() # Player event EndEvent Event OnSplit2() # Player event EndEvent Event OnSplit3() # Player event EndEvent Event OnLap() # Player event EndEvent ############################################# #Action when a new Gapping Info is avaiaible# ############################################# /* 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 */ Event OnNewGapPlayerBefore( $split ) IF ( $enable_pitboard == "true" ) THEN OnNewGapPlayerBefore_Pitboard( $split ); ELSE $y = 187; $x = 62; IF( GetCurrentPlayerVar( "UNameBefore" ) != "" ) THEN $nickName = GetPlayerVar( GetCurrentPlayerVar( "UNameBefore" ),"nickName" ); $larg = 15; openPrivButton("Before1",$x,$y,$larg,5,10,-1,32, langEngine( "%{main_before}%" )); $x = $x + $larg; $larg = 30; openPrivButton("Before2",$x,$y,$larg,5,10,-1,32, $nickName ); $x = $x + $larg; $larg = 30; openPrivButton("Before3",$x,$y,$larg,5,10,-1,32, GetCurrentPlayerVar( "GapBefore" )); ELSE closePrivButton( "Before1"); closePrivButton( "Before2"); closePrivButton( "Before3"); ENDIF ENDIF EndEvent Event OnNewGapPlayerBehind( $split ) IF ( $enable_pitboard == "true" ) THEN OnNewGapPlayerBehind_Pitboard( $split ); ELSE $y = 195; $x = 62; IF( GetCurrentPlayerVar( "UNameBehind" ) != "" ) THEN $nickName = GetPlayerVar( GetCurrentPlayerVar( "UNameBehind" ),"nickName" ); $larg = 15; openPrivButton("behind1",$x,$y,$larg,5,10,-1,32, langEngine( "%{main_behind}%" ) ); $x = $x + $larg; $larg = 30; openPrivButton("behind2",$x,$y,$larg,5,10,-1,32, $nickName ); $x = $x + $larg; $larg = 30; openPrivButton("behind3",$x,$y,$larg,5,10,-1,32, GetCurrentPlayerVar( "GapBehind" )); ELSE closePrivButton( "behind1"); closePrivButton( "behind2"); closePrivButton( "behind3"); ENDIF ENDIF EndEvent ####################################################### #Splitting (compare player split to best player split)# ####################################################### $ShowSplitPB = true; # Set to false if you don't want to see messages about splits Event OnSpbSplit1() # Player event IF ( $enable_pitboard == "true" ) THEN OnSpbSplit1_Pitboard(); ELSE IF( GetCurrentPlayerVar("isBestSectorSplit1") == 1 ) THEN $color = "^2"; ELSE $color = "^1"; ENDIF openPrivButton( "id_spb",50,55,100,10,10,5,0, langEngine( "%{main_split1}%" ,NumToMSH( GetCurrentPlayerVar("SectorSplit1")) ,$color , NumToMSH( GetCurrentPlayerVar("DiffSectorSplit1")) ,NumToMSH(GetCurrentPlayerVar("Tpb")) ) ); ENDIF EndEvent Event OnSpbSplit2() # Player event IF ( $enable_pitboard == "true" ) THEN OnSpbSplit2_Pitboard(); ELSE IF( GetCurrentPlayerVar("isBestSectorSplit2") == 1 ) # Player event THEN $color = "^2"; ELSE $color = "^1"; ENDIF openPrivButton( "id_spb",50,55,100,10,10,5,0, langEngine( "%{main_split2}%" ,NumToMSH(GetCurrentPlayerVar("SectorSplit2")) ,$color ,NumToMSH( GetCurrentPlayerVar("DiffSectorSplit2")) ,NumToMSH(GetCurrentPlayerVar("Tpb")) ) ); ENDIF EndEvent Event OnSpbSplit3() # Player event IF ( $enable_pitboard == "true" ) THEN OnSpbSplit3_Pitboard(); ELSE IF( GetCurrentPlayerVar("isBestSectorSplit3") == 1 ) THEN $color = "^2"; ELSE $color = "^1"; ENDIF openPrivButton( "id_spb",50,55,100,10,10,5,0, langEngine( "%{main_split3}%" ,NumToMSH(GetCurrentPlayerVar("SectorSplit3")) ,$color ,NumToMSH( GetCurrentPlayerVar("DiffSectorSplit3")) ,NumToMSH(GetCurrentPlayerVar("Tpb")) ) ); ENDIF EndEvent Event OnSpbLast() # Player event IF ( $enable_pitboard == "true" ) THEN OnSpbLast_Pitboard(); ELSE IF( GetCurrentPlayerVar("isBestSectorSplitLast") == 1 ) THEN $color = "^2"; ELSE $color = "^1"; ENDIF openPrivButton( "id_spb",50,55,100,10,10,5,0, langEngine( "%{main_splitlast}%" ,NumToMSH( GetCurrentPlayerVar("SectorSplitLast")) ,$color ,NumToMSH(GetCurrentPlayerVar("DiffSectorSplitLast")) ,NumToMSH(GetCurrentPlayerVar("Tpb")) ,ToPlayerUnit( GetCurrentPlayerVar("AvgSpeed") ) ,GetCurrentPlayerVar("UnitSpeed") ) ); ENDIF EndEvent #################################################### #Actions to do on splits relative to trackinfo.cfg# #################################################### #Local variable: {SplitTime} - Split time #------------------------------------------------------------------- Sub TRI_split1_0() # Player event globalMsg( langEngine( "%{main_great1}%", NumToMSH(GetCurrentPlayerVar("SplitTime")),GetCurrentPlayerVar("Nickname") ) ); EndSub Sub TRI_split1_1() # Player event globalMsg( langEngine( "%{main_good1}%",NumToMSH(GetCurrentPlayerVar("SplitTime")),GetCurrentPlayerVar("Nickname") ) ); EndSub Sub TRI_split2_0() # Player event globalMsg( langEngine( "%{main_great2}%", NumToMSH(GetCurrentPlayerVar("SplitTime")),GetCurrentPlayerVar("Nickname") ) ); EndSub Sub TRI_split2_1() # Player event globalMsg( langEngine( "%{main_good2}%",NumToMSH(GetCurrentPlayerVar("SplitTime")),GetCurrentPlayerVar("Nickname") ) ); EndSub Sub TRI_split3_0() # Player event globalMsg( langEngine( "%{main_great3}%", NumToMSH(GetCurrentPlayerVar("SplitTime")),GetCurrentPlayerVar("Nickname") ) ); EndSub Sub TRI_split3_1() # Player event globalMsg( langEngine( "%{main_good3}%",NumToMSH(GetCurrentPlayerVar("SplitTime")),GetCurrentPlayerVar("Nickname") ) ); EndSub Sub TRI_lap_0() # Player event globalMsg( langEngine( "%{main_greatlap}%",NumToMSH( GetCurrentPlayerVar("LapTime") ), GetCurrentPlayerVar("Nickname" ) ) ); EndSub Sub TRI_lap_1() # Player event globalMsg( langEngine( "%{main_goodlap}%", NumToMSH( GetCurrentPlayerVar("LapTime") ), GetCurrentPlayerVar("Nickname") ) ); EndSub ######################### #List of user qualifying# ######################### #RefreshQualUsers : allow Lapper to refresh QualUsers on each outgoing pits, Usefull if QualUsers is a file and this is changed frequently by an external program #QualUser : is a list of racers that participed in the qualification, required for function !nearqual !topqual and !statsqual #if you prefix with & , You can indicate a file name that contains a list of racers, one racer per line (example : QualUsers = ./userfile.txt;) #if you prefix with @, You can list usernames separated with ',' (example : QualUsers = @Gai-Luron,gwendoline,_-ALUCARD-_,lagamel;) #You can specify which car is used by a user adding car after username separated by ':' (example : Gai-Luron:XFR,lagamel:UFR) #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"; ################# #Command actions# ################# #------------------------------------------------------------------- Event OnMSO( $text ) # Player event # writeline( $text ); $idxOfFirtsSpace = indexOf( $text, " "); $userName = GetCurrentPlayerVar("UserName"); UserGroupFromFile( "admin", "./admin.txt" ); IF( $idxOfFirtsSpace == -1 ) THEN $command = $text; $argv = ""; ELSE $command = subStr( $text,0,$idxOfFirtsSpace ); $argv = trim( subStr( $text,$idxOfFirtsSpace ) ); ENDIF SWITCH( $command ) CASE "!gui": IF( $enable_config_gui == "true" ) THEN IF( UserInGroup( "admin",$userName ) == 1 ) THEN config_gui(0,0); ELSE privMsg( langEngine( "%{main_notadmin}%" ) ); ENDIF ENDIF BREAK; CASE "!node": IF( UserInGroup( "admin",$userName ) == 1 ) THEN privMsg( langEngine( "%{main_currnode}%", GetCurrentPlayerVar( "CurrNode" ) ) ); ENDIF BREAK; CASE "!zone": IF( UserInGroup( "admin",$userName ) == 1 ) THEN privMsg( langEngine( "%{main_currnode}%", GetCurrentPlayerVar( "X" ) . ":" . GetCurrentPlayerVar( "Y" ) ) ); ENDIF BREAK; CASE "!term": IF( UserInGroup( "admin",$userName ) == 1 ) THEN globalMsg( langEngine( "%{main_lapclose}%" ) ); termLapper(); ELSE privMsg( langEngine( "%{main_notadmin}%" ) ); ENDIF BREAK; CASE "!test": privRcm( GetCurrentPlayerVar("Nickname") . " is testing..."); BREAK; CASE "!powered": http("http://www.frh-team.net/reglapper/getserver2.php"); BREAK; CASE "!license": setLicense( $argv ); BREAK; CASE "!groupcmdlfs": IF( UserInGroup( "admin",$userName ) == 1 ) THEN groupCmdLfs( $argv ); ELSE privMsg( langEngine( "%{main_notadmin}%" ) ); ENDIF BREAK; CASE "!ban": IF( UserInGroup( "admin",$userName ) == 1 ) THEN privMsg( langEngine( "%{main_ban}%", GetCurrentPlayerVar( "Nickname" ), GetPlayerVar( $argv, "Nickname" ) ) ); cmdLFS( "/ban " . $argv . " 1" ); ENDIF BREAK; CASE "!kick": IF( UserInGroup( "admin",$userName ) == 1 ) THEN privMsg( langEngine( "%{main_kick}%", GetCurrentPlayerVar( "Nickname" ), GetPlayerVar( $argv, "Nickname" ) )); cmdLFS( "/kick " . $argv . " 1" ); ENDIF BREAK; CASE "!pos": privMsg( langEngine( "%{main_friendpos}%", GetCurrentPlayerVar( "Posabs" ) ) ); BREAK; CASE "!groupqual": privMsg( langEngine( "%{main_groupqual}%", GetCurrentPlayerVar( "Groupqual" ) ) ); BREAK; CASE "!ver": http("http://www.frh-team.net/reglapper/getserver2.php"); lapperVersion(); BREAK; CASE "!auth": privMsg( langEngine( "%{main_level}%", GetCurrentPlayerVar("AuthLevel") ) ); BREAK; CASE "!cleanspb": cleanSpb(); BREAK; CASE "!spb": showSpb(); BREAK; CASE "!hand": showHand( $argv ); BREAK; CASE "!statsqual": statsQual( $argv ); BREAK; CASE "!dstatsqual": dStatsQual( $argv ); BREAK; CASE "!stats": stats( $argv ); BREAK; CASE "!dstats": dStats( $argv ); BREAK; CASE "!nearqual": nearQual( $argv ); BREAK; CASE "!drfnearqual": drfNearQual( $argv ); BREAK; CASE "!near": near( $argv ); BREAK; CASE "!drfnear": drfNear( $argv ); BREAK; CASE "!top": top( $argv ); BREAK; CASE "!mypb": CurrentPlayerlfsWorldPB( $argv ); BREAK; CASE "!myconfig": myConfig( ); BREAK; CASE "!drf": drf( $argv ); BREAK; CASE "!topqual": topQual( $argv ); BREAK; CASE "!drfqual": drfQual( $argv ); BREAK; CASE "!distance": privMsg(langEngine( "%{main_dist}%" ,GetCurrentPlayerVar( "Car" ) ,GetLapperVar("ShortTrackName") ,ToPlayerUnit( GetCurrentPlayerVar("Dist") ) ,GetCurrentPlayerVar("UnitDist") ,ToPlayerUnit( GetCurrentPlayerVar("SessDist") ) ,GetCurrentPlayerVar("UnitDist") )); BREAK; CASE "!laps": privMsg( langEngine( "%{main_lapdone}%" ,GetCurrentPlayerVar("Car") ,GetLapperVar("ShortTrackName") ,GetCurrentPlayerVar("Laps") ,GetCurrentPlayerVar("SessLaps") ) ); BREAK; CASE "!pit": privMsg( langEngine( "%{main_timeinpit}%",NumToMSH (GetCurrentPlayerVar("TotalPitTime")))); BREAK; CASE "!track": privMsg( langEngine( "%{main_trackused}%",GetLapperVar("ShortTrackName"),GetLapperVar("LongTrackName") ) ); BREAK; CASE "!time": privMsg( langEngine( "%{main_serverclock}%",GetLapperVar("LongTime") ) ); BREAK; CASE "!help": openPrivButton( "help",50,48,100,10,5,-1,0,langEngine( "%{main_help1}%" ) ); openPrivButton( "help2",50,57,100,5,5,-1,96,langEngine( "%{main_help}%" ) ); openPrivButton( "close",90,185,20,10,8,-1,32,Ok,MA_closeHelp ); BREAK; CASE "!closepb": IF ( $enable_pitboard == "true" ) THEN close_pitboard( $KeyFlags ); ENDIF BREAK; CASE "!config": IF ( $enable_pitboard == "true" ) THEN Config_Pitboard( $KeyFlags ); ENDIF BREAK; CASE "!pitwindow": IF ( $enable_pitboard == "true" ) THEN Pitwindow( $KeyFlags ); ENDIF BREAK; CASE "!pwgui": IF ( $enable_pitwindow_gui == "true" ) THEN IF( UserInGroup( "admin", $userName ) == 1 ) THEN MA_pwgui(0,0); ELSE privMsg(langEngine( "%{main_notadmin}%" )); ENDIF ENDIF BREAK; CASE "!sc": IF ( $enable_safetycar_gui == "true" ) THEN IF( UserInGroup( "admin", $userName ) == 1 ) THEN Safetycar_gui( $KeyFlags ); ELSE privMsg(langEngine( "%{main_notadmin}%" )); ENDIF ENDIF BREAK; CASE "!ctrack": IF ( $enable_ctrack_gui == "true" ) THEN IF( UserInGroup( "admin", $userName ) == 1 ) THEN Ctrack(0,0); ELSE privMsg(langEngine( "%{main_notadmin}%" )); ENDIF ENDIF BREAK; ENDSWITCH EndEvent Sub MA_closeHelp( $KeyFlags,$id ) closePrivButton("help&help2&close"); EndSub ##################################### #Action on teleport to pit (Shift+P)# ##################################### /* Event OnEnterPit() # Player event privMsg( GetCurrentPlayerVar("Nickname") . "^8 teleported to pits!" ); EndEvent */ # Actions to execute when player spectates or disconnects (leaves race). /* Event OnLeaveRace() # Player event privMsg( GetCurrentPlayerVar("Nickname" ) . "^8 left the race!" ); EndEvent */ ############################### #Action a player flooding chat# ############################### Event OnFlood() # Player event privMsg( langEngine( "%{main_flood}%", GetCurrentPlayerVar("Nickname") ) ); cmdLFS( "/kick " . GetCurrentPlayerVar("Username" ) ); EndEvent $MaxFloodLines = 4; # Maximum number of consecutive lines allowed $MaxFloodLinesTime = 5000; # Maximum time between two consecutive lines in milliseconds to count as flooding ######################### #Action on Qual and race# ######################### Event OnRaceStart( $NumP ) # Lapper event DelayedCommand( 5, ORS ); EndEvent Sub ORS() IF ( $enable_pitboard == "true" ) THEN OnRaceStart_Pitboard(); ELSE globalRcm( langEngine( "%{main_brake}%" ) ); ENDIF EndSub Event OnQualStart( $NumP ) # Lapper event DelayedCommand( 5, OQS ); EndEvent Sub OQS() IF ( $enable_pitboard == "true" ) THEN OnQualStart_Pitboard(); ENDIF EndSub Event OnFinish() EndEvent Event OnResult( $flagConfirm ) writeline ( langEngine( "%{main_on_result}%" ,GetCurrentPlayerVar("FinishedPos") ) ); EndEvent ######################### #Action to do on session# ######################### /* $MaxSessionLaps = 2; Event OnMaxSessionLaps() # Player event privMsg( "Max session laps reacheds" ); EndEvent */ ############################### #Options on spinning detection# ############################### $MinAngleVelocity = 180; # Minimum angle velocity to trigger action. Possible values: 0 - 720 # Action to execute when angle velocity is higher than MinAngleVelocity. Event OnAngleVelocity() # Player event globalMsg( langEngine( "%{main_lost_control}%" ,GetCurrentPlayerVar("Nickname") ) ); privMsg( langEngine( "%{main_linespace}%" ) ); privMsg( langEngine( "%{main_danger}%" ) ); openGlobalButton( "yellow_flag_top",172,54,20,10,1,10,0,langEngine( "%{main_yellowflag}%") ); openGlobalButton( "green_flag",166,51,18,48,1,18,0,langEngine( "%{main_greenflag}%") ); openGlobalButton( "green_flag1",168,51,18,48,1,18,0,langEngine( "%{main_greenflag}%") ); openGlobalButton( "green_flag2",170,51,18,48,1,18,0,langEngine( "%{main_greenflag}%") ); openGlobalButton( "green_flag3",172,51,18,48,1,18,0,langEngine( "%{main_greenflag}%") ); openGlobalButton( "green_flag4",174,51,18,48,1,18,0,langEngine( "%{main_greenflag}%") ); openGlobalButton( "green_flag5",176,51,18,48,1,18,0,langEngine( "%{main_greenflag}%") ); openGlobalButton( "green_flag6",178,51,18,48,1,18,0,langEngine( "%{main_greenflag}%") ); openGlobalButton( "green_flag7",180,51,18,48,1,18,0,langEngine( "%{main_greenflag}%") ); openGlobalButton( "yellow_flag1",165,50,20,50,1,10,0,langEngine( "%{main_yellowflag1}%") ); openGlobalButton( "yellow_flag2",167,50,20,50,1,10,0,langEngine( "%{main_yellowflag1}%") ); openGlobalButton( "yellow_flag3",169,50,20,50,1,10,0,langEngine( "%{main_yellowflag1}%") ); openGlobalButton( "yellow_flag4",171,50,20,50,1,10,0,langEngine( "%{main_yellowflag1}%") ); openGlobalButton( "yellow_flag5",173,50,20,50,1,10,0,langEngine( "%{main_yellowflag1}%") ); openGlobalButton( "yellow_flag6",175,50,20,50,1,10,0,langEngine( "%{main_yellowflag1}%") ); openGlobalButton( "yellow_flag7",177,50,20,50,1,10,0,langEngine( "%{main_yellowflag1}%") ); openGlobalButton( "yellow_flag8",179,50,20,50,1,10,0,langEngine( "%{main_yellowflag1}%") ); openGlobalButton( "yellow_flagbottom",172,91,20,10,1,10,0,langEngine( "%{main_yellowflag2}%") ); EndEvent $MaxNbInStunt = 20; #MaxNbInStunt is max time (in 100 ms) allowed in stunt mode before OnMaxNbInStunt is executed. If -1 No OnMaxNbInStunt are activated Event OnMaxNbInStunt() # Player event cmdLFS( "/spec " . GetCurrentPlayerVar("Nickname") ); EndEvent ################################# #Actions when player is too slow# ################################# #$MaxAllowedLapTime1 = 100; # % Max allowed time to complete a lap relative to MaxLapTime in trackInfo.cfg /* Event OnMaxAllowedLapTime1() # Player event privMsg( langEngine( "%{main_toslow1}%" ,$MaxAllowedLapTime1 ) ); privMsg( langEngine( "%{main_toslow2}%" , GetCurrentPlayerVar("MaxAllowedLapTime2") ) ); EndEvent */ #$MaxAllowedLapTime2 = 150; # % Max allowed time to complete a lap relative to MaxLapTime in trackInfo.cfg /* Event OnMaxAllowedLapTime2() # Player event privMsg( langEngine( "%{main_toslowvery1}%" ) ); globalMsg( langEngine( "%{main_toslowvery2}%", GetCurrentPlayerVar("Nickname") ) ); cmdLFS( "/spec " . GetCurrentPlayerVar("Username") ); EndEvent */ ################################## #Options for idle player on track# ################################## #$IdleExclude = "Lagamel,Gai-Luron"; # Usernames excluded for idle check $OnIdleTimeout1 = 20; # Idle timeout for OnIdleAction1 in seconds Event OnIdle1() # Player event privMsg( langEngine( "%{main_idle1}%" ) ); EndEvent $OnIdleTimeout2 = 30; # Idle timeout for OnIdleAction2 in seconds Event OnIdle2() # Player event cmdLFS( "/spec " . GetCurrentPlayerVar("Nickname") ); privMsg( langEngine( "%{main_idle2}%" ) ); EndEvent ################## #Drifting options# ################## $DriftDatabase = "./DriftPB"; $MinimumDriftSpeed = 25; # Minimum speed in km/h to maintain. Driving below that speed will reset score (25kmph is approx 16MPH) $MinimumDriftAngle = 10; # Minimum angel to maintain. When angle is below value, score is reset $MaximumDriftAngle = 75; # Maximum angel to maintain. When angle is above value, score is reset $GoodDriftScore = 2500; # Value to be reached to execute action on good drift score $MinimumDriftScore = 250; # Minimum drift score required # Actions to do on new personal best drift lap. #Event OnDriftPB() # $NickName = GetCurrentPlayerVar("NickName"); # $DriftScore = GetCurrentPlayerVar( "DriftScore" ); # # IF( $GUI_drift == "yes" ) # THEN # globalMsg( langEngine( "%{main_newdriftpb}%" , $NickName, $DriftScore)); # ENDIF #EndEvent # Actions to do to when total lap drift score is higher or equal to MinimumDriftScore. #Event OnDriftLap() # IF( $GUI_drift == "yes" ) # THEN # globalMsg( langEngine( "%{main_driftlap}%" , GetCurrentPlayerVar("Nickname"), GetCurrentPlayerVar("DriftScore"))); # ENDIF #EndEvent # Message to get on end of each drift. # Possible variables to use: ############# # test section ############# Event OnDriftScore() $AngleVelocity = GetCurrentPlayerVar( "AngleVelocity" ); $DriftScore = GetCurrentPlayerVar( "DriftScore" ); $LastDriftScore = GetCurrentPlayerVar( "LastDriftScore" ); IF( $GUI_drift == "yes" ) THEN openPrivButton( "drf0",99,1,22,10,4,-1,16," " ); IF( $AngleVelocity < 0 ) THEN $Angle_drift=($AngleVelocity)*(-1); openPrivButton( "drf1",100,2,20,4,4,-1,32,langEngine( "%{main_ondriftscore}%" , $DriftScore, $LastDriftScore ) ); openPrivButton( "drf2",100,6,20,4,4,-1,32,langEngine( "%{main_driftangle}%" , GetCurrentPlayerVar("$Angle_drift") ) ); ELSE openPrivButton( "drf1",100,2,20,4,4,-1,32,langEngine( "%{main_ondriftscorerev}%" , $DriftScore, $LastDriftScore ) ); openPrivButton( "drf2",100,6,20,4,4,-1,32,langEngine( "%{main_driftanglerev}%" , $AngleVelocity ) ); ENDIF ENDIF EndEvent ############# #Event OnGoodDrift() # Player event # IF( $GUI_drift == "yes" ) # THEN # PrivRcm( langEngine( "%{main_ongooddrift}%" ,GetCurrentPlayerVar("Nickname"),GetCurrentPlayerVar("LastDriftScore") ) ); # ENDIF #EndEvent # Actions to do at end of lap if MinimumDriftScore is not achieved. #Event OnDriftTooLow() # IF( $GUI_drift == "yes" ) # THEN # PrivRcm( langEngine( "%{main_drifttolow}%" ,GetCurrentPlayerVar("Nickname") ) ); # ENDIF #EndEvent ################################ #Options for hotlapping options# ################################ $GripDatabase = "./GripPB"; # This is the filepath of a file containing the collected data $LapTimeUsedForPb = 1; # How many PB lap used to make average PB time, Min = 1 and Max = 10 # Action to do on new personal best lap. # OnPBQual for the racer who make qualif ( in QualUser ) # OnPB the other racer Event OnPB() # Player event globalMsg( langEngine( "%{main_onnewpb}%" , GetCurrentPlayerVar("Nickname"),GetCurrentPlayerVar("Car" ),NumToMSH(GetCurrentPlayerVar("LapTime")) ) ); EndEvent Event OnPB() # Player event globalMsg( langEngine( "%{main_onnewpb}%" , GetCurrentPlayerVar("Nickname"), GetCurrentPlayerVar("Car"),NumToMSH(GetCurrentPlayerVar("LapTime")) ) ); globalMsg( langEngine( "%{main_onnewpb_rank}%" ,GetCurrentPlayerVar("Posabs") ) ); globalMsg( langEngine( "%{main_onnewpb_sesslaps}%" , GetCurrentPlayerVar("SessLaps") ) ); globalMsg( langEngine( "%{main_onnewpb_servlaps}%" , GetCurrentPlayerVar("Laps") ) ); globalMsg( langEngine( "%{main_onnewpb_avgspeed}%" ,ToPlayerUnit( GetCurrentPlayerVar("AvgSpeed") ),GetCurrentPlayerVar("UnitSpeed") ) ); privRcm( langEngine( "%{main_onnewpb_rank2}%" ,GetCurrentPlayerVar("Car"),GetCurrentPlayerVar("Posabs") ) ); EndEvent Event OnPBQual() globalMsg( langEngine( "%{main_onnewpbqual}%" ,GetCurrentPlayerVar("Nickname"),NumToMSH( GetCurrentPlayerVar("LapTime")) ) ); globalMsg( langEngine( "%{main_onnewpbqual_rank}%" , GetCurrentPlayerVar("Posabs") ) ); globalMsg( langEngine( "%{main_onnewpbqual_pos}%" ,GetCurrentPlayerVar("Posqual") ) ); globalMsg( langEngine( "%{main_onnewpbqual_pool}%" ,GetCurrentPlayerVar("Groupqual") ) ); globalMsg( langEngine( "%{main_onnewpbqual_avgspeed}%" , ToPlayerUnit( GetCurrentPlayerVar("AvgSpeed") ), GetCurrentPlayerVar("UnitSpeed") ) ); globalRcm( langEngine( "%{main_onnewpbqual_posqual}%" ,GetCurrentPlayerVar("Nickname"),GetCurrentPlayerVar("Posqual"),GetCurrentPlayerVar("Groupqual") ) ); EndEvent ########################## #Options for acceleration# ########################## $AccelerationStartSpeed = 1; # At which speed to start measuring time. In km/h $AccelerationEndSpeed = 100; # At which speed to stop measuring time. In km/h $AccelerationStartSpeedMph = 1; # At which speed to start measuring time. In Mph $AccelerationEndSpeedMph = 60; # At which speed to stop measuring time. In Mph $AccelerationPrivateMaxTime = 10; # Maximum acceleration time in seconds to show message #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() # Player event privMsg( langEngine( "%{main_accel}%" ,GetCurrentPlayerVar("AccelerationTime"),GetCurrentPlayerVar("AccelerationEndSpeed"),GetCurrentPlayerVar("UnitSpeed") ) ); EndEvent ###################### #Actions for pit stop# ###################### #Local variable tou can use #------------------------------------------------------------------- # no pit windows if two var set to 0 $PitWindowStart=0; $PitWindowStop=0; Event OnNotPitWindow() # Player event privMsg( langEngine( "%{main_notpitwindow}%" ,GetCurrentPlayerVar("Nickname"),$ConfVar["PitWindowStart"],$ConfVar["PitWindowStop"] ) ); EndEvent Event OnBeginPitWindow() # Player event privMsg( langEngine( "%{main_inpitwindows}%" ,GetCurrentPlayerVar("Nickname") ) ); EndEvent Event OnEndPitWindow() # Player event privMsg( langEngine( "%{main_outpitwindows}%", GetCurrentPlayerVar("Nickname"] ) ); EndEvent Event OnBeginPit( ) # Player event globalMsg( langEngine( "%{main_beginpit}%", GetCurrentPlayerVar("Nickname") ) ); privMsg( langEngine( "%{main_pitwork}%", GetCurrentPlayerVar("pitWork") ) ); EndEvent Event OnEndPit() # Player event IF ( $enable_pitboard == "true" ) THEN OnEndPit_Pitboard(); ELSE globalMsg( langEngine( "%{main_endpit}%",GetCurrentPlayerVar("Nickname"),numToMSH(GetCurrentPlayerVar("PitTime") ) ) ); privMsg( langEngine( "%{main_endpitpriv}%", numToMSH(GetCurrentPlayerVar("PitTime")), numToMSH( GetCurrentPlayerVar("TotalPitTime") ) ) ); ENDIF EndEvent Event OnPit() # Player teleported to pit EndEvent #$FL_Changed -> Front Left Changed : 1 Changed 0 No #$FR_Changed -> Front Right Changed : 1 Changed 0 No #$RL_Changed -> Rear Left Changed : 1 Changed 0 No #$RR_Changed -> Rear Right Changed : 1 Changed 0 No Event OnChangeTyres( $FL_Changed, $FR_Changed, $RL_Changed, $RR_Changed ) EndEvent ###################### #Actions on penalties# ###################### #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: # #------------------------------------------------------------------- Event OnFastDriveOnPitL1() # Player event globalMsg( langEngine( "%{main_fastdrivepitl1_1}%",GetCurrentPlayerVar("Nickname") ) ); privMsg( langEngine( "%{main_fastdrivepitl1_2}%" ) ); EndEvent Event OnFastDriveOnPitL2() # Player event globalMsg( langEngine( "%{main_fastdrivepitl2_1}%",GetCurrentPlayerVar("Nickname") ) ); privMsg( langEngine( "%{main_fastdrivepitl2_1}%", GetCurrentPlayerVar("RemainFDIP" ) ) ); cmdLFS( "/spec " . GetCurrentPlayerVar( "Username" ) ); EndEvent Event OnMaxFastDriveOnPit() # Player event globalMsg( langEngine( "%{main_maxfastdrivepit1}%",GetCurrentPlayerVar("Nickname") ) ); privRcm( langEngine( "%{main_maxfastdrivepit2}%" ) ); cmdLFS( "/kick " . GetCurrentPlayerVar("Username") ); EndEvent $MaxFastDriveOnPit = 2; Event OnFalseStartL1() EndEvent Event OnFalseStartL2() EndEvent #################### #Overriding options# #################### include( "./includes/addonsused.lpr"); include( "./includes/pitboard.lpr"); include( "./includes/pitwindow_gui.lpr"); include( "./includes/safetycar.lpr"); include( "./includes/ctrack.lpr"); include( "./includes/guiconfig.lpr"); include( "./includes/myInc.lpr"); Lang "EN" main_welc1 = "^3Welcome {0} ^3to &^1Sin'rs ^3(^1Sin^3anju^1'^3s ^1r^3acing ^1s^3erver)"; main_welc2 = "^7Your actual friendly Position (all visitors + vehicles): ^2{0}&^2Comments to ^1sinanju@hotmail.co.uk &Don't use swearwords on this server&^4Respect other players at all times, otherwise you may be banned"; main_accept = "^2Accept"; main_deny = "^1No Chance"; main_speedtrap = "^0SpeedTrap =^1 {0} {1}"; main_gotlevel = "^3You have got level: {0}"; main_swearL2 = "You will be spectated in ^2{0} ^1 more attempt(s)"; main_swear21 = "^7Do ^1NOT ^7use swearwords on this server" . "&^1You have been kicked!"; main_nomatchflag = "Flags not match required flags"; main_yourflag = "Yours flags -> {0}"; main_requiredflag = "Required flags -> {0}" ; main_spectated = "Spectated"; main_notadmin = "^1Sorry. Admins only."; main_currnode = "The Current Node is : {0}"; main_currzone = "The Current Zone is : {0}"; main_lapclose = "Lapper Closed By Administrator!"; main_ban = "{0} Ban {1}"; main_kick = "{0} Kick {1}"; main_friendpos = "Your friendly position is {0}"; main_groupqual = "Your groupqual is {0}"; main_level = "^3You have level(s): {0}"; main_dist = "Distance done on {0}/{1} = {2} {3}, session = {4} {5}"; main_lapdone = "Laps done on {0}/{1} = {2}, session = {3}"; main_timeinpit = "Time in pitting {0}"; main_trackused = "Track in use : {0} = {1}"; main_serverclock = "Server time clock reference : {0}"; main_midnight = "Pumpkin racing is about to start!"; main_newyear = "Happy New Year!"; main_allowed = "{0}^3 allowed on this server"; main_notallowed = "{0}^3 not allowed on this server"; main_tolowhand1 = "{0}^3 spectated for to low handicap"; main_tolowhand2 = "^3need {0}kg and {1}% of intake restriction!"; main_vote_restart1 = "Restart:"; main_vote_restart2 = "({0}/{1}) Need {2}"; main_vote_qualify1 = "Qualify"; main_vote_qualify2 = "({0}/{1}) Need {2}"; main_vote_end1 = "End:"; main_vote_end2 = "({0}/{1}) Need {2}"; main_car_changed = "Car changed, go to pit! Current car = {0}"; main_track_changed1 = "Track changed. ^1Please wait!"; main_track_changed2 = "Current Track = {0}"; main_left_server = "{0} left the server"; main_before = "Before: "; main_behind = "Behind: "; main_split1 = "^7SP1: {0} {1}({2})&^7TPB:{3}"; main_split2 = "^7SP2: {0} {1}({2})&^7TPB:{3}"; main_split3 = "^7SP3: {0} {1}({2})&^7TPB:{3}"; main_splitlast = "^7SPL: {0} {1}({2})&^7TPB:{3} Avg:{4}{5}"; main_great1 = "Great 1st split ({0}) by {1}^8!"; main_good1 = "Good 1st split ({0}) by {1}^8!"; main_great2 = "Great 2nd split ({0}) by {1}^8!"; main_good2 = "Good 2nd split ({0}) by {1}^8!"; main_great3 = "Great 3rd split ({0}) by {1}^8!"; main_good3 = "Good 3rd split ({0}) by {1}^8!"; main_greatlap = "Great lap ({0}) by {1}^8!"; main_goodlap = "Good lap ({0}) by {1}^8!"; main_help1 = "^2Commands list"; main_help = "^2General commands" . "&^3!myconfig ^8Configure lapper for youself" . "&^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 drivers near you on the ranking" . "&^3!spb ^8Split times and TPB (Theoretical PB)" . "&^3!razspb ^8Start new spb session (eg when changing car)" . "&^3!track ^8Name of actual track" . "&^3!time ^8Server time (for leagues meetings, etc.)" . "&^3!ver ^8This version of LFSLapper" . "&" . "&^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" . "&^3!closepb ^8Close Pitboard temporary" . "&^3!config ^8Configure Pitboard" . "&^3!pitwindow ^8Show currently set pitwindow(s)" . "&" . "&^2ADMIN functions" . "&^3!gui ^8Open server change GUI" . "&^3!ctrack ^8Open track change GUI" . "&^3!sc ^8Open safetycar GUI" . "&^3!pwgui ^8Open Pitwindow GUI"; main_flood = "{0}^3 kicked for spamming"; main_brake = "^3Please, brake in time!"; main_on_result = "Finished Pos = {0}"; main_lost_control = "^1Danger! ^8{0} ^2lost control!"; main_linespace = " "; main_danger = "^1! Use Caution if rejoining track !"; main_yellowflag = "^3YELLOW FLAG"; main_greenflag = "^2|"; main_yellowflag1 = "^3|"; main_yellowflag2 = "^3CONDITION"; main_yellowback = "^3||"; main_toslow1 = "you are too slow! Max : {0}"; main_toslow2 = "kick on {0}"; main_toslowvery1 = "You are very slow; spectated!"; main_toslowvery2 = "{0} is too slow; spectated!"; main_idle1 = "^3You are idle and will be spectated in 7.981 seconds" ; main_idle2 = "^3You are spectated for non-activity"; main_newdriftpb = "{0}^3 made new PB: ^7{1} ^3pts!"; main_driftlap = "{0} ^3drifted to ^7{1} ^3pts"; main_ondriftscore = "Score: ^7{0} ^3{1}"; main_ondriftscorerev = "Score: ^7{0} ^2{1}"; main_driftangle = "Drift Angle: ^7{0} ^2>"; main_driftanglerev = "Drift Angle: ^2< ^7{0}"; main_ongooddrift = "{0} ^3made excellent drift: ^7{1} ^3pts"; main_drifttolow = "{0}^2: Rubbish drifting"; main_onnewpb = "New PB by {0}^8 ({1}): {2}"; main_onnewpb_rank = "Friendly rank : {0}"; main_onnewpb_sesslaps = "Session laps done = {0}"; main_onnewpb_servlaps = "Total laps done (server) = {0}"; main_onnewpb_avgspeed = "Average speed: {0}{1}"; main_onnewpb_rank2 = "Friendly {0} rank: ^7{1}"; main_onnewpbqual = "League - New QT by {0}^8:{1}"; main_onnewpbqual_rank = "Friendly rank (all visitors): ^7{0}"; main_onnewpbqual_pos = "^2Qualify pos.: {0}"; main_onnewpbqual_pool = "^6Actual Pool: {0}"; main_onnewpbqual_avgspeed = "Average speed: {0}{1}"; main_onnewpbqual_posqual = "{0} ^2Pos:{1} - Pool:{2}"; main_accel = "^8Accelerated in ^3{0}^8 seconds to {1} {2}!"; main_notpitwindow = "{0} ^1You are not on pit Windows, allowed in {1}-{2}"; main_inpitwindows = "{0} ^1You are allowed to pit"; main_outpitwindows = "{0} ^1You are not allowed to pit"; main_beginpit = "{0}^8 makes a pit stop"; main_pitwork = "Pit begin! Work:{0}"; main_endpit = "{0}^8 left pits in {1}"; main_endpitpriv = "Pit stop finished in {0} - Total Pit: {1}"; main_fastdrivepitl1_1 = "{0}^1 Warning for fast driving in pit"; main_fastdrivepitl1_2 = "^1WARNING - KICK POSSIBLE" ; main_fastdrivepitl2_1 = "{0}^1 Spectated for fast driving in pit"; main_fastdrivepitl2_2 = "^1KICK IN {0} TRY" ; main_maxfastdrivepit1 = "{0}^1 kicked for fast driving in pit"; main_maxfastdrivepit2 = "^1YOU HAVE BEEN KICKED"; main_quiz = "^3Type in the name of a fruit or vegetable"; main_scotland = "^3Scotland: ^2Country that sits on top of England!"; main_santa = "{0}^3 - you sound like Santa!"; main_funny = "^1What's so funny, {0}^1?"; main_funny2 = "^1You're right. That was funny!"; main_sorry = "^3Hopefully your apology was accepted."; main_brb = "^3Missing you already. Hurry back."; main_bye = "^3Bye, and thanks for racing with ^1Sin'rs."; main_g25 = "^2Logitech G25. ^3THE wheel of choice!"; main_dutch = "^3Netherlands: ^2Where they put fingers in dikes!"; main_finland = "^3Finland: ^2Home of Driving Gods!"; main_czech = "^3Na Zdravi!"; main_canada = "^3Canada: ^2Country that sits on top of USA!"; main_swiss = "^3Cuckoo! Cuckoo! "; main_australia = "^3So ^2WHY ^3do you have to tie the kangaroo down?"; main_kiwi = "^3All Kiwi's welcome at this server!"; main_pb = "^3P^2itiful ^3B^2est?"; main_spain = "^3Spain: ^2Where the Spanish come from!"; main_italy = "^3Italy: ^2Where the Italians come from!"; main_england = "^3England: ^2Country that sits under Scotland!"; main_iceland = "^3Icelanders ALWAYS welcome!"; main_god = "^3Why do I ALWAYS get called on a PB?"; main_jesus = "^3Walking on water is easier than driving an UF1 fast!"; main_keys = "^3Keyboarders always have a hands-on attitude!"; main_cheers = "^3Cheers, and Slainte!"; main_feck = "^1That's close to unacceptable language!"; main_restart = "^1Whoa; trying to feed coins into meter!"; main_porn = "^3New scene being set up, so I'm playing LFS just now!"; main_joke = "^3A joke? Wait! I know one! ^2Knock! Knock! "; main_sex = "^3Unsatisfying substitute for LFS online racing!!"; main_penis = "^3Penis: ^2 Poor substitute for a powerful car! "; main_imho = "^3An honest opinion. Such a rarity."; main_hello = "^3Hello to you too, {0}"; main_women = "^3Females: ^2One day they'll rule the world!"; main_imo = "^3Shouldn't there be an ^2'honest' ^3in that?"; main_help2 = "^3Your request for help has been noted (and ignored)."; main_wtf = "^3What indeed!"; main_omg = "^3You have your own personal God?"; main_alien = "^2Aliens? Beam me up Scotty!"; main_sinanju = "^3All give thanks to Sinanju!"; main_ja = "^3Ja: ^2That's a yes then?"; main_please = "^3Please? Nice to see someone with manners."; main_brake1 = "^3Back of other car isn't substitute for your own brakes "; main_noob = "^2Look out!! Noobs about!!"; main_spb = "^1S^3ometimes unobtainable ^1P^3ersonal ^1B^3est"; main_keyboard = "Sinanju uses keyboard so can't respond quickly"; main_KY1Rstartfinish = "Start / Finish line coming up"; main_fantasy = "^2That is a fantasy animal"; main_faster = "Obligation is with faster drivers to pass safely"; main_tired1 = "It's confirmed - Tiredness causes accidents"; main_tired2 = "Would Tiredness please leave the race now!"; main_email = "Comments to sinanju@hotmail.co.uk"; main_animal = "^2I believe that is an animal"; main_rodent = "^2I believe that is a rodent"; main_bird = "^2That is a bird, not a fruit or vegetable"; main_notquiz = "^2Not specific enough. Neither is it a fruit or vegetable"; main_fish = "^2That is a fish, not a fruit or vegetable"; main_crustacean = "^2That is a crustacean, not a fruit or vegetable"; main_insect = "^2That is an insect, not a fruit or vegetable"; main_snake = "^2That is a snake, not a fruit or vegetable"; main_parrot = "^2Is that parrot deceased?"; main_whale = "^2Mammal that lives in the sea - not what was asked"; main_croc = "^2Why amphibians? Not what was asked"; main_rainbow = "^2One of the colours in a rainbow"; main_colour = "^2This colour rejected by rainbow"; main_ocean = "^2That is a sea, not a fruit or vegetable"; main_fruit = "^2I think that's a fruit"; main_veg = "^2I think that's a vegetable"; main_salad = "^2I think that is a salad vegetable"; main_warning = "^1!! W A R N I N G !!" . "&{0}"; main_warning1 = "^1!! You Were Warned !!" . "&{0}"; main_swearL1 = "^3Please do not use swearwords on this server" . "&^3just ^1{0}^3 more swearwords, and you will be kicked"; main_info = "^2I N F O R M A T I O N" . "&{0}"; main_impressive = "^7I M P R E S S I V E" . "&{0}"; main_remember = "^1! ^0R E M E M B E R^1 !" . "&{0}"; built_pos = "Pos"; built_grp = "Grp"; built_car = "Car"; built_track = "Track"; built_nick = "NickName"; built_pb = "Pb"; built_split = "Split"; built_splits = "Splits"; built_points = "Points"; built_nolfspb = "LFS World PB not yet retreived"; built_nolfspbcrit = "No LFS World PB for this criteria"; built_lapsdone = " Laps Done"; built_hand_nick = "^3{0}^9 handicap:"; built_hand_curr = " - Current {0}Kg - Intake Restr.: {1}%"; built_hand_req = " - Required {0}^9 {1}Kg - Intake Rest.: {2}%"; EndLang Lang "FR" main_swearL1 = "^3S'il vous plaît ne pas utiliser swearwords sur ce serveur" . "&^1{0}^3 swearwords plus, et il vous sera donne des coups de pied"; main_linespace = " "; main_KY1Rstartfinish = "Start / Finish line coming up"; main_fruit = "^2Je pense que c'est un fruit"; main_veg = "^2Je pense que c'est un legume"; main_salad = "^2Je pense que c'est une salade de legumes"; main_animal = "^2C'est un animal"; main_rodent = "^2Je crois que c'est un rongeur"; main_fantasy = "^2That is a fantasy animal"; main_bird = "^2That is a bird, not a fruit or vegetable"; main_notquiz = "^2Not specific enough. Neither is it a fruit or vegetable"; main_fish = "^2That is a fish, not a fruit or vegetable"; main_crustacean = "^2That is a crustacean, not a fruit or vegetable"; main_insect = "^2That is an insect, not a fruit or vegetable"; main_snake = "^2That is a snake, not a fruit or vegetable"; main_parrot = "^2Is that parrot deceased?"; main_whale = "^2Mammal that lives in the sea - not what was asked"; main_croc = "^2Why amphibians? Not what was asked"; main_rainbow = "^2One of the colours in a rainbow"; main_colour = "^2This colour rejected by rainbow"; main_ocean = "^2That is a sea, not a fruit or vegetable"; main_scotland = "^3Ecosse: ^2Pays qui se trouve sur le dessus de l'Angleterre!"; main_england = "^3Angleterre: ^2Pays qui se trouve sous l'Ecosse!"; main_iceland = "^3Islandais toujours les bienvenus!"; main_australia = "^3Alors, pourquoi avez-vous à la cravate, le kangourou en panne?"; main_kiwi = "^3All Kiwi's welcome at this server!"; main_dutch= "^3Pays-Bas: ^2Ou ils ont mis les doigts dans les digues!"; main_finland= "^3Finlande: ^2Accueil de conduire Gods!"; main_czech = "^3Na Zdravi!"; main_canada = "^3Canada: ^2Pays qui se trouve au-dessus des Etats-Unis!"; main_swiss = "^3Coucou! Coucou!"; main_spain = "^3Espagne: ^2Lorsque les Espagnols viennent de!"; main_italy = "^3Italy: ^2Lorsque les Italiens viennent de!"; main_santa = "{0}^3 - vous sembler Santa!"; main_funny = "^1What's so funny, {0}^1?"; main_funny2 = "^1Vous avez raison. Qui a été drôle!"; main_sorry = "^3Nous esperons que vos excuses a ete accepte."; main_brb = "^3Missing-vous deja. Depechez-back."; main_bye= "^3Bye et merci pour la course avec ^1Sin'rs."; main_g25= "^2Logitech G25. ^3La roue de choix!"; main_pb = "^3P^2itiful ^3B^2est?"; main_god = "^3Pourquoi ai-je toujours appel a un PB?"; main_omg = "^3Vous avez votre propre Dieu?"; main_jesus = "^3Marcher sur l'eau est plus facile que de conduire une UF1 rapide!"; main_keys = "^3Keyboarders ont toujours une touche-a-attitude!"; main_cheers = "^3Sante, and Slainte!"; main_feck = "^1C'est inacceptable à proximité de la langue!"; main_restart = "^1Whoa. Tenter d'alimenter des pièces sur le compteur!"; main_porn = "^3Nouvelle scène mis en place, alors je suis tout à l'heure de jeu LFS"; main_joke = "^3A joke? Wait! I know one! ^2Knock! Knock!"; main_sex = "^3Insatisfaisant pour remplacer LFS course en ligne!"; main_penis = "^2Remplacer une voiture puissante!"; main_imho = "^3Une opinion honnête. Une telle rarete."; main_hello = "^3Bonjour à vous, {0}"; main_women = "^3Femelles: Un jour, ils gouvernent le monde!"; main_imo = "^3Shouldn't there be an ^2'honest' ^3in that?"; main_help2 = "^3Votre demande d'aide a été noté (et ignoré)."; main_wtf = "^3Quel effet!"; main_alien = "^2Etrangers? Beam me up Scotty!"; main_sinanju = "^3Tous les rendre grâce à Sinanju!"; main_ja = "^3Ja: C'est un oui alors?"; main_please = "^3S'il vous plaît? Nice de voir quelqu'un avec des manières."; main_brake1 = "^3Retour de la voiture n'est pas se substituer à votre propre freins"; main_noob = "^2Look out!! Noobs about!!"; main_spb = "^1S^3ometimes unobtainable ^1P^3ersonal ^1B^3est"; main_keyboard = "Sinanju utilise le clavier et ne peux répondre rapidement"; main_faster = "Obligation est plus rapide avec les pilotes de passer en securite"; main_tired1 = "C'est confirme - Fatigue causes des accidents"; main_tired2 = "Voulez-fatigue s'il vous plaît quitter la course des maintenant!"; main_email = "Commentaires pour sinanju@hotmail.co.uk"; main_welc1 = "^7Bienvenue {0} ^7sur ce serveur Géré par ^1LFSLapper^7!&^2Tapez ^7!help ^2 pour voir les commandes après avoir quitté le garage"; main_welc2 = "^7Votre position absolue (Tous les visiteurs) : ^7{0}&^2Votre position de préqualification : {1}^6Estimation de poule : {2}&Ne pas employer de mots grossiers sur ce serveur&Respecter les autres joueurs&sinon vous risquez d'être banni"; main_accept = "Accepter"; main_deny = "Refuser"; main_speedtrap = "^0Radar: ^1 {0} {1}"; main_gotlevel = "^3Vous avez atteind le niveau: {0}"; main_swearL2 = "Encore {0} gros mot(s) et vous passerez spectateur"; main_swear21 = "Trop de gros mots, spectateur" . "&^1You have been kicked!"; main_nomatchflag = "Flags ne correspondent pas aux flags requis"; main_yourflag = "Vos flags -> {0}"; main_requiredflag = "Flags requis -> {0}" ; main_spectated = "Spectateur"; main_notadmin = "Vous n'êtes pas admin!"; main_currnode = "Le noeud courant est: {0}"; main_currzone = "La zone courante est: {0}"; main_lapclose = "Lapper fermé par un administrateur!"; main_ban = "{0} a banni {1}"; main_kick = "{0} a kické {1}"; main_friendpos = "Votre position absolue est {0}"; main_groupqual = "Votre poule est {0}"; main_level = "^3Vous avez le(s) niveau(x): {0}"; main_dist = "Distance réalisée avec {0}/{1} = {2} {3}, session = {4} {5}"; main_lapdone = "Tours réalisés avec {0}/{1} = {2}, session = {3}"; main_timeinpit = "Temps passé aux stands {0}"; main_trackused = "Circuit actuel: {0} = {1}"; main_serverclock = "Heure du serveur: {0}"; main_midnight = "Il est maintenant minuit...citrouille course commence bientôt!"; main_newyear = "Bonne année!"; main_allowed = "{0}^3 autorisé sur ce serveur"; main_notallowed = "{0}^3 non autorisé sur ce serveur"; main_tolowhand1 = "{0}^3 spectateur car handicap trop faible"; main_tolowhand2 = "^3Requis {0}kg et {1}% de limitation à l'admission!"; main_vote_restart1 = "Redémarrer:"; main_vote_restart2 = "({0}/{1}) Requis {2}"; main_vote_qualify1 = "Qualify"; main_vote_qualify2 = "({0}/{1}) Requis {2}"; main_vote_end1 = "Finir:"; main_vote_end2 = "({0}/{1}) Requis {2}"; main_car_changed = "La voiture a changé, Allez aux pits! Voiture = {0}"; main_track_changed1 = "Changement de circuit, patientez!"; main_track_changed2 = "Circuit actuel = {0}"; main_left_server = "{0} part du serveur"; main_before = "Précédent: "; main_behind = "Poursuivant: "; main_split1 = "^7SP1: {0} {1}({2})&^7TPB:{3}"; main_split2 = "^7SP2: {0} {1}({2})&^7TPB:{3}"; main_split3 = "^7SP3: {0} {1}({2})&^7TPB:{3}"; main_splitlast = "^7SPL: {0} {1}({2})&^7TPB:{3} Avg:{4}{5}"; main_great1 = "Superbe 1er split ({0}) par {1}^8!"; main_good1 = "Bon 1er split ({0}) par {1}^8!"; main_great2 = "Superbe 2ème split ({0}) par {1}^8!"; main_good2 = "Bon 2ème split ({0}) par {1}^8!"; main_great3 = "Superbe 3ème split ({0}) par {1}^8!"; main_good3 = "Bon 3ème split ({0}) par {1}^8!"; main_greatlap = "Superbe tour ({0}) par {1}^8!"; main_goodlap = "Bon tour ({0}) par {1}^8!"; main_help1 = "^2Liste des commandes"; main_help = "^2Commandes générales" . "&^3!myconfig ^8Configurer lapper pour vous" . "&^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 ^8Liste des records centrés sur vous" . "&^3!spb ^8Temps des splits et meilleurs temps théoriques TPB (Theoretical PB)" . "&^3!razspb ^8Remise à zéro des temps de session" . "&^3!track ^8Nom du circuit actuel" . "&^3!time ^8Heure du serveur (pour les championnats)" . "&^3!ver ^8Version de LFSLapper" . "&" . "&" . "&^2Nouvelles fonctions" . "&^3!laps ^8Totaux des nombres de tours, par session et pour le serveur" . "&^3!hand ^8Handicaps requis" . "&^3!pit ^8Temps total passée aux stands" . "&^3!closepb ^8Fermer Pitboard de manière temporaire" . "&^3!config ^8Configure Pitboard" . "&^3!pitwindow ^8Montre les ouvertures de stand"; main_flood = "{0}^3 kické car trop de flood"; main_brake = "^3SVP, freinez à temps!"; main_on_result = "Position finale = {0}"; main_lost_control = "^1Danger! ^8{0} ^2a perdu le contrôle!"; main_danger = "^1! Attention, si l'utilisation de rejoindre la voie !"; main_yellowflag = "^3DRAPEAU JAUNE"; main_greenflag = "^2|"; main_yellowflag1 = "^3|"; main_yellowflag2 = "^3CONDITION"; main_yellowback = "^3||"; main_toslow1 = "Vous être trop lent! Max : {0}"; main_toslow2 = "Vous serez kické dans {0}"; main_toslowvery1 = "Vous êtes vraiment trop lent, spectateur!"; main_toslowvery2 = "{0} est trop lent, spectateur!"; main_idle1 = "^3Vous êtes inactif et passerez spectateur dans 10 secondes" ; main_idle2 = "^3Vous êtes passé spectateur car inactif!"; main_newdriftpb = "{0}^3 réalise un nouveau PB: ^7{1} ^3pts!"; main_driftlap = "{0} ^3réalise ^7{1} ^3pts de drift"; main_ondriftscore = "Score: ^7{0} ^3{1}"; main_ongooddrift = "{0} ^3réalise un drift excellent: ^7{1} ^3pts"; main_drifttolow = "{0}^3: Rubbish drifting"; main_ondriftscorerev = "Score: ^7{0} ^2{1}"; main_driftangle = "Drift Angle: ^7{0} ^2>"; main_driftanglerev = "Drift Angle: ^2< ^7{0}"; main_onnewpb = "Nouveau PB par {0}^8 ({1}): {2}"; main_onnewpb_rank = "Position absolue : {0}"; main_onnewpb_sesslaps = "Tours réalisés durant la session = {0}"; main_onnewpb_servlaps = "Tours réalisés sur le serveur = {0}"; main_onnewpb_avgspeed = "Vitesse moyanne: {0}{1}"; main_onnewpb_rank2 = "Voiture {0} position: ^7{1}"; main_onnewpbqual = "Ligue - Nouveau temps de qualif par {0}^8:{1}"; main_onnewpbqual_rank = "Position absolue: ^7{0}"; main_onnewpbqual_pos = "^2Position Qualifiquation.: {0}"; main_onnewpbqual_pool = "^6Poule actuelle: {0}"; main_onnewpbqual_avgspeed = "Vitesse moyenne: {0}{1}"; main_onnewpbqual_posqual = "{0} ^2Pos:{1} - Poule:{2}"; main_accel = "^8De 0 à {1}{2} en ^3{0}^8 secondes!"; main_notpitwindow = "{0} ^1Stand fermés, ouverture entre {1}-{2}"; main_inpitwindows = "{0} ^1Vous êtes autorisé à pitter"; main_outpitwindows = "{0} ^1Vous n'êtes pas autorisé à pitter"; main_beginpit = "{0}^8 s'arrête au stand"; main_pitwork = "Début d'arrêt au stand! Travail en cours:{0}"; main_endpit = "{0}^8 quitte les stands en {1}"; main_endpitpriv = "Arrêt aux stands terminé en {0} - Total arrêts: {1}"; main_fastdrivepitl1_1 = "{0}^1Attention vitesse excessive aux stands"; main_fastdrivepitl1_2 = "^1ATTENTION-KICK POSSIBLE" ; main_fastdrivepitl2_1 = "{0}^1Spectateur car trop rapide dans les stands"; main_fastdrivepitl2_2 = "^1ENCORE {0} ESSAIS AVANT LE KICK" ; main_maxfastdrivepit1 = "{0}^1Kické car trop rapide dans les stands"; main_maxfastdrivepit2 = "^1VOUS ETES KICKE"; built_pos = "Position"; built_grp = "Poule"; built_car = "Voiture"; built_track = "Circuit"; built_nick = "Pseudo"; built_pb = "PB"; built_split = "Split"; built_splits = "Splits"; built_points = "Points"; built_nolfspb = "Les record de LFS World ne sont pas encore récupérés"; built_nolfspbcrit = "Pas de records LFS World pour ce critère"; built_lapsdone = "Tours réalisés"; built_hand_nick = "^9 Handicap pour ^3{0}^9 :"; built_hand_curr = " - Actuel {0}Kg - Restr. admission.: {1}%"; built_hand_req = " - Requis {0}^9 {1}Kg - Restr. admission.: {2}%"; main_quiz = "^3Entrez le nom d'un fruit ou un légume"; main_warning = "^1!! W A R N I N G !!" . "&{0}"; main_warning1 = "^1!! You Were Warned !!" . "&{0}"; main_info = "^2I N F O R M A T I O N" . "&{0}"; main_impressive = "^7I M P R E S S I O N N A N T" . "&{0}"; main_remember = "^1! ^0R E M E M B E R^1 !" . "&{0}"; EndLang # Work in Progress for Italian language Lang "IT" main_animal = "^2I believe that is an animal"; main_welc1 = "^3Welcome {0} ^3to &^1Sin'rs ^3(^1Sin^3anju^1'^3s ^1r^3acing ^1s^3erver)"; main_welc2 = "^7Your actual friendly Position (all visitors + vehicles): ^2{0}&^2Comments to ^1sinanju@hotmail.co.uk &Don't use swearwords on this server&^4Respect other players at all times, otherwise you may be banned"; main_accept = "Accettat"; main_deny = "Negare"; main_speedtrap = "^0Velocita Trappola =^1 {0} {1}"; main_gotlevel = "^3Avete livello: {0}"; main_swearL2 = "Verra spectated in ^2{0} ^1 piu tentativi"; main_swear21 = "Troppi swearwords." . "&^1You have been kicked!"; main_nomatchflag = "Bandiere non corrispondere richieste bandiere"; main_yourflag = "La tua bandiera -> {0}"; main_requiredflag = "Obbligatorio bandiere -> {0}" ; main_spectated = "Spectated"; main_notadmin = "Se non sono un amministratore!"; main_currnode = "Il nodo corrente e : {0}"; main_currzone = "La zona attuale e : {0}"; main_lapclose = "Lapper Chiuso da Administrator!"; main_ban = "{0} vietare {1}"; main_kick = "{0} calciare {1}"; main_friendpos = "La vostra posizione è amichevole {0}"; main_groupqual = "Il tuo gruppo di qualificazione e {0}"; main_level = "^3avete livello(s): {0}"; main_dist = "Distanza sul fatto {0}/{1} = {2} {3}, sessione = {4} {5}"; main_lapdone = "Giri sul fatto {0}/{1} = {2}, sessione = {3}"; main_timeinpit = "Tempo in pitting {0}"; main_trackused = "Pista in uso : {0} = {1}"; main_serverclock = "Server orologio in tempo di riferimento : {0}"; main_midnight = "Midnight avviso a tutti i lavoratori, uomini!"; main_newyear = "Capodanno Felice!"; main_allowed = "{0}^3 su questo server"; main_notallowed = "{0}^3 non e consentito su questo server"; main_tolowhand1 = "{0}^3 spectated troppo basso per handicap"; main_tolowhand2 = "^3necessita {0}kg e {1}% di assunzione di restrizione!"; main_vote_restart1 = "Riavviare"; main_vote_restart2 = "({0}/{1}) Necessita {2}"; main_vote_qualify1 = "Qualify"; main_vote_qualify2 = "({0}/{1}) Necessita {2}"; main_vote_end1 = "Fine:"; main_vote_end2 = "({0}/{1}) Necessita {2}"; main_car_changed = "auto modificate, vai alla buca! Attuale auto = {0}"; main_track_changed1 = "Traccia cambiato, attendere prego!"; main_track_changed2 = "brano corrente = {0}"; main_left_server = "{0} a sinistra il server"; main_before = "Prima: "; main_behind = "Dietro: "; main_rodent = "Credo che questo sia un roditore" main_split1 = "^7SP1: {0} {1}({2})&^7TPB:{3}"; main_split2 = "^7SP2: {0} {1}({2})&^7TPB:{3}"; main_split3 = "^7SP3: {0} {1}({2})&^7TPB:{3}"; main_splitlast = "^7SPL: {0} {1}({2})&^7TPB:{3} Avg:{4}{5}"; main_great1 = "Great 1st split ({0}) by {1}^8!"; main_good1 = "Good 1st split ({0}) by {1}^8!"; main_great2 = "Great 2nd split ({0}) by {1}^8!"; main_good2 = "Good 2nd split ({0}) by {1}^8!"; main_great3 = "Great 3rd split ({0}) by {1}^8!"; main_good3 = "Good 3rd split ({0}) by {1}^8!"; main_greatlap = "Great lap ({0}) by {1}^8!"; main_goodlap = "Good lap ({0}) by {1}^8!"; main_help1 = "^2Commands list"; main_help = "^2General commands" . "&^3!myconfig ^8Configure lapper for youself" . "&^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 drivers near you on the ranking" . "&^3!spb ^8Split times and TPB (Theoretical PB)" . "&^3!razspb ^8Start new spb session (eg when changing car)" . "&^3!track ^8Name of actual track" . "&^3!time ^8Server time (for leagues meetings, etc.)" . "&^3!ver ^8This version of LFSLapper" . "&" . "&^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" . "&^3!closepb ^8Close Pitboard temporary" . "&^3!config ^8Configure Pitboard" . "&^3!pitwindow ^8Show currently set pitwindow(s)" . "&" . "&^2ADMIN functions" . "&^3!gui ^8Open server change GUI" . "&^3!ctrack ^8Open track change GUI" . "&^3!sc ^8Open safetycar GUI" . "&^3!pwgui ^8Open Pitwindow GUI"; main_flood = "{0}^3 kicked for spamming"; main_brake = "^3Please, brake in time!"; main_on_result = "Finished Pos = {0}"; main_lost_control = "^1Danger! ^8{0} ^2lost control!"; main_linespace = " "; main_danger = "^1! Use Caution if rejoining track !"; main_yellowflag = "^3YELLOW FLAG"; main_greenflag = "^2|"; main_yellowflag1 = "^3|"; main_yellowflag2 = "^3CONDITION"; main_yellowflag3 = "^3|"; main_yellowback = "^3||"; main_toslow1 = "you are too slow! Max : {0}"; main_toslow2 = "kick on {0}"; main_toslowvery1 = "You are very slow; spectated!"; main_toslowvery2 = "{0} is too slow; spectated!"; main_idle1 = "^3You are idle and will be spectated in 10 seconds" ; main_idle2 = "^3You are spectated for non-activity"; main_newdriftpb = "{0}^3 réalise un nouveau PB: ^7{1} ^3pts!"; main_driftlap = "{0} ^3réalise ^7{1} ^3pts de drift"; main_ondriftscore = "Score: ^7{0} ^3{1}"; main_ongooddrift = "{0} ^3réalise un drift excellent: ^7{1} ^3pts"; main_drifttolow = "{0}^3: Rubbish drifting"; main_ondriftscorerev = "Score: ^7{0} ^2{1}"; main_driftangle = "Drift Angle: ^7{0} ^2>"; main_driftanglerev = "Drift Angle: ^2< ^7{0}"; main_onnewpb = "New PB by {0}^8 ({1}): {2}"; main_onnewpb_rank = "Friendly rank : {0}"; main_onnewpb_sesslaps = "Session laps done = {0}"; main_onnewpb_servlaps = "Total laps done (server) = {0}"; main_onnewpb_avgspeed = "Average speed: {0}{1}"; main_onnewpb_rank2 = "Friendly {0} rank: ^7{1}"; main_onnewpbqual = "League - New QT by {0}^8:{1}"; main_onnewpbqual_rank = "Friendly rank (all visitors): ^7{0}"; main_onnewpbqual_pos = "^2Qualify pos.: {0}"; main_onnewpbqual_pool = "^6Actual Pool: {0}"; main_onnewpbqual_avgspeed = "Average speed: {0}{1}"; main_onnewpbqual_posqual = "{0} ^2Pos:{1} - Pool:{2}"; main_accel = "^8Accelerated in ^3{0}^8 seconds to {1} {2}!"; main_notpitwindow = "{0} ^1You are not on pit Windows, allowed in {1}-{2}"; main_inpitwindows = "{0} ^1You are allowed to pit"; main_outpitwindows = "{0} ^1You are not allowed to pit"; main_beginpit = "{0}^8 makes a pit stop"; main_pitwork = "Pit begin! Work:{0}"; main_endpit = "{0}^8 left pits in {1}"; main_endpitpriv = "Pit stop finished in {0} - Total Pit: {1}"; main_fastdrivepitl1_1 = "{0}^1 Warning for fast driving in pit"; main_fastdrivepitl1_2 = "^1WARNING-KICK POSSIBLE" ; main_fastdrivepitl2_1 = "{0}^1 Spectated for fast driving in pit"; main_fastdrivepitl2_2 = "^1KICK IN {0} TRY" ; main_maxfastdrivepit1 = "{0}^1 kicked for fast driving in pit"; main_maxfastdrivepit2 = "^1YOU ARE KICKED"; main_quiz = "^3Type in the name of a fruit or vegetable"; main_scotland = "^3Scotland: ^2Country that sits on top of England!"; main_santa = "{0}^3 - you sound like Santa!"; main_funny = "^1What's so funny, {0}^1?"; main_funny2 = "^1You're right. That was funny!"; main_sorry = "^3Hopefully your apology was accepted."; main_brb = "^3Missing you already. Hurry back."; main_bye = "^3Bye, and thanks for racing with ^1Sin'rs."; main_g25 = "^2Logitech G25. ^3THE wheel of choice!"; main_dutch = "^3Netherlands: ^2Where they put fingers in dikes!"; main_finland = "^3Finland: ^2Home of Driving Gods!"; main_czech = "^3Na Zdravi!"; main_canada = "^3Canada: ^2Country that sits on top of USA!"; main_swiss = "^3Cuckoo! Cuckoo! "; main_australia = "^3So ^2WHY ^3do you have to tie the kangaroo down?"; main_kiwi = "^3All Kiwi's welcome at this server!"; main_pb = "^3P^2itiful ^3B^2est?"; main_spain = "^3Spain: ^2Where the Spanish come from!"; main_italy = "^3Italy: ^2Where the Italians come from!"; main_england = "^3England: ^2Country that sits under Scotland!"; main_iceland = "^3Icelanders ALWAYS welcome!"; main_god = "^3Why do I ALWAYS get called on a PB?"; main_jesus = "^3Walking on water is easier than driving an UF1 fast!"; main_keys = "^3Keyboarders always have a hands-on attitude!"; main_cheers = "^3Cheers, and Slainte!"; main_feck = "^1That's close to unacceptable language!"; main_restart = "^1Whoa; trying to feed coins into meter!"; main_porn = "^3New scene being set up, so I'm playing LFS just now!"; main_joke = "^3A joke? Wait! I know one! ^2Knock! Knock! "; main_sex = "^3Unsatisfying substitute for LFS online racing!!"; main_penis = "^3Penis: ^2 Poor substitute for a powerful car! "; main_imho = "^3An honest opinion. Such a rarity."; main_hello = "^3Hello to you too, {0}"; main_women = "^3Females: ^2One day they'll rule the world!"; main_imo = "^3Shouldn't there be an ^2'honest' ^3in that?"; main_help2 = "^3Your request for help has been noted (and ignored)."; main_wtf = "^3What indeed!"; main_omg = "^3You have your own personal God?"; main_alien = "^2Aliens? Beam me up Scotty!"; main_sinanju = "^3All give thanks to Sinanju!"; main_ja = "^3Ja: ^2That's a yes then?"; main_please = "^3Please? Nice to see someone with manners."; main_brake1 = "^3Back of other car isn't substitute for your own brakes "; main_noob = "^2Look out!! Noobs about!!"; main_spb = "^1S^3ometimes unobtainable ^1P^3ersonal ^1B^3est"; main_keyboard = "Sinanju uses keyboard so can't respond quickly"; main_KY1Rstartfinish = "Start / Finish line coming up"; main_faster = "Obligation is with faster drivers to pass safely"; main_tired1 = "It's confirmed - Tiredness causes accidents"; main_tired2 = "Would Tiredness please leave the race now!"; main_email = "Comments to sinanju@hotmail.co.uk"; main_fruit = "^2I think that's a fruit"; main_veg = "^2I think that's a vegetable"; main_salad = "^2I think that is a salad vegetable"; built_pos = "Pos"; built_grp = "Grp"; built_car = "Car"; built_track = "Track"; built_nick = "NickName"; built_pb = "Pb"; built_split = "Split"; built_splits = "Splits"; built_points = "Points"; built_nolfspb = "LFS World PB not yet retreived"; built_nolfspbcrit = "No LFS World PB for this criteria"; built_lapsdone = " Laps Done"; built_hand_nick = "^3{0}^9 handicap:"; built_hand_curr = " - Current {0}Kg - Intake Restr.: {1}%"; built_hand_req = " - Required {0}^9 {1}Kg - Intake Rest.: {2}%"; main_warning = "^1!! W A R N I N G !!" . "&{0}"; main_swearL1 = "^3Please do not use swearwords on this server" . "&^1{0}^3 more swearwords, and you will be kicked"; main_warning1 = "^1!! You Were Warned !!" . "&{0}"; main_info = "^2I N F O R M A T I O N" . "&{0}"; main_impressive = "^7I M P R E S S I O N N A N T" . "&{0}"; main_remember = "^1! ^0R E M E M B E R^1 !" . "&{0}"; main_rodent = "^2I believe that is a rodent"; main_fantasy = "^2That is a fantasy animal"; main_bird = "^2That is a bird, not a fruit or vegetable"; main_notquiz = "^2Not specific enough. Neither is it a fruit or vegetable"; main_fish = "^2That is a fish, not a fruit or vegetable"; main_crustacean = "^2That is a crustacean, not a fruit or vegetable"; main_insect = "^2That is an insect, not a fruit or vegetable"; main_snake = "^2That is a snake, not a fruit or vegetable"; main_parrot = "^2Is that parrot deceased?"; main_whale = "^2Mammal that lives in the sea - not what was asked"; main_croc = "^2Why amphibians? Not what was asked"; main_rainbow = "^2One of the colours in a rainbow"; main_colour = "^2This colour rejected by rainbow"; main_ocean = "^2That is a sea, not a fruit or vegetable"; EndLang