The online racing simulator
Vic, I'm trying to import the teams info into our server's database but the ?action=teams appears to have some problems. We think it's sometimes not sending host headers, because what we're often getting is the file getstat2.php as a file. All the other ?name=value pairs are fine, but this one's intermittently burgered.

What I really really would like is to be able to retrieve the team membership of a user.. ?action=teaminfo&user=samh responds with the team information of UKCT, for example. Since we're on the topic, I thought I might as well just field that

[edit] nvm.. I'm an idiot.. the SDK rocks
nm'ing
Haha, that's funny. Glad to see people are getting use out of that SDK.
Hi Victor,

The FBM car tag isn't displayed in the PB output. Where the car should be it's blank!

The last couple of line from my PB PubStats output shows:

001 FXO 88510 5
500 XFR 106790 16
151 66980 41 <---- this should be '151 FBM 66980 41'
should be ok again
Thanks Victor
Hi,
can anyone point me to the TOS regarding PubStats? I'm looking for information about using 2 IdentKeys on a single IP.
I don't believe there's anything written about it, but I believe that the pubstats works not only on ident key, but also on originating IP, from what Victor has said in the past.
Changes on Desktop
Hello,

i have seen that the LFS Desktop has some changes. Now it shows how many fuel is required. Did we get the changes in PB request too in the near future? I have start to write my own fuel db, but i can only calculate accurate when the user is driven only on 1 track with 1 car.
in the next version i can put the new info in there yes. Don't know when that'll be - when there's need for it probably.
Have you a release date for next release Victor?
I'm expecting pubstats to be updated with the exciting new features like:

* Online PB Split times, timestamp, etc.
* Hotlap options bits (there has changes since 0.5Y) like handicups usage, clutch, no helps (GC, GB...).
* Host bits, like for cruise option and so on... Or car usage bits for new car FBM (I guessed it, and it works). For car classes (S-S and ALL has new car). ;-)
* Racer profile data (Country, realname, birthdate, etc.)
* Team official ID (I currently using a md5 of the team name to index it on my DB).

Some samples of our usage of pubstats at our team website:
http://mktt.info/lfsw/team
http://mktt.info/lfsw/racer

http://mktt.info/lfsw/team/Michael%2BKnight%2BTribute%2BTeam
http://mktt.info/lfsw/racer/kanutron

BTW, I using this PHP arrays. Some one can confirm that are correct?


<?php 
    $lfsw_cache_cars 
= array(
      
'XFG' => array('name'=>'XF GTI'       ,'bit'=>1       ,'short_name'=>'XFG'),
      
'XRG' => array('name'=>'XR GT'        ,'bit'=>2       ,'short_name'=>'XRG'),
      
'XRT' => array('name'=>'XR GT Turbo'  ,'bit'=>4       ,'short_name'=>'XRT'),
      
'RB4' => array('name'=>'RB4 GT'       ,'bit'=>8       ,'short_name'=>'RB4'),
      
'FXO' => array('name'=>'FXO Turbo'    ,'bit'=>16      ,'short_name'=>'FXO'),
      
'LX4' => array('name'=>'LX4'          ,'bit'=>32      ,'short_name'=>'LX4'),
      
'LX6' => array('name'=>'LX6'          ,'bit'=>64      ,'short_name'=>'LX6'),
      
'MRT' => array('name'=>'MTR5'         ,'bit'=>128     ,'short_name'=>'MRT'),
      
'UF1' => array('name'=>'UF 1000'      ,'bit'=>256     ,'short_name'=>'UF1'),
      
'RAC' => array('name'=>'RaceAbout'    ,'bit'=>512     ,'short_name'=>'RAC'),
      
'FZ5' => array('name'=>'FZ50'         ,'bit'=>1024    ,'short_name'=>'FZ5'),
      
'FOX' => array('name'=>'Formula XR'   ,'bit'=>2048    ,'short_name'=>'FOX'),
      
'XFR' => array('name'=>'XF GTR'       ,'bit'=>4096    ,'short_name'=>'XFR'),
      
'UFR' => array('name'=>'UF GTR'       ,'bit'=>8192    ,'short_name'=>'UFR'),
      
'FO8' => array('name'=>'Formula V8'   ,'bit'=>16384   ,'short_name'=>'FO8'),
      
'FXR' => array('name'=>'FXO GTR'      ,'bit'=>32768   ,'short_name'=>'FXR'),
      
'XRR' => array('name'=>'XR GTR'       ,'bit'=>65536   ,'short_name'=>'XRR'),
      
'FZR' => array('name'=>'FZ50 GTR'     ,'bit'=>131072  ,'short_name'=>'FZR'),
      
'BF1' => array('name'=>'BMW Sauber'   ,'bit'=>262144  ,'short_name'=>'BF1'),
      
'FBM' => array('name'=>'Formula BMW'  ,'bit'=>524288  ,'short_name'=>'FBM'),
    );


    
$lfsw_cache_cars_classes = array(
      
'ALL' => array('name'=>'All Cars Allowed'          ,'bit'=>1048575 ,'short_name'=>'ALL'),
      
'STD' => array('name'=>'STD: UF1,XFG,XRG'          ,'bit'=>259     ,'short_name'=>'STD'),
      
'TBO' => array('name'=>'TBO: RB4,FXO,XRT'          ,'bit'=>28      ,'short_name'=>'TBO'),
      
'LRF' => array('name'=>'LRF: LX6,RAC,FZ5'          ,'bit'=>1600    ,'short_name'=>'LRF'),
      
'FWD' => array('name'=>'FWD: UF1,XFG,FXO,UFR,XFR'  ,'bit'=>12561   ,'short_name'=>'FWD'),
      
'GTR' => array('name'=>'GTR: FXR,XRR,FZR'          ,'bit'=>229376  ,'short_name'=>'GTR'),
      
'S-S' => array('name'=>'S-S: MRT,FBM,FOX,FO8,BF1'  ,'bit'=>804992  ,'short_name'=>'S-S'),
    );


    
$lfsw_cache_tracks = array(
      
'BL1' => array('name'=>'Blackwood',  'config'=>'GP Track',       'direction'=>'Standard',     'kms'=>3.3'lfsw_code'=>'000''short_name'=>'BL1'),
      
'BL1R'=> array('name'=>'Blackwood',  'config'=>'GP Track',       'direction'=>'Reversed',     'kms'=>3.3'lfsw_code'=>'001''short_name'=>'BL1R'),
      
'BL2' => array('name'=>'Blackwood',  'config'=>'Rally Cross',    'direction'=>'Standard',     'kms'=>1.8'lfsw_code'=>'010''short_name'=>'BL2'),
      
'BL2R'=> array('name'=>'Blackwood',  'config'=>'Rally Cross',    'direction'=>'Reversed',     'kms'=>1.8'lfsw_code'=>'011''short_name'=>'BL2R'),
      
'BL3' => array('name'=>'Blackwood',  'config'=>'Car Park',       'direction'=>'Arena',        'kms'=>0.3'lfsw_code'=>'020''short_name'=>'BL3'),
      
'SO1' => array('name'=>'South City''config'=>'Classic',        'direction'=>'Standard',     'kms'=>2.0'lfsw_code'=>'100''short_name'=>'SO1'),
      
'SO1R'=> array('name'=>'South City''config'=>'Classic',        'direction'=>'Reversed',     'kms'=>2.0'lfsw_code'=>'101''short_name'=>'SO1R'),
      
'SO2' => array('name'=>'South City''config'=>'Sprint Track 1''direction'=>'Standard',     'kms'=>2.0'lfsw_code'=>'110''short_name'=>'SO2'),
      
'SO2R'=> array('name'=>'South City''config'=>'Sprint Track 1''direction'=>'Reversed',     'kms'=>2.0'lfsw_code'=>'111''short_name'=>'SO2R'),
      
'SO3' => array('name'=>'South City''config'=>'Sprint Track 2''direction'=>'Standard',     'kms'=>1.3'lfsw_code'=>'120''short_name'=>'SO3'),
      
'SO3R'=> array('name'=>'South City''config'=>'Sprint Track 2''direction'=>'Reversed',     'kms'=>1.3'lfsw_code'=>'121''short_name'=>'SO3R'),
      
'SO4' => array('name'=>'South City''config'=>'Long',           'direction'=>'Standard',     'kms'=>4.0'lfsw_code'=>'130''short_name'=>'SO4'),
      
'SO4R'=> array('name'=>'South City''config'=>'Long',           'direction'=>'Reversed',     'kms'=>4.0'lfsw_code'=>'131''short_name'=>'SO4R'),
      
'SO5' => array('name'=>'South City''config'=>'Town Course',    'direction'=>'Standard',     'kms'=>3.1'lfsw_code'=>'140''short_name'=>'SO5'),
      
'SO5R'=> array('name'=>'South City''config'=>'Town Course',    'direction'=>'Reversed',     'kms'=>3.1'lfsw_code'=>'141''short_name'=>'SO5R'),
      
'SO6' => array('name'=>'South City''config'=>'Chicane Route',  'direction'=>'Standard',     'kms'=>2.9'lfsw_code'=>'150''short_name'=>'SO6'),
      
'SO6R'=> array('name'=>'South City''config'=>'Chicane Route',  'direction'=>'Reversed',     'kms'=>2.9'lfsw_code'=>'151''short_name'=>'SO6R'),
      
'FE1' => array('name'=>'Fern Bay',   'config'=>'Club',           'direction'=>'Standard',     'kms'=>1.6'lfsw_code'=>'200''short_name'=>'FE1'),
      
'FE1R'=> array('name'=>'Fern Bay',   'config'=>'Club',           'direction'=>'Reversed',     'kms'=>1.6'lfsw_code'=>'201''short_name'=>'FE1R'),
      
'FE2' => array('name'=>'Fern Bay',   'config'=>'Green Track',    'direction'=>'Standard',     'kms'=>3.1'lfsw_code'=>'210''short_name'=>'FE2'),
      
'FE2R'=> array('name'=>'Fern Bay',   'config'=>'Green Track',    'direction'=>'Reversed',     'kms'=>3.1'lfsw_code'=>'211''short_name'=>'FE2R'),
      
'FE3' => array('name'=>'Fern Bay',   'config'=>'Gold Track',     'direction'=>'Standard',     'kms'=>3.5'lfsw_code'=>'220''short_name'=>'FE3'),
      
'FE3R'=> array('name'=>'Fern Bay',   'config'=>'Gold Track',     'direction'=>'Reversed',     'kms'=>3.5'lfsw_code'=>'221''short_name'=>'FE3R'),
      
'FE4' => array('name'=>'Fern Bay',   'config'=>'Black Track',    'direction'=>'Standard',     'kms'=>6.6'lfsw_code'=>'230''short_name'=>'FE4'),
      
'FE4R'=> array('name'=>'Fern Bay',   'config'=>'Black Track',    'direction'=>'Reversed',     'kms'=>6.6'lfsw_code'=>'231''short_name'=>'FE4R'),
      
'FE5' => array('name'=>'Fern Bay',   'config'=>'Rally Cross',    'direction'=>'Standard',     'kms'=>2.0'lfsw_code'=>'240''short_name'=>'FE5'),
      
'FE5R'=> array('name'=>'Fern Bay',   'config'=>'Rally Cross',    'direction'=>'Reversed',     'kms'=>2.0'lfsw_code'=>'241''short_name'=>'FE5R'),
      
'FE6' => array('name'=>'Fern Bay',   'config'=>'RallyX Green',   'direction'=>'Standard',     'kms'=>0.7'lfsw_code'=>'250''short_name'=>'FE6'),
      
'FE6R'=> array('name'=>'Fern Bay',   'config'=>'RallyX Green',   'direction'=>'Reversed',     'kms'=>0.7'lfsw_code'=>'251''short_name'=>'FE6R'),
      
'AU1' => array('name'=>'Autocross',  'config'=>'Autocross',      'direction'=>'Arena',        'kms'=>0.3'lfsw_code'=>'300''short_name'=>'AU1'),
      
'AU2' => array('name'=>'Autocross',  'config'=>'Slod Pad',       'direction'=>'Arena',        'kms'=>0.1'lfsw_code'=>'310''short_name'=>'AU2'),
      
'AU3' => array('name'=>'Autocross',  'config'=>'Drag Strip',     'direction'=>'Single Stage''kms'=>0.7'lfsw_code'=>'320''short_name'=>'AU3'),
      
'AU4' => array('name'=>'Autocross',  'config'=>'8 Lane Drag',    'direction'=>'Single Stage''kms'=>0.7'lfsw_code'=>'330''short_name'=>'AU4'),
      
'KY1' => array('name'=>'Kyoto Ring''config'=>'Oval',           'direction'=>'Standard',     'kms'=>3.0'lfsw_code'=>'400''short_name'=>'KY1'),
      
'KY1R'=> array('name'=>'Kyoto Ring''config'=>'Oval',           'direction'=>'Reversed',     'kms'=>3.0'lfsw_code'=>'401''short_name'=>'KY1R'),
      
'KY2' => array('name'=>'Kyoto Ring''config'=>'National',       'direction'=>'Standard',     'kms'=>5.1'lfsw_code'=>'410''short_name'=>'KY2'),
      
'KY2R'=> array('name'=>'Kyoto Ring''config'=>'National',       'direction'=>'Reversed',     'kms'=>5.1'lfsw_code'=>'411''short_name'=>'KY2R'),
      
'KY3' => array('name'=>'Kyoto Ring''config'=>'GP Long',        'direction'=>'Standard',     'kms'=>7.4'lfsw_code'=>'420''short_name'=>'KY3'),
      
'KY3R'=> array('name'=>'Kyoto Ring''config'=>'GP Long',        'direction'=>'Reversed',     'kms'=>7.4'lfsw_code'=>'421''short_name'=>'KY3R'),
      
'WE1' => array('name'=>'Westhill',   'config'=>'International',  'direction'=>'Standard',     'kms'=>5.2'lfsw_code'=>'500''short_name'=>'WE1'),
      
'WE1R'=> array('name'=>'Westhill',   'config'=>'International',  'direction'=>'Reversed',     'kms'=>5.2'lfsw_code'=>'501''short_name'=>'WE1R'),
      
'AS1' => array('name'=>'Aston',      'config'=>'Cadet',          'direction'=>'Standard',     'kms'=>1.9'lfsw_code'=>'600''short_name'=>'AS1'),
      
'AS1R'=> array('name'=>'Aston',      'config'=>'Cadet',          'direction'=>'Reversed',     'kms'=>1.9'lfsw_code'=>'601''short_name'=>'AS1R'),
      
'AS2' => array('name'=>'Aston',      'config'=>'Club',           'direction'=>'Standard',     'kms'=>3.1'lfsw_code'=>'610''short_name'=>'AS2'),
      
'AS2R'=> array('name'=>'Aston',      'config'=>'Club',           'direction'=>'Reversed',     'kms'=>3.1'lfsw_code'=>'611''short_name'=>'AS2R'),
      
'AS3' => array('name'=>'Aston',      'config'=>'National',       'direction'=>'Standard',     'kms'=>5.6'lfsw_code'=>'620''short_name'=>'AS3'),
      
'AS3R'=> array('name'=>'Aston',      'config'=>'National',       'direction'=>'Reversed',     'kms'=>5.6'lfsw_code'=>'621''short_name'=>'AS3R'),
      
'AS4' => array('name'=>'Aston',      'config'=>'Historic',       'direction'=>'Standard',     'kms'=>8.1'lfsw_code'=>'630''short_name'=>'AS4'),
      
'AS4R'=> array('name'=>'Aston',      'config'=>'Historic',       'direction'=>'Reversed',     'kms'=>8.1'lfsw_code'=>'631''short_name'=>'AS4R'),
      
'AS5' => array('name'=>'Aston',      'config'=>'Grand Prix',     'direction'=>'Standard',     'kms'=>8.8'lfsw_code'=>'640''short_name'=>'AS5'),
      
'AS5R'=> array('name'=>'Aston',      'config'=>'Grand Prix',     'direction'=>'Reversed',     'kms'=>8.8'lfsw_code'=>'641''short_name'=>'AS5R'),
      
'AS6' => array('name'=>'Aston',      'config'=>'Grand Touring',  'direction'=>'Standard',     'kms'=>8.0'lfsw_code'=>'650''short_name'=>'AS6'),
      
'AS6R'=> array('name'=>'Aston',      'config'=>'Grand Touring',  'direction'=>'Reversed',     'kms'=>8.0'lfsw_code'=>'651''short_name'=>'AS6R'),
      
'AS7' => array('name'=>'Aston',      'config'=>'North',          'direction'=>'Standard',     'kms'=>5.2'lfsw_code'=>'660''short_name'=>'AS7'),
      
'AS7R'=> array('name'=>'Aston',      'config'=>'North',          'direction'=>'Reversed',     'kms'=>5.2'lfsw_code'=>'661''short_name'=>'AS7R'),
    );
    
$lfsw_cache_tracks['000'] = &$lfsw_cache_tracks['BL1'];
    
$lfsw_cache_tracks['001'] = &$lfsw_cache_tracks['BL1R'];
    
$lfsw_cache_tracks['010'] = &$lfsw_cache_tracks['BL2'];
    
$lfsw_cache_tracks['011'] = &$lfsw_cache_tracks['BL2R'];
    
$lfsw_cache_tracks['020'] = &$lfsw_cache_tracks['BL3'];
    
$lfsw_cache_tracks['100'] = &$lfsw_cache_tracks['SO1'];
    
$lfsw_cache_tracks['101'] = &$lfsw_cache_tracks['SO1R'];
    
$lfsw_cache_tracks['110'] = &$lfsw_cache_tracks['SO2'];
    
$lfsw_cache_tracks['111'] = &$lfsw_cache_tracks['SO2R'];
    
$lfsw_cache_tracks['120'] = &$lfsw_cache_tracks['SO3'];
    
$lfsw_cache_tracks['121'] = &$lfsw_cache_tracks['SO3R'];
    
$lfsw_cache_tracks['130'] = &$lfsw_cache_tracks['SO4'];
    
$lfsw_cache_tracks['131'] = &$lfsw_cache_tracks['SO4R'];
    
$lfsw_cache_tracks['140'] = &$lfsw_cache_tracks['SO5'];
    
$lfsw_cache_tracks['141'] = &$lfsw_cache_tracks['SO5R'];
    
$lfsw_cache_tracks['150'] = &$lfsw_cache_tracks['SO6'];
    
$lfsw_cache_tracks['151'] = &$lfsw_cache_tracks['SO6R'];
    
$lfsw_cache_tracks['200'] = &$lfsw_cache_tracks['FE1'];
    
$lfsw_cache_tracks['201'] = &$lfsw_cache_tracks['FE1R'];
    
$lfsw_cache_tracks['210'] = &$lfsw_cache_tracks['FE2'];
    
$lfsw_cache_tracks['211'] = &$lfsw_cache_tracks['FE2R'];
    
$lfsw_cache_tracks['220'] = &$lfsw_cache_tracks['FE3'];
    
$lfsw_cache_tracks['221'] = &$lfsw_cache_tracks['FE3R'];
    
$lfsw_cache_tracks['230'] = &$lfsw_cache_tracks['FE4'];
    
$lfsw_cache_tracks['231'] = &$lfsw_cache_tracks['FE4R'];
    
$lfsw_cache_tracks['240'] = &$lfsw_cache_tracks['FE5'];
    
$lfsw_cache_tracks['241'] = &$lfsw_cache_tracks['FE5R'];
    
$lfsw_cache_tracks['250'] = &$lfsw_cache_tracks['FE6'];
    
$lfsw_cache_tracks['251'] = &$lfsw_cache_tracks['FE6R'];
    
$lfsw_cache_tracks['300'] = &$lfsw_cache_tracks['AU1'];
    
$lfsw_cache_tracks['310'] = &$lfsw_cache_tracks['AU2'];
    
$lfsw_cache_tracks['320'] = &$lfsw_cache_tracks['AU3'];
    
$lfsw_cache_tracks['330'] = &$lfsw_cache_tracks['AU4'];
    
$lfsw_cache_tracks['400'] = &$lfsw_cache_tracks['KY1'];
    
$lfsw_cache_tracks['401'] = &$lfsw_cache_tracks['KY1R'];
    
$lfsw_cache_tracks['410'] = &$lfsw_cache_tracks['KY2'];
    
$lfsw_cache_tracks['411'] = &$lfsw_cache_tracks['KY2R'];
    
$lfsw_cache_tracks['420'] = &$lfsw_cache_tracks['KY3'];
    
$lfsw_cache_tracks['421'] = &$lfsw_cache_tracks['KY3R'];
    
$lfsw_cache_tracks['500'] = &$lfsw_cache_tracks['WE1'];
    
$lfsw_cache_tracks['501'] = &$lfsw_cache_tracks['WE1R'];
    
$lfsw_cache_tracks['600'] = &$lfsw_cache_tracks['AS1'];
    
$lfsw_cache_tracks['601'] = &$lfsw_cache_tracks['AS1R'];
    
$lfsw_cache_tracks['610'] = &$lfsw_cache_tracks['AS2'];
    
$lfsw_cache_tracks['611'] = &$lfsw_cache_tracks['AS2R'];
    
$lfsw_cache_tracks['620'] = &$lfsw_cache_tracks['AS3'];
    
$lfsw_cache_tracks['621'] = &$lfsw_cache_tracks['AS3R'];
    
$lfsw_cache_tracks['630'] = &$lfsw_cache_tracks['AS4'];
    
$lfsw_cache_tracks['631'] = &$lfsw_cache_tracks['AS4R'];
    
$lfsw_cache_tracks['640'] = &$lfsw_cache_tracks['AS5'];
    
$lfsw_cache_tracks['641'] = &$lfsw_cache_tracks['AS5R'];
    
$lfsw_cache_tracks['650'] = &$lfsw_cache_tracks['AS6'];
    
$lfsw_cache_tracks['651'] = &$lfsw_cache_tracks['AS6R'];
    
$lfsw_cache_tracks['660'] = &$lfsw_cache_tracks['AS7'];
    
$lfsw_cache_tracks['661'] = &$lfsw_cache_tracks['AS7R'];
?>

Quote from kanutron :Have you a release date for next release Victor?
I'm expecting pubstats to be updated with the exciting new features like:

* Online PB Split times, timestamp, etc.
* Hotlap options bits (there has changes since 0.5Y) like handicups usage, clutch, no helps (GC, GB...).
* Host bits, like for cruise option and so on... Or car usage bits for new car FBM (I guessed it, and it works). For car classes (S-S and ALL has new car). ;-)
* Racer profile data (Country, realname, birthdate, etc.)
* Team official ID (I currently using a md5 of the team name to index it on my DB).

i'm doing some more lfsworld updates soon, so i'll wait until these are done.
Your list of updates seems good, though i'm not sure about racer profiles.
The hotlap and host bits should already be there like you guessed. That only requires a documentation update. You can find the meaning of the bits in the official LFS InSim docs too btw.
Quote from Victor :... Your list of updates seems good, though i'm not sure about racer profiles. ...

I'd like to be able to get personal data (real name, DoB, nationality etc.) too, though I can understand if you are bothered about possible privacy issues. The data is already publically available to anyone on LFS World though, so maybe there's some other reason you wouldn't want to do it?
Biggest problem there is that when you download and store someone's profile, and then that person switches to 'hide real name' and such on lfsworld, you still have his name stored. It no longer leaves a user fully under control over their privacy options.

A small point alongside this is that i feel hesitant supplying a mass download function for these kind of details. That they are visible at lfsworld does not promote mass gathering of data AND as said above, a user has the option to turn it off any time he wants to.
That's a good point and something which I hadn't thought of. Maybe you could just make that data available to a few trusted sites, such as icespy, and then insist that those sites checked regularly whether the data had recently become hidden, and if so their site should also hide it.

Anyway, it would be nice if we could get nationalities at least, since those can't be hidden .
i'll have a think about that and see what can and cannot be put in pubstats.
imo, i don't think real names should be part of the pubstats export.

the only reason most people would care about names is if it were for people they actually knew, and in that case that can just write a function to switch the user name to the real name, which is stored in the calling script.

although, as a 2nd thought, could the racer name be added?
that would be helpful for people that use a different racername from their account name. (like myself)

if not, no problem, because i can just sure the same method as above
Quote from Victor :...though i'm not sure about racer profiles.

Ok.

Quote from Victor :You can find the meaning of the bits in the official LFS InSim docs too btw.

Found! So...


<?php 
function lfsw_get_hotlap_flags_array($bits) {
  
$tmp = array();
  
$tmp['lhd'] =  (   $bits) ? TRUE FALSE// left hand
  
$tmp['r2'] =   (   $bits) ? TRUE FALSE// was change cut
  
$tmp['r4'] =   (   $bits) ? TRUE FALSE// was chabge blip
  
$tmp['ag'] =   (   $bits) ? TRUE FALSE// autogears
  
$tmp['sh'] =   (  16 $bits) ? TRUE FALSE// shifter
  
$tmp['r32'] =  (  32 $bits) ? TRUE FALSE// reserved
  
$tmp['bh'] =   (  64 $bits) ? TRUE FALSE// brake help
  
$tmp['cl'] =   ( 128 $bits) ? TRUE FALSE// axis clutch
  
$tmp['pits'] = ( 256 $bits) ? TRUE FALSE// in pits (hotlap?)
  
$tmp['ac'] =   ( 512 $bits) ? TRUE FALSE// autoclutch
  
$tmp['ms'] =   (1024 $bits) ? TRUE FALSE// mouse
  
$tmp['kn'] =   (2048 $bits) ? TRUE FALSE// keyboard no help
  
$tmp['ks'] =   (4096 $bits) ? TRUE FALSE// keyboard stabilished
  
$tmp['cv'] =   (8192 $bits) ? TRUE FALSE// custom view

  
$tmp['rhd'] = !$tmp['lhd'];
  
$tmp['w'] = (!$tmp['m'] && !$tmp['kn'] && !$tmp['ks']);
  return 
$tmp;
}

function 
lfsw_get_host_rules_array($bits) {
  
$tmp = array();
  
$tmp['vote'] =     (  $bits) ? TRUE FALSE;
  
$tmp['select'] =   (  $bits) ? TRUE FALSE;
  
$tmp['qual'] =     (  $bits) ? TRUE FALSE;
  
$tmp['private'] =  (  $bits) ? TRUE FALSE;
  
$tmp['modified'] = ( 16 $bits) ? TRUE FALSE;
  
$tmp['midrace'] =  ( 32 $bits) ? TRUE FALSE;
  
$tmp['mustpit'] =  ( 64 $bits) ? TRUE FALSE;
  
$tmp['canreset'] = (128 $bits) ? TRUE FALSE;
  
$tmp['fcv'] =      (256 $bits) ? TRUE FALSE;
  
$tmp['cruise'] =   (512 $bits) ? TRUE FALSE;
  return 
$tmp;
}

function 
lfsw_get_team_flags_array($bits) {
  
$tmp = array();
  
$tmp['race'] =     (  $bits) ? TRUE FALSE;
  
$tmp['drift'] =    (  $bits) ? TRUE FALSE;
  
$tmp['drag'] =     (  $bits) ? TRUE FALSE;
  
$tmp['canapply'] = (  $bits) ? TRUE FALSE;
  
$tmp['hashost'] =  ( 16 $bits) ? TRUE FALSE;
  
$tmp['demo'] =     ( 32 $bits) ? TRUE FALSE;
  
$tmp['s1'] =       ( 64 $bits) ? TRUE FALSE;
  
$tmp['s2'] =       (128 $bits) ? TRUE FALSE;
  
$tmp['s3'] =       (256 $bits) ? TRUE FALSE;
  return 
$tmp;
}
?>

Interesting... custom view flag is already stored in the hotlap. Cool.
Quote from Victor :i'll have a think about that and see what can and cannot be put in pubstats.

I happen to disagree with that idea. It's kinda not fair to the smaller sites.
Quote from Dygear :I happen to disagree with that idea. It's kinda not fair to the smaller sites.

i think you wanted to quote the bit where he mentioned some sites do get the names and some don't?
Quote from Victor :i think you wanted to quote the bit where he mentioned some sites do get the names and some don't?

Yes, that's what I was referring too.
Well i don't agree with that either, so we're agreed on that
Quote from jscorrea :Victor,

This script dont work anymore:

http://www.lfsworld.net/pubstat/get_stat2.php?version=1.3&idk=<MY ID KEY>&action=pst&racer=jscorrea

Any problem in pubstats or problem in my idkey?

Regards,

JS

i just tested that link with my IDKey, and it worked. well, i should say that it worked after i removed the space from "version". did you intend for that space to be there? if not, could be the source of your problem.

FGED GREDG RDFGDR GSFDG