sinanju
6th June 2009, 02:04
This isn’t really in the right forum section, but this is where a lot of people are asking for a meter that records a drift score, so I’m putting it here rather than the LFSLapper forum.
Hopefully this may stop a lot of repeat posts for the same thing.
LFSLapper Version
This drift meter will work with LFSLapper V 5.714 or earlier.
If you make extremely small change to the coding script, you should get it to work with V 5.716 too.
(There was a slight change in LFSLapper 5.716, in that the Personal Best and Drift databases lost the .txt suffix (i.e. V5.714 drift database its $DriftDatabase = "./DriftPB.txt, but in V5.716, it’s $DriftDatabase = "./DriftPB. So if you remove the .txt in the coding you can get it to work).
The coding is in 2 parts.
If you want to know what the majority of the coding actually means, see the attached text file. If you’re au fait with programming Lapper, then you’ll know it by heart anyway. It’s all fairly simple and basic stuff – which is why I could do it!
Anyway, now for the coding…
First part goes in the "Sub OnConnectClose()" section, which starts something like " closePrivButton("welc&pos&clos...."
Code has to be put in after closePrivButton, but before the EndSub at the end of the section.
openGlobalButton( "sinrs_dm_logo",5,98,36,6,4,-1,16,"^1Put your name/team name in this space" ); # Put your name/teamname or server or anything else you want in between the quotes - this text (^1) will be in red (see attached text file if you want to learn how to change the text colour)
openGlobalButton( "sinrs_dm_track",5,113,36,5,5,-1,16,"^3Track: ^2" . $LongTrackName . " ^1[" . $ShortTrackName . "]" );
openGlobalButton( "sinrs_dm_caranddriver",5,118,36,5,8,-1,16,"^6Car: ^2". $Car . "^7 - ^6Driver: " . $Nickname . );
openGlobalButton( "sinrs_dm_criteria",5,146,36,4,4,-1,16,"^4Scoring Criteria: "
. "&^7Minimum Drift Speed: ^330MPH / 48kph"
. "&^7Drift Angles (degrees): ^215^3 min / ^1100 ^3max");
openGlobalButton( "sinrs_dm_back",4,97,38,48,4,-1,32," " ); # Blank backing
openGlobalButton( "sinrs_dm _text",5,105,36,8,4,-1,16,"^0DRIFT MASTER ^1(c)Sin'rs" ); # 'DRIFT MASTER is in Black text
openGlobalButton( "sinrs_dm_driftblank",5,124,36,6,4,-1,80,"This Drift Score: " );
openGlobalButton( "sinrs_dm_comboblank",5,131,36,6,4,-1,80,"Total Combo Score: " );
openGlobalButton( "sinrs_dm_angleblank",5,138,36,6,4,-1,80,"Drift Angle: " );
openPrivButton( "sinrs_dm_score",30,124,11,6,4,-1,128,"- - - " ); # Blank. Score will overlay once you start scoring drift points
openPrivButton( "sinrs_dm_combo",30,131,11,6,4,-1,128,"- - - " ); # Blank
openPrivButton( "sinrs_dm _angle",30,138,11,6,4,-1,128,"> - < " ); # Blank
openGlobalButton( "sinrs_dm_criteriablank",4,145,38,14,3,-1,32," " );
The next section should overwrite your complete ‘Drifting options’ lapper section.
#================#
#Drifting options #
#================#
$DriftDatabase = "./DriftPB.txt"; # This is the filepath for a file containing the collected data.
$MinimumDriftSpeed = 48; # Minimum speed in km/h to maintain. Driving below that speed will reset score (48kmph is approx 30MPH)
$MinimumDriftAngle = 15; # Minimum angel to maintain. When angle is below value, score is reset
$MaximumDriftAngle = 100; # Maximum angel to maintain. When angle is above value, score is reset
$GoodDriftScore = 2000; # Value to be reached to execute action on good drift score
$MinimumDriftScore = 250; # Minimum drift score required
Event OnDriftScore()
IF( $AngleVelocity < 0 )
THEN
$AngleVelocity_reverse=($AngleVelocity)*(-1);
openPrivButton( "sinrs_dm_score",30,124,11,6,4,-1,128," ^7" . $LastDriftScore ); # Gray text with white score
openPrivButton( "sinrs_dm_combo",30,131,11,6,4,-1,128," ^2" . $DriftScore ); # Gray text with green score
openPrivButton( "sinrs_dm_angle",30,138,11,6,4,-1,128," ^7" . $AngleVelocity_reverse . "^2 =>" ); # Gray text with white score and green arrow
ELSE
openPrivButton( "sinrs_dm_score",30,124,11,6,4,-1,128," ^7" . $LastDriftScore ); # Gray text with white score
openPrivButton( "sinrs_dm_combo",30,131,11,6,4,-1,128," ^3" . $DriftScore ); # Gray text with yellow score
openPrivButton( "sinrs_dm_angle",30,138,11,6,4,-1,128," ^1<= ^7" . $AngleVelocity . " " ); # Gray text with white score and red arrow
ENDIF
EndEvent
# Message that will be shown to all on a drivers new personal best drift lap.
Event DriftPBAction()
cmdLFS( "/rcm " . $Nickname . "^3 made new drift PB: ^7" . $DriftScore . " ^3pts!" );
cmdLFS( "/rcm_all" );
EndEvent
# Message that will be shown when total lap drift score is higher or equal to MinimumDriftScore.
Event DriftLapAction()
cmdLFS("/msg " . $Nickname . " ^3drifted to ^7" . $DriftScore . " ^3pts" );
EndEvent
# Message that will be shown to all when driver makes a good drift score
Event GoodDriftAction()
cmdLFS( "/rcm " . $Nickname . " ^3made excellent drift: ^7" . $LastDriftScore ." ^3pts" );
cmdLFS( "/rcm_all" );
EndEvent
# Message that will be shown to all if a driver fails to score a minimum amount
Event DriftTooLowAction()
cmdLFS( "/rcm " . $Nickname . " ^3was absolutely rubbish!" );
cmdLFS( "/rcm_all" );
EndEvent
I've also included the 2 parts of the lapper code in a text file, which i've attached, to make it easier to copy and paste.
Remember to save backup copy of your original lapper file before you go changing it.
I take no responsibility for anything. Ask my kids.
If it all works, then I hope you enjoy. Any problems, then revert back to your saved backup copy.
PS I realise I could have used origL and origD for left and down instead of the long winded way I did it, but my way makes it much easier to reverse engineer (learn).
EDIT
-----
And for those of you who're still struggling, I've added the drift master meter coding into a vanilla LFSLapper.lpr (version 5.714) configuration. (File zipped as can't upload .lpr file).
-----
Pablo Donoso
8th November 2009, 09:09
rofl, this stuff reminds me of JavaScript... xD JS isn't all that hard once you get used to the commands, variables, and whatnot. lawlyz.
Can someone check mine out to see if the syntax is proper, I used Sinanju's version of the LFSLapper V 5.844 script. Hopefully I did it correctly. =]
#### DRIFT METER
#### ==========
#### Version 2
#### For Lapper V5.844
#### by Sinanju / [DUB]Azzy
#### Original Drift Meter and re-coding by Sinanju
#### Messaging idea / some coding by [DUB]Azzy
#### Thanks to Gui-luron, Yisc[NL] and Tim[NL]
#### For Lapper program, coding, patience and perseverance
################################################## ###
##################
#Drifting options#
##################
#
# IMPORTANT
# ==========
# Drift option on !GUI must be set to Yes
#
$DriftDatabase = "./DriftPB";
$MinimumDriftSpeed = 15; # Minimum speed in km/h to maintain. Driving below that speed will reset score (25kmph is approx 16MPH)
$MinimumDriftAngle = 5; # Minimum angel to maintain. When angle is below value, score is reset
$MaximumDriftAngle = 120; # Maximum angel to maintain. When angle is above value, score is reset
$GoodDriftScore = 10000; # Value to be reached to execute action on good drift score
$MinimumDriftScore = 100; # Minimum drift score required
Event OnGoodDrift() # Player event
IF( $GUI_drift == "yes" )
THEN
closePrivButton( "driftcomboboxtexttopmessage0&driftcomboboxtexttopmessage&driftcomboboxtexttopmessage1" );
globalMsg( langEngine( "%{main_ongooddrift}%" ,GetCurrentPlayerVar("Nickname"),GetCurrentPlayerVar("LastDriftScore") ) );
openPrivButton( "driftcomboboxtexttopmessage2",85,19,30,5,3,8,16,langEngine( "%{main_driftcomboboxtexttopmessage2}%") );
ENDIF
EndEvent
Event OnDriftLap() # Actions to do to when total lap drift score is higher or equal to MinimumDriftScore.
IF( $GUI_drift == "yes" )
THEN
globalMsg( langEngine( "%{main_driftlap}%" , GetCurrentPlayerVar("Nickname"), GetCurrentPlayerVar("DriftScore")));
ENDIF
EndEvent
Event OnDriftPB() # Actions to do on new personal best drift lap.
IF( $GUI_drift == "yes" )
THEN
PrivRcm( langEngine( "%{main_newdriftpb}%" , GetCurrentPlayerVar("Nickname"),GetCurrentPlayerVar("DriftScore")));
ENDIF
EndEvent
Event OnDriftScore() # This is the section for displaying the Drift Meter and Drift Messages
$AngleVelocity = GetCurrentPlayerVar( "AngleVelocity" );
$DriftScore = GetCurrentPlayerVar( "DriftScore" );
$LastDriftScore = GetCurrentPlayerVar( "LastDriftScore" );
IF( $GUI_drift == "yes" )
THEN
openPrivButton( "mylogo",5,138,22,3,1,-1,16,langEngine( "%{[LLM] Drift Division}%" ));
openPrivButton( "driftboxback",5,137,22,35,4,-1,32," ");
openPrivButton( "driftanglebox",6,146,10,20,4,-1,32," ");
openPrivButton( "driftcombbox",16,146,10,10,3,-1,32," ");
openPrivButton( "driftscorebox",16,156,10,10,3,-1,32," ");
openPrivButton( "driftangleboxtext",6,146,10,5,3,-1,0,langEngine( "%{main_driftangleboxtext}%" ));
openPrivButton( "driftcomboboxtext",16,146,10,5,3,-1,0,langEngine( "%{main_driftcomboboxtext}%" ));
openPrivButton( "driftscoreboxtext",16,156,10,5,3,-1,0,langEngine( "%{main_driftscoreboxtext}%" ));
openPrivButton( "TDSM",6,140,20,4,2,-1,16,langEngine( "%{main_TDSM}%" ) );
openPrivButton( "driftcomboboxtexttop",85,1,30,7,4,-1,96,langEngine( "%{main_driftcomboboxtexttop}%" , $DriftScore ) );
IF( $AngleVelocity < 0 )
THEN
$AngleVelocity = -$AngleVelocity ;
SetCurrentPlayerVar("Angle_Reverse",$AngleVelocity);
closePrivButton( "driftangle&driftzeroangleboxtext&driftzerocomboboxtext&driftzeroscoreboxtext&driftscoretext&driftcombotext&driftangleboxtextanglerev&driftangleboxtextangle");
openPrivButton( "driftangleboxtextanglerev",9,152,6,5,3,-1,0,langEngine( "%{main_driftangleboxtextangle}%" ));
openPrivButton( "driftanglerev",6,153,10,12,3,-1,64,langEngine( "%{main_driftanglerevbox}%" , GetCurrentPlayerVar( "Angle_Reverse")));
openPrivButton( "driftscoretextrev",16,160,9,5,3,-1,0,langEngine( "%{main_driftscoretext}%" , $LastDriftScore ) );
openPrivButton( "driftcombotextrev",17,150,9,7,3,-1,0,langEngine( "%{main_driftcombotext}%" , $DriftScore ) );
ELSE
closePrivButton( "driftanglerev&driftzeroangleboxtext&driftzerocomboboxtext&driftzeroscoreboxtext&driftscoretextrev&driftcombotextrev&driftangleboxtextanglerev&driftangleboxtextangle");
openPrivButton( "driftangleboxtextangle",11,152,5,5,3,-1,128,langEngine( "%{main_driftangleboxtextangle}%" ));
openPrivButton( "driftangle",6,154,10,12,3,-1,64,langEngine( "%{main_driftanglebox}%" , $AngleVelocity ));
openPrivButton( "driftscoretext",16,160,9,5,3,-1,0,langEngine( "%{main_driftscoretext}%" , $LastDriftScore ) );
openPrivButton( "driftcombotext",17,150,9,7,3,-1,0,langEngine( "%{main_driftcombotext}%" , $DriftScore ) );
ENDIF
ENDIF
############ This section is for the messages and symbols invoked depending on the individual scores you make, and appear on the Drift Meter at bottom of screen
## Scoring totals = message
## < 150 = Terrible!
## > 150 = No0blet
## > 300 = Ro0kie
## > 450 = So-So
## > 750 = Decent
## > 1200 = Good
## > 1950 = Cool
## > 3150 = Niiiice
## > 5100 = Professional
# numbers can be changed if you think too high or too low - NO need to change anything else, unless you want to change the message in the LANG section(s)
IF( $LastDriftScore > 150 )
THEN
closePrivButton( "TDSM0&TDSM&TDSM1&TDSM2&TDSM3&TDSM4&TDSM5&TDSM6&TDSM7&TDSM8&TDSM9" );
closePrivButton( "TDSLL&TDSLL1&TDSLL2&TDSLL3&TDSLL4&TDSLL5&TDSLL6&TDSLL7&TDSLL8&TDSLL9" );
closePrivButton( "TDSLR&TDSLR1&TDSLR2&TDSLR3&TDSLR4&TDSLR5&TDSLR6&TDSLR7&TDSLR8&TDSLR9" );
closePrivButton( "TDS11&TDS12&TDS13&TDS14&TDS15&TDS21&TDS22&TDS23&TDS24&TDS25&TDS31&TDS32&TDS33&TDS34&TDS35" );
closePrivButton( "TDS41&TDS42&TDS43&TDS44&TDS45&TDS51&TDS52&TDS53&TDS54&TDS55&TDS61&TDS62&TDS63&TDS64&TDS65" );
closePrivButton( "TDS71&TDS72&TDS73&TDS74&TDS75&TDS81&TDS82&TDS83&TDS84&TDS85&TDS91&TDS92&TDS93&TDS94&TDS95" );
closePrivButton( "TDS01&TDS02&TDS03&TDS04&TDS05" );
openPrivButton( "TDSM2",6,141,20,4,2,-1,16,langEngine( "%{main_TDSM2}%" ) );
openPrivButton( "TDS21",6,167,4,4,2,-1,16,langEngine( "%{main_TDS21}%" ) );
openPrivButton( "TDS22",10,167,4,4,2,-1,16,langEngine( "%{main_TDS22}%" ) );
openPrivButton( "TDS23",14,167,4,4,2,-1,16,langEngine( "%{main_TDS23}%" ) );
openPrivButton( "TDS24",18,167,4,4,2,-1,16,langEngine( "%{main_TDS24}%" ) );
openPrivButton( "TDS25",22,167,4,4,2,-1,16,langEngine( "%{main_TDS25}%" ) );
ELSE
ENDIF
IF( $LastDriftScore > 300 )
THEN
closePrivButton( "TDSM0&TDSM&TDSM1&TDSM2&TDSM3&TDSM4&TDSM5&TDSM6&TDSM7&TDSM8&TDSM9" );
closePrivButton( "TDSLL&TDSLL1&TDSLL2&TDSLL3&TDSLL4&TDSLL5&TDSLL6&TDSLL7&TDSLL8&TDSLL9" );
closePrivButton( "TDSRL&TDSLR1&TDSLR2&TDSLR3&TDSLR4&TDSLR5&TDSLR6&TDSLR7&TDSLR8&TDSLR9" );
closePrivButton( "TDS11&TDS12&TDS13&TDS14&TDS15&TDS21&TDS22&TDS23&TDS24&TDS25&TDS31&TDS32&TDS33&TDS34&TDS35" );
closePrivButton( "TDS41&TDS42&TDS43&TDS44&TDS45&TDS51&TDS52&TDS53&TDS54&TDS55&TDS61&TDS62&TDS63&TDS64&TDS65" );
closePrivButton( "TDS71&TDS72&TDS73&TDS74&TDS75&TDS81&TDS82&TDS83&TDS84&TDS85&TDS91&TDS92&TDS93&TDS94&TDS95" );
closePrivButton( "TDS01&TDS02&TDS03&TDS04&TDS05" );
openPrivButton( "TDSM3",6,141,20,4,2,-1,16,langEngine( "%{main_TDSM3}%" ) );
openPrivButton( "TDS31",6,167,4,4,2,-1,16,langEngine( "%{main_TDS31}%" ) );
openPrivButton( "TDS32",10,167,4,4,2,-1,16,langEngine( "%{main_TDS32}%" ) );
openPrivButton( "TDS33",14,167,4,4,2,-1,16,langEngine( "%{main_TDS33}%" ) );
openPrivButton( "TDS34",18,167,4,4,2,-1,16,langEngine( "%{main_TDS34}%" ) );
openPrivButton( "TDS35",22,167,4,4,2,-1,16,langEngine( "%{main_TDS35}%" ) );
ELSE
ENDIF
IF( $LastDriftScore > 450 )
THEN
closePrivButton( "TDSM0&TDSM&TDSM1&TDSM2&TDSM3&TDSM4&TDSM5&TDSM6&TDSM7&TDSM8&TDSM9" );
closePrivButton( "TDSLL&TDSLL1&TDSLL2&TDSLL3&TDSLL4&TDSLL5&TDSLL6&TDSLL7&TDSLL8&TDSLL9" );
closePrivButton( "TDSRL&TDSLR1&TDSLR2&TDSLR3&TDSLR4&TDSLR5&TDSLR6&TDSLR7&TDSLR8&TDSLR9" );
closePrivButton( "TDS11&TDS12&TDS13&TDS14&TDS15&TDS21&TDS22&TDS23&TDS24&TDS25&TDS31&TDS32&TDS33&TDS34&TDS35" );
closePrivButton( "TDS41&TDS42&TDS43&TDS44&TDS45&TDS51&TDS52&TDS53&TDS54&TDS55&TDS61&TDS62&TDS63&TDS64&TDS65" );
closePrivButton( "TDS71&TDS72&TDS73&TDS74&TDS75&TDS81&TDS82&TDS83&TDS84&TDS85&TDS91&TDS92&TDS93&TDS94&TDS95" );
closePrivButton( "TDS01&TDS02&TDS03&TDS04&TDS05" );
openPrivButton( "TDSM4",6,141,20,4,2,-1,16,langEngine( "%{main_TDSM4}%" ) );
openPrivButton( "TDS41",6,167,4,4,2,-1,16,langEngine( "%{main_TDS41}%" ) );
openPrivButton( "TDS42",10,167,4,4,2,-1,16,langEngine( "%{main_TDS42}%" ) );
openPrivButton( "TDS43",14,167,4,4,2,-1,16,langEngine( "%{main_TDS43}%" ) );
openPrivButton( "TDS44",18,167,4,4,2,-1,16,langEngine( "%{main_TDS44}%" ) );
openPrivButton( "TDS45",22,167,4,4,2,-1,16,langEngine( "%{main_TDS45}%" ) );
ELSE
ENDIF
IF( $LastDriftScore > 750 )
THEN
closePrivButton( "TDSM0&TDSM&TDSM1&TDSM2&TDSM3&TDSM4&TDSM5&TDSM6&TDSM7&TDSM8&TDSM9" );
closePrivButton( "TDSLL&TDSLL1&TDSLL2&TDSLL3&TDSLL4&TDSLL5&TDSLL6&TDSLL7&TDSLL8&TDSLL9" );
closePrivButton( "TDSRL&TDSLR1&TDSLR2&TDSLR3&TDSLR4&TDSLR5&TDSLR6&TDSLR7&TDSLR8&TDSLR9" );
closePrivButton( "TDS11&TDS12&TDS13&TDS14&TDS15&TDS21&TDS22&TDS23&TDS24&TDS25&TDS31&TDS32&TDS33&TDS34&TDS35" );
closePrivButton( "TDS41&TDS42&TDS43&TDS44&TDS45&TDS51&TDS52&TDS53&TDS54&TDS55&TDS61&TDS62&TDS63&TDS64&TDS65" );
closePrivButton( "TDS71&TDS72&TDS73&TDS74&TDS75&TDS81&TDS82&TDS83&TDS84&TDS85&TDS91&TDS92&TDS93&TDS94&TDS95" );
closePrivButton( "TDS01&TDS02&TDS03&TDS04&TDS05" );
openPrivButton( "TDSM5",6,141,20,4,2,-1,16,langEngine( "%{main_TDSM5}%" ) );
openPrivButton( "TDS51",6,167,4,4,2,-1,16,langEngine( "%{main_TDS51}%" ) );
openPrivButton( "TDS52",10,167,4,4,2,-1,16,langEngine( "%{main_TDS52}%" ) );
openPrivButton( "TDS53",14,167,4,4,2,-1,16,langEngine( "%{main_TDS53}%" ) );
openPrivButton( "TDS54",18,167,4,4,2,-1,16,langEngine( "%{main_TDS54}%" ) );
openPrivButton( "TDS55",22,167,4,4,2,-1,16,langEngine( "%{main_TDS55}%" ) );
ELSE
ENDIF
IF( $LastDriftScore > 1200 )
THEN
closePrivButton( "TDSM0&TDSM&TDSM1&TDSM2&TDSM3&TDSM4&TDSM5&TDSM6&TDSM7&TDSM8&TDSM9" );
closePrivButton( "TDSLL&TDSLL1&TDSLL2&TDSLL3&TDSLL4&TDSLL5&TDSLL6&TDSLL7&TDSLL8&TDSLL9" );
closePrivButton( "TDSRL&TDSLR1&TDSLR2&TDSLR3&TDSLR4&TDSLR5&TDSLR6&TDSLR7&TDSLR8&TDSLR9" );
closePrivButton( "TDS11&TDS12&TDS13&TDS14&TDS15&TDS21&TDS22&TDS23&TDS24&TDS25&TDS31&TDS32&TDS33&TDS34&TDS35" );
closePrivButton( "TDS41&TDS42&TDS43&TDS44&TDS45&TDS51&TDS52&TDS53&TDS54&TDS55&TDS61&TDS62&TDS63&TDS64&TDS65" );
closePrivButton( "TDS71&TDS72&TDS73&TDS74&TDS75&TDS81&TDS82&TDS83&TDS84&TDS85&TDS91&TDS92&TDS93&TDS94&TDS95" );
closePrivButton( "TDS01&TDS02&TDS03&TDS04&TDS05" );
openPrivButton( "TDSM6",6,141,20,4,2,-1,16,langEngine( "%{main_TDSM6}%" ) );
openPrivButton( "TDS61",6,167,4,4,2,-1,16,langEngine( "%{main_TDS61}%" ) );
openPrivButton( "TDS62",10,167,4,4,2,-1,16,langEngine( "%{main_TDS62}%" ) );
openPrivButton( "TDS63",14,167,4,4,2,-1,16,langEngine( "%{main_TDS63}%" ) );
openPrivButton( "TDS64",18,167,4,4,2,-1,16,langEngine( "%{main_TDS64}%" ) );
openPrivButton( "TDS65",22,167,4,4,2,-1,16,langEngine( "%{main_TDS65}%" ) );
ELSE
ENDIF
IF( $LastDriftScore > 1950 )
THEN
closePrivButton( "TDSM0&TDSM&TDSM1&TDSM2&TDSM3&TDSM4&TDSM5&TDSM6&TDSM7&TDSM8&TDSM9" );
closePrivButton( "TDSLL&TDSLL1&TDSLL2&TDSLL3&TDSLL4&TDSLL5&TDSLL6&TDSLL7&TDSLL8&TDSLL9" );
closePrivButton( "TDSRL&TDSLR1&TDSLR2&TDSLR3&TDSLR4&TDSLR5&TDSLR6&TDSLR7&TDSLR8&TDSLR9" );
closePrivButton( "TDS11&TDS12&TDS13&TDS14&TDS15&TDS21&TDS22&TDS23&TDS24&TDS25&TDS31&TDS32&TDS33&TDS34&TDS35" );
closePrivButton( "TDS41&TDS42&TDS43&TDS44&TDS45&TDS51&TDS52&TDS53&TDS54&TDS55&TDS61&TDS62&TDS63&TDS64&TDS65" );
closePrivButton( "TDS71&TDS72&TDS73&TDS74&TDS75&TDS81&TDS82&TDS83&TDS84&TDS85&TDS91&TDS92&TDS93&TDS94&TDS95" );
closePrivButton( "TDS01&TDS02&TDS03&TDS04&TDS05" );
openPrivButton( "TDSM7",6,141,20,4,2,-1,16,langEngine( "%{main_TDSM7}%" ) );
openPrivButton( "TDS71",6,167,4,4,2,-1,16,langEngine( "%{main_TDS71}%" ) );
openPrivButton( "TDS72",10,167,4,4,2,-1,16,langEngine( "%{main_TDS72}%" ) );
openPrivButton( "TDS73",14,167,4,4,2,-1,16,langEngine( "%{main_TDS73}%" ) );
openPrivButton( "TDS74",18,167,4,4,2,-1,16,langEngine( "%{main_TDS74}%" ) );
openPrivButton( "TDS75",22,167,4,4,2,-1,16,langEngine( "%{main_TDS75}%" ) );
ELSE
ENDIF
IF( $LastDriftScore > 3150 )
THEN
closePrivButton( "TDSM0&TDSM&TDSM1&TDSM2&TDSM3&TDSM4&TDSM5&TDSM6&TDSM7&TDSM8&TDSM9" );
closePrivButton( "TDSLL&TDSLL1&TDSLL2&TDSLL3&TDSLL4&TDSLL5&TDSLL6&TDSLL7&TDSLL8&TDSLL9" );
closePrivButton( "TDSRL&TDSLR1&TDSLR2&TDSLR3&TDSLR4&TDSLR5&TDSLR6&TDSLR7&TDSLR8&TDSLR9" );
closePrivButton( "TDS11&TDS12&TDS13&TDS14&TDS15&TDS21&TDS22&TDS23&TDS24&TDS25&TDS31&TDS32&TDS33&TDS34&TDS35" );
closePrivButton( "TDS41&TDS42&TDS43&TDS44&TDS45&TDS51&TDS52&TDS53&TDS54&TDS55&TDS61&TDS62&TDS63&TDS64&TDS65" );
closePrivButton( "TDS71&TDS72&TDS73&TDS74&TDS75&TDS81&TDS82&TDS83&TDS84&TDS85&TDS91&TDS92&TDS93&TDS94&TDS95" );
closePrivButton( "TDS01&TDS02&TDS03&TDS04&TDS05" );
openPrivButton( "TDSM8",6,141,20,4,2,-1,16,langEngine( "%{main_TDSM8}%" ) );
openPrivButton( "TDS81",6,167,4,4,2,-1,16,langEngine( "%{main_TDS81}%" ) );
openPrivButton( "TDS82",10,167,4,4,2,-1,16,langEngine( "%{main_TDS82}%" ) );
openPrivButton( "TDS83",14,167,4,4,2,-1,16,langEngine( "%{main_TDS83}%" ) );
openPrivButton( "TDS84",18,167,4,4,2,-1,16,langEngine( "%{main_TDS84}%" ) );
openPrivButton( "TDS85",22,167,4,4,2,-1,16,langEngine( "%{main_TDS85}%" ) );
ELSE
ENDIF
IF( $LastDriftScore > 5100 )
THEN
closePrivButton( "TDSM0&TDSM&TDSM1&TDSM2&TDSM3&TDSM4&TDSM5&TDSM6&TDSM7&TDSM8&TDSM9" );
closePrivButton( "TDSLL&TDSLL1&TDSLL2&TDSLL3&TDSLL4&TDSLL5&TDSLL6&TDSLL7&TDSLL8&TDSLL9" );
closePrivButton( "TDSRL&TDSLR1&TDSLR2&TDSLR3&TDSLR4&TDSLR5&TDSLR6&TDSLR7&TDSLR8&TDSLR9" );
closePrivButton( "TDS11&TDS12&TDS13&TDS14&TDS15&TDS21&TDS22&TDS23&TDS24&TDS25&TDS31&TDS32&TDS33&TDS34&TDS35" );
closePrivButton( "TDS41&TDS42&TDS43&TDS44&TDS45&TDS51&TDS52&TDS53&TDS54&TDS55&TDS61&TDS62&TDS63&TDS64&TDS65" );
closePrivButton( "TDS71&TDS72&TDS73&TDS74&TDS75&TDS81&TDS82&TDS83&TDS84&TDS85&TDS91&TDS92&TDS93&TDS94&TDS95" );
closePrivButton( "TDS01&TDS02&TDS03&TDS04&TDS05" );
openPrivButton( "TDSM9",6,141,20,4,2,-1,16,langEngine( "%{main_TDSM9}%" ) );
openPrivButton( "TDS91",6,167,4,4,2,-1,16,langEngine( "%{main_TDS91}%" ) );
openPrivButton( "TDS92",10,167,4,4,2,-1,16,langEngine( "%{main_TDS92}%" ) );
openPrivButton( "TDS93",14,167,4,4,2,-1,16,langEngine( "%{main_TDS93}%" ) );
openPrivButton( "TDS94",18,167,4,4,2,-1,16,langEngine( "%{main_TDS94}%" ) );
openPrivButton( "TDS95",22,167,4,4,2,-1,16,langEngine( "%{main_TDS95}%" ) );
ELSE
ENDIF
IF( $LastDriftScore < 150 )
THEN
closePrivButton( "TDSM0&TDSM&TDSM1&TDSM2&TDSM3&TDSM4&TDSM5&TDSM6&TDSM7&TDSM8&TDSM9" );
closePrivButton( "TDSLL&TDSLL1&TDSLL2&TDSLL3&TDSLL4&TDSLL5&TDSLL6&TDSLL7&TDSLL8&TDSLL9" );
closePrivButton( "TDSRL&TDSLR1&TDSLR2&TDSLR3&TDSLR4&TDSLR5&TDSLR6&TDSLR7&TDSLR8&TDSLR9" );
closePrivButton( "TDS11&TDS12&TDS13&TDS14&TDS15&TDS21&TDS22&TDS23&TDS24&TDS25&TDS31&TDS32&TDS33&TDS34&TDS35" );
closePrivButton( "TDS41&TDS42&TDS43&TDS44&TDS45&TDS51&TDS52&TDS53&TDS54&TDS55&TDS61&TDS62&TDS63&TDS64&TDS65" );
closePrivButton( "TDS71&TDS72&TDS73&TDS74&TDS75&TDS81&TDS82&TDS83&TDS84&TDS85&TDS91&TDS92&TDS93&TDS94&TDS95" );
closePrivButton( "TDS01&TDS02&TDS03&TDS04&TDS05" );
openPrivButton( "TDSM1",6,141,20,4,2,-1,16,langEngine( "%{main_TDSM1}%") );
openPrivButton( "TDS11",6,167,4,4,2,-1,16,langEngine( "%{main_TDS11}%" ) );
openPrivButton( "TDS12",10,167,4,4,2,-1,16,langEngine( "%{main_TDS12}%" ) );
openPrivButton( "TDS13",14,167,4,4,2,-1,16,langEngine( "%{main_TDS13}%" ) );
openPrivButton( "TDS14",18,167,4,4,2,-1,16,langEngine( "%{main_TDS14}%" ) );
openPrivButton( "TDS15",22,167,4,4,2,-1,16,langEngine( "%{main_TDS15}%" ) );
ELSE
ENDIF
IF( $LastDriftScore < 50 )
THEN
closePrivButton( "TDSM0&TDSM&TDSM1&TDSM2&TDSM3&TDSM4&TDSM5&TDSM6&TDSM7&TDSM8&TDSM9" );
closePrivButton( "TDSLL&TDSLL1&TDSLL2&TDSLL3&TDSLL4&TDSLL5&TDSLL6&TDSLL7&TDSLL8&TDSLL9" );
closePrivButton( "TDSRL&TDSLR1&TDSLR2&TDSLR3&TDSLR4&TDSLR5&TDSLR6&TDSLR7&TDSLR8&TDSLR9" );
closePrivButton( "TDS11&TDS12&TDS13&TDS14&TDS15&TDS21&TDS22&TDS23&TDS24&TDS25&TDS31&TDS32&TDS33&TDS34&TDS35" );
closePrivButton( "TDS41&TDS42&TDS43&TDS44&TDS45&TDS51&TDS52&TDS53&TDS54&TDS55&TDS61&TDS62&TDS63&TDS64&TDS65" );
closePrivButton( "TDS71&TDS72&TDS73&TDS74&TDS75&TDS81&TDS82&TDS83&TDS84&TDS85&TDS91&TDS92&TDS93&TDS94&TDS95" );
closePrivButton( "TDS01&TDS02&TDS03&TDS04&TDS05" );
openPrivButton( "TDSM0",6,141,20,4,2,-1,16,langEngine( "%{main_TDSM0}%") );
openPrivButton( "TDS01",6,167,4,4,2,-1,16,langEngine( "%{main_TDS01}%" ) );
openPrivButton( "TDS02",10,167,4,4,2,-1,16,langEngine( "%{main_TDS02}%" ) );
openPrivButton( "TDS03",14,167,4,4,2,-1,16,langEngine( "%{main_TDS03}%" ) );
openPrivButton( "TDS04",18,167,4,4,2,-1,16,langEngine( "%{main_TDS04}%" ) );
openPrivButton( "TDS05",22,167,4,4,2,-1,16,langEngine( "%{main_TDS05}%" ) );
ELSE
ENDIF
############ This section is for the messages invoked depending on the combined lap score you make, and appears at top of screen
## Scoring totals = message
## < 400 = Terrible
## > 400 = No0blet
## > 600 = Not Bad
## > 1250 = Cool
## > 2750 = Niiiice
## > 5750 = Awesome
## > 11750 = Badass Mofo
## > 15000 = Killer Drifting
## > 20000 = King of RWD Swing
## > 30000 = Professional
# numbers can be changed if you think too high or too low - NO need to change anything else, unless you want to change the message in the LANG section(s)
IF( $DriftScore > 400 )
THEN
closePrivButton( "driftcomboboxtexttopmessage&driftcomboboxtexttopmessage0&drift399_1&drift400_1&drift500_1&drift1000_1&drift2000_1&drift5000_1&drift10000_1&drift15000_1&drift20000_1&drift30000_1" );
openPrivButton( "drift399_1",85,9,30,5,3,-1,32,langEngine( "%{main_driftbarelyadequate}%") );
ELSE
ENDIF
IF( $DriftScore > 600 )
THEN
closePrivButton( "driftcomboboxtexttopmessage&driftcomboboxtexttopmessage0&drift399_1&drift400_1&drift500_1&drift1000_1&drift2000_1&drift5000_1&drift10000_1&drift15000_1&drift20000_1&drift30000_1" );
openPrivButton( "drift500_1",85,9,30,5,3,-1,32,langEngine( "%{main_driftadequate}%") );
ELSE
ENDIF
IF( $DriftScore > 1250 )
THEN
closePrivButton( "driftcomboboxtexttopmessage&driftcomboboxtexttopmessage0&drift399_1&drift400_1&drift500_1&drift1000_1&drift2000_1&drift5000_1&drift10000_1&drift15000_1&drift20000_1&drift30000_1" );
openPrivButton( "drift1000_1",85,9,30,5,3,-1,32,langEngine( "%{main_driftgood}%") );
ELSE
ENDIF
IF( $DriftScore > 2750 )
THEN
closePrivButton( "driftcomboboxtexttopmessage&driftcomboboxtexttopmessage0&drift399_1&drift400_1&drift500_1&drift1000_1&drift2000_1&drift5000_1&drift10000_1&drift15000_1&drift20000_1&drift30000_1" );
openPrivButton( "drift2000_1",85,9,30,5,3,-1,32,langEngine( "%{main_driftsuperb}%") );
ELSE
ENDIF
IF( $DriftScore > 5750 )
THEN
closePrivButton( "driftcomboboxtexttopmessage&driftcomboboxtexttopmessage0&drift399_1&drift400_1&drift500_1&drift1000_1&drift2000_1&drift5000_1&drift10000_1&drift15000_1&drift20000_1&drift30000_1" );
openPrivButton( "drift5000_1",85,9,30,5,3,-1,32,langEngine( "%{main_driftoutrageous}%") );
ELSE
ENDIF
IF( $DriftScore > 11750 )
THEN
closePrivButton( "driftcomboboxtexttopmessage&driftcomboboxtexttopmessage0&drift399_1&drift400_1&drift500_1&drift1000_1&drift2000_1&drift5000_1&drift10000_1&drift15000_1&drift20000_1&drift30000_1" );
openPrivButton( "drift10000_1",85,9,30,5,3,-1,32,langEngine( "%{main_driftinsane}%") );
ELSE
ENDIF
IF( $DriftScore > 15000 )
THEN
closePrivButton( "driftcomboboxtexttopmessage&driftcomboboxtexttopmessage0&drift399_1&drift400_1&drift500_1&drift1000_1&drift2000_1&drift5000_1&drift10000_1&drift15000_1&drift20000_1&drift30000_1" );
openPrivButton( "drift15000_1",85,9,30,5,3,-1,32,langEngine( "%{main_driftroyalty}%") );
ELSE
ENDIF
IF( $DriftScore > 20000 )
THEN
closePrivButton( "driftcomboboxtexttopmessage&driftcomboboxtexttopmessage0&drift399_1&drift400_1&drift500_1&drift1000_1&drift2000_1&drift5000_1&drift10000_1&drift15000_1&drift20000_1&drift30000_1" );
openPrivButton( "drift20000_1",85,9,30,5,3,-1,32,langEngine( "%{main_driftgod}%") );
ELSE
ENDIF
IF( $DriftScore > 30000 )
THEN
closePrivButton( "driftcomboboxtexttopmessage&driftcomboboxtexttopmessage0&drift399_1&drift400_1&drift500_1&drift1000_1&drift2000_1&drift5000_1&drift10000_1&drift15000_1&drift20000_1&drift30000_1" );
openPrivButton( "drift30000_1",85,9,30,5,3,-1,32,langEngine( "%{main_driftnotworthy}%") );
ELSE
ENDIF
IF( $DriftScore < 400 )
THEN
closePrivButton( "driftcomboboxtexttopmessage&driftcomboboxtexttopmessage0&drift399_1&drift400_1&drift500_1&drift1000_1&drift2000_1&drift5000_1&drift10000_1&drift15000_1&drift20000_1&drift30000_1" );
openPrivButton( "drift400_1",85,9,30,5,3,-1,0,langEngine( "%{main_drifttolow}%") );
ELSE
ENDIF
EndEvent
################################
Lang "EN"
main_TDS01 = "^8?";
main_TDS02 = "^8?";
main_TDS03 = "^8?";
main_TDS04 = "^8?";
main_TDS05 = "^8?";
main_TDS11 = "^0:(";
main_TDS12 = "^0:(";
main_TDS13 = "^0:(";
main_TDS14 = "^0:(";
main_TDS15 = "^0:(";
main_TDS21 = "^2+";
main_TDS22 = "^2+";
main_TDS23 = "^2+";
main_TDS24 = "^2+";
main_TDS25 = "^2+";
main_TDS31 = "^3++";
main_TDS32 = "^3++";
main_TDS33 = "^3++";
main_TDS34 = "^3++";
main_TDS35 = "^3++";
main_TDS41 = "^4*";
main_TDS42 = "^4*";
main_TDS43 = "^4*";
main_TDS44 = "^4*";
main_TDS45 = "^4*";
main_TDS51 = "^5**";
main_TDS52 = "^5**";
main_TDS53 = "^5**";
main_TDS54 = "^5**";
main_TDS55 = "^5**";
main_TDS61 = "^6:)";
main_TDS62 = "^6*";
main_TDS63 = "^6:)";
main_TDS64 = "^6*";
main_TDS65 = "^6:)";
main_TDS71 = "^7!";
main_TDS72 = "^7!";
main_TDS73 = "^7!";
main_TDS74 = "^7!";
main_TDS75 = "^7!";
main_TDS81 = "^8!!";
main_TDS82 = "^8!!";
main_TDS83 = "^8!!";
main_TDS84 = "^8!!";
main_TDS85 = "^8!!";
main_TDS91 = "^1:)";
main_TDS92 = "^1:)";
main_TDS93 = "^1:)";
main_TDS94 = "^1:)";
main_TDS95 = "^1:)";
main_TDSM = "^7How's my drifting?";
main_TDSM0 = "^8How's my drifting?";
main_TDSM1 = "^0Terrible, just terrible.";
main_TDSM2 = "^2That was crappy driving.";
main_TDSM3 = "^3Not too shabby.";
main_TDSM4 = "^4Decent driving.";
main_TDSM5 = "^5Good lap, Keep it up.";
main_TDSM6 = "^6Coool, great job.";
main_TDSM7 = "^7You're killing it, hi5.";
main_TDSM8 = "^8Awesome display of skill.";
main_TDSM9 = "^1Professional Status.";
main_driftbarelyadequate = "^3Barely any drifting skills";
main_driftadequate = "^3Adequate drifting skills";
main_driftgood = "^4Some good drifting skills";
main_driftsuperb = "^5Some superb drifting skills!";
main_driftoutrageous = "^6Outrageous drifting skills!";
main_driftinsane = "^7Insane drifting!";
main_driftroyalty = "^0DRIFT ROYALTY!";
main_driftgod = "^1You are officially a&^1! DRIFTING GOD !";
main_driftnotworthy = "^0We are ^1NOT ^0worthy!";
main_mylogo = "^1[LLM] Drift Division"; # Change message between quote marks to suit
main_driftanglebox = "^3< ^7{0}";
main_driftangleboxtext = "^8Slip Angle:";
main_driftangleboxtextangle = "^1o";
main_driftanglerevbox = "^7{0} ^2>";
main_driftcomboboxtext = "^8Combo score:";
main_driftcomboboxtexttop = "^2Total points scored ^3this lap: ^7{0}";
main_driftcomboboxtexttopmessage = "^3That was really&^1CRAPPY ^3drifting";
main_driftcomboboxtexttopmessage2 = "^3Niiiice drifting.";
main_driftscoretext = "^1+ ^7{0}";
main_driftscoreboxtext = "^8This Score:";
main_driftscoretext = "^1+ ^7{0}";
Thanks if anyone can test it out, or even take a look through it to see if there's any errors. It's greatly appreciated guys. =]
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.